Sample rApp package for ics consumer

Issue-ID: NONRTRIC-965
Change-Id: If83ba9bda67a55a9825b6ef7fbb9895fd7856184
Signed-off-by: lapentafd <francesco.lapenta@est.tech>
diff --git a/sample-rapp-generator/rapp-sample-ics-consumer/Artifacts/Deployment/HELM/ics-consumer/.helmignore b/sample-rapp-generator/rapp-sample-ics-consumer/Artifacts/Deployment/HELM/ics-consumer/.helmignore
new file mode 100644
index 0000000..0e8a0eb
--- /dev/null
+++ b/sample-rapp-generator/rapp-sample-ics-consumer/Artifacts/Deployment/HELM/ics-consumer/.helmignore
@@ -0,0 +1,23 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*.orig
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
diff --git a/sample-rapp-generator/rapp-sample-ics-consumer/Artifacts/Deployment/HELM/ics-consumer/Chart.yaml b/sample-rapp-generator/rapp-sample-ics-consumer/Artifacts/Deployment/HELM/ics-consumer/Chart.yaml
new file mode 100644
index 0000000..8b972e8
--- /dev/null
+++ b/sample-rapp-generator/rapp-sample-ics-consumer/Artifacts/Deployment/HELM/ics-consumer/Chart.yaml
@@ -0,0 +1,6 @@
+apiVersion: v2
+name: ics-consumer
+description: A Helm chart for Kubernetes
+type: application
+version: 0.1.0
+appVersion: "1.16.0"
diff --git a/sample-rapp-generator/rapp-sample-ics-consumer/Artifacts/Deployment/HELM/ics-consumer/templates/consumer-deployment.yaml b/sample-rapp-generator/rapp-sample-ics-consumer/Artifacts/Deployment/HELM/ics-consumer/templates/consumer-deployment.yaml
new file mode 100644
index 0000000..9c107fe
--- /dev/null
+++ b/sample-rapp-generator/rapp-sample-ics-consumer/Artifacts/Deployment/HELM/ics-consumer/templates/consumer-deployment.yaml
@@ -0,0 +1,41 @@
+#
+#   ========================LICENSE_START=================================
+#   O-RAN-SC
+#
+#   Copyright (C) 2024: OpenInfra Foundation Europe
+#
+#   Licensed under the Apache License, Version 2.0 (the "License");
+#   you may not use this file except in compliance with the License.
+#   You may obtain a copy of the License at
+#
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+#   ========================LICENSE_END===================================
+#
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: {{ .Values.consumer.name }}
+spec:
+  replicas: {{ .Values.consumer.replicaCount }}
+  selector:
+    matchLabels:
+      app: {{ .Values.consumer.name }}
+  template:
+    metadata:
+      labels:
+        app: {{ .Values.consumer.name }}
+    spec:
+      containers:
+      - name: {{ .Values.consumer.name }}
+        image: "{{ .Values.consumer.image.repository }}:{{ .Values.consumer.image.tag }}"
+        ports:
+        - containerPort: {{ .Values.consumer.service.port }}
+        env:
+        - name: KAFKA_SERVERS
+          value: "{{ .Values.kafka.host }}:{{ .Values.kafka.port }}"
diff --git a/sample-rapp-generator/rapp-sample-ics-consumer/Artifacts/Deployment/HELM/ics-consumer/templates/consumer-service.yaml b/sample-rapp-generator/rapp-sample-ics-consumer/Artifacts/Deployment/HELM/ics-consumer/templates/consumer-service.yaml
new file mode 100644
index 0000000..6b33838
--- /dev/null
+++ b/sample-rapp-generator/rapp-sample-ics-consumer/Artifacts/Deployment/HELM/ics-consumer/templates/consumer-service.yaml
@@ -0,0 +1,31 @@
+#
+#   ========================LICENSE_START=================================
+#   O-RAN-SC
+#
+#   Copyright (C) 2024: OpenInfra Foundation Europe
+#
+#   Licensed under the Apache License, Version 2.0 (the "License");
+#   you may not use this file except in compliance with the License.
+#   You may obtain a copy of the License at
+#
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+#   ========================LICENSE_END===================================
+#
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ .Values.consumer.name }}
+spec:
+  type: NodePort
+  ports:
+    - port: {{ .Values.consumer.service.port }}
+      targetPort: {{ .Values.consumer.service.port }}
+      nodePort: {{ .Values.consumer.service.nodePort }}
+  selector:
+    app: {{ .Values.consumer.name }}
diff --git a/sample-rapp-generator/rapp-sample-ics-consumer/Artifacts/Deployment/HELM/ics-consumer/values.yaml b/sample-rapp-generator/rapp-sample-ics-consumer/Artifacts/Deployment/HELM/ics-consumer/values.yaml
new file mode 100644
index 0000000..a81ec45
--- /dev/null
+++ b/sample-rapp-generator/rapp-sample-ics-consumer/Artifacts/Deployment/HELM/ics-consumer/values.yaml
@@ -0,0 +1,32 @@
+#
+#   ========================LICENSE_START=================================
+#   O-RAN-SC
+#
+#   Copyright (C) 2024: OpenInfra Foundation Europe
+#
+#   Licensed under the Apache License, Version 2.0 (the "License");
+#   you may not use this file except in compliance with the License.
+#   You may obtain a copy of the License at
+#
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+#   ========================LICENSE_END===================================
+#
+consumer:
+  name: kafka-consumer
+  replicaCount: 1
+  image:
+    repository: nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-sample-icsconsumer
+    tag: 0.0.1
+  service:
+    port: 8081
+    nodePort: 30081
+
+kafka:
+  host: kafka.default.svc.cluster.local
+  port: 9092
diff --git a/sample-rapp-generator/rapp-sample-ics-consumer/Definitions/asd.yaml b/sample-rapp-generator/rapp-sample-ics-consumer/Definitions/asd.yaml
new file mode 100644
index 0000000..824deda
--- /dev/null
+++ b/sample-rapp-generator/rapp-sample-ics-consumer/Definitions/asd.yaml
@@ -0,0 +1,48 @@
+#  ============LICENSE_START=======================================================

+#  Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved.

+#  ================================================================================

+#  Licensed under the Apache License, Version 2.0 (the "License");

+#  you may not use this file except in compliance with the License.

+#  You may obtain a copy of the License at

+#

+#        http://www.apache.org/licenses/LICENSE-2.0

+#

+#  Unless required by applicable law or agreed to in writing, software

+#  distributed under the License is distributed on an "AS IS" BASIS,

+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+#  See the License for the specific language governing permissions and

+#  limitations under the License.

+#

+#  SPDX-License-Identifier: Apache-2.0

+#  ============LICENSE_END=========================================================

+

+tosca_definitions_version: tosca_simple_yaml_1_2

+

+description: rApp ICS Consumer

+

+imports:

+  - asd_types.yaml

+

+topology_template:

+  node_templates:

+    applicationServiceDescriptor:

+      type: tosca.nodes.asd

+      description: "rapp-ics-consumer"

+      properties:

+        descriptor_id: 9be3038d-d0ed-4d8a-b3f8-13c5329aae17

+        descriptor_invariant_id: 9be3038d-d0ed-4d8a-b3f8-13c5329aae18

+        descriptor_version: 1.0

+        schema_version: 2.0

+        function_description: rApp description

+        provider: Ericsson Software Technology (O-RAN SC NONRTRIC team)

+        application_name: rapp-ics-consumer

+        application_version: 1.0

+      artifacts:

+        consumer:

+          type: tosca.artifacts.asd.deploymentItem

+          file: "Artifacts/Deployment/HELM/ics-consumer-0.1.0.tgz"

+          properties:

+            artifact_type: "helm_chart"

+            target_server: "chartmuseum"

+            target_server_uri: "UPDATE_THIS_CHART_MUSEUM_POST_CHARTS_URI"

+            item_id: 1

diff --git a/sample-rapp-generator/rapp-sample-ics-consumer/Definitions/asd_types.yaml b/sample-rapp-generator/rapp-sample-ics-consumer/Definitions/asd_types.yaml
new file mode 100644
index 0000000..c4de6ad
--- /dev/null
+++ b/sample-rapp-generator/rapp-sample-ics-consumer/Definitions/asd_types.yaml
@@ -0,0 +1,90 @@
+#  ============LICENSE_START=======================================================

+#  Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved.

+#  ================================================================================

+#  Licensed under the Apache License, Version 2.0 (the "License");

+#  you may not use this file except in compliance with the License.

+#  You may obtain a copy of the License at

+#

+#        http://www.apache.org/licenses/LICENSE-2.0

+#

+#  Unless required by applicable law or agreed to in writing, software

+#  distributed under the License is distributed on an "AS IS" BASIS,

+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+#  See the License for the specific language governing permissions and

+#  limitations under the License.

+#

+#  SPDX-License-Identifier: Apache-2.0

+#  ============LICENSE_END=========================================================

+

+tosca_definitions_version: tosca_simple_yaml_1_2

+description: ASD types definitions version 0.1

+node_types:

+  tosca.nodes.asd:

+    derived_from: tosca.nodes.Root

+    description: "The ASD node type"

+    version: 0.1

+    properties:

+      descriptor_id:

+        type: string # UUID

+        required: true

+        description: Identifier of this ASD. It is in UUID format as specified in RFC 4122

+      descriptor_invariant_id:

+        type: string # UUID

+        required: true

+        description: >

+          Identifier of this descriptor in a version independent manner. This attribute

+          is invariant across versions of ASD. It is in UUID format as specified in RFC 4122

+      descriptor_version:

+        type: string

+        required: true

+        description: Identifies the version of the ASD.

+      schema_version:

+        type: string

+        required: true

+        description: Identifies the Identifies the version of this ASD’s schema.

+      function_description:

+        type: string

+        required: false

+        description: Description of the application service described by this ASD.

+      provider:

+        type: string

+        required: true

+        description: Identifies the provider of the ASD.

+      application_name:

+        type: string

+        required: true

+        description: Name to identify the application service described by this ASD

+      application_version:

+        type: string

+        required: true

+        description: Identifies the version of the application service described by this ASD.

+

+artifact_types:

+tosca.artifacts.asd.deploymentItem:

+  version: 0.1

+  derived_from: tosca.artifacts.Root

+  description: "Describes the artifact type of asd deployment item"

+  file: "Relative path of the artifact in the package"

+  properties:

+    item_id:

+      description: "The identifier of this asd deployment item"

+      required: true

+      type: string

+    artifact_type:

+      description: >

+        Specify artifact type.

+      required: true

+      type: string

+      constraints:

+        - valid_values: ["helm_chart"]

+    target_server:

+      description: >

+        Specify target server for artifact.

+      required: true

+      type: string

+      constraints:

+        - valid_values: [ "chartmuseum" ]

+    target_server_uri:

+      description: "URI of the target server"

+      required: true

+      type: string
\ No newline at end of file
diff --git a/sample-rapp-generator/rapp-sample-ics-consumer/Files/Acm/definition/compositions.json b/sample-rapp-generator/rapp-sample-ics-consumer/Files/Acm/definition/compositions.json
new file mode 100644
index 0000000..e64d882
--- /dev/null
+++ b/sample-rapp-generator/rapp-sample-ics-consumer/Files/Acm/definition/compositions.json
@@ -0,0 +1,320 @@
+{
+  "tosca_definitions_version": "tosca_simple_yaml_1_3",
+  "data_types": {
+    "onap.datatypes.ToscaConceptIdentifier": {
+      "derived_from": "tosca.datatypes.Root",
+      "properties": {
+        "name": {
+          "type": "string",
+          "required": true
+        },
+        "version": {
+          "type": "string",
+          "required": true
+        }
+      }
+    },
+    "org.onap.datatypes.policy.clamp.acm.kserveAutomationCompositionElement.KserveInferenceEntity": {
+      "version": "1.0.0",
+      "derived_from": "tosca.datatypes.Root",
+      "properties": {
+        "kserveEntityId": {
+          "type": "onap.datatypes.ToscaConceptIdentifier",
+          "required": true,
+          "description": "The name and version of a Configuration Entity to be handled by the Kserve Automation Composition Element"
+        },
+        "name": {
+          "type": "string",
+          "required": true,
+          "description": "Inference service name to be created"
+        },
+        "payload": {
+          "type": "string",
+          "required": true,
+          "description": "Inference Service payload"
+        }
+      }
+    },
+    "org.onap.datatypes.policy.clamp.acm.a1pmsAutomationCompositionElement.A1PolicyServiceEntity": {
+      "version": "1.0.0",
+      "derived_from": "tosca.datatypes.Root",
+      "properties": {
+        "a1PolicyServiceEntityId": {
+          "type": "onap.datatypes.ToscaConceptIdentifier",
+          "required": true,
+          "description": "The name and version of a Configuration Entity to be handled by the A1 PMS Automation Composition Element"
+        },
+        "clientId": {
+          "type": "string",
+          "required": true,
+          "description": "Client Id to be created"
+        },
+        "callbackUrl": {
+          "type": "string",
+          "required": true,
+          "description": "The callback URL to get registered"
+        },
+        "keepAliveIntervalSeconds": {
+          "type": "integer",
+          "required": true,
+          "description": "Keep alive interval time for the callback URL"
+        }
+      }
+    }
+  },
+  "node_types": {
+    "org.onap.policy.clamp.acm.Participant": {
+      "version": "1.0.1",
+      "derived_from": "tosca.nodetypes.Root",
+      "properties": {
+        "provider": {
+          "type": "string",
+          "required": false
+        }
+      }
+    },
+    "org.onap.policy.clamp.acm.AutomationCompositionElement": {
+      "version": "1.0.1",
+      "derived_from": "tosca.nodetypes.Root",
+      "properties": {
+        "provider": {
+          "type": "string",
+          "required": false
+        },
+        "participantType": {
+          "type": "onap.datatypes.ToscaConceptIdentifier",
+          "required": true
+        },
+        "startPhase": {
+          "type": "integer",
+          "required": false,
+          "constraints": [
+            {
+              "greater-or-equal": 0
+            }
+          ],
+          "metadata": {
+            "common": true
+          },
+          "description": "A value indicating the start phase in which this automation composition element will be started, the first start phase is zero. Automation Composition Elements are started in their start_phase order and stopped in reverse start phase order. Automation Composition Elements with the same start phase are started and stopped simultaneously"
+        },
+        "passiveToRunningTimeout": {
+          "type": "integer",
+          "required": false,
+          "constraints": [
+            {
+              "greater_or_equal": 0
+            }
+          ],
+          "default": 60,
+          "metadata": {
+            "common": true
+          },
+          "description": "The maximum time in seconds to wait for a state chage from passive to running"
+        },
+        "runningToPassiveTimeout": {
+          "type": "integer",
+          "required": false,
+          "constraints": [
+            {
+              "greater_or_equal": 0
+            }
+          ],
+          "default": 60,
+          "metadata": {
+            "common": true
+          },
+          "description": "The maximum time in seconds to wait for a state chage from running to passive"
+        },
+        "passiveToUninitializedTimeout": {
+          "type": "integer",
+          "required": false,
+          "constraints": [
+            {
+              "greater_or_equal": 0
+            }
+          ],
+          "default": 60,
+          "metadata": {
+            "common": true
+          },
+          "description": "The maximum time in seconds to wait for a state chage from passive to uninitialized"
+        }
+      }
+    },
+    "org.onap.policy.clamp.acm.AutomationComposition": {
+      "version": "1.0.1",
+      "derived_from": "tosca.nodetypes.Root",
+      "properties": {
+        "provider": {
+          "type": "string",
+          "required": false,
+          "metadata": {
+            "common": true
+          }
+        },
+        "elements": {
+          "type": "list",
+          "required": true,
+          "metadata": {
+            "common": true
+          },
+          "entry_schema": {
+            "type": "onap.datatypes.ToscaConceptIdentifier"
+          }
+        }
+      }
+    },
+    "org.onap.policy.clamp.acm.KserveAutomationCompositionElement": {
+      "version": "1.0.1",
+      "derived_from": "org.onap.policy.clamp.acm.AutomationCompositionElement",
+      "properties": {
+        "kserveInferenceEntities": {
+          "type": "list",
+          "required": true,
+          "entry_schema": {
+            "type": "org.onap.datatypes.policy.clamp.acm.kserveAutomationCompositionElement.KserveInferenceEntity",
+            "type_version": "1.0.0"
+          },
+          "description": "The configuration entities of Kserve inference service"
+        }
+      }
+    },
+    "org.onap.policy.clamp.acm.A1PMSAutomationCompositionElement": {
+      "version": "1.0.1",
+      "derived_from": "org.onap.policy.clamp.acm.AutomationCompositionElement",
+      "properties": {
+        "policyServiceEntities": {
+          "type": "list",
+          "required": true,
+          "entry_schema": {
+            "type": "org.onap.datatypes.policy.clamp.acm.a1pmsAutomationCompositionElement.A1PolicyServiceEntity",
+            "type_version": "1.0.0"
+          },
+          "description": "The configuration entities of A1 policy services"
+        }
+      }
+    },
+    "org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement": {
+      "version": "1.0.0",
+      "derived_from": "org.onap.policy.clamp.acm.AutomationCompositionElement",
+      "properties": {
+        "chart": {
+          "type": "string",
+          "required": true
+        },
+        "configs": {
+          "type": "list",
+          "required": false
+        },
+        "requirements": {
+          "type": "string",
+          "required": false
+        },
+        "templates": {
+          "type": "list",
+          "required": false,
+          "entry_schema": null
+        },
+        "values": {
+          "type": "string",
+          "required": true
+        }
+      }
+    }
+  },
+  "topology_template": {
+    "node_templates": {
+      "org.onap.policy.clamp.acm.KserveParticipant": {
+        "version": "2.3.4",
+        "type": "org.onap.policy.clamp.acm.Participant",
+        "type_version": "1.0.1",
+        "description": "Participant for Kserve requests",
+        "properties": {
+          "provider": "ONAP"
+        }
+      },
+      "org.onap.policy.clamp.acm.A1PMSAutomationCompositionParticipant": {
+        "version": "2.3.4",
+        "type": "org.onap.policy.clamp.acm.Participant",
+        "type_version": "1.0.1",
+        "description": "Participant for A1 PMS requests",
+        "properties": {
+          "provider": "ONAP"
+        }
+      },
+      "org.onap.k8s.acm.K8SAutomationCompositionParticipant": {
+        "version": "2.3.4",
+        "type": "org.onap.policy.clamp.acm.Participant",
+        "type_version": "1.0.1",
+        "description": "Participant for K8S",
+        "properties": {
+          "provider": "ONAP"
+        }
+      },
+      "onap.policy.clamp.ac.element.KserveAutomationCompositionElement": {
+        "version": "1.2.3",
+        "type": "org.onap.policy.clamp.acm.KserveAutomationCompositionElement",
+        "type_version": "1.0.1",
+        "description": "Automation composition element for the Kserve Requests",
+        "properties": {
+          "provider": "ONAP",
+          "participantType": {
+            "name": "org.onap.policy.clamp.acm.KserveParticipant",
+            "version": "2.3.4"
+          },
+          "uninitializedToPassiveTimeout": 300,
+          "statusCheckInterval": 30
+        }
+      },
+      "onap.policy.clamp.ac.element.A1PMSAutomationCompositionElement": {
+        "version": "1.2.3",
+        "type": "org.onap.policy.clamp.acm.A1PMSAutomationCompositionElement",
+        "type_version": "1.0.1",
+        "description": "Automation composition element for the A1 PMS Requests",
+        "properties": {
+          "provider": "ONAP",
+          "participantType": {
+            "name": "org.onap.policy.clamp.acm.A1PMSParticipant",
+            "version": "2.3.4"
+          }
+        }
+      },
+      "onap.policy.clamp.ac.element.K8S_StarterAutomationCompositionElement": {
+        "version": "1.2.3",
+        "type": "org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement",
+        "type_version": "1.0.0",
+        "description": "Automation composition element for the K8S microservice for AC Element Starter",
+        "properties": {
+          "provider": "ONAP",
+          "startPhase": 0,
+          "uninitializedToPassiveTimeout": 300,
+          "podStatusCheckInterval": 30
+        }
+      },
+      "onap.policy.clamp.ac.element.AutomationCompositionDefinition": {
+        "version": "1.2.3",
+        "type": "org.onap.policy.clamp.acm.AutomationComposition",
+        "type_version": "1.0.1",
+        "description": "Automation composition for rapp deployment",
+        "properties": {
+          "provider": "ONAP",
+          "elements": [
+            {
+              "name": "onap.policy.clamp.ac.element.KserveAutomationCompositionElement",
+              "version": "1.2.3"
+            },
+            {
+              "name": "onap.policy.clamp.ac.element.A1PMSAutomationCompositionElement",
+              "version": "1.2.3"
+            },
+            {
+              "name": "onap.policy.clamp.ac.element.K8S_StarterAutomationCompositionElement",
+              "version": "1.2.3"
+            }
+          ]
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/sample-rapp-generator/rapp-sample-ics-consumer/Files/Acm/instances/k8s-instance.json b/sample-rapp-generator/rapp-sample-ics-consumer/Files/Acm/instances/k8s-instance.json
new file mode 100644
index 0000000..6748b29
--- /dev/null
+++ b/sample-rapp-generator/rapp-sample-ics-consumer/Files/Acm/instances/k8s-instance.json
@@ -0,0 +1,31 @@
+{
+  "name": "DemoInstance1",
+  "version": "1.0.1",
+  "compositionId": "DO_NOT_CHANGE_THIS_COMPOSITION_ID",
+  "description": "Demo automation composition instance 1",
+  "elements": {
+    "ce96b012-90a0-4eb5-ac81-df174f540119": {
+      "id": "ce96b012-90a0-4eb5-ac81-df174f540119",
+      "definition": {
+        "name": "onap.policy.clamp.ac.element.K8S_StarterAutomationCompositionElement",
+        "version": "1.2.3"
+      },
+      "description": "Starter Automation Composition Element for ICS Consumer",
+      "properties": {
+        "chart": {
+          "chartId": {
+            "name": "ics-consumer",
+            "version": "0.1.0"
+          },
+          "namespace": "nonrtric",
+          "releaseName": "ics-consumer",
+          "podName": "ics-consumer",
+          "repository": {
+            "repoName": "local",
+            "address": "UPDATE_THIS_CHART_MUSEUM_GET_CHARTS_URI"
+          }
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/sample-rapp-generator/rapp-sample-ics-consumer/Files/Dme/consumerinfotypes/type1.json b/sample-rapp-generator/rapp-sample-ics-consumer/Files/Dme/consumerinfotypes/type1.json
new file mode 100644
index 0000000..7869860
--- /dev/null
+++ b/sample-rapp-generator/rapp-sample-ics-consumer/Files/Dme/consumerinfotypes/type1.json
@@ -0,0 +1,9 @@
+{
+  "info_job_data_schema": {
+    "$schema":"http://json-schema.org/draft-07/schema#",
+    "title":"STD_Type1_1.0.0",
+    "description":"Type 1",
+    "topic": "mytopic",
+    "bootStrapServers": "kafka.default.svc.cluster.local:9092"
+    }
+}
\ No newline at end of file
diff --git a/sample-rapp-generator/rapp-sample-ics-consumer/Files/Dme/infoconsumers/ics-sample-consumer.json b/sample-rapp-generator/rapp-sample-ics-consumer/Files/Dme/infoconsumers/ics-sample-consumer.json
new file mode 100644
index 0000000..c6d5ef4
--- /dev/null
+++ b/sample-rapp-generator/rapp-sample-ics-consumer/Files/Dme/infoconsumers/ics-sample-consumer.json
@@ -0,0 +1,12 @@
+{
+  "info_type_id": "type1",
+  "job_owner": "demo",
+  "job_definition": {
+    "deliveryInfo": {
+      "topic": "mytopic",
+      "bootStrapServers": "kafka.default.svc.cluster.local:9092"
+    }
+  },
+  "job_result_uri": "http://kafka-producer:8080/producer/job",
+  "status_notification_uri": "http://kafka-producer:8080/producer/supervision"
+}
\ No newline at end of file
diff --git a/sample-rapp-generator/rapp-sample-ics-consumer/TOSCA-Metadata/TOSCA.meta b/sample-rapp-generator/rapp-sample-ics-consumer/TOSCA-Metadata/TOSCA.meta
new file mode 100644
index 0000000..3da5f0d
--- /dev/null
+++ b/sample-rapp-generator/rapp-sample-ics-consumer/TOSCA-Metadata/TOSCA.meta
@@ -0,0 +1,5 @@
+TOSCA-Meta-File-Version: 1.0

+CSAR-Version: 1.0

+Created-By: Ericsson Software Technology (O-RAN SC NONRTRIC team)

+Entry-Definitions: Definitions/asd.yaml

+ETSI-Entry-Manifest: asd.mf
\ No newline at end of file
diff --git a/sample-rapp-generator/rapp-sample-ics-consumer/asd.mf b/sample-rapp-generator/rapp-sample-ics-consumer/asd.mf
new file mode 100644
index 0000000..215a27b
--- /dev/null
+++ b/sample-rapp-generator/rapp-sample-ics-consumer/asd.mf
@@ -0,0 +1,15 @@
+metadata:
+  application_name: rapp-sample-ics-consumer
+  application_provider: Ericsson Software Technology (O-RAN SC NONRTRIC team)
+  release_date_time: 2024-05-23T12:00:00+00:00
+  entry_definition_type: asd
+
+Source: asd.mf
+Source: Artifacts/Deployment/HELM/ics-consumer-0.1.0.tgz
+Source: Definitions/asd.yaml
+Source: Definitions/asd_types.yaml
+Source: TOSCA-Metadata/TOSCA.meta
+Source: Files/Dme/infoconsumers/ics-sample-consumer.json
+Source: Files/Dme/consumerinfotypes/type1.json
+Source: Files/Acm/definition/compositions.json
+Source: Files/Acm/instances/k8s-instance.json
\ No newline at end of file