Results

By type

          + trap keep_running ERR
+ set -e
+ cfy profiles use -u admin -t default_tenant -p EMD78qPs --rest-certificate /certs/cacert.pem --ssl dcae-cloudify-manager
Initializing local profile ...
Initialization completed successfully
Attempting to connect to dcae-cloudify-manager through port 443, using https (SSL mode: True)...
Initializing profile dcae-cloudify-manager...
Initialization completed successfully
Using manager dcae-cloudify-manager with port 443
+ cfy status
Retrieving manager services status... [ip=dcae-cloudify-manager]

Services:
+--------------------------------+--------+
|            service             | status |
+--------------------------------+--------+
| Webserver                      | Active |
| Cloudify Console               | Active |
| AMQP-Postgres                  | Active |
| Management Worker              | Active |
| Manager Rest-Service           | Active |
| PostgreSQL                     | Active |
| RabbitMQ                       | Active |
| Monitoring Service             | Active |
+--------------------------------+--------+

+ cfy secret create -s EMD78qPs cmpass
Secret `cmpass` created
+ trap - ERR
+ set +e
+ deploy pgaas_initdb k8s-pgaas-initdb.yaml k8s-pgaas-initdb-inputs.yaml
+ set +e
+ cm_hasany 'blueprints?id=pgaas_initdb'
++ curl -Ss -H 'Tenant: default_tenant' --user admin:EMD78qPs --cacert /certs/cacert.pem 'https://dcae-cloudify-manager:443/api/v3.1/blueprints?id=pgaas_initdb&_include=id'
++ /bin/jq .metadata.pagination.total
+ COUNT=0
+ ((  0 > 0  ))
+ return 1
+ cfy blueprints upload -b pgaas_initdb /blueprints/k8s-pgaas-initdb.yaml
Uploading blueprint /blueprints/k8s-pgaas-initdb.yaml...

 k8s-pgaas-initdb.... |##################------------------------------| 37.49%
 k8s-pgaas-initdb.... |####################################------------| 74.98%
 k8s-pgaas-initdb.... |################################################| 100.0%
An error occurred on the server: 400: Invalid blueprint - Failed to resolve the following urls: {'file:///opt/manager/resources/spec/cloudify/3.4/types.yaml': "Import failed: Unable to open import url file:///opt/manager/resources/spec/cloudify/3.4/types.yaml; [Errno 2] No such file or directory: '///opt/manager/resources/spec/cloudify/3.4/types.yaml'"}. In addition, failed to resolve the original import url - Import failed: Unable to open import url http://www.getcloudify.org/spec/cloudify/3.4/types.yaml; HTTPConnectionPool(host='www.getcloudify.org', port=80): Max retries exceeded with url: /spec/cloudify/3.4/types.yaml (Caused by ConnectTimeoutError(, 'Connection to www.getcloudify.org timed out. (connect timeout=10)')) 
  in: /opt/manager/resources/k8s-pgaas-initdb-3e9bbbec-2522-4fae-b5a8-3c5eb3ecca33/k8s-pgaas-initdb.yaml
  in line: 31, column: 0
  path: imports
  value: ['https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml', 'plugin:relationshipplugin?version=1.1.0', 'plugin:sshkeyshare?version=1.2.0', 'plugin:pgaas?version=1.3.0']
+ cm_hasany 'deployments?id=pgaas_initdb'
++ /bin/jq ++ .metadata.pagination.total
curl -Ss -H 'Tenant: default_tenant' --user admin:EMD78qPs --cacert /certs/cacert.pem 'https://dcae-cloudify-manager:443/api/v3.1/deployments?id=pgaas_initdb&_include=id'
+ COUNT=0
+ ((  0 > 0  ))
+ return 1
+ INPUTS=
+ '[' -n k8s-pgaas-initdb-inputs.yaml ']'
+ INPUTS=-i/inputs/k8s-pgaas-initdb-inputs.yaml
+ cfy deployments create -b pgaas_initdb -i/inputs/k8s-pgaas-initdb-inputs.yaml pgaas_initdb
Creating new deployment from blueprint pgaas_initdb...
An error occurred on the server: 404: Requested `Blueprint` with ID `pgaas_initdb` was not found
+ cm_hasany 'node-instances?deployment_id=pgaas_initdb&state=uninitialized&state=deleted'
++ curl -Ss -H 'Tenant: default_tenant' --user admin:EMD78qPs --cacert /certs/cacert.pem 'https://dcae-cloudify-manager:443/api/v3.1/node-instances?deployment_id=pgaas_initdb&state=uninitialized&state=deleted&_include=id'
++ /bin/jq .metadata.pagination.total
+ COUNT=0
+ ((  0 > 0  ))
+ return 1
+ echo deployment pgaas_initdb appears to have had an install workflow executed already or is not ready for an install
deployment pgaas_initdb appears to have had an install workflow executed already or is not ready for an install
+ cfy deployments list
Listing all deployments...

Deployments:
+----+--------------+------------+------------+------------+-------------+------------+-----------+
| id | blueprint_id | created_at | updated_at | visibility | tenant_name | created_by | site_name |
+----+--------------+------------+------------+------------+-------------+------------+-----------+
+----+--------------+------------+------------+------------+-------------+------------+-----------+

Showing 0 of 0 deployments
+ . /scripts/inventory.sh
++ INVENTORY=https://inventory:8080/dcae-service-types
++ OWNER=dcaeorch
++ COMPONENT=dcae
++ APPLICATION=DCAE
+ for BP in /blueprints/*.yaml
+ upload_service_type /blueprints/k8s-bbs-event-processor.yaml /certs/cacert.pem
+ '[' /certs/cacert.pem ']'
+ TLSCURL='--cacert /certs/cacert.pem'
+ create_service_type /blueprints/k8s-bbs-event-processor.yaml
+ curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types
++ date +%y%m%d%I%M
++ basename /blueprints/k8s-bbs-event-processor.yaml .yaml
++ flatten /blueprints/k8s-bbs-event-processor.yaml
+++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g'
+++ tr -d '\n'
++ FLAT='# ============LICENSE_START====================================================
\n# =============================================================================
\n# Copyright (c) 2019-2021 AT&T, NOKIA
\n# =============================================================================
\n# Licensed under the Apache License, Version 2.0 (the \"License\");
\n# you may not use this file except in compliance with the License.
\n# You may obtain a copy of the License at
\n#
\n#      http://www.apache.org/licenses/LICENSE-2.0
\n#
\n# Unless required by applicable law or agreed to in writing, software
\n# distributed under the License is distributed on an \"AS IS\" BASIS,
\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\n# See the License for the specific language governing permissions and
\n# limitations under the License.
\n# ============LICENSE_END======================================================
\n
\ntosca_definitions_version: cloudify_dsl_1_3
\n
\nimports:
\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml
\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0
\n
\ninputs:
\n  aai_enrichment_host:
\n    type: string
\n    default: \"aai.onap\"
\n  aai_enrichment_port:
\n    type: integer
\n    default: 8443
\n  aai_enrichment_protocol:
\n    type: string
\n    default: \"https\"
\n  aai_secure_enable_cert:
\n    type: boolean
\n    description: enable certificates-based connection with AAI
\n    default: true
\n  tag_version:
\n    type: string
\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.components.bbs-event-processor:2.1.1\"
\n  replicas:
\n    type: integer
\n    description: number of instances
\n    default: 1
\n  pnf_reregistration_url:
\n    type: string
\n    default: \"https:message-router:3905/events/unauthenticated.PNF_UPDATE\"
\n  cpe_authentication_url:
\n    type: string
\n    default: \"https:message-router:3905/events/unauthenticated.CPE_AUTHENTICATION\"
\n  close_loop_url:
\n    type: string
\n    default: \"https:message-router:3905/events/unauthenticated.DCAE_CL_OUTPUT\"
\n  application_policy_version:
\n    description: Policy version value for building CL events
\n    type: string
\n    default: \"1.0.0.5\"
\n  application_cl_target_type:
\n    description: Close Loop target type value for building CL events
\n    type: string
\n    default: \"VM\"
\n  application_cl_event_status:
\n    description: Close Loop event status value for building CL events
\n    type: string
\n    default: \"ONSET\"
\n  application_cl_version:
\n    description: Close Loop version value for building CL events
\n    type: string
\n    default: \"1.0.2\"
\n  application_cl_target:
\n    description: Close Loop target value for building CL events
\n    type: string
\n    default: \"vserver.vserver-name\"
\n  application_cl_originator:
\n    description: Close Loop originator value for building CL events
\n    type: string
\n    default: \"DCAE-BBS-ep\"
\n  application_rereg_policy_scope:
\n    description: Policy Scope value for building PNF relocation CL event
\n    type: string
\n    default: \"policyScopeReReg\"
\n  application_rereg_cl_control_name:
\n    description: Close Loop control name value for building PNF relocation CL event
\n    type: string
\n    default: \"clControlNameReReg\"
\n  application_cpeAuth_policy_scope:
\n    description: Policy Scope value for building CPE Authentication CL event
\n    type: string
\n    default: \"policyScopeCpeAuth\"
\n  application_cpeAuth_cl_control_name:
\n    description: Close Loop control name value for building CPE Authentication CL event
\n    type: string
\n    default: \"clControlNameCpeAuth\"
\n  application_cbs_polling_interval_sec:
\n    type: integer
\n    default: 120
\n  application_logging_level:
\n    type: string
\n    default: \"INFO\"
\n  dmaap_username:
\n    type: string
\n    default: \"admin\"
\n  dmaap_password:
\n    type: string
\n    default: \"admin\"
\n  dmaap_consumer_id:
\n    type: string
\n    default: \"c12\"
\n  dmaap_consumer_group:
\n    type: string
\n    default: \"OpenDcae-c12\"
\n  dmaap_secure_enable_cert:
\n    type: boolean
\n    description: enable certificates-based connection with DMaaP
\n    default: true
\n  internal_port:
\n    type: string
\n    description: Internal port on which BBS-ep is exposed
\n    default: \"8100\"
\n  external_port:
\n    type: string
\n    description: External port on which BBS-ep is exposed
\n    default: \"30413\"
\nnode_templates:
\n  bbs-event-processor:
\n    type: dcae.nodes.ContainerizedServiceComponent
\n    properties:
\n      application_config:
\n        streams_subscribes:
\n          pnf_reregistration:
\n            type: message_router
\n            aaf_username: { get_input: dmaap_username }
\n            aaf_password: { get_input: dmaap_password }
\n            dmaap_info:
\n              topic_url: { get_input: pnf_reregistration_url }
\n          cpe_authentication:
\n            type: message_router
\n            aaf_username: { get_input: dmaap_username }
\n            aaf_password: { get_input: dmaap_password }
\n            dmaap_info:
\n              topic_url: { get_input: cpe_authentication_url }
\n        streams_publishes:
\n          close_loop:
\n            type: message_router
\n            aaf_username: { get_input: dmaap_username }
\n            aaf_password: { get_input: dmaap_password }
\n            dmaap_info:
\n              topic_url: { get_input: close_loop_url }
\n        dmaap.protocol: \"https\"
\n        dmaap.contentType: \"application/json\"
\n        dmaap.consumer.consumerId: { get_input: dmaap_consumer_id }
\n        dmaap.consumer.consumerGroup: { get_input: dmaap_consumer_group }
\n        dmaap.messageLimit: -1
\n        dmaap.timeoutMs: -1
\n        aai.host: { get_input: aai_enrichment_host }
\n        aai.port: { get_input: aai_enrichment_port }
\n        aai.protocol: { get_input: aai_enrichment_protocol }
\n        aai.username: \"AAI\"
\n        aai.password: \"AAI\"
\n        aai.aaiIgnoreSslCertificateErrors: true
\n        application.pipelinesPollingIntervalSec: 25
\n        application.pipelinesTimeoutSec: 15
\n        application.cbsPollingIntervalSec: { get_input: application_cbs_polling_interval_sec }
\n        application.policyVersion: { get_input: application_policy_version }
\n        application.clTargetType: { get_input: application_cl_target_type }
\n        application.clEventStatus: { get_input: application_cl_event_status }
\n        application.clVersion: { get_input: application_cl_version }
\n        application.clTarget: { get_input: application_cl_target }
\n        application.clOriginator: { get_input: application_cl_originator }
\n        application.reregistration.policyScope: { get_input: application_rereg_policy_scope }
\n        application.reregistration.clControlName: { get_input: application_rereg_cl_control_name }
\n        application.cpe.authentication.policyScope: { get_input: application_cpeAuth_policy_scope }
\n        application.cpe.authentication.clControlName: { get_input: application_cpeAuth_cl_control_name }
\n        application.reregistration.configKey: \"pnf_reregistration\"
\n        application.cpeAuth.configKey: \"cpe_authentication\"
\n        application.closeLoop.configKey: \"close_loop\"
\n        application.loggingLevel: { get_input: application_logging_level }
\n        application.ssl.keyStorePath: \"/opt/app/bbs-event-processor/etc/cert/cert.jks\"
\n        application.ssl.keyStorePasswordPath: \"/opt/app/bbs-event-processor/etc/cert/jks.pass\"
\n        application.ssl.trustStorePath: \"/opt/app/bbs-event-processor/etc/cert/trust.jks\"
\n        application.ssl.trustStorePasswordPath: \"/opt/app/bbs-event-processor/etc/cert/trust.pass\"
\n        application.ssl.enableAaiCertAuth: { get_input: aai_secure_enable_cert }
\n        application.ssl.enableDmaapCertAuth: { get_input: dmaap_secure_enable_cert }
\n      docker_config:
\n        healthcheck:
\n          endpoint: /heartbeat
\n          interval: 180s
\n          timeout: 5s
\n          type: http
\n      image:
\n        { get_input: tag_version }
\n      replicas: {get_input: replicas}
\n      service_component_type: '\''bbs-event-processor'\''
\n      log_info:
\n        log_directory: \"/opt/app/bbs-event-processor/logs\"
\n      tls_info:
\n        cert_directory: '\''/opt/app/bbs-event-processor/etc/cert'\''
\n        use_tls: true
\n    interfaces:
\n      cloudify.interfaces.lifecycle:
\n        start:
\n          inputs:
\n            ports:
\n              - concat: [{get_input: internal_port},\":\",{get_input: external_port}]
\n'
++ echo '# ============LICENSE_START====================================================
\n# =============================================================================
\n# Copyright (c) 2019-2021 AT&T, NOKIA
\n# =============================================================================
\n# Licensed under the Apache License, Version 2.0 (the \"License\");
\n# you may not use this file except in compliance with the License.
\n# You may obtain a copy of the License at
\n#
\n#      http://www.apache.org/licenses/LICENSE-2.0
\n#
\n# Unless required by applicable law or agreed to in writing, software
\n# distributed under the License is distributed on an \"AS IS\" BASIS,
\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\n# See the License for the specific language governing permissions and
\n# limitations under the License.
\n# ============LICENSE_END======================================================
\n
\ntosca_definitions_version: cloudify_dsl_1_3
\n
\nimports:
\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml
\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0
\n
\ninputs:
\n  aai_enrichment_host:
\n    type: string
\n    default: \"aai.onap\"
\n  aai_enrichment_port:
\n    type: integer
\n    default: 8443
\n  aai_enrichment_protocol:
\n    type: string
\n    default: \"https\"
\n  aai_secure_enable_cert:
\n    type: boolean
\n    description: enable certificates-based connection with AAI
\n    default: true
\n  tag_version:
\n    type: string
\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.components.bbs-event-processor:2.1.1\"
\n  replicas:
\n    type: integer
\n    description: number of instances
\n    default: 1
\n  pnf_reregistration_url:
\n    type: string
\n    default: \"https:message-router:3905/events/unauthenticated.PNF_UPDATE\"
\n  cpe_authentication_url:
\n    type: string
\n    default: \"https:message-router:3905/events/unauthenticated.CPE_AUTHENTICATION\"
\n  close_loop_url:
\n    type: string
\n    default: \"https:message-router:3905/events/unauthenticated.DCAE_CL_OUTPUT\"
\n  application_policy_version:
\n    description: Policy version value for building CL events
\n    type: string
\n    default: \"1.0.0.5\"
\n  application_cl_target_type:
\n    description: Close Loop target type value for building CL events
\n    type: string
\n    default: \"VM\"
\n  application_cl_event_status:
\n    description: Close Loop event status value for building CL events
\n    type: string
\n    default: \"ONSET\"
\n  application_cl_version:
\n    description: Close Loop version value for building CL events
\n    type: string
\n    default: \"1.0.2\"
\n  application_cl_target:
\n    description: Close Loop target value for building CL events
\n    type: string
\n    default: \"vserver.vserver-name\"
\n  application_cl_originator:
\n    description: Close Loop originator value for building CL events
\n    type: string
\n    default: \"DCAE-BBS-ep\"
\n  application_rereg_policy_scope:
\n    description: Policy Scope value for building PNF relocation CL event
\n    type: string
\n    default: \"policyScopeReReg\"
\n  application_rereg_cl_control_name:
\n    description: Close Loop control name value for building PNF relocation CL event
\n    type: string
\n    default: \"clControlNameReReg\"
\n  application_cpeAuth_policy_scope:
\n    description: Policy Scope value for building CPE Authentication CL event
\n    type: string
\n    default: \"policyScopeCpeAuth\"
\n  application_cpeAuth_cl_control_name:
\n    description: Close Loop control name value for building CPE Authentication CL event
\n    type: string
\n    default: \"clControlNameCpeAuth\"
\n  application_cbs_polling_interval_sec:
\n    type: integer
\n    default: 120
\n  application_logging_level:
\n    type: string
\n    default: \"INFO\"
\n  dmaap_username:
\n    type: string
\n    default: \"admin\"
\n  dmaap_password:
\n    type: string
\n    default: \"admin\"
\n  dmaap_consumer_id:
\n    type: string
\n    default: \"c12\"
\n  dmaap_consumer_group:
\n    type: string
\n    default: \"OpenDcae-c12\"
\n  dmaap_secure_enable_cert:
\n    type: boolean
\n    description: enable certificates-based connection with DMaaP
\n    default: true
\n  internal_port:
\n    type: string
\n    description: Internal port on which BBS-ep is exposed
\n    default: \"8100\"
\n  external_port:
\n    type: string
\n    description: External port on which BBS-ep is exposed
\n    default: \"30413\"
\nnode_templates:
\n  bbs-event-processor:
\n    type: dcae.nodes.ContainerizedServiceComponent
\n    properties:
\n      application_config:
\n        streams_subscribes:
\n          pnf_reregistration:
\n            type: message_router
\n            aaf_username: { get_input: dmaap_username }
\n            aaf_password: { get_input: dmaap_password }
\n            dmaap_info:
\n              topic_url: { get_input: pnf_reregistration_url }
\n          cpe_authentication:
\n            type: message_router
\n            aaf_username: { get_input: dmaap_username }
\n            aaf_password: { get_input: dmaap_password }
\n            dmaap_info:
\n              topic_url: { get_input: cpe_authentication_url }
\n        streams_publishes:
\n          close_loop:
\n            type: message_router
\n            aaf_username: { get_input: dmaap_username }
\n            aaf_password: { get_input: dmaap_password }
\n            dmaap_info:
\n              topic_url: { get_input: close_loop_url }
\n        dmaap.protocol: \"https\"
\n        dmaap.contentType: \"application/json\"
\n        dmaap.consumer.consumerId: { get_input: dmaap_consumer_id }
\n        dmaap.consumer.consumerGroup: { get_input: dmaap_consumer_group }
\n        dmaap.messageLimit: -1
\n        dmaap.timeoutMs: -1
\n        aai.host: { get_input: aai_enrichment_host }
\n        aai.port: { get_input: aai_enrichment_port }
\n        aai.protocol: { get_input: aai_enrichment_protocol }
\n        aai.username: \"AAI\"
\n        aai.password: \"AAI\"
\n        aai.aaiIgnoreSslCertificateErrors: true
\n        application.pipelinesPollingIntervalSec: 25
\n        application.pipelinesTimeoutSec: 15
\n        application.cbsPollingIntervalSec: { get_input: application_cbs_polling_interval_sec }
\n        application.policyVersion: { get_input: application_policy_version }
\n        application.clTargetType: { get_input: application_cl_target_type }
\n        application.clEventStatus: { get_input: application_cl_event_status }
\n        application.clVersion: { get_input: application_cl_version }
\n        application.clTarget: { get_input: application_cl_target }
\n        application.clOriginator: { get_input: application_cl_originator }
\n        application.reregistration.policyScope: { get_input: application_rereg_policy_scope }
\n        application.reregistration.clControlName: { get_input: application_rereg_cl_control_name }
\n        application.cpe.authentication.policyScope: { get_input: application_cpeAuth_policy_scope }
\n        application.cpe.authentication.clControlName: { get_input: application_cpeAuth_cl_control_name }
\n        application.reregistration.configKey: \"pnf_reregistration\"
\n        application.cpeAuth.configKey: \"cpe_authentication\"
\n        application.closeLoop.configKey: \"close_loop\"
\n        application.loggingLevel: { get_input: application_logging_level }
\n        application.ssl.keyStorePath: \"/opt/app/bbs-event-processor/etc/cert/cert.jks\"
\n        application.ssl.keyStorePasswordPath: \"/opt/app/bbs-event-processor/etc/cert/jks.pass\"
\n        application.ssl.trustStorePath: \"/opt/app/bbs-event-processor/etc/cert/trust.jks\"
\n        application.ssl.trustStorePasswordPath: \"/opt/app/bbs-event-processor/etc/cert/trust.pass\"
\n        application.ssl.enableAaiCertAuth: { get_input: aai_secure_enable_cert }
\n        application.ssl.enableDmaapCertAuth: { get_input: dmaap_secure_enable_cert }
\n      docker_config:
\n        healthcheck:
\n          endpoint: /heartbeat
\n          interval: 180s
\n          timeout: 5s
\n          type: http
\n      image:
\n        { get_input: tag_version }
\n      replicas: {get_input: replicas}
\n      service_component_type: '\''bbs-event-processor'\''
\n      log_info:
\n        log_directory: \"/opt/app/bbs-event-processor/logs\"
\n      tls_info:
\n        cert_directory: '\''/opt/app/bbs-event-processor/etc/cert'\''
\n        use_tls: true
\n    interfaces:
\n      cloudify.interfaces.lifecycle:
\n        start:
\n          inputs:
\n            ports:
\n              - concat: [{get_input: internal_port},\":\",{get_input: external_port}]
\n'
+ echo '
   {
    "vnfTypes": [],
    "owner": "dcaeorch",
    "typeVersion": 2112091153,
    "typeName": "k8s-bbs-event-processor",
    "component": "dcae",
    "application": "DCAE",
    "blueprintTemplate": "# ============LICENSE_START====================================================
\n# =============================================================================
\n# Copyright (c) 2019-2021 AT&T, NOKIA
\n# =============================================================================
\n# Licensed under the Apache License, Version 2.0 (the \"License\");
\n# you may not use this file except in compliance with the License.
\n# You may obtain a copy of the License at
\n#
\n#      http://www.apache.org/licenses/LICENSE-2.0
\n#
\n# Unless required by applicable law or agreed to in writing, software
\n# distributed under the License is distributed on an \"AS IS\" BASIS,
\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\n# See the License for the specific language governing permissions and
\n# limitations under the License.
\n# ============LICENSE_END======================================================
\n
\ntosca_definitions_version: cloudify_dsl_1_3
\n
\nimports:
\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml
\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0
\n
\ninputs:
\n  aai_enrichment_host:
\n    type: string
\n    default: \"aai.onap\"
\n  aai_enrichment_port:
\n    type: integer
\n    default: 8443
\n  aai_enrichment_protocol:
\n    type: string
\n    default: \"https\"
\n  aai_secure_enable_cert:
\n    type: boolean
\n    description: enable certificates-based connection with AAI
\n    default: true
\n  tag_version:
\n    type: string
\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.components.bbs-event-processor:2.1.1\"
\n  replicas:
\n    type: integer
\n    description: number of instances
\n    default: 1
\n  pnf_reregistration_url:
\n    type: string
\n    default: \"https:message-router:3905/events/unauthenticated.PNF_UPDATE\"
\n  cpe_authentication_url:
\n    type: string
\n    default: \"https:message-router:3905/events/unauthenticated.CPE_AUTHENTICATION\"
\n  close_loop_url:
\n    type: string
\n    default: \"https:message-router:3905/events/unauthenticated.DCAE_CL_OUTPUT\"
\n  application_policy_version:
\n    description: Policy version value for building CL events
\n    type: string
\n    default: \"1.0.0.5\"
\n  application_cl_target_type:
\n    description: Close Loop target type value for building CL events
\n    type: string
\n    default: \"VM\"
\n  application_cl_event_status:
\n    description: Close Loop event status value for building CL events
\n    type: string
\n    default: \"ONSET\"
\n  application_cl_version:
\n    description: Close Loop version value for building CL events
\n    type: string
\n    default: \"1.0.2\"
\n  application_cl_target:
\n    description: Close Loop target value for building CL events
\n    type: string
\n    default: \"vserver.vserver-name\"
\n  application_cl_originator:
\n    description: Close Loop originator value for building CL events
\n    type: string
\n    default: \"DCAE-BBS-ep\"
\n  application_rereg_policy_scope:
\n    description: Policy Scope value for building PNF relocation CL event
\n    type: string
\n    default: \"policyScopeReReg\"
\n  application_rereg_cl_control_name:
\n    description: Close Loop control name value for building PNF relocation CL event
\n    type: string
\n    default: \"clControlNameReReg\"
\n  application_cpeAuth_policy_scope:
\n    description: Policy Scope value for building CPE Authentication CL event
\n    type: string
\n    default: \"policyScopeCpeAuth\"
\n  application_cpeAuth_cl_control_name:
\n    description: Close Loop control name value for building CPE Authentication CL event
\n    type: string
\n    default: \"clControlNameCpeAuth\"
\n  application_cbs_polling_interval_sec:
\n    type: integer
\n    default: 120
\n  application_logging_level:
\n    type: string
\n    default: \"INFO\"
\n  dmaap_username:
\n    type: string
\n    default: \"admin\"
\n  dmaap_password:
\n    type: string
\n    default: \"admin\"
\n  dmaap_consumer_id:
\n    type: string
\n    default: \"c12\"
\n  dmaap_consumer_group:
\n    type: string
\n    default: \"OpenDcae-c12\"
\n  dmaap_secure_enable_cert:
\n    type: boolean
\n    description: enable certificates-based connection with DMaaP
\n    default: true
\n  internal_port:
\n    type: string
\n    description: Internal port on which BBS-ep is exposed
\n    default: \"8100\"
\n  external_port:
\n    type: string
\n    description: External port on which BBS-ep is exposed
\n    default: \"30413\"
\nnode_templates:
\n  bbs-event-processor:
\n    type: dcae.nodes.ContainerizedServiceComponent
\n    properties:
\n      application_config:
\n        streams_subscribes:
\n          pnf_reregistration:
\n            type: message_router
\n            aaf_username: { get_input: dmaap_username }
\n            aaf_password: { get_input: dmaap_password }
\n            dmaap_info:
\n              topic_url: { get_input: pnf_reregistration_url }
\n          cpe_authentication:
\n            type: message_router
\n            aaf_username: { get_input: dmaap_username }
\n            aaf_password: { get_input: dmaap_password }
\n            dmaap_info:
\n              topic_url: { get_input: cpe_authentication_url }
\n        streams_publishes:
\n          close_loop:
\n            type: message_router
\n            aaf_username: { get_input: dmaap_username }
\n            aaf_password: { get_input: dmaap_password }
\n            dmaap_info:
\n              topic_url: { get_input: close_loop_url }
\n        dmaap.protocol: \"https\"
\n        dmaap.contentType: \"application/json\"
\n        dmaap.consumer.consumerId: { get_input: dmaap_consumer_id }
\n        dmaap.consumer.consumerGroup: { get_input: dmaap_consumer_group }
\n        dmaap.messageLimit: -1
\n        dmaap.timeoutMs: -1
\n        aai.host: { get_input: aai_enrichment_host }
\n        aai.port: { get_input: aai_enrichment_port }
\n        aai.protocol: { get_input: aai_enrichment_protocol }
\n        aai.username: \"AAI\"
\n        aai.password: \"AAI\"
\n        aai.aaiIgnoreSslCertificateErrors: true
\n        application.pipelinesPollingIntervalSec: 25
\n        application.pipelinesTimeoutSec: 15
\n        application.cbsPollingIntervalSec: { get_input: application_cbs_polling_interval_sec }
\n        application.policyVersion: { get_input: application_policy_version }
\n        application.clTargetType: { get_input: application_cl_target_type }
\n        application.clEventStatus: { get_input: application_cl_event_status }
\n        application.clVersion: { get_input: application_cl_version }
\n        application.clTarget: { get_input: application_cl_target }
\n        application.clOriginator: { get_input: application_cl_originator }
\n        application.reregistration.policyScope: { get_input: application_rereg_policy_scope }
\n        application.reregistration.clControlName: { get_input: application_rereg_cl_control_name }
\n        application.cpe.authentication.policyScope: { get_input: application_cpeAuth_policy_scope }
\n        application.cpe.authentication.clControlName: { get_input: application_cpeAuth_cl_control_name }
\n        application.reregistration.configKey: \"pnf_reregistration\"
\n        application.cpeAuth.configKey: \"cpe_authentication\"
\n        application.closeLoop.configKey: \"close_loop\"
\n        application.loggingLevel: { get_input: application_logging_level }
\n        application.ssl.keyStorePath: \"/opt/app/bbs-event-processor/etc/cert/cert.jks\"
\n        application.ssl.keyStorePasswordPath: \"/opt/app/bbs-event-processor/etc/cert/jks.pass\"
\n        application.ssl.trustStorePath: \"/opt/app/bbs-event-processor/etc/cert/trust.jks\"
\n        application.ssl.trustStorePasswordPath: \"/opt/app/bbs-event-processor/etc/cert/trust.pass\"
\n        application.ssl.enableAaiCertAuth: { get_input: aai_secure_enable_cert }
\n        application.ssl.enableDmaapCertAuth: { get_input: dmaap_secure_enable_cert }
\n      docker_config:
\n        healthcheck:
\n          endpoint: /heartbeat
\n          interval: 180s
\n          timeout: 5s
\n          type: http
\n      image:
\n        { get_input: tag_version }
\n      replicas: {get_input: replicas}
\n      service_component_type: '\''bbs-event-processor'\''
\n      log_info:
\n        log_directory: \"/opt/app/bbs-event-processor/logs\"
\n      tls_info:
\n        cert_directory: '\''/opt/app/bbs-event-processor/etc/cert'\''
\n        use_tls: true
\n    interfaces:
\n      cloudify.interfaces.lifecycle:
\n        start:
\n          inputs:
\n            ports:
\n              - concat: [{get_input: internal_port},\":\",{get_input: external_port}]
\n"
   }'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  3301  100  1786  100  1515   5986   5078 --:--:-- --:--:-- --:--:-- 11077
+ for BP in /blueprints/*.yaml
+ upload_service_type /blueprints/k8s-datafile.yaml /certs/cacert.pem
+ '[' /certs/cacert.pem ']'
+ TLSCURL='--cacert /certs/cacert.pem'
+ create_service_type /blueprints/k8s-datafile.yaml
+ curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types
++ date +%y%m%d%I%M
++ basename /blueprints/k8s-datafile.yaml .yaml
++ flatten /blueprints/k8s-datafile.yaml
+++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g'
+++ tr -d '\n'
++ FLAT='#\n# ============LICENSE_START=======================================================\n#  Copyright (C) 2021 Nokia\n#  Copyright (c) 2021 AT&T Intellectual Property. All rights reserved\n# ================================================================================\n# Licensed under the Apache License, Version 2.0 (the '\''License'\'');\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an '\''AS IS'\'' BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n# SPDX-License-Identifier: Apache-2.0\n# ============LICENSE_END=========================================================\n#\n\n#description: Docker application to collect log file from PNF\n#blueprint_version: 1.0.0\n---\ntosca_definitions_version: cloudify_dsl_1_3\ndescription: Docker application to collect log file from PNF\nimports:\n- http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n- plugin:k8splugin?version=>=3.4.3,<4.0.0\n- plugin:dmaap?version=>=1.5.1,<2.0.0\ninputs:\n  PM_MEAS_FILES_feed0_location:\n    type: string\n    default: \"loc00\"\n  cert_directory:\n    type: string\n    default: \"/opt/app/datafile/etc/cert/\"\n  datafile-collector_cpu_limit:\n    type: string\n    default: \"500m\"\n  datafile-collector_cpu_request:\n    type: string\n    default: \"500m\"\n  datafile-collector_memory_limit:\n    type: string\n    default: \"768Mi\"\n  datafile-collector_memory_request:\n    type: string\n    default: \"768Mi\"\n  envs:\n    default: {}\n  external_port:\n    type: string\n    default: \":0\"\n  feed0_name:\n    type: string\n    default: \"bulk_pm_feed\"\n  topic_name:\n    type: string\n    default: \"unauthenticated.VES_NOTIFICATION_OUTPUT\"\n  consumer_group:\n    type: string\n    default: \"OpenDcae-c12\"\n  consumer_id:\n    type: string\n    default: \"C12\"\n  log_directory:\n    type: string\n    default: \"/var/log/ONAP\"\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  tag_version:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:1.6.1\"\n  use_tls:\n    type: boolean\n    default: true\n  external_cert_ca_name:\n    type: string\n    description: Name of Certificate Authority configured on CertService side.\n    default: \"RA\"\n  external_cert_cert_type:\n    type: string\n    description: Format of provided certificates\n    default: \"P12\"\n  external_cert_common_name:\n    type: string\n    description: Common name which should be present in certificate.\n    default: \"dcae-datafile-collector\"\n  external_cert_sans:\n    type: string\n    description: '\''\"List of Subject Alternative Names (SANs) which should be present\n      in certificate. Delimiter - , Should contain common_name value and other FQDNs\n      under which given component is accessible.\"'\''\n    default: \"dcae-datafile-collector,datafile-collector,datafile\"\n  external_cert_use_external_tls:\n    type: boolean\n    description: Flag to indicate external tls enable/disable.\n    default: false\nnode_templates:\n  datafile-collector:\n    type: dcae.nodes.ContainerizedServiceComponentUsingDmaap\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n              get_input: envs\n    properties:\n      application_config:\n        service_calls: []\n        streams_publishes:\n          PM_MEAS_FILES:\n            dmaap_info: <>\n            type: data_router\n        dmaap.certificateConfig.keyCert: /opt/app/datafile/etc/cert/cert.p12\n        dmaap.certificateConfig.keyPasswordPath: /opt/app/datafile/etc/cert/p12.pass\n        dmaap.certificateConfig.trustedCa: /opt/app/datafile/etc/cert/trust.jks\n        dmaap.certificateConfig.trustedCaPasswordPath: /opt/app/datafile/etc/cert/trust.pass\n        dmaap.security.enableDmaapCertAuth: true\n        dmaap.security.keyStorePasswordPath: /opt/app/datafile/etc/cert/jks.pass\n        dmaap.security.keyStorePath: /opt/app/datafile/etc/cert/cert.jks\n        dmaap.security.trustStorePasswordPath: /opt/app/datafile/etc/cert/trust.pass\n        dmaap.security.trustStorePath: /opt/app/datafile/etc/cert/trust.jks\n        dmaap.dmaapConsumerConfiguration.consumerGroup:\n          get_input: consumer_group\n        dmaap.dmaapConsumerConfiguration.consumerId:\n          get_input: consumer_id\n        dmaap.dmaapConsumerConfiguration.timeoutMs: -1\n        sftp.security.strictHostKeyChecking: true\n        streams_subscribes:\n          dmaap_subscriber:\n            type: message_router\n            dmaap_info:\n              topic_url: { concat: ['\''https://message-router:3905/events/'\'',{ get_input: topic_name }] }\n      docker_config:\n        healthcheck:\n          interval: 15s\n          timeout: 1s\n          type: http\n          endpoint: /heartbeat\n        ports:\n        - concat: [\"8100\", {get_input: external_port}]\n        - concat: [\"8433\", {get_input: external_port}]\n      image:\n        get_input: tag_version\n      service_component_type: datafile-collector\n      log_info:\n        log_directory:\n          get_input: log_directory\n      replicas:\n        get_input: replicas\n      streams_publishes:\n      - name: feed0\n        location:\n          get_input: PM_MEAS_FILES_feed0_location\n        type: data_router\n      tls_info:\n        cert_directory:\n          get_input: cert_directory\n        use_tls:\n          get_input: use_tls\n      external_cert:\n        external_cert_directory:\n          get_input: cert_directory\n        use_external_tls:\n          get_input: external_cert_use_external_tls\n        ca_name:\n          get_input: external_cert_ca_name\n        cert_type:\n          get_input: external_cert_cert_type\n        external_certificate_parameters:\n          common_name:\n            get_input: external_cert_common_name\n          sans:\n            get_input: external_cert_sans\n      resource_config:\n        limits:\n          cpu:\n            get_input: datafile-collector_cpu_limit\n          memory:\n            get_input: datafile-collector_memory_limit\n        requests:\n          cpu:\n            get_input: datafile-collector_cpu_request\n          memory:\n            get_input: datafile-collector_memory_request\n    relationships:\n    - type: dcaegen2.relationships.publish_files\n      target: feed0\n  feed0:\n    type: dcaegen2.nodes.Feed\n    properties:\n      feed_name:\n        get_input: feed0_name\n      useExisting: true\n'
++ echo '#\n# ============LICENSE_START=======================================================\n#  Copyright (C) 2021 Nokia\n#  Copyright (c) 2021 AT&T Intellectual Property. All rights reserved\n# ================================================================================\n# Licensed under the Apache License, Version 2.0 (the '\''License'\'');\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an '\''AS IS'\'' BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n# SPDX-License-Identifier: Apache-2.0\n# ============LICENSE_END=========================================================\n#\n\n#description: Docker application to collect log file from PNF\n#blueprint_version: 1.0.0\n---\ntosca_definitions_version: cloudify_dsl_1_3\ndescription: Docker application to collect log file from PNF\nimports:\n- http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n- plugin:k8splugin?version=>=3.4.3,<4.0.0\n- plugin:dmaap?version=>=1.5.1,<2.0.0\ninputs:\n  PM_MEAS_FILES_feed0_location:\n    type: string\n    default: \"loc00\"\n  cert_directory:\n    type: string\n    default: \"/opt/app/datafile/etc/cert/\"\n  datafile-collector_cpu_limit:\n    type: string\n    default: \"500m\"\n  datafile-collector_cpu_request:\n    type: string\n    default: \"500m\"\n  datafile-collector_memory_limit:\n    type: string\n    default: \"768Mi\"\n  datafile-collector_memory_request:\n    type: string\n    default: \"768Mi\"\n  envs:\n    default: {}\n  external_port:\n    type: string\n    default: \":0\"\n  feed0_name:\n    type: string\n    default: \"bulk_pm_feed\"\n  topic_name:\n    type: string\n    default: \"unauthenticated.VES_NOTIFICATION_OUTPUT\"\n  consumer_group:\n    type: string\n    default: \"OpenDcae-c12\"\n  consumer_id:\n    type: string\n    default: \"C12\"\n  log_directory:\n    type: string\n    default: \"/var/log/ONAP\"\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  tag_version:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:1.6.1\"\n  use_tls:\n    type: boolean\n    default: true\n  external_cert_ca_name:\n    type: string\n    description: Name of Certificate Authority configured on CertService side.\n    default: \"RA\"\n  external_cert_cert_type:\n    type: string\n    description: Format of provided certificates\n    default: \"P12\"\n  external_cert_common_name:\n    type: string\n    description: Common name which should be present in certificate.\n    default: \"dcae-datafile-collector\"\n  external_cert_sans:\n    type: string\n    description: '\''\"List of Subject Alternative Names (SANs) which should be present\n      in certificate. Delimiter - , Should contain common_name value and other FQDNs\n      under which given component is accessible.\"'\''\n    default: \"dcae-datafile-collector,datafile-collector,datafile\"\n  external_cert_use_external_tls:\n    type: boolean\n    description: Flag to indicate external tls enable/disable.\n    default: false\nnode_templates:\n  datafile-collector:\n    type: dcae.nodes.ContainerizedServiceComponentUsingDmaap\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n              get_input: envs\n    properties:\n      application_config:\n        service_calls: []\n        streams_publishes:\n          PM_MEAS_FILES:\n            dmaap_info: <>\n            type: data_router\n        dmaap.certificateConfig.keyCert: /opt/app/datafile/etc/cert/cert.p12\n        dmaap.certificateConfig.keyPasswordPath: /opt/app/datafile/etc/cert/p12.pass\n        dmaap.certificateConfig.trustedCa: /opt/app/datafile/etc/cert/trust.jks\n        dmaap.certificateConfig.trustedCaPasswordPath: /opt/app/datafile/etc/cert/trust.pass\n        dmaap.security.enableDmaapCertAuth: true\n        dmaap.security.keyStorePasswordPath: /opt/app/datafile/etc/cert/jks.pass\n        dmaap.security.keyStorePath: /opt/app/datafile/etc/cert/cert.jks\n        dmaap.security.trustStorePasswordPath: /opt/app/datafile/etc/cert/trust.pass\n        dmaap.security.trustStorePath: /opt/app/datafile/etc/cert/trust.jks\n        dmaap.dmaapConsumerConfiguration.consumerGroup:\n          get_input: consumer_group\n        dmaap.dmaapConsumerConfiguration.consumerId:\n          get_input: consumer_id\n        dmaap.dmaapConsumerConfiguration.timeoutMs: -1\n        sftp.security.strictHostKeyChecking: true\n        streams_subscribes:\n          dmaap_subscriber:\n            type: message_router\n            dmaap_info:\n              topic_url: { concat: ['\''https://message-router:3905/events/'\'',{ get_input: topic_name }] }\n      docker_config:\n        healthcheck:\n          interval: 15s\n          timeout: 1s\n          type: http\n          endpoint: /heartbeat\n        ports:\n        - concat: [\"8100\", {get_input: external_port}]\n        - concat: [\"8433\", {get_input: external_port}]\n      image:\n        get_input: tag_version\n      service_component_type: datafile-collector\n      log_info:\n        log_directory:\n          get_input: log_directory\n      replicas:\n        get_input: replicas\n      streams_publishes:\n      - name: feed0\n        location:\n          get_input: PM_MEAS_FILES_feed0_location\n        type: data_router\n      tls_info:\n        cert_directory:\n          get_input: cert_directory\n        use_tls:\n          get_input: use_tls\n      external_cert:\n        external_cert_directory:\n          get_input: cert_directory\n        use_external_tls:\n          get_input: external_cert_use_external_tls\n        ca_name:\n          get_input: external_cert_ca_name\n        cert_type:\n          get_input: external_cert_cert_type\n        external_certificate_parameters:\n          common_name:\n            get_input: external_cert_common_name\n          sans:\n            get_input: external_cert_sans\n      resource_config:\n        limits:\n          cpu:\n            get_input: datafile-collector_cpu_limit\n          memory:\n            get_input: datafile-collector_memory_limit\n        requests:\n          cpu:\n            get_input: datafile-collector_cpu_request\n          memory:\n            get_input: datafile-collector_memory_request\n    relationships:\n    - type: dcaegen2.relationships.publish_files\n      target: feed0\n  feed0:\n    type: dcaegen2.nodes.Feed\n    properties:\n      feed_name:\n        get_input: feed0_name\n      useExisting: true\n'
+ echo '
   {
    "vnfTypes": [],
    "owner": "dcaeorch",
    "typeVersion": 2112091153,
    "typeName": "k8s-datafile",
    "component": "dcae",
    "application": "DCAE",
    "blueprintTemplate": "#\n# ============LICENSE_START=======================================================\n#  Copyright (C) 2021 Nokia\n#  Copyright (c) 2021 AT&T Intellectual Property. All rights reserved\n# ================================================================================\n# Licensed under the Apache License, Version 2.0 (the '\''License'\'');\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an '\''AS IS'\'' BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n# SPDX-License-Identifier: Apache-2.0\n# ============LICENSE_END=========================================================\n#\n\n#description: Docker application to collect log file from PNF\n#blueprint_version: 1.0.0\n---\ntosca_definitions_version: cloudify_dsl_1_3\ndescription: Docker application to collect log file from PNF\nimports:\n- http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n- plugin:k8splugin?version=>=3.4.3,<4.0.0\n- plugin:dmaap?version=>=1.5.1,<2.0.0\ninputs:\n  PM_MEAS_FILES_feed0_location:\n    type: string\n    default: \"loc00\"\n  cert_directory:\n    type: string\n    default: \"/opt/app/datafile/etc/cert/\"\n  datafile-collector_cpu_limit:\n    type: string\n    default: \"500m\"\n  datafile-collector_cpu_request:\n    type: string\n    default: \"500m\"\n  datafile-collector_memory_limit:\n    type: string\n    default: \"768Mi\"\n  datafile-collector_memory_request:\n    type: string\n    default: \"768Mi\"\n  envs:\n    default: {}\n  external_port:\n    type: string\n    default: \":0\"\n  feed0_name:\n    type: string\n    default: \"bulk_pm_feed\"\n  topic_name:\n    type: string\n    default: \"unauthenticated.VES_NOTIFICATION_OUTPUT\"\n  consumer_group:\n    type: string\n    default: \"OpenDcae-c12\"\n  consumer_id:\n    type: string\n    default: \"C12\"\n  log_directory:\n    type: string\n    default: \"/var/log/ONAP\"\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  tag_version:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:1.6.1\"\n  use_tls:\n    type: boolean\n    default: true\n  external_cert_ca_name:\n    type: string\n    description: Name of Certificate Authority configured on CertService side.\n    default: \"RA\"\n  external_cert_cert_type:\n    type: string\n    description: Format of provided certificates\n    default: \"P12\"\n  external_cert_common_name:\n    type: string\n    description: Common name which should be present in certificate.\n    default: \"dcae-datafile-collector\"\n  external_cert_sans:\n    type: string\n    description: '\''\"List of Subject Alternative Names (SANs) which should be present\n      in certificate. Delimiter - , Should contain common_name value and other FQDNs\n      under which given component is accessible.\"'\''\n    default: \"dcae-datafile-collector,datafile-collector,datafile\"\n  external_cert_use_external_tls:\n    type: boolean\n    description: Flag to indicate external tls enable/disable.\n    default: false\nnode_templates:\n  datafile-collector:\n    type: dcae.nodes.ContainerizedServiceComponentUsingDmaap\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n              get_input: envs\n    properties:\n      application_config:\n        service_calls: []\n        streams_publishes:\n          PM_MEAS_FILES:\n            dmaap_info: <>\n            type: data_router\n        dmaap.certificateConfig.keyCert: /opt/app/datafile/etc/cert/cert.p12\n        dmaap.certificateConfig.keyPasswordPath: /opt/app/datafile/etc/cert/p12.pass\n        dmaap.certificateConfig.trustedCa: /opt/app/datafile/etc/cert/trust.jks\n        dmaap.certificateConfig.trustedCaPasswordPath: /opt/app/datafile/etc/cert/trust.pass\n        dmaap.security.enableDmaapCertAuth: true\n        dmaap.security.keyStorePasswordPath: /opt/app/datafile/etc/cert/jks.pass\n        dmaap.security.keyStorePath: /opt/app/datafile/etc/cert/cert.jks\n        dmaap.security.trustStorePasswordPath: /opt/app/datafile/etc/cert/trust.pass\n        dmaap.security.trustStorePath: /opt/app/datafile/etc/cert/trust.jks\n        dmaap.dmaapConsumerConfiguration.consumerGroup:\n          get_input: consumer_group\n        dmaap.dmaapConsumerConfiguration.consumerId:\n          get_input: consumer_id\n        dmaap.dmaapConsumerConfiguration.timeoutMs: -1\n        sftp.security.strictHostKeyChecking: true\n        streams_subscribes:\n          dmaap_subscriber:\n            type: message_router\n            dmaap_info:\n              topic_url: { concat: ['\''https://message-router:3905/events/'\'',{ get_input: topic_name }] }\n      docker_config:\n        healthcheck:\n          interval: 15s\n          timeout: 1s\n          type: http\n          endpoint: /heartbeat\n        ports:\n        - concat: [\"8100\", {get_input: external_port}]\n        - concat: [\"8433\", {get_input: external_port}]\n      image:\n        get_input: tag_version\n      service_component_type: datafile-collector\n      log_info:\n        log_directory:\n          get_input: log_directory\n      replicas:\n        get_input: replicas\n      streams_publishes:\n      - name: feed0\n        location:\n          get_input: PM_MEAS_FILES_feed0_location\n        type: data_router\n      tls_info:\n        cert_directory:\n          get_input: cert_directory\n        use_tls:\n          get_input: use_tls\n      external_cert:\n        external_cert_directory:\n          get_input: cert_directory\n        use_external_tls:\n          get_input: external_cert_use_external_tls\n        ca_name:\n          get_input: external_cert_ca_name\n        cert_type:\n          get_input: external_cert_cert_type\n        external_certificate_parameters:\n          common_name:\n            get_input: external_cert_common_name\n          sans:\n            get_input: external_cert_sans\n      resource_config:\n        limits:\n          cpu:\n            get_input: datafile-collector_cpu_limit\n          memory:\n            get_input: datafile-collector_memory_limit\n        requests:\n          cpu:\n            get_input: datafile-collector_cpu_request\n          memory:\n            get_input: datafile-collector_memory_request\n    relationships:\n    - type: dcaegen2.relationships.publish_files\n      target: feed0\n  feed0:\n    type: dcaegen2.nodes.Feed\n    properties:\n      feed_name:\n        get_input: feed0_name\n      useExisting: true\n"
   }'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 14379  100  7325  100  7054   132k   127k --:--:-- --:--:-- --:--:--  264k
+ for BP in /blueprints/*.yaml
+ upload_service_type /blueprints/k8s-datalake-admin-ui.yaml /certs/cacert.pem
+ '[' /certs/cacert.pem ']'
+ TLSCURL='--cacert /certs/cacert.pem'
+ create_service_type /blueprints/k8s-datalake-admin-ui.yaml
+ curl --cacert /certs/cacert.pem ++ -X date +%y%m%d%I%M
POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types
++ basename /blueprints/k8s-datalake-admin-ui.yaml .yaml
++ flatten /blueprints/k8s-datalake-admin-ui.yaml
+++ sed -e 's/\\/\\\\/g' +++ tr -d '\n'
-e 's/"/\\"/g' -e 's/$/\\n/g'
++ FLAT='# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2020 QCT. All rights reserved.\n# Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\n#author: Kate Hsuan (kate.hsuan@qct.io)\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n  image_name:\n    description: datalake feeder image URL.\n    type: string\n    default: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.datalakeadminui:1.1.1\n  container_port:\n    type: string\n    description: exposed container port\n    default: \"8088\"\n  host_port:\n    type: string\n    description: external port\n    default: \"30479\"\n  service_component_type:\n    type: string\n    default: \"dcae-dl-admin\"\n  service_id:\n    type: string\n    default: \"dcae-dl-admin\"\n  service_component_name_override:\n    type: string\n    default: \"dcae-dl-admin\"\n\nnode_templates:\n  datalake:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            ports:\n              - '\''8088:0'\''\n              - concat: [{get_input: container_port},\":\",{get_input: host_port}]\n    properties:\n      application_config:\n        FEEDER_ADDR: dl-feeder\n      docker_config:\n        healthcheck:\n          interval: 30s\n          timeout: 10s\n          type: http\n          endpoint: /\n      image:\n        get_input: image_name\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n\n'
++ echo '# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2020 QCT. All rights reserved.\n# Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\n#author: Kate Hsuan (kate.hsuan@qct.io)\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n  image_name:\n    description: datalake feeder image URL.\n    type: string\n    default: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.datalakeadminui:1.1.1\n  container_port:\n    type: string\n    description: exposed container port\n    default: \"8088\"\n  host_port:\n    type: string\n    description: external port\n    default: \"30479\"\n  service_component_type:\n    type: string\n    default: \"dcae-dl-admin\"\n  service_id:\n    type: string\n    default: \"dcae-dl-admin\"\n  service_component_name_override:\n    type: string\n    default: \"dcae-dl-admin\"\n\nnode_templates:\n  datalake:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            ports:\n              - '\''8088:0'\''\n              - concat: [{get_input: container_port},\":\",{get_input: host_port}]\n    properties:\n      application_config:\n        FEEDER_ADDR: dl-feeder\n      docker_config:\n        healthcheck:\n          interval: 30s\n          timeout: 10s\n          type: http\n          endpoint: /\n      image:\n        get_input: image_name\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n\n'
+ echo '
   {
    "vnfTypes": [],
    "owner": "dcaeorch",
    "typeVersion": 2112091153,
    "typeName": "k8s-datalake-admin-ui",
    "component": "dcae",
    "application": "DCAE",
    "blueprintTemplate": "# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2020 QCT. All rights reserved.\n# Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\n#author: Kate Hsuan (kate.hsuan@qct.io)\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n  image_name:\n    description: datalake feeder image URL.\n    type: string\n    default: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.datalakeadminui:1.1.1\n  container_port:\n    type: string\n    description: exposed container port\n    default: \"8088\"\n  host_port:\n    type: string\n    description: external port\n    default: \"30479\"\n  service_component_type:\n    type: string\n    default: \"dcae-dl-admin\"\n  service_id:\n    type: string\n    default: \"dcae-dl-admin\"\n  service_component_name_override:\n    type: string\n    default: \"dcae-dl-admin\"\n\nnode_templates:\n  datalake:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            ports:\n              - '\''8088:0'\''\n              - concat: [{get_input: container_port},\":\",{get_input: host_port}]\n    properties:\n      application_config:\n        FEEDER_ADDR: dl-feeder\n      docker_config:\n        healthcheck:\n          interval: 30s\n          timeout: 10s\n          type: http\n          endpoint: /\n      image:\n        get_input: image_name\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n\n"
   }'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  5815  100  3043  100  2772  60138  54782 --:--:-- --:--:-- --:--:--  113k
+ for BP in /blueprints/*.yaml
+ upload_service_type /blueprints/k8s-datalake-des.yaml /certs/cacert.pem
+ '[' /certs/cacert.pem ']'
+ TLSCURL='--cacert /certs/cacert.pem'
+ create_service_type + /blueprints/k8s-datalake-des.yaml
curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types
++ date +%y%m%d%I%M
++ basename /blueprints/k8s-datalake-des.yaml .yaml
++ flatten /blueprints/k8s-datalake-des.yaml
+++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g'
+++ tr -d '\n'
++ FLAT='# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2020 China Mobile\n# Copyright (C) 2021 Wipro Limited.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n#author: Kai Lu (lukai@chinamobile.com)\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - \"https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\"\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:pgaas?version=1.3.0\ninputs:\n  service_name:\n    type: string\n    default: '\''dcae-des'\''\n  pg_dbName:\n    type: string\n    description: DB name\n    default: \"datalake\"\n  presto_address:\n    type: string\n    description: Presto URL\n    default: \"dl-presto\"\n  presto_port:\n    type: string\n    description: Presto port\n    default: \"9000\"\n  presto_username:\n    type: string\n    description: Presto Username\n    default: \"user\"\n  presto_password:\n    description: Presto password\n    type: string\n    default: \"test\"\n  image_name:\n    description: des image URL.\n    type: string\n    default: nexus3.onap.org:10003/onap/org.onap.dcaegen2.services.datalake.exposure.service:1.1.1\n  dl_hostname:\n    type: string\n    description: dl default des_hostname\n    default: k8s-des\n  container_port:\n    type: string\n    description: exposed container port\n    default: \"1681\"\n  host_port:\n    type: string\n    description: external port\n    default: \"30409\"\n  pgaas_cluster_name:\n    type: string\n    description: pg cluster\n    default: \"dcae-pg-primary.onap\"\n\nnode_templates:\n  despgaas:\n    type: dcae.nodes.pgaas.database\n    properties:\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: { get_input: pg_dbName}\n      use_existing: true\n\n  datalake:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            ports:\n              - '\''1681:0'\''\n              - concat: [{get_input: container_port},\":\",{get_input: host_port}]\n            envs:\n              PG_HOST:\n               { get_attribute: [ despgaas, admin, host ] }\n              PG_PORT:\n                { get_attribute: [ despgaas, admin, port ] }\n              PG_USER:\n                { get_attribute: [ despgaas, admin, user ] }\n              PG_PASSWORD:\n                { get_attribute: [ despgaas, admin, password ] }\n              PG_DB:\n                get_input: pg_dbName\n              PRESTO_HOST:\n                get_input: presto_address\n              PRESTO_PORT:\n                get_input: presto_port\n              PRESTO_USER:\n                get_input: presto_username\n              PRESTO_PASSWORD:\n                get_input: presto_password\n\n    properties:\n      application_config:\n        PG_HOST:\n          { get_attribute: [ despgaas, admin, host ] }\n        PG_PORT:\n          { get_attribute: [ despgaas, admin, port ] }\n        PG_USER:\n          { get_attribute: [ despgaas, admin, user ] }\n        PG_PASSWORD:\n          { get_attribute: [ despgaas, admin, password ] }\n        PRESTO_HOST:\n          get_input: presto_address\n        PRESTO_PORT:\n          get_input: presto_port\n        PRESTO_USER:\n          get_input: presto_username\n        PRESTO_PASSWORD:\n          get_input: presto_password\n        HOSTNAME:\n          get_input: dl_hostname\n      image:\n          get_input: image_name\n      docker_config:\n        healthcheck:\n          interval: 90s\n          timeout: 10s\n          type: http\n          endpoint: /datalake/v1/exposure\n      service_component_type: '\''dcae-des'\''\n      service_id: '\''dcae-des'\''\n      service_component_name_override: '\''dcae-des'\''\n    relationships:\n    - type: cloudify.relationships.depends_on\n      target: despgaas\n'
++ echo '# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2020 China Mobile\n# Copyright (C) 2021 Wipro Limited.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n#author: Kai Lu (lukai@chinamobile.com)\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - \"https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\"\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:pgaas?version=1.3.0\ninputs:\n  service_name:\n    type: string\n    default: '\''dcae-des'\''\n  pg_dbName:\n    type: string\n    description: DB name\n    default: \"datalake\"\n  presto_address:\n    type: string\n    description: Presto URL\n    default: \"dl-presto\"\n  presto_port:\n    type: string\n    description: Presto port\n    default: \"9000\"\n  presto_username:\n    type: string\n    description: Presto Username\n    default: \"user\"\n  presto_password:\n    description: Presto password\n    type: string\n    default: \"test\"\n  image_name:\n    description: des image URL.\n    type: string\n    default: nexus3.onap.org:10003/onap/org.onap.dcaegen2.services.datalake.exposure.service:1.1.1\n  dl_hostname:\n    type: string\n    description: dl default des_hostname\n    default: k8s-des\n  container_port:\n    type: string\n    description: exposed container port\n    default: \"1681\"\n  host_port:\n    type: string\n    description: external port\n    default: \"30409\"\n  pgaas_cluster_name:\n    type: string\n    description: pg cluster\n    default: \"dcae-pg-primary.onap\"\n\nnode_templates:\n  despgaas:\n    type: dcae.nodes.pgaas.database\n    properties:\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: { get_input: pg_dbName}\n      use_existing: true\n\n  datalake:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            ports:\n              - '\''1681:0'\''\n              - concat: [{get_input: container_port},\":\",{get_input: host_port}]\n            envs:\n              PG_HOST:\n               { get_attribute: [ despgaas, admin, host ] }\n              PG_PORT:\n                { get_attribute: [ despgaas, admin, port ] }\n              PG_USER:\n                { get_attribute: [ despgaas, admin, user ] }\n              PG_PASSWORD:\n                { get_attribute: [ despgaas, admin, password ] }\n              PG_DB:\n                get_input: pg_dbName\n              PRESTO_HOST:\n                get_input: presto_address\n              PRESTO_PORT:\n                get_input: presto_port\n              PRESTO_USER:\n                get_input: presto_username\n              PRESTO_PASSWORD:\n                get_input: presto_password\n\n    properties:\n      application_config:\n        PG_HOST:\n          { get_attribute: [ despgaas, admin, host ] }\n        PG_PORT:\n          { get_attribute: [ despgaas, admin, port ] }\n        PG_USER:\n          { get_attribute: [ despgaas, admin, user ] }\n        PG_PASSWORD:\n          { get_attribute: [ despgaas, admin, password ] }\n        PRESTO_HOST:\n          get_input: presto_address\n        PRESTO_PORT:\n          get_input: presto_port\n        PRESTO_USER:\n          get_input: presto_username\n        PRESTO_PASSWORD:\n          get_input: presto_password\n        HOSTNAME:\n          get_input: dl_hostname\n      image:\n          get_input: image_name\n      docker_config:\n        healthcheck:\n          interval: 90s\n          timeout: 10s\n          type: http\n          endpoint: /datalake/v1/exposure\n      service_component_type: '\''dcae-des'\''\n      service_id: '\''dcae-des'\''\n      service_component_name_override: '\''dcae-des'\''\n    relationships:\n    - type: cloudify.relationships.depends_on\n      target: despgaas\n'
+ echo '
   {
    "vnfTypes": [],
    "owner": "dcaeorch",
    "typeVersion": 2112091153,
    "typeName": "k8s-datalake-des",
    "component": "dcae",
    "application": "DCAE",
    "blueprintTemplate": "# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2020 China Mobile\n# Copyright (C) 2021 Wipro Limited.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n#author: Kai Lu (lukai@chinamobile.com)\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - \"https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\"\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:pgaas?version=1.3.0\ninputs:\n  service_name:\n    type: string\n    default: '\''dcae-des'\''\n  pg_dbName:\n    type: string\n    description: DB name\n    default: \"datalake\"\n  presto_address:\n    type: string\n    description: Presto URL\n    default: \"dl-presto\"\n  presto_port:\n    type: string\n    description: Presto port\n    default: \"9000\"\n  presto_username:\n    type: string\n    description: Presto Username\n    default: \"user\"\n  presto_password:\n    description: Presto password\n    type: string\n    default: \"test\"\n  image_name:\n    description: des image URL.\n    type: string\n    default: nexus3.onap.org:10003/onap/org.onap.dcaegen2.services.datalake.exposure.service:1.1.1\n  dl_hostname:\n    type: string\n    description: dl default des_hostname\n    default: k8s-des\n  container_port:\n    type: string\n    description: exposed container port\n    default: \"1681\"\n  host_port:\n    type: string\n    description: external port\n    default: \"30409\"\n  pgaas_cluster_name:\n    type: string\n    description: pg cluster\n    default: \"dcae-pg-primary.onap\"\n\nnode_templates:\n  despgaas:\n    type: dcae.nodes.pgaas.database\n    properties:\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: { get_input: pg_dbName}\n      use_existing: true\n\n  datalake:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            ports:\n              - '\''1681:0'\''\n              - concat: [{get_input: container_port},\":\",{get_input: host_port}]\n            envs:\n              PG_HOST:\n               { get_attribute: [ despgaas, admin, host ] }\n              PG_PORT:\n                { get_attribute: [ despgaas, admin, port ] }\n              PG_USER:\n                { get_attribute: [ despgaas, admin, user ] }\n              PG_PASSWORD:\n                { get_attribute: [ despgaas, admin, password ] }\n              PG_DB:\n                get_input: pg_dbName\n              PRESTO_HOST:\n                get_input: presto_address\n              PRESTO_PORT:\n                get_input: presto_port\n              PRESTO_USER:\n                get_input: presto_username\n              PRESTO_PASSWORD:\n                get_input: presto_password\n\n    properties:\n      application_config:\n        PG_HOST:\n          { get_attribute: [ despgaas, admin, host ] }\n        PG_PORT:\n          { get_attribute: [ despgaas, admin, port ] }\n        PG_USER:\n          { get_attribute: [ despgaas, admin, user ] }\n        PG_PASSWORD:\n          { get_attribute: [ despgaas, admin, password ] }\n        PRESTO_HOST:\n          get_input: presto_address\n        PRESTO_PORT:\n          get_input: presto_port\n        PRESTO_USER:\n          get_input: presto_username\n        PRESTO_PASSWORD:\n          get_input: presto_password\n        HOSTNAME:\n          get_input: dl_hostname\n      image:\n          get_input: image_name\n      docker_config:\n        healthcheck:\n          interval: 90s\n          timeout: 10s\n          type: http\n          endpoint: /datalake/v1/exposure\n      service_component_type: '\''dcae-des'\''\n      service_id: '\''dcae-des'\''\n      service_component_name_override: '\''dcae-des'\''\n    relationships:\n    - type: cloudify.relationships.depends_on\n      target: despgaas\n"
   }'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  9759  100  5015  100  4744  84568  79998 --:--:-- --:--:-- --:--:--  161k
{"owner":"dcaeorch","typeName":"k8s-bbs-event-processor","typeVersion":2112091153,"blueprintTemplate":"# ============LICENSE_START==========================================================================================================://www.apache.org/licenses/LICENSE-2.0implied.orts:fault: 8443n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.components.bbs-event-processor:2.1.1\"ault: \"https:message-router:3905/events/unauthenticated.PNF_UPDATE\"t: \"https:message-router:3905/events/unauthenticated.DCAE_CL_OUTPUT\"iption: Close Loop target type value for building CL eventspplication_cl_version:ault: \"vserver.vserver-name\" for building PNF relocation CL eventlControlNameReReg\"lose Loop control name value for building CPE Authentication CL eventringype: stringwhich BBS-ep is exposedceComponentmaap_password }ord: { get_input: dmaap_password }dmaap_username }maap.consumer.consumerId: { get_input: dmaap_consumer_id }        aai.port: { get_input: aai_enrichment_port }elinesPollingIntervalSec: 25      application.clTargetType: { get_input: application_cl_target_type }: { get_input: application_cl_target }rolName: { get_input: application_rereg_cl_control_name }trol_name }pplication_logging_level }th: \"/opt/app/bbs-event-processor/etc/cert/trust.jks\"lication.ssl.enableDmaapCertAuth: { get_input: dmaap_secure_enable_cert }et_input: tag_version }s-event-processor/etc/cert'\n","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"efff37e7-9087-4ac2-9802-fce6155fb49c","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/efff37e7-9087-4ac2-9802-fce6155fb49c"},"created":1639094021651,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-datafile","typeVersion":2112091153,"blueprintTemplate":"#\n# ============LICENSE_START=======================================================\n#  Copyright (C) 2021 Nokia\n#  Copyright (c) 2021 AT&T Intellectual Property. All rights reserved\n# ================================================================================\n# Licensed under the Apache License, Version 2.0 (the 'License');\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an 'AS IS' BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n# SPDX-License-Identifier: Apache-2.0\n# ============LICENSE_END=========================================================\n#\n\n#description: Docker application to collect log file from PNF\n#blueprint_version: 1.0.0\n---\ntosca_definitions_version: cloudify_dsl_1_3\ndescription: Docker application to collect log file from PNF\nimports:\n- http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n- plugin:k8splugin?version=>=3.4.3,<4.0.0\n- plugin:dmaap?version=>=1.5.1,<2.0.0\ninputs:\n  PM_MEAS_FILES_feed0_location:\n    type: string\n    default: \"loc00\"\n  cert_directory:\n    type: string\n    default: \"/opt/app/datafile/etc/cert/\"\n  datafile-collector_cpu_limit:\n    type: string\n    default: \"500m\"\n  datafile-collector_cpu_request:\n    type: string\n    default: \"500m\"\n  datafile-collector_memory_limit:\n    type: string\n    default: \"768Mi\"\n  datafile-collector_memory_request:\n    type: string\n    default: \"768Mi\"\n  envs:\n    default: {}\n  external_port:\n    type: string\n    default: \":0\"\n  feed0_name:\n    type: string\n    default: \"bulk_pm_feed\"\n  topic_name:\n    type: string\n    default: \"unauthenticated.VES_NOTIFICATION_OUTPUT\"\n  consumer_group:\n    type: string\n    default: \"OpenDcae-c12\"\n  consumer_id:\n    type: string\n    default: \"C12\"\n  log_directory:\n    type: string\n    default: \"/var/log/ONAP\"\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  tag_version:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:1.6.1\"\n  use_tls:\n    type: boolean\n    default: true\n  external_cert_ca_name:\n    type: string\n    description: Name of Certificate Authority configured on CertService side.\n    default: \"RA\"\n  external_cert_cert_type:\n    type: string\n    description: Format of provided certificates\n    default: \"P12\"\n  external_cert_common_name:\n    type: string\n    description: Common name which should be present in certificate.\n    default: \"dcae-datafile-collector\"\n  external_cert_sans:\n    type: string\n    description: '\"List of Subject Alternative Names (SANs) which should be present\n      in certificate. Delimiter - , Should contain common_name value and other FQDNs\n      under which given component is accessible.\"'\n    default: \"dcae-datafile-collector,datafile-collector,datafile\"\n  external_cert_use_external_tls:\n    type: boolean\n    description: Flag to indicate external tls enable/disable.\n    default: false\nnode_templates:\n  datafile-collector:\n    type: dcae.nodes.ContainerizedServiceComponentUsingDmaap\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n              get_input: envs\n    properties:\n      application_config:\n        service_calls: []\n        streams_publishes:\n          PM_MEAS_FILES:\n            dmaap_info: <>\n            type: data_router\n        dmaap.certificateConfig.keyCert: /opt/app/datafile/etc/cert/cert.p12\n        dmaap.certificateConfig.keyPasswordPath: /opt/app/datafile/etc/cert/p12.pass\n        dmaap.certificateConfig.trustedCa: /opt/app/datafile/etc/cert/trust.jks\n        dmaap.certificateConfig.trustedCaPasswordPath: /opt/app/datafile/etc/cert/trust.pass\n        dmaap.security.enableDmaapCertAuth: true\n        dmaap.security.keyStorePasswordPath: /opt/app/datafile/etc/cert/jks.pass\n        dmaap.security.keyStorePath: /opt/app/datafile/etc/cert/cert.jks\n        dmaap.security.trustStorePasswordPath: /opt/app/datafile/etc/cert/trust.pass\n        dmaap.security.trustStorePath: /opt/app/datafile/etc/cert/trust.jks\n        dmaap.dmaapConsumerConfiguration.consumerGroup:\n          get_input: consumer_group\n        dmaap.dmaapConsumerConfiguration.consumerId:\n          get_input: consumer_id\n        dmaap.dmaapConsumerConfiguration.timeoutMs: -1\n        sftp.security.strictHostKeyChecking: true\n        streams_subscribes:\n          dmaap_subscriber:\n            type: message_router\n            dmaap_info:\n              topic_url: { concat: ['https://message-router:3905/events/',{ get_input: topic_name }] }\n      docker_config:\n        healthcheck:\n          interval: 15s\n          timeout: 1s\n          type: http\n          endpoint: /heartbeat\n        ports:\n        - concat: [\"8100\", {get_input: external_port}]\n        - concat: [\"8433\", {get_input: external_port}]\n      image:\n        get_input: tag_version\n      service_component_type: datafile-collector\n      log_info:\n        log_directory:\n          get_input: log_directory\n      replicas:\n        get_input: replicas\n      streams_publishes:\n      - name: feed0\n        location:\n          get_input: PM_MEAS_FILES_feed0_location\n        type: data_router\n      tls_info:\n        cert_directory:\n          get_input: cert_directory\n        use_tls:\n          get_input: use_tls\n      external_cert:\n        external_cert_directory:\n          get_input: cert_directory\n        use_external_tls:\n          get_input: external_cert_use_external_tls\n        ca_name:\n          get_input: external_cert_ca_name\n        cert_type:\n          get_input: external_cert_cert_type\n        external_certificate_parameters:\n          common_name:\n            get_input: external_cert_common_name\n          sans:\n            get_input: external_cert_sans\n      resource_config:\n        limits:\n          cpu:\n            get_input: datafile-collector_cpu_limit\n          memory:\n            get_input: datafile-collector_memory_limit\n        requests:\n          cpu:\n            get_input: datafile-collector_cpu_request\n          memory:\n            get_input: datafile-collector_memory_request\n    relationships:\n    - type: dcaegen2.relationships.publish_files\n      target: feed0\n  feed0:\n    type: dcaegen2.nodes.Feed\n    properties:\n      feed_name:\n        get_input: feed0_name\n      useExisting: true\n","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"7976441e-e9ee-4ae0-91e0-a8815dfe297a","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/7976441e-e9ee-4ae0-91e0-a8815dfe297a"},"created":1639094021788,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-datalake-admin-ui","typeVersion":2112091153,"blueprintTemplate":"# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2020 QCT. All rights reserved.\n# Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\n#author: Kate Hsuan (kate.hsuan@qct.io)\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n  image_name:\n    description: datalake feeder image URL.\n    type: string\n    default: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.datalakeadminui:1.1.1\n  container_port:\n    type: string\n    description: exposed container port\n    default: \"8088\"\n  host_port:\n    type: string\n    description: external port\n    default: \"30479\"\n  service_component_type:\n    type: string\n    default: \"dcae-dl-admin\"\n  service_id:\n    type: string\n    default: \"dcae-dl-admin\"\n  service_component_name_override:\n    type: string\n    default: \"dcae-dl-admin\"\n\nnode_templates:\n  datalake:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            ports:\n              - '8088:0'\n              - concat: [{get_input: container_port},\":\",{get_input: host_port}]\n    properties:\n      application_config:\n        FEEDER_ADDR: dl-feeder\n      docker_config:\n        healthcheck:\n          interval: 30s\n          timeout: 10s\n          type: http\n          endpoint: /\n      image:\n        get_input: image_name\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n\n","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"ad12fa34-c78b-4e30-9746-294161a2184d","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/ad12fa34-c78b-4e30-9746-294161a2184d"},"created":1639094021903,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-datalake-des","typeVersion":2112091153,"blueprintTemplate":"# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2020 China Mobile\n# Copyright (C) 2021 Wipro Limited.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n#author: Kai Lu (lukai@chinamobile.com)\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - \"https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\"\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:pgaas?version=1.3.0\ninputs:\n  service_name:\n    type: string\n    default: 'dcae-des'\n  pg_dbName:\n    type: string\n    description: DB name\n    default: \"datalake\"\n  presto_address:\n    type: string\n    description: Presto URL\n    default: \"dl-presto\"\n  presto_port:\n    type: string\n    description: Presto port\n    default: \"9000\"\n  presto_username:\n    type: string\n    description: Presto Username\n    default: \"user\"\n  presto_password:\n    description: Presto password\n    type: string\n    default: \"test\"\n  image_name:\n    description: des image URL.\n    type: string\n    default: nexus3.onap.org:10003/onap/org.onap.dcaegen2.services.datalake.exposure.service:1.1.1\n  dl_hostname:\n    type: string\n    description: dl default des_hostname\n    default: k8s-des\n  container_port:\n    type: string\n    description: exposed container port\n    default: \"1681\"\n  host_port:\n    type: string\n    description: external port\n    default: \"30409\"\n  pgaas_cluster_name:\n    type: string\n    description: pg cluster\n    default: \"dcae-pg-primary.onap\"\n\nnode_templates:\n  despgaas:\n    type: dcae.nodes.pgaas.database\n    properties:\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: { get_input: pg_dbName}\n      use_existing: true\n\n  datalake:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            ports:\n              - '1681:0'\n              - concat: [{get_input: container_port},\":\",{get_input: host_port}]\n            envs:\n              PG_HOST:\n               { get_attribute: [ despgaas, admin, host ] }\n              PG_PORT:\n                { get_attribute: [ despgaas, admin, port ] }\n              PG_USER:\n                { get_attribute: [ despgaas, admin, user ] }\n              PG_PASSWORD:\n                { get_attribute: [ despgaas, admin, password ] }\n              PG_DB:\n                get_input: pg_dbName\n              PRESTO_HOST:\n                get_input: presto_address\n              PRESTO_PORT:\n                get_input: presto_port\n              PRESTO_USER:\n                get_input: presto_username\n              PRESTO_PASSWORD:\n                get_input: presto_password\n\n    properties:\n      application_config:\n        PG_HOST:\n          { get_attribute: [ despgaas, admin, host ] }\n        PG_PORT:\n          { get_attribute: [ despgaas, admin, port ] }\n        PG_USER:\n          { get_attribute: [ despgaas, admin, user ] }\n        PG_PASSWORD:\n          { get_attribute: [ despgaas, admin, password ] }\n        PRESTO_HOST:\n          get_input: presto_address\n        PRESTO_PORT:\n          get_input: presto_port\n        PRESTO_USER:\n          get_input: presto_username\n        PRESTO_PASSWORD:\n          get_input: presto_password\n        HOSTNAME:\n          get_input: dl_hostname\n  + for BP in /blueprints/*.yaml
+ upload_service_type /blueprints/k8s-datalake-feeder.yaml /certs/cacert.pem
+ '[' /certs/cacert.pem ']'
+ TLSCURL='--cacert /certs/cacert.pem'
+ create_service_type /blueprints/k8s-datalake-feeder.yaml
+ curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types
++ date +%y%m%d%I%M
++ basename /blueprints/k8s-datalake-feeder.yaml .yaml
++ flatten /blueprints/k8s-datalake-feeder.yaml
+++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g'
+++ tr -d '\n'
++ FLAT='# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2020 QCT. All rights reserved.\n# Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.\n# Copyright (C) 2021 Wipro Limited. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\n#author: Kate Hsuan (kate.hsuan@qct.io)\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:pgaas?version=1.3.0\ninputs:\n  pg_dbName:\n    type: string\n    description: DB name\n    default: \"datalake\"\n  image_name:\n    description: datalake feeder image URL.\n    type: string\n    default: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.datalakefeeder:1.1.1\n  dl_hostname:\n    type: string\n    description: dl default dl_hostname\n    default: k8s-datalake\n  consul_host:\n    type: string\n    description: consul address\n    default: consul\n  cbs_address:\n    type: string\n    description: CBS address\n    default: config-binding-service\n  container_port:\n    type: string\n    description: exposed container port\n    default: \"1680\"\n  host_port:\n    type: string\n    description: external port\n    default: \"30408\"\n  service_component_type:\n    type: string\n    default: \"dcae-dl-feeder\"\n  service_id:\n    type: string\n    default: \"dcae-dl-feeder\"\n  service_component_name_override:\n    type: string\n    default: \"dcae-dl-feeder\"\n  pgaas_cluster_name:\n    type: string\n    description: pg cluster\n    default: \"dcae-pg-primary.onap\"\n\nnode_templates:\n  feederpgaas:\n    type: dcae.nodes.pgaas.database\n    properties:\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: { get_input: pg_dbName}\n      use_existing: false\n\n  datalake:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            ports:\n              - '\''1680:0'\''\n              - concat: [{get_input: container_port},\":\",{get_input: host_port}]\n            envs:\n              PG_HOST:\n               { get_attribute: [ feederpgaas, admin, host ] }\n              PG_PORT:\n                { get_attribute: [ feederpgaas, admin, port ] }\n              PG_USER:\n                { get_attribute: [ feederpgaas, admin, user ] }\n              PG_PASSWORD:\n                { get_attribute: [ feederpgaas, admin, password ] }\n              PG_DB:\n                get_input: pg_dbName\n    properties:\n      application_config:\n        PG_HOST:\n          { get_attribute: [ feederpgaas, admin, host ] }\n        PG_PORT:\n          { get_attribute: [ feederpgaas, admin, port ] }\n        PG_USER:\n          { get_attribute: [ feederpgaas, admin, user ] }\n        PG_PASSWORD:\n          { get_attribute: [ feederpgaas, admin, password ] }\n        PG_DB:\n          get_input: pg_dbName\n        HOSTNAME:\n          get_input: dl_hostname\n        CONSUL_HOST:\n          get_input: consul_host\n        CONFIG_BINDING_SERVICE:\n          get_input: cbs_address\n      image:\n          get_input: image_name\n      docker_config:\n        healthcheck:\n          interval: 90s\n          timeout: 10s\n          type: http\n          endpoint: /datalake/v1/topics\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n    relationships:\n    - type: cloudify.relationships.depends_on\n      target: feederpgaas\n'
++ echo '# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2020 QCT. All rights reserved.\n# Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.\n# Copyright (C) 2021 Wipro Limited. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\n#author: Kate Hsuan (kate.hsuan@qct.io)\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:pgaas?version=1.3.0\ninputs:\n  pg_dbName:\n    type: string\n    description: DB name\n    default: \"datalake\"\n  image_name:\n    description: datalake feeder image URL.\n    type: string\n    default: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.datalakefeeder:1.1.1\n  dl_hostname:\n    type: string\n    description: dl default dl_hostname\n    default: k8s-datalake\n  consul_host:\n    type: string\n    description: consul address\n    default: consul\n  cbs_address:\n    type: string\n    description: CBS address\n    default: config-binding-service\n  container_port:\n    type: string\n    description: exposed container port\n    default: \"1680\"\n  host_port:\n    type: string\n    description: external port\n    default: \"30408\"\n  service_component_type:\n    type: string\n    default: \"dcae-dl-feeder\"\n  service_id:\n    type: string\n    default: \"dcae-dl-feeder\"\n  service_component_name_override:\n    type: string\n    default: \"dcae-dl-feeder\"\n  pgaas_cluster_name:\n    type: string\n    description: pg cluster\n    default: \"dcae-pg-primary.onap\"\n\nnode_templates:\n  feederpgaas:\n    type: dcae.nodes.pgaas.database\n    properties:\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: { get_input: pg_dbName}\n      use_existing: false\n\n  datalake:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            ports:\n              - '\''1680:0'\''\n              - concat: [{get_input: container_port},\":\",{get_input: host_port}]\n            envs:\n              PG_HOST:\n               { get_attribute: [ feederpgaas, admin, host ] }\n              PG_PORT:\n                { get_attribute: [ feederpgaas, admin, port ] }\n              PG_USER:\n                { get_attribute: [ feederpgaas, admin, user ] }\n              PG_PASSWORD:\n                { get_attribute: [ feederpgaas, admin, password ] }\n              PG_DB:\n                get_input: pg_dbName\n    properties:\n      application_config:\n        PG_HOST:\n          { get_attribute: [ feederpgaas, admin, host ] }\n        PG_PORT:\n          { get_attribute: [ feederpgaas, admin, port ] }\n        PG_USER:\n          { get_attribute: [ feederpgaas, admin, user ] }\n        PG_PASSWORD:\n          { get_attribute: [ feederpgaas, admin, password ] }\n        PG_DB:\n          get_input: pg_dbName\n        HOSTNAME:\n          get_input: dl_hostname\n        CONSUL_HOST:\n          get_input: consul_host\n        CONFIG_BINDING_SERVICE:\n          get_input: cbs_address\n      image:\n          get_input: image_name\n      docker_config:\n        healthcheck:\n          interval: 90s\n          timeout: 10s\n          type: http\n          endpoint: /datalake/v1/topics\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n    relationships:\n    - type: cloudify.relationships.depends_on\n      target: feederpgaas\n'
+ echo '
   {
    "vnfTypes": [],
    "owner": "dcaeorch",
    "typeVersion": 2112091153,
    "typeName": "k8s-datalake-feeder",
    "component": "dcae",
    "application": "DCAE",
    "blueprintTemplate": "# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2020 QCT. All rights reserved.\n# Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.\n# Copyright (C) 2021 Wipro Limited. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\n#author: Kate Hsuan (kate.hsuan@qct.io)\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:pgaas?version=1.3.0\ninputs:\n  pg_dbName:\n    type: string\n    description: DB name\n    default: \"datalake\"\n  image_name:\n    description: datalake feeder image URL.\n    type: string\n    default: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.datalakefeeder:1.1.1\n  dl_hostname:\n    type: string\n    description: dl default dl_hostname\n    default: k8s-datalake\n  consul_host:\n    type: string\n    description: consul address\n    default: consul\n  cbs_address:\n    type: string\n    description: CBS address\n    default: config-binding-service\n  container_port:\n    type: string\n    description: exposed container port\n    default: \"1680\"\n  host_port:\n    type: string\n    description: external port\n    default: \"30408\"\n  service_component_type:\n    type: string\n    default: \"dcae-dl-feeder\"\n  service_id:\n    type: string\n    default: \"dcae-dl-feeder\"\n  service_component_name_override:\n    type: string\n    default: \"dcae-dl-feeder\"\n  pgaas_cluster_name:\n    type: string\n    description: pg cluster\n    default: \"dcae-pg-primary.onap\"\n\nnode_templates:\n  feederpgaas:\n    type: dcae.nodes.pgaas.database\n    properties:\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: { get_input: pg_dbName}\n      use_existing: false\n\n  datalake:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            ports:\n              - '\''1680:0'\''\n              - concat: [{get_input: container_port},\":\",{get_input: host_port}]\n            envs:\n              PG_HOST:\n               { get_attribute: [ feederpgaas, admin, host ] }\n              PG_PORT:\n                { get_attribute: [ feederpgaas, admin, port ] }\n              PG_USER:\n                { get_attribute: [ feederpgaas, admin, user ] }\n              PG_PASSWORD:\n                { get_attribute: [ feederpgaas, admin, password ] }\n              PG_DB:\n                get_input: pg_dbName\n    properties:\n      application_config:\n        PG_HOST:\n          { get_attribute: [ feederpgaas, admin, host ] }\n        PG_PORT:\n          { get_attribute: [ feederpgaas, admin, port ] }\n        PG_USER:\n          { get_attribute: [ feederpgaas, admin, user ] }\n        PG_PASSWORD:\n          { get_attribute: [ feederpgaas, admin, password ] }\n        PG_DB:\n          get_input: pg_dbName\n        HOSTNAME:\n          get_input: dl_hostname\n        CONSUL_HOST:\n          get_input: consul_host\n        CONFIG_BINDING_SERVICE:\n          get_input: cbs_address\n      image:\n          get_input: image_name\n      docker_config:\n        healthcheck:\n          interval: 90s\n          timeout: 10s\n          type: http\n          endpoint: /datalake/v1/topics\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n    relationships:\n    - type: cloudify.relationships.depends_on\n      target: feederpgaas\n"
   }'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  9463  100  4867  100  4596   105k    99k --:--:-- --:--:-- --:--:--  205k
+ for BP in /blueprints/*.yaml
+ upload_service_type /blueprints/k8s-heartbeat.yaml /certs/cacert.pem
+ '[' /certs/cacert.pem ']'
+ TLSCURL='--cacert /certs/cacert.pem'
+ create_service_type /blueprints/k8s-heartbeat.yaml
+ curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types
++ date +%y%m%d%I%M
++ basename /blueprints/k8s-heartbeat.yaml .yaml
++ flatten /blueprints/k8s-heartbeat.yaml
+++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g'
+++ tr -d '\n'
++ FLAT='# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2019-2021 AT&T\n# Copyright (C) 2020 Wipro Limited\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:pgaas?version=1.3.0\n\n\ninputs:\n  tag_version:\n    type: string\n    default: '\''nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.heartbeat:2.3.1'\''\n  heartbeat_name:\n    type: string\n    default: '\''dcae-heartbeat-service'\''\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  host_port:\n    type: integer\n    description: Network port that the platform service is expecting to expose on the host\n    default: 30223\n  container_port:\n    type: integer\n    description: Network port that the platform service exposes in the container\n    default: 10002\n  consul_host:\n    type: string\n    description: Consul endpoint address\n    default: '\''consul-server.onap'\''\n  consul_port:\n    type: integer\n    description: Consul endpoint port\n    default: 8500\n  CBS_polling_allowed:\n    type: string\n    default: '\''True'\''\n  CBS_polling_interval:\n    type: string\n    default: '\''300'\''\n  consumerID:\n    type: string\n    default: '\''1'\''\n  groupID:\n    type: string\n    default: '\''hbgrpID'\''\n  namespace:\n    type: string\n    default: '\''onap'\''\n  pgaas_cluster_name:\n    type: string\n    description: pg cluster\n    default: \"dcae-pg-primary.onap\"\n  pg_dbName:\n    type: string\n    default: '\''heartbeat'\''\n  ves_heartbeat_publish_url:\n    type: string\n    default: '\''http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_HEARTBEAT_OUTPUT'\''\n  dcae_CL_publish_url:\n    type: string\n    default: '\''http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_CL_OUTPUT'\''\nnode_templates:\n  hbpgaas:\n    type: dcae.nodes.pgaas.database\n    properties:\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: { get_input: pg_dbName}\n      use_existing: false\n\n  heartbeat:\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n              CBS_polling_allowed:\n                get_input: CBS_polling_allowed\n              CBS_polling_interval: \"300\"\n              consumerID: \"1\"\n              groupID:\n                get_input: groupID\n              pg_ipAddress:\n                { get_attribute: [ hbpgaas, admin, host ] }\n              pg_passwd:\n                { get_attribute: [ hbpgaas, admin, password ] }\n              pg_portNum:\n                { get_attribute: [ hbpgaas, admin, port ] }\n              pg_userName:\n                { get_attribute: [ hbpgaas, admin, user ] }\n              pg_dbName:\n                get_input: pg_dbName\n            ports:\n              - \"10002:0\"\n\n    properties:\n      application_config:\n        CBS_polling_allowed:\n          get_input: CBS_polling_allowed\n        CBS_polling_interval:\n          get_input: CBS_polling_interval\n        consumerID:\n          get_input: consumerID\n        groupID:\n          get_input: groupID\n        pg_ipAddress:\n          { get_attribute: [ hbpgaas, admin, host ] }\n        pg_passwd:\n           { get_attribute: [ hbpgaas, admin, password ] }\n        pg_portNum:\n           { get_attribute: [ hbpgaas, admin, port ] }\n        pg_userName:\n           { get_attribute: [ hbpgaas, admin, user ] }\n        pg_dbName:\n          get_input: pg_dbName\n        heartbeat_config: '\''{\"vnfs\": [{\"eventName\": \"Heartbeat_vDNS\",\"heartbeatcountmissed\": 3,\"heartbeatinterval\": 60,\"closedLoopControlName\": \"ControlLoopEvent1\",     \"policyVersion\": \"1.0.0.5\",     \"policyName\":\"vFireWall\",\"policyScope\": \"resource=sampleResource,type=sampletype,CLName=sampleCLName\",\"target_type\": \"VNF\",        \"target\": \"genVnfName\", \"version\": \"1.0\"}, {\"eventName\": \"Heartbeat_vFW\",\"heartbeatcountmissed\": 3,     \"heartbeatinterval\": 60,\"closedLoopControlName\": \"ControlLoopEvent1\",\"policyVersion\": \"1.0.0.5\",\"policyName\": \"vFireWall\",\"policyScope\": \"resource=sampleResource,type=sampletype,CLName=sampleCLName\",    \"target_type\":\"VNF\",    \"target\": \"genVnfName\",    \"version\": \"1.0\"}, {\"eventName\": \"Heartbeat_xx\",\"heartbeatcountmissed\": 3,      \"heartbeatinterval\": 60,\"closedLoopControlName\": \"ControlLoopEvent1\",\"policyVersion\": \"1.0.0.5\",\"policyName\": \"vFireWall\",      \"policyScope\": \"resource=sampleResource,type=sampletype,CLName=sampleCLName\",\"target_type\": \"VNF\",\"target\": \"genVnfName\",\"version\": \"1.0\"}]}'\''\n        streams_publishes:\n          dcae_cl_out:\n            dmaap_info:\n             topic_url:\n                  get_input: dcae_CL_publish_url\n            type: message_router\n        streams_subscribes:\n            ves-heartbeat:\n              dmaap_info:\n                topic_url:\n                  get_input: ves_heartbeat_publish_url\n              type: message_router\n      docker_config:\n        healthcheck:\n          type: http\n          endpoint: /\n          interval: 15s\n          timeout: 1s\n      service_component_type:\n          get_input: heartbeat_name\n      image: { get_input: tag_version }\n      replicas: { get_input: replicas }\n      log_info:\n          log_directory: '\''/var/log/ONAP/dcae-heartbeat-services'\''\n    type: dcae.nodes.ContainerizedServiceComponent\n    relationships:\n    - type: cloudify.relationships.depends_on\n      target: hbpgaas\n\n'
++ echo '# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2019-2021 AT&T\n# Copyright (C) 2020 Wipro Limited\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:pgaas?version=1.3.0\n\n\ninputs:\n  tag_version:\n    type: string\n    default: '\''nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.heartbeat:2.3.1'\''\n  heartbeat_name:\n    type: string\n    default: '\''dcae-heartbeat-service'\''\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  host_port:\n    type: integer\n    description: Network port that the platform service is expecting to expose on the host\n    default: 30223\n  container_port:\n    type: integer\n    description: Network port that the platform service exposes in the container\n    default: 10002\n  consul_host:\n    type: string\n    description: Consul endpoint address\n    default: '\''consul-server.onap'\''\n  consul_port:\n    type: integer\n    description: Consul endpoint port\n    default: 8500\n  CBS_polling_allowed:\n    type: string\n    default: '\''True'\''\n  CBS_polling_interval:\n    type: string\n    default: '\''300'\''\n  consumerID:\n    type: string\n    default: '\''1'\''\n  groupID:\n    type: string\n    default: '\''hbgrpID'\''\n  namespace:\n    type: string\n    default: '\''onap'\''\n  pgaas_cluster_name:\n    type: string\n    description: pg cluster\n    default: \"dcae-pg-primary.onap\"\n  pg_dbName:\n    type: string\n    default: '\''heartbeat'\''\n  ves_heartbeat_publish_url:\n    type: string\n    default: '\''http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_HEARTBEAT_OUTPUT'\''\n  dcae_CL_publish_url:\n    type: string\n    default: '\''http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_CL_OUTPUT'\''\nnode_templates:\n  hbpgaas:\n    type: dcae.nodes.pgaas.database\n    properties:\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: { get_input: pg_dbName}\n      use_existing: false\n\n  heartbeat:\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n              CBS_polling_allowed:\n                get_input: CBS_polling_allowed\n              CBS_polling_interval: \"300\"\n              consumerID: \"1\"\n              groupID:\n                get_input: groupID\n              pg_ipAddress:\n                { get_attribute: [ hbpgaas, admin, host ] }\n              pg_passwd:\n                { get_attribute: [ hbpgaas, admin, password ] }\n              pg_portNum:\n                { get_attribute: [ hbpgaas, admin, port ] }\n              pg_userName:\n                { get_attribute: [ hbpgaas, admin, user ] }\n              pg_dbName:\n                get_input: pg_dbName\n            ports:\n              - \"10002:0\"\n\n    properties:\n      application_config:\n        CBS_polling_allowed:\n          get_input: CBS_polling_allowed\n        CBS_polling_interval:\n          get_input: CBS_polling_interval\n        consumerID:\n          get_input: consumerID\n        groupID:\n          get_input: groupID\n        pg_ipAddress:\n          { get_attribute: [ hbpgaas, admin, host ] }\n        pg_passwd:\n           { get_attribute: [ hbpgaas, admin, password ] }\n        pg_portNum:\n           { get_attribute: [ hbpgaas, admin, port ] }\n        pg_userName:\n           { get_attribute: [ hbpgaas, admin, user ] }\n        pg_dbName:\n          get_input: pg_dbName\n        heartbeat_config: '\''{\"vnfs\": [{\"eventName\": \"Heartbeat_vDNS\",\"heartbeatcountmissed\": 3,\"heartbeatinterval\": 60,\"closedLoopControlName\": \"ControlLoopEvent1\",     \"policyVersion\": \"1.0.0.5\",     \"policyName\":\"vFireWall\",\"policyScope\": \"resource=sampleResource,type=sampletype,CLName=sampleCLName\",\"target_type\": \"VNF\",        \"target\": \"genVnfName\", \"version\": \"1.0\"}, {\"eventName\": \"Heartbeat_vFW\",\"heartbeatcountmissed\": 3,     \"heartbeatinterval\": 60,\"closedLoopControlName\": \"ControlLoopEvent1\",\"policyVersion\": \"1.0.0.5\",\"policyName\": \"vFireWall\",\"policyScope\": \"resource=sampleResource,type=sampletype,CLName=sampleCLName\",    \"target_type\":\"VNF\",    \"target\": \"genVnfName\",    \"version\": \"1.0\"}, {\"eventName\": \"Heartbeat_xx\",\"heartbeatcountmissed\": 3,      \"heartbeatinterval\": 60,\"closedLoopControlName\": \"ControlLoopEvent1\",\"policyVersion\": \"1.0.0.5\",\"policyName\": \"vFireWall\",      \"policyScope\": \"resource=sampleResource,type=sampletype,CLName=sampleCLName\",\"target_type\": \"VNF\",\"target\": \"genVnfName\",\"version\": \"1.0\"}]}'\''\n        streams_publishes:\n          dcae_cl_out:\n            dmaap_info:\n             topic_url:\n                  get_input: dcae_CL_publish_url\n            type: message_router\n        streams_subscribes:\n            ves-heartbeat:\n              dmaap_info:\n                topic_url:\n                  get_input: ves_heartbeat_publish_url\n              type: message_router\n      docker_config:\n        healthcheck:\n          type: http\n          endpoint: /\n          interval: 15s\n          timeout: 1s\n      service_component_type:\n          get_input: heartbeat_name\n      image: { get_input: tag_version }\n      replicas: { get_input: replicas }\n      log_info:\n          log_directory: '\''/var/log/ONAP/dcae-heartbeat-services'\''\n    type: dcae.nodes.ContainerizedServiceComponent\n    relationships:\n    - type: cloudify.relationships.depends_on\n      target: hbpgaas\n\n'
+ echo '
   {
    "vnfTypes": [],
    "owner": "dcaeorch",
    "typeVersion": 2112091153,
    "typeName": "k8s-heartbeat",
    "component": "dcae",
    "application": "DCAE",
    "blueprintTemplate": "# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2019-2021 AT&T\n# Copyright (C) 2020 Wipro Limited\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:pgaas?version=1.3.0\n\n\ninputs:\n  tag_version:\n    type: string\n    default: '\''nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.heartbeat:2.3.1'\''\n  heartbeat_name:\n    type: string\n    default: '\''dcae-heartbeat-service'\''\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  host_port:\n    type: integer\n    description: Network port that the platform service is expecting to expose on the host\n    default: 30223\n  container_port:\n    type: integer\n    description: Network port that the platform service exposes in the container\n    default: 10002\n  consul_host:\n    type: string\n    description: Consul endpoint address\n    default: '\''consul-server.onap'\''\n  consul_port:\n    type: integer\n    description: Consul endpoint port\n    default: 8500\n  CBS_polling_allowed:\n    type: string\n    default: '\''True'\''\n  CBS_polling_interval:\n    type: string\n    default: '\''300'\''\n  consumerID:\n    type: string\n    default: '\''1'\''\n  groupID:\n    type: string\n    default: '\''hbgrpID'\''\n  namespace:\n    type: string\n    default: '\''onap'\''\n  pgaas_cluster_name:\n    type: string\n    description: pg cluster\n    default: \"dcae-pg-primary.onap\"\n  pg_dbName:\n    type: string\n    default: '\''heartbeat'\''\n  ves_heartbeat_publish_url:\n    type: string\n    default: '\''http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_HEARTBEAT_OUTPUT'\''\n  dcae_CL_publish_url:\n    type: string\n    default: '\''http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_CL_OUTPUT'\''\nnode_templates:\n  hbpgaas:\n    type: dcae.nodes.pgaas.database\n    properties:\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: { get_input: pg_dbName}\n      use_existing: false\n\n  heartbeat:\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n              CBS_polling_allowed:\n                get_input: CBS_polling_allowed\n              CBS_polling_interval: \"300\"\n              consumerID: \"1\"\n              groupID:\n                get_input: groupID\n              pg_ipAddress:\n                { get_attribute: [ hbpgaas, admin, host ] }\n              pg_passwd:\n                { get_attribute: [ hbpgaas, admin, password ] }\n              pg_portNum:\n                { get_attribute: [ hbpgaas, admin, port ] }\n              pg_userName:\n                { get_attribute: [ hbpgaas, admin, user ] }\n              pg_dbName:\n                get_input: pg_dbName\n            ports:\n              - \"10002:0\"\n\n    properties:\n      application_config:\n        CBS_polling_allowed:\n          get_input: CBS_polling_allowed\n        CBS_polling_interval:\n          get_input: CBS_polling_interval\n        consumerID:\n          get_input: consumerID\n        groupID:\n          get_input: groupID\n        pg_ipAddress:\n          { get_attribute: [ hbpgaas, admin, host ] }\n        pg_passwd:\n           { get_attribute: [ hbpgaas, admin, password ] }\n        pg_portNum:\n           { get_attribute: [ hbpgaas, admin, port ] }\n        pg_userName:\n           { get_attribute: [ hbpgaas, admin, user ] }\n        pg_dbName:\n          get_input: pg_dbName\n        heartbeat_config: '\''{\"vnfs\": [{\"eventName\": \"Heartbeat_vDNS\",\"heartbeatcountmissed\": 3,\"heartbeatinterval\": 60,\"closedLoopControlName\": \"ControlLoopEvent1\",     \"policyVersion\": \"1.0.0.5\",     \"policyName\":\"vFireWall\",\"policyScope\": \"resource=sampleResource,type=sampletype,CLName=sampleCLName\",\"target_type\": \"VNF\",        \"target\": \"genVnfName\", \"version\": \"1.0\"}, {\"eventName\": \"Heartbeat_vFW\",\"heartbeatcountmissed\": 3,     \"heartbeatinterval\": 60,\"closedLoopControlName\": \"ControlLoopEvent1\",\"policyVersion\": \"1.0.0.5\",\"policyName\": \"vFireWall\",\"policyScope\": \"resource=sampleResource,type=sampletype,CLName=sampleCLName\",    \"target_type\":\"VNF\",    \"target\": \"genVnfName\",    \"version\": \"1.0\"}, {\"eventName\": \"Heartbeat_xx\",\"heartbeatcountmissed\": 3,      \"heartbeatinterval\": 60,\"closedLoopControlName\": \"ControlLoopEvent1\",\"policyVersion\": \"1.0.0.5\",\"policyName\": \"vFireWall\",      \"policyScope\": \"resource=sampleResource,type=sampletype,CLName=sampleCLName\",\"target_type\": \"VNF\",\"target\": \"genVnfName\",\"version\": \"1.0\"}]}'\''\n        streams_publishes:\n          dcae_cl_out:\n            dmaap_info:\n             topic_url:\n                  get_input: dcae_CL_publish_url\n            type: message_router\n        streams_subscribes:\n            ves-heartbeat:\n              dmaap_info:\n                topic_url:\n                  get_input: ves_heartbeat_publish_url\n              type: message_router\n      docker_config:\n        healthcheck:\n          type: http\n          endpoint: /\n          interval: 15s\n          timeout: 1s\n      service_component_type:\n          get_input: heartbeat_name\n      image: { get_input: tag_version }\n      replicas: { get_input: replicas }\n      log_info:\n          log_directory: '\''/var/log/ONAP/dcae-heartbeat-services'\''\n    type: dcae.nodes.ContainerizedServiceComponent\n    relationships:\n    - type: cloudify.relationships.depends_on\n      target: hbpgaas\n\n"
   }'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 13495  100  6883  100  6612   143k   138k --:--:-- --:--:-- --:--:--  286k
+ for BP in /blueprints/*.yaml
+ upload_service_type /blueprints/k8s-helm.yaml /certs/cacert.pem
+ '[' /certs/cacert.pem ']'
+ TLSCURL='--cacert /certs/cacert.pem'
+ create_service_type /blueprints/k8s-helm.yaml
+ curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types
++ date +%y%m%d%I%M
++ basename /blueprints/k8s-helm.yaml .yaml
++ flatten /blueprints/k8s-helm.yaml
+++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g'
+++ tr -d '\n'
++ FLAT='# ============LICENSE_START==========================================\n# ===================================================================\n# Copyright (c) 2019-2020 AT&T\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#         http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#============LICENSE_END============================================\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:helm?version=4.2.0\n\ninputs:\n  tiller-server-ip:\n    description: IP address of Kubernetes master node\n  tiller-server-port:\n    description: Nodeport of tiller server\n  namespace:\n    description: Target namespace to be installed under (requires to be new)\n  chart-repo-url:\n     default: '\''https://nexus.onap.org/content/sites/oom-helm-staging'\''\n  chart-version :\n    description: Chart version for identified component-name\n  stable-repo-url:\n    description: URL for stable repository\n    type: string\n    default: '\''https://kubernetes-charts.storage.googleapis.com'\''\n  config-url:\n    default: '\'''\''\n  config-format:\n    default: '\''yaml'\''\n  component-name:\n    description: onap component name\nnode_templates:\n  dcaecomponent:\n    type: onap.nodes.component\n    properties:\n      tiller_ip: { get_input: tiller-server-ip }\n      tiller_port: { get_input: tiller-server-port }\n      component_name: { get_input: component-name }\n      chart_repo_url: { get_input: chart-repo-url }\n      chart_version: { get_input: chart-version }\n      namespace: { get_input: namespace }\n      stable_repo_url: { get_input: stable-repo-url}\n      config_url:  { get_input: config-url}\n      config_format: { get_input: config-format}\noutputs:\n  dcaecomponent_install_status:\n    value: { get_attribute: [ dcaecomponent, install-status ] }\n\n'
++ echo '# ============LICENSE_START==========================================\n# ===================================================================\n# Copyright (c) 2019-2020 AT&T\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#         http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#============LICENSE_END============================================\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:helm?version=4.2.0\n\ninputs:\n  tiller-server-ip:\n    description: IP address of Kubernetes master node\n  tiller-server-port:\n    description: Nodeport of tiller server\n  namespace:\n    description: Target namespace to be installed under (requires to be new)\n  chart-repo-url:\n     default: '\''https://nexus.onap.org/content/sites/oom-helm-staging'\''\n  chart-version :\n    description: Chart version for identified component-name\n  stable-repo-url:\n    description: URL for stable repository\n    type: string\n    default: '\''https://kubernetes-charts.storage.googleapis.com'\''\n  config-url:\n    default: '\'''\''\n  config-format:\n    default: '\''yaml'\''\n  component-name:\n    description: onap component name\nnode_templates:\n  dcaecomponent:\n    type: onap.nodes.component\n    properties:\n      tiller_ip: { get_input: tiller-server-ip }\n      tiller_port: { get_input: tiller-server-port }\n      component_name: { get_input: component-name }\n      chart_repo_url: { get_input: chart-repo-url }\n      chart_version: { get_input: chart-version }\n      namespace: { get_input: namespace }\n      stable_repo_url: { get_input: stable-repo-url}\n      config_url:  { get_input: config-url}\n      config_format: { get_input: config-format}\noutputs:\n  dcaecomponent_install_status:\n    value: { get_attribute: [ dcaecomponent, install-status ] }\n\n'
+ echo '
   {
    "vnfTypes": [],
    "owner": "dcaeorch",
    "typeVersion": 2112091153,
    "typeName": "k8s-helm",
    "component": "dcae",
    "application": "DCAE",
    "blueprintTemplate": "# ============LICENSE_START==========================================\n# ===================================================================\n# Copyright (c) 2019-2020 AT&T\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#         http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#============LICENSE_END============================================\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:helm?version=4.2.0\n\ninputs:\n  tiller-server-ip:\n    description: IP address of Kubernetes master node\n  tiller-server-port:\n    description: Nodeport of tiller server\n  namespace:\n    description: Target namespace to be installed under (requires to be new)\n  chart-repo-url:\n     default: '\''https://nexus.onap.org/content/sites/oom-helm-staging'\''\n  chart-version :\n    description: Chart version for identified component-name\n  stable-repo-url:\n    description: URL for stable repository\n    type: string\n    default: '\''https://kubernetes-charts.storage.googleapis.com'\''\n  config-url:\n    default: '\'''\''\n  config-format:\n    default: '\''yaml'\''\n  component-name:\n    description: onap component name\nnode_templates:\n  dcaecomponent:\n    type: onap.nodes.component\n    properties:\n      tiller_ip: { get_input: tiller-server-ip }\n      tiller_port: { get_input: tiller-server-port }\n      component_name: { get_input: component-name }\n      chart_repo_url: { get_input: chart-repo-url }\n      chart_version: { get_input: chart-version }\n      namespace: { get_input: namespace }\n      stable_repo_url: { get_input: stable-repo-url}\n      config_url:  { get_input: config-url}\n      config_format: { get_input: config-format}\noutputs:\n  dcaecomponent_install_status:\n    value: { get_attribute: [ dcaecomponent, install-status ] }\n\n"
   }'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  5243  100  2757  100  2486  46389  41830 --:--:-- --:--:-- --:--:-- 88864
+ for BP in /blueprints/*.yaml
+ upload_service_type /blueprints/k8s-holmes-engine.yaml /certs/cacert.pem
+ '[' /certs/cacert.pem ']'
+ TLSCURL='--cacert /certs/cacert.pem'
+ create_service_type /blueprints/k8s-holmes-engine.yaml
+ curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types
++ date +%y%m%d%I%M
++ basename /blueprints/k8s-holmes-engine.yaml .yaml
++ flatten /blueprints/k8s-holmes-engine.yaml
+++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g'
+++ tr -d '\n'
++ FLAT='# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2017-2021 AT&T Intellectual Property. All rights reserved.\n# Copyright (c) 2020 Nokia Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END=====================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n- https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n- plugin:k8splugin?version=>=3.4.3,<4.0.0\n- plugin:dcaepolicyplugin?version=2.4.0\n- plugin:pgaas?version=1.3.0\ninputs:\n  dcae_CL_publish_url:\n    type: string\n    default: \"http://message-router.onap:3904/events/unauthenticated.DCAE_CL_OUTPUT\"\n  ves_fault_publish_url:\n    type: string\n    default: \"http://message-router.onap:3904/events/unauthenticated.SEC_FAULT_OUTPUT\"\n  msb_hostname:\n    type: string\n    default: \"msb-iag.onap\"\n  pgaas_cluster_name:\n    type: string\n    default: \"dcae-pg-primary.onap\"\n    # use the single-VM PG instance\n    #default: pgvm\n  database_name:\n    type: string\n    default: \"holmes\"\n  he_image:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/holmes/engine-management:1.3.2\"\n  service_component_type:\n    type: string\n    default: \"holmes-engine-mgmt\"\n  service_id:\n    type: string\n    default: \"holmes-engine-mgmt\"\n  service_component_name_override:\n    type: string\n    default: \"holmes-engine-mgmt\"\n  dcae-analytics-holmes-engine-mgt_cpu_limit:\n    type: string\n    default: \"500m\"\n  dcae-analytics-holmes-engine-mgt_cpu_request:\n    type: string\n    default: \"500m\"\n  dcae-analytics-holmes-engine-mgt_memory_limit:\n    type: string\n    default: \"1024Mi\"\n  dcae-analytics-holmes-engine-mgt_memory_request:\n    type: string\n    default: \"256Mi\"\nnode_templates:\n  pgaasvm:\n    type: dcae.nodes.pgaas.database\n    properties:\n      #writerfqdn: { concat: [ { get_input: pgaas_cluster_name }, '\''-write.'\'' ] }\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: { get_input: database_name }\n      use_existing: true\n\n  holmesengine:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n           envs:\n            URL_JDBC:\n                { get_attribute: [ pgaasvm, admin, host ] }\n            JDBC_PASSWORD:\n                { get_attribute: [ pgaasvm, admin, password ] }\n            JDBC_USERNAME:\n                { get_attribute: [ pgaasvm, admin, user ] }\n            MSB_ADDR:\n                get_input: msb_hostname\n           ports:\n             - '\''9102:0'\''\n    properties:\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n      application_config:\n        msb.hostname:\n         get_input: msb_hostname\n        msb.uri: /api/microservices/v1/services\n        services_calls: {}\n        streams_publishes:\n          dcae_cl_out:\n            dmaap_info:\n             topic_url:\n                  get_input: dcae_CL_publish_url\n            type: message_router\n        streams_subscribes:\n          ves_fault:\n            dmaap_info:\n             topic_url:\n                  get_input: ves_fault_publish_url\n            type: message_router\n      image: { get_input: he_image }\n      # need to use truncated name!!\n      #service_component_type: dcae-analytics-holmes-engin-management\n      resource_config:\n        limits:\n          cpu:\n            get_input: dcae-analytics-holmes-engine-mgt_cpu_limit\n          memory:\n            get_input: dcae-analytics-holmes-engine-mgt_memory_limit\n        requests:\n          cpu:\n            get_input: dcae-analytics-holmes-engine-mgt_cpu_request\n          memory:\n            get_input: dcae-analytics-holmes-engine-mgt_memory_request\n    relationships:\n    - type: cloudify.relationships.depends_on\n      target: pgaasvm\n\n'
++ echo '# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2017-2021 AT&T Intellectual Property. All rights reserved.\n# Copyright (c) 2020 Nokia Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END=====================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n- https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n- plugin:k8splugin?version=>=3.4.3,<4.0.0\n- plugin:dcaepolicyplugin?version=2.4.0\n- plugin:pgaas?version=1.3.0\ninputs:\n  dcae_CL_publish_url:\n    type: string\n    default: \"http://message-router.onap:3904/events/unauthenticated.DCAE_CL_OUTPUT\"\n  ves_fault_publish_url:\n    type: string\n    default: \"http://message-router.onap:3904/events/unauthenticated.SEC_FAULT_OUTPUT\"\n  msb_hostname:\n    type: string\n    default: \"msb-iag.onap\"\n  pgaas_cluster_name:\n    type: string\n    default: \"dcae-pg-primary.onap\"\n    # use the single-VM PG instance\n    #default: pgvm\n  database_name:\n    type: string\n    default: \"holmes\"\n  he_image:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/holmes/engine-management:1.3.2\"\n  service_component_type:\n    type: string\n    default: \"holmes-engine-mgmt\"\n  service_id:\n    type: string\n    default: \"holmes-engine-mgmt\"\n  service_component_name_override:\n    type: string\n    default: \"holmes-engine-mgmt\"\n  dcae-analytics-holmes-engine-mgt_cpu_limit:\n    type: string\n    default: \"500m\"\n  dcae-analytics-holmes-engine-mgt_cpu_request:\n    type: string\n    default: \"500m\"\n  dcae-analytics-holmes-engine-mgt_memory_limit:\n    type: string\n    default: \"1024Mi\"\n  dcae-analytics-holmes-engine-mgt_memory_request:\n    type: string\n    default: \"256Mi\"\nnode_templates:\n  pgaasvm:\n    type: dcae.nodes.pgaas.database\n    properties:\n      #writerfqdn: { concat: [ { get_input: pgaas_cluster_name }, '\''-write.'\'' ] }\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: { get_input: database_name }\n      use_existing: true\n\n  holmesengine:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n           envs:\n            URL_JDBC:\n                { get_attribute: [ pgaasvm, admin, host ] }\n            JDBC_PASSWORD:\n                { get_attribute: [ pgaasvm, admin, password ] }\n            JDBC_USERNAME:\n                { get_attribute: [ pgaasvm, admin, user ] }\n            MSB_ADDR:\n                get_input: msb_hostname\n           ports:\n             - '\''9102:0'\''\n    properties:\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n      application_config:\n        msb.hostname:\n         get_input: msb_hostname\n        msb.uri: /api/microservices/v1/services\n        services_calls: {}\n        streams_publishes:\n          dcae_cl_out:\n            dmaap_info:\n             topic_url:\n                  get_input: dcae_CL_publish_url\n            type: message_router\n        streams_subscribes:\n          ves_fault:\n            dmaap_info:\n             topic_url:\n                  get_input: ves_fault_publish_url\n            type: message_router\n      image: { get_input: he_image }\n      # need to use truncated name!!\n      #service_component_type: dcae-analytics-holmes-engin-management\n      resource_config:\n        limits:\n          cpu:\n            get_input: dcae-analytics-holmes-engine-mgt_cpu_limit\n          memory:\n            get_input: dcae-analytics-holmes-engine-mgt_memory_limit\n        requests:\n          cpu:\n            get_input: dcae-analytics-holmes-engine-mgt_cpu_request\n          memory:\n            get_input: dcae-analytics-holmes-engine-mgt_memory_request\n    relationships:\n    - type: cloudify.relationships.depends_on\n      target: pgaasvm\n\n'
+ echo '
   {
    "vnfTypes": [],
    "owner": "dcaeorch",
    "typeVersion": 2112091153,
    "typeName": "k8s-holmes-engine",
    "component": "dcae",
    "application": "DCAE",
    "blueprintTemplate": "# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2017-2021 AT&T Intellectual Property. All rights reserved.\n# Copyright (c) 2020 Nokia Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END=====================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n- https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n- plugin:k8splugin?version=>=3.4.3,<4.0.0\n- plugin:dcaepolicyplugin?version=2.4.0\n- plugin:pgaas?version=1.3.0\ninputs:\n  dcae_CL_publish_url:\n    type: string\n    default: \"http://message-router.onap:3904/events/unauthenticated.DCAE_CL_OUTPUT\"\n  ves_fault_publish_url:\n    type: string\n    default: \"http://message-router.onap:3904/events/unauthenticated.SEC_FAULT_OUTPUT\"\n  msb_hostname:\n    type: string\n    default: \"msb-iag.onap\"\n  pgaas_cluster_name:\n    type: string\n    default: \"dcae-pg-primary.onap\"\n    # use the single-VM PG instance\n    #default: pgvm\n  database_name:\n    type: string\n    default: \"holmes\"\n  he_image:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/holmes/engine-management:1.3.2\"\n  service_component_type:\n    type: string\n    default: \"holmes-engine-mgmt\"\n  service_id:\n    type: string\n    default: \"holmes-engine-mgmt\"\n  service_component_name_override:\n    type: string\n    default: \"holmes-engine-mgmt\"\n  dcae-analytics-holmes-engine-mgt_cpu_limit:\n    type: string\n    default: \"500m\"\n  dcae-analytics-holmes-engine-mgt_cpu_request:\n    type: string\n    default: \"500m\"\n  dcae-analytics-holmes-engine-mgt_memory_limit:\n    type: string\n    default: \"1024Mi\"\n  dcae-analytics-holmes-engine-mgt_memory_request:\n    type: string\n    default: \"256Mi\"\nnode_templates:\n  pgaasvm:\n    type: dcae.nodes.pgaas.database\n    properties:\n      #writerfqdn: { concat: [ { get_input: pgaas_cluster_name }, '\''-write.'\'' ] }\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: { get_input: database_name }\n      use_existing: true\n\n  holmesengine:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n           envs:\n            URL_JDBC:\n                { get_attribute: [ pgaasvm, admin, host ] }\n            JDBC_PASSWORD:\n                { get_attribute: [ pgaasvm, admin, password ] }\n            JDBC_USERNAME:\n                { get_attribute: [ pgaasvm, admin, user ] }\n            MSB_ADDR:\n                get_input: msb_hostname\n           ports:\n             - '\''9102:0'\''\n    properties:\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n      application_config:\n        msb.hostname:\n         get_input: msb_hostname\n        msb.uri: /api/microservices/v1/services\n        services_calls: {}\n        streams_publishes:\n          dcae_cl_out:\n            dmaap_info:\n             topic_url:\n                  get_input: dcae_CL_publish_url\n            type: message_router\n        streams_subscribes:\n          ves_fault:\n            dmaap_info:\n             topic_url:\n                  get_input: ves_fault_publish_url\n            type: message_router\n      image: { get_input: he_image }\n      # need to use truncated name!!\n      #service_component_type: dcae-analytics-holmes-engin-management\n      resource_config:\n        limits:\n          cpu:\n            get_input: dcae-analytics-holmes-engine-mgt_cpu_limit\n          memory:\n            get_input: dcae-analytics-holmes-engine-mgt_memory_limit\n        requests:\n          cpu:\n            get_input: dcae-analytics-holmes-engine-mgt_cpu_request\n          memory:\n            get_input: dcae-analytics-holmes-engine-mgt_memory_request\n    relationships:\n    - type: cloudify.relationships.depends_on\n      target: pgaasvm\n\n"
   }'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 10279  100  5275  100  5004  72629  68898 --:--:-- --:--:-- --:--:--  139k
    image:\n          get_input: image_name\n      docker_config:\n        healthcheck:\n          interval: 90s\n          timeout: 10s\n          type: http\n          endpoint: /datalake/v1/exposure\n      service_component_type: 'dcae-des'\n      service_id: 'dcae-des'\n      service_component_name_override: 'dcae-des'\n    relationships:\n    - type: cloudify.relationships.depends_on\n      target: despgaas\n","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"ad8e1bf6-f21c-470b-9688-ae932d784951","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/ad8e1bf6-f21c-470b-9688-ae932d784951"},"created":1639094022023,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-datalake-feeder","typeVersion":2112091153,"blueprintTemplate":"# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2020 QCT. All rights reserved.\n# Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.\n# Copyright (C) 2021 Wipro Limited. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\n#author: Kate Hsuan (kate.hsuan@qct.io)\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:pgaas?version=1.3.0\ninputs:\n  pg_dbName:\n    type: string\n    description: DB name\n    default: \"datalake\"\n  image_name:\n    description: datalake feeder image URL.\n    type: string\n    default: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.datalakefeeder:1.1.1\n  dl_hostname:\n    type: string\n    description: dl default dl_hostname\n    default: k8s-datalake\n  consul_host:\n    type: string\n    description: consul address\n    default: consul\n  cbs_address:\n    type: string\n    description: CBS address\n    default: config-binding-service\n  container_port:\n    type: string\n    description: exposed container port\n    default: \"1680\"\n  host_port:\n    type: string\n    description: external port\n    default: \"30408\"\n  service_component_type:\n    type: string\n    default: \"dcae-dl-feeder\"\n  service_id:\n    type: string\n    default: \"dcae-dl-feeder\"\n  service_component_name_override:\n    type: string\n    default: \"dcae-dl-feeder\"\n  pgaas_cluster_name:\n    type: string\n    description: pg cluster\n    default: \"dcae-pg-primary.onap\"\n\nnode_templates:\n  feederpgaas:\n    type: dcae.nodes.pgaas.database\n    properties:\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: { get_input: pg_dbName}\n      use_existing: false\n\n  datalake:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            ports:\n              - '1680:0'\n              - concat: [{get_input: container_port},\":\",{get_input: host_port}]\n            envs:\n              PG_HOST:\n               { get_attribute: [ feederpgaas, admin, host ] }\n              PG_PORT:\n                { get_attribute: [ feederpgaas, admin, port ] }\n              PG_USER:\n                { get_attribute: [ feederpgaas, admin, user ] }\n              PG_PASSWORD:\n                { get_attribute: [ feederpgaas, admin, password ] }\n              PG_DB:\n                get_input: pg_dbName\n    properties:\n      application_config:\n        PG_HOST:\n          { get_attribute: [ feederpgaas, admin, host ] }\n        PG_PORT:\n          { get_attribute: [ feederpgaas, admin, port ] }\n        PG_USER:\n          { get_attribute: [ feederpgaas, admin, user ] }\n        PG_PASSWORD:\n          { get_attribute: [ feederpgaas, admin, password ] }\n        PG_DB:\n          get_input: pg_dbName\n        HOSTNAME:\n          get_input: dl_hostname\n        CONSUL_HOST:\n          get_input: consul_host\n        CONFIG_BINDING_SERVICE:\n          get_input: cbs_address\n      image:\n          get_input: image_name\n      docker_config:\n        healthcheck:\n          interval: 90s\n          timeout: 10s\n          type: http\n          endpoint: /datalake/v1/topics\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n    relationships:\n    - type: cloudify.relationships.depends_on\n      target: feederpgaas\n","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"c23ac855-6eda-4890-8ee4-b16c76b47367","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/c23ac855-6eda-4890-8ee4-b16c76b47367"},"created":1639094022128,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-heartbeat","typeVersion":2112091153,"blueprintTemplate":"# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2019-2021 AT&T\n# Copyright (C) 2020 Wipro Limited\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:pgaas?version=1.3.0\n\n\ninputs:\n  tag_version:\n    type: string\n    default: 'nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.heartbeat:2.3.1'\n  heartbeat_name:\n    type: string\n    default: 'dcae-heartbeat-service'\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  host_port:\n    type: integer\n    description: Network port that the platform service is expecting to expose on the host\n    default: 30223\n  container_port:\n    type: integer\n    description: Network port that the platform service exposes in the container\n    default: 10002\n  consul_host:\n    type: string\n    description: Consul endpoint address\n    default: 'consul-server.onap'\n  consul_port:\n    type: integer\n    description: Consul endpoint port\n    default: 8500\n  CBS_polling_allowed:\n    type: string\n    default: 'True'\n  CBS_polling_interval:\n    type: string\n    default: '300'\n  consumerID:\n    type: string\n    default: '1'\n  groupID:\n    type: string\n    default: 'hbgrpID'\n  namespace:\n    type: string\n    default: 'onap'\n  pgaas_cluster_name:\n    type: string\n    description: pg cluster\n    default: \"dcae-pg-primary.onap\"\n  pg_dbName:\n    type: string\n    default: 'heartbeat'\n  ves_heartbeat_publish_url:\n    type: string\n    default: 'http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_HEARTBEAT_OUTPUT'\n  dcae_CL_publish_url:\n    type: string\n    default: 'http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_CL_OUTPUT'\nnode_templates:\n  hbpgaas:\n    type: dcae.nodes.pgaas.database\n    properties:\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: { get_input: pg_dbName}\n      use_existing: false\n\n  heartbeat:\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n              CBS_polling_allowed:\n                get_input: CBS_polling_allowed\n              CBS_polling_interval: \"300\"\n              consumerID: \"1\"\n              groupID:\n                get_input: groupID\n              pg_ipAddress:\n                { get_attribute: [ hbpgaas, admin, host ] }\n              pg_passwd:\n                { get_attribute: [ hbpgaas, admin, password ] }\n              pg_portNum:\n                { get_attribute: [ hbpgaas, admin, port ] }\n              pg_userName:\n                { get_attribute: [ hbpgaas, admin, user ] }\n              pg_dbName:\n                get_input: pg_dbName\n            ports:\n              - \"10002:0\"\n\n    properties:\n      application_config:\n        CBS_polling_allowed:\n          get_input: CBS_polling_allowed\n        CBS_polling_interval:\n          get_input: CBS_polling_interval\n        consumerID:\n          get_input: consumerID\n        groupID:\n          get_input: groupID\n        pg_ipAddress:\n          { get_attribute: [ hbpgaas, admin, host ] }\n        pg_passwd:\n           { get_attribute: [ hbpgaas, admin, password ] }\n        pg_portNum:\n           { get_attribute: [ hbpgaas, admin, port ] }\n        pg_userName:\n           { get_attribute: [ hbpgaas, admin, user ] }\n        pg_dbName:\n          get_input: pg_dbName\n        heartbeat_config: '{\"vnfs\": [{\"eventName\": \"Heartbeat_vDNS\",\"heartbeatcountmissed\": 3,\"heartbeatinterval\": 60,\"closedLoopControlName\": \"ControlLoopEvent1\",     \"policyVersion\": \"1.0.0.5\",     \"policyName\":\"vFireWall\",\"policyScope\": \"resource=sampleResource,type=sampletype,CLName=sampleCLName\",\"target_type\": \"VNF\",        \"target\": \"genVnfName\", \"version\": \"1.0\"}, {\"eventName\": \"Heartbeat_vFW\",\"heartbeatcountmissed\": 3,     \"heartbeatinterval\": 60,\"closedLoopControlName\": \"ControlLoopEvent1\",\"policyVersion\": \"1.0.0.5\",\"policyName\": \"vFireWall\",\"policyScope\": \"resource=sampleResource,type=sampletype,CLName=sampleCLName\",    \"target_type\":\"VNF\",    \"target\": \"genVnfName\",    \"version\": \"1.0\"}, {\"eventName\": \"Heartbeat_xx\",\"heartbeatcountmissed\": 3,      \"heartbeatinterval\": 60,\"closedLoopControlName\": \"ControlLoopEvent1\",\"policyVersion\": \"1.0.0.5\",\"policyName\": \"vFireWall\",      \"policyScope\": \"resource=sampleResource,type=sampletype,CLName=sampleCLName\",\"target_type\": \"VNF\",\"target\": \"genVnfName\",\"version\": \"1.0\"}]}'\n        streams_publishes:\n          dcae_cl_out:\n            dmaap_info:\n             topic_url:\n                  get_input: dcae_CL_publish_url\n            type: message_router\n        streams_subscribes:\n            ves-heartbeat:\n              dmaap_info:\n                topic_url:\n                  get_input: ves_heartbeat_publish_url\n              type: message_router\n      docker_config:\n        healthcheck:\n          type: http\n          endpoint: /\n          interval: 15s\n          timeout: 1s\n      service_component_type:\n          get_input: heartbeat_name\n      image: { get_input: tag_version }\n      replicas: { get_input: replicas }\n      log_info:\n          log_directory: '/var/log/ONAP/dcae-heartbeat-services'\n    type: dcae.nodes.ContainerizedServiceComponent\n    relationships:\n    - type: cloudify.relationships.depends_on\n      target: hbpgaas\n\n","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"30f95c88-b61c-44c4-9513-43e0d654f154","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/30f95c88-b61c-44c4-9513-43e0d654f154"},"created":1639094022238,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-helm","typeVersion":2112091153,"blueprintTemplate":"# ============LICENSE_START==========================================\n# ===================================================================\n# Copyright (c) 2019-2020 AT&T\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#         http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#============LICENSE_END============================================\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:helm?version=4.2.0\n\ninputs:\n  tiller-server-ip:\n    description: IP address of Kubernetes master node\n  tiller-server-port:\n    description: Nodeport of tiller server\n  namespace:\n    description: Target namespace to be installed under (requires to be new)\n  chart-repo-url:\n     default: 'https://nexus.onap.org/content/sites/oom-helm-staging'\n  chart-version :\n    description: Chart version for identified component-name\n  stable-repo-url:\n    description: URL for stable repository\n    type: string\n    default: 'https://kubernetes-charts.storage.googleapis.com'\n  config-url:\n    default: ''\n  config-format:\n    default: 'yaml'\n  component-name:\n    description: onap component name\nnode_templates:\n  dcaecomponent:\n    type: onap.nodes.component\n    properties:\n      tiller_ip: { get_input: tiller-server-ip }\n      tiller_port: { get_input: tiller-server-port }\n      component_name: { get_input: component-name }\n      chart_repo_url: { get_input: chart-repo-url }\n      chart_version: { get_input: chart-version }\n      namespace: { get_input: namespace }\n      stable_repo_url: { get_input: stable-repo-url}\n      config_url:  { get_input: config-url}\n      config_format: { get_input: config-format}\noutputs:\n  dcaecomponent_install_status:\n    value: { get_attribute: [ dcaecomponent, install-status ] }\n\n","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"893fff20-e541-4ff4-85ba-2aa6fbc4c321","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/893fff20-e541-4ff4-85ba-2aa6fbc4c321"},"created":1639094022355,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-holmes-engine","typeVersion":2112091153,"blueprintTemplate":"# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2017-2021 AT&T Intellectual Property. All rights reserved.\n# Copyright (c) 2020 Nokia Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under t+ for BP in /blueprints/*.yaml
+ upload_service_type /blueprints/k8s-holmes-rules.yaml /certs/cacert.pem
+ '[' /certs/cacert.pem ']'
+ TLSCURL='--cacert /certs/cacert.pem'
+ create_service_type /blueprints/k8s-holmes-rules.yaml
+ curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types
++ date +%y%m%d%I%M
++ basename /blueprints/k8s-holmes-rules.yaml .yaml
++ flatten /blueprints/k8s-holmes-rules.yaml
+++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g'
+++ tr -d '\n'
++ FLAT='# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2017-2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END=====================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n- https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n- plugin:k8splugin?version=>=3.4.3,<4.0.0\n- plugin:dcaepolicyplugin?version=2.4.0\n- plugin:pgaas?version=1.3.0\ninputs:\n  msb_hostname:\n    type: string\n    default: \"msb-iag.onap\"\n  pgaas_cluster_name:\n    type: string\n    default: \"dcae-pg-primary.onap\"\n    # use the single-VM PG instance\n    #default: pgvm\n  database_name:\n    type: string\n    default: \"holmes\"\n  hr_image:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/holmes/rule-management:1.3.2\"\n  service_component_type:\n    type: string\n    default: \"holmes-rule-mgmt\"\n  service_id:\n    type: string\n    default: \"holmes-rule-mgmt\"\n  service_component_name_override:\n    type: string\n    default: \"holmes-rule-mgmt\"\n  dcae-analytics-holmes-rule-mgt_cpu_limit:\n    type: string\n    default: \"250m\"\n  dcae-analytics-holmes-rule-mgt_cpu_request:\n    type: string\n    default: \"250m\"\n  dcae-analytics-holmes-rule-mgt_memory_limit:\n    type: string\n    default: \"1024Mi\"\n  dcae-analytics-holmes-rule-mgt_memory_request:\n    type: string\n    default: \"256Mi\"\nnode_templates:\n  pgaasvm:\n    type: dcae.nodes.pgaas.database\n    properties:\n      #writerfqdn: { concat: [ { get_input: pgaas_cluster_name }, '\''-write.'\'' ] }\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: { get_input: database_name }\n  holmesrules:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n           envs:\n            URL_JDBC:\n                { get_attribute: [ pgaasvm, admin, host ] }\n            JDBC_PASSWORD:\n                { get_attribute: [ pgaasvm, admin, password ] }\n            JDBC_USERNAME:\n                { get_attribute: [ pgaasvm, admin, user ] }\n            MSB_ADDR:\n                get_input: msb_hostname\n           ports:\n             - '\''9101:0'\''\n             - '\''9104:0'\''\n    properties:\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n      application_config:\n        holmes.default.rule.volte.scenario1: \"ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b$$$package org.onap.holmes.droolsRule;\\n\\nimport org.onap.holmes.common.dmaap.DmaapService;\\nimport org.onap.holmes.common.api.stat.VesAlarm;\\nimport org.onap.holmes.common.aai.CorrelationUtil;\\nimport org.onap.holmes.common.dmaap.entity.PolicyMsg;\\nimport org.onap.holmes.common.dropwizard.ioc.utils.ServiceLocatorHolder;\\nimport org.onap.holmes.common.utils.DroolsLog;\\n \\n\\nrule \\\"Relation_analysis_Rule\\\"\\nsalience 200\\nno-loop true\\n    when\\n        $root : VesAlarm(alarmIsCleared == 0,\\n            $sourceId: sourceId, sourceId != null && !sourceId.equals(\\\"\\\"),\\n\\t\\t\\t$sourceName: sourceName, sourceName != null && !sourceName.equals(\\\"\\\"),\\n\\t\\t\\t$startEpochMicrosec: startEpochMicrosec,\\n            eventName in (\\\"Fault_MultiCloud_VMFailure\\\"),\\n            $eventId: eventId)\\n        $child : VesAlarm( eventId != $eventId, parentId == null,\\n            CorrelationUtil.getInstance().isTopologicallyRelated(sourceId, $sourceId, $sourceName),\\n            eventName in (\\\"Fault_MME_eNodeB out of service alarm\\\"),\\n            startEpochMicrosec < $startEpochMicrosec + 60000 && startEpochMicrosec > $startEpochMicrosec - 60000 )\\n    then\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"Relation_analysis_Rule: rootId=\\\" + $root.getEventId() + \\\", childId=\\\" + $child.getEventId());\\n\\t\\t$child.setParentId($root.getEventId());\\n\\t\\tupdate($child);\\n\\t\\t\\nend\\n\\nrule \\\"root_has_child_handle_Rule\\\"\\nsalience 150\\nno-loop true\\n\\twhen\\n\\t\\t$root : VesAlarm(alarmIsCleared == 0, rootFlag == 0, $eventId: eventId)\\n\\t\\t$child : VesAlarm(eventId != $eventId, parentId == $eventId)\\n\\tthen\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"root_has_child_handle_Rule: rootId=\\\" + $root.getEventId() + \\\", childId=\\\" + $child.getEventId());\\n\\t\\tDmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);\\n\\t\\tPolicyMsg policyMsg = dmaapService.getPolicyMsg($root, $child, \\\"org.onap.holmes.droolsRule\\\");\\n        dmaapService.publishPolicyMsg(policyMsg, \\\"dcae_cl_out\\\");\\n\\t\\t$root.setRootFlag(1);\\n\\t\\tupdate($root);\\nend\\n\\nrule \\\"root_no_child_handle_Rule\\\"\\nsalience 100\\nno-loop true\\n    when\\n        $root : VesAlarm(alarmIsCleared == 0, rootFlag == 0,\\n            sourceId != null && !sourceId.equals(\\\"\\\"),\\n\\t\\t\\tsourceName != null && !sourceName.equals(\\\"\\\"),\\n            eventName in (\\\"Fault_MultiCloud_VMFailure\\\"))\\n    then\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"root_no_child_handle_Rule: rootId=\\\" + $root.getEventId());\\n\\t\\tDmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);\\n\\t\\tPolicyMsg policyMsg = dmaapService.getPolicyMsg($root, null, \\\"org.onap.holmes.droolsRule\\\");\\n        dmaapService.publishPolicyMsg(policyMsg, \\\"dcae_cl_out\\\");\\n\\t\\t$root.setRootFlag(1);\\n\\t\\tupdate($root);\\nend\\n\\nrule \\\"root_cleared_handle_Rule\\\"\\nsalience 100\\nno-loop true\\n    when\\n        $root : VesAlarm(alarmIsCleared == 1, rootFlag == 1)\\n    then\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"root_cleared_handle_Rule: rootId=\\\" + $root.getEventId());\\n\\t\\tDmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);\\n\\t\\tPolicyMsg policyMsg = dmaapService.getPolicyMsg($root, null, \\\"org.onap.holmes.droolsRule\\\");\\n        dmaapService.publishPolicyMsg(policyMsg, \\\"dcae_cl_out\\\");\\n\\t\\tretract($root);\\nend\\n\\nrule \\\"child_handle_Rule\\\"\\nsalience 100\\nno-loop true\\n    when\\n        $child : VesAlarm(alarmIsCleared == 1, rootFlag == 0)\\n    then\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"child_handle_Rule: childId=\\\" + $child.getEventId());\\n\\t\\tretract($child);\\nend\"\n        msb.hostname:\n         get_input: msb_hostname\n        msb.uri: /api/microservices/v1/services\n        services_calls: {}\n        streams_publishes: {}\n        streams_subscribes: {}\n      image: { get_input: hr_image }\n      #service_component_type: dcae-analytics-holmes-rule-management\n      resource_config:\n        limits:\n          cpu:\n            get_input: dcae-analytics-holmes-rule-mgt_cpu_limit\n          memory:\n            get_input: dcae-analytics-holmes-rule-mgt_memory_limit\n        requests:\n          cpu:\n            get_input: dcae-analytics-holmes-rule-mgt_cpu_request\n          memory:\n            get_input: dcae-analytics-holmes-rule-mgt_memory_request\n    relationships:\n    - type: cloudify.relationships.depends_on\n      target: pgaasvm\n'
++ echo '# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2017-2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END=====================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n- https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n- plugin:k8splugin?version=>=3.4.3,<4.0.0\n- plugin:dcaepolicyplugin?version=2.4.0\n- plugin:pgaas?version=1.3.0\ninputs:\n  msb_hostname:\n    type: string\n    default: \"msb-iag.onap\"\n  pgaas_cluster_name:\n    type: string\n    default: \"dcae-pg-primary.onap\"\n    # use the single-VM PG instance\n    #default: pgvm\n  database_name:\n    type: string\n    default: \"holmes\"\n  hr_image:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/holmes/rule-management:1.3.2\"\n  service_component_type:\n    type: string\n    default: \"holmes-rule-mgmt\"\n  service_id:\n    type: string\n    default: \"holmes-rule-mgmt\"\n  service_component_name_override:\n    type: string\n    default: \"holmes-rule-mgmt\"\n  dcae-analytics-holmes-rule-mgt_cpu_limit:\n    type: string\n    default: \"250m\"\n  dcae-analytics-holmes-rule-mgt_cpu_request:\n    type: string\n    default: \"250m\"\n  dcae-analytics-holmes-rule-mgt_memory_limit:\n    type: string\n    default: \"1024Mi\"\n  dcae-analytics-holmes-rule-mgt_memory_request:\n    type: string\n    default: \"256Mi\"\nnode_templates:\n  pgaasvm:\n    type: dcae.nodes.pgaas.database\n    properties:\n      #writerfqdn: { concat: [ { get_input: pgaas_cluster_name }, '\''-write.'\'' ] }\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: { get_input: database_name }\n  holmesrules:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n           envs:\n            URL_JDBC:\n                { get_attribute: [ pgaasvm, admin, host ] }\n            JDBC_PASSWORD:\n                { get_attribute: [ pgaasvm, admin, password ] }\n            JDBC_USERNAME:\n                { get_attribute: [ pgaasvm, admin, user ] }\n            MSB_ADDR:\n                get_input: msb_hostname\n           ports:\n             - '\''9101:0'\''\n             - '\''9104:0'\''\n    properties:\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n      application_config:\n        holmes.default.rule.volte.scenario1: \"ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b$$$package org.onap.holmes.droolsRule;\\n\\nimport org.onap.holmes.common.dmaap.DmaapService;\\nimport org.onap.holmes.common.api.stat.VesAlarm;\\nimport org.onap.holmes.common.aai.CorrelationUtil;\\nimport org.onap.holmes.common.dmaap.entity.PolicyMsg;\\nimport org.onap.holmes.common.dropwizard.ioc.utils.ServiceLocatorHolder;\\nimport org.onap.holmes.common.utils.DroolsLog;\\n \\n\\nrule \\\"Relation_analysis_Rule\\\"\\nsalience 200\\nno-loop true\\n    when\\n        $root : VesAlarm(alarmIsCleared == 0,\\n            $sourceId: sourceId, sourceId != null && !sourceId.equals(\\\"\\\"),\\n\\t\\t\\t$sourceName: sourceName, sourceName != null && !sourceName.equals(\\\"\\\"),\\n\\t\\t\\t$startEpochMicrosec: startEpochMicrosec,\\n            eventName in (\\\"Fault_MultiCloud_VMFailure\\\"),\\n            $eventId: eventId)\\n        $child : VesAlarm( eventId != $eventId, parentId == null,\\n            CorrelationUtil.getInstance().isTopologicallyRelated(sourceId, $sourceId, $sourceName),\\n            eventName in (\\\"Fault_MME_eNodeB out of service alarm\\\"),\\n            startEpochMicrosec < $startEpochMicrosec + 60000 && startEpochMicrosec > $startEpochMicrosec - 60000 )\\n    then\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"Relation_analysis_Rule: rootId=\\\" + $root.getEventId() + \\\", childId=\\\" + $child.getEventId());\\n\\t\\t$child.setParentId($root.getEventId());\\n\\t\\tupdate($child);\\n\\t\\t\\nend\\n\\nrule \\\"root_has_child_handle_Rule\\\"\\nsalience 150\\nno-loop true\\n\\twhen\\n\\t\\t$root : VesAlarm(alarmIsCleared == 0, rootFlag == 0, $eventId: eventId)\\n\\t\\t$child : VesAlarm(eventId != $eventId, parentId == $eventId)\\n\\tthen\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"root_has_child_handle_Rule: rootId=\\\" + $root.getEventId() + \\\", childId=\\\" + $child.getEventId());\\n\\t\\tDmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);\\n\\t\\tPolicyMsg policyMsg = dmaapService.getPolicyMsg($root, $child, \\\"org.onap.holmes.droolsRule\\\");\\n        dmaapService.publishPolicyMsg(policyMsg, \\\"dcae_cl_out\\\");\\n\\t\\t$root.setRootFlag(1);\\n\\t\\tupdate($root);\\nend\\n\\nrule \\\"root_no_child_handle_Rule\\\"\\nsalience 100\\nno-loop true\\n    when\\n        $root : VesAlarm(alarmIsCleared == 0, rootFlag == 0,\\n            sourceId != null && !sourceId.equals(\\\"\\\"),\\n\\t\\t\\tsourceName != null && !sourceName.equals(\\\"\\\"),\\n            eventName in (\\\"Fault_MultiCloud_VMFailure\\\"))\\n    then\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"root_no_child_handle_Rule: rootId=\\\" + $root.getEventId());\\n\\t\\tDmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);\\n\\t\\tPolicyMsg policyMsg = dmaapService.getPolicyMsg($root, null, \\\"org.onap.holmes.droolsRule\\\");\\n        dmaapService.publishPolicyMsg(policyMsg, \\\"dcae_cl_out\\\");\\n\\t\\t$root.setRootFlag(1);\\n\\t\\tupdate($root);\\nend\\n\\nrule \\\"root_cleared_handle_Rule\\\"\\nsalience 100\\nno-loop true\\n    when\\n        $root : VesAlarm(alarmIsCleared == 1, rootFlag == 1)\\n    then\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"root_cleared_handle_Rule: rootId=\\\" + $root.getEventId());\\n\\t\\tDmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);\\n\\t\\tPolicyMsg policyMsg = dmaapService.getPolicyMsg($root, null, \\\"org.onap.holmes.droolsRule\\\");\\n        dmaapService.publishPolicyMsg(policyMsg, \\\"dcae_cl_out\\\");\\n\\t\\tretract($root);\\nend\\n\\nrule \\\"child_handle_Rule\\\"\\nsalience 100\\nno-loop true\\n    when\\n        $child : VesAlarm(alarmIsCleared == 1, rootFlag == 0)\\n    then\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"child_handle_Rule: childId=\\\" + $child.getEventId());\\n\\t\\tretract($child);\\nend\"\n        msb.hostname:\n         get_input: msb_hostname\n        msb.uri: /api/microservices/v1/services\n        services_calls: {}\n        streams_publishes: {}\n        streams_subscribes: {}\n      image: { get_input: hr_image }\n      #service_component_type: dcae-analytics-holmes-rule-management\n      resource_config:\n        limits:\n          cpu:\n            get_input: dcae-analytics-holmes-rule-mgt_cpu_limit\n          memory:\n            get_input: dcae-analytics-holmes-rule-mgt_memory_limit\n        requests:\n          cpu:\n            get_input: dcae-analytics-holmes-rule-mgt_cpu_request\n          memory:\n            get_input: dcae-analytics-holmes-rule-mgt_memory_request\n    relationships:\n    - type: cloudify.relationships.depends_on\n      target: pgaasvm\n'
+ echo '
   {
    "vnfTypes": [],
    "owner": "dcaeorch",
    "typeVersion": 2112091153,
    "typeName": "k8s-holmes-rules",
    "component": "dcae",
    "application": "DCAE",
    "blueprintTemplate": "# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2017-2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END=====================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n- https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n- plugin:k8splugin?version=>=3.4.3,<4.0.0\n- plugin:dcaepolicyplugin?version=2.4.0\n- plugin:pgaas?version=1.3.0\ninputs:\n  msb_hostname:\n    type: string\n    default: \"msb-iag.onap\"\n  pgaas_cluster_name:\n    type: string\n    default: \"dcae-pg-primary.onap\"\n    # use the single-VM PG instance\n    #default: pgvm\n  database_name:\n    type: string\n    default: \"holmes\"\n  hr_image:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/holmes/rule-management:1.3.2\"\n  service_component_type:\n    type: string\n    default: \"holmes-rule-mgmt\"\n  service_id:\n    type: string\n    default: \"holmes-rule-mgmt\"\n  service_component_name_override:\n    type: string\n    default: \"holmes-rule-mgmt\"\n  dcae-analytics-holmes-rule-mgt_cpu_limit:\n    type: string\n    default: \"250m\"\n  dcae-analytics-holmes-rule-mgt_cpu_request:\n    type: string\n    default: \"250m\"\n  dcae-analytics-holmes-rule-mgt_memory_limit:\n    type: string\n    default: \"1024Mi\"\n  dcae-analytics-holmes-rule-mgt_memory_request:\n    type: string\n    default: \"256Mi\"\nnode_templates:\n  pgaasvm:\n    type: dcae.nodes.pgaas.database\n    properties:\n      #writerfqdn: { concat: [ { get_input: pgaas_cluster_name }, '\''-write.'\'' ] }\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: { get_input: database_name }\n  holmesrules:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n           envs:\n            URL_JDBC:\n                { get_attribute: [ pgaasvm, admin, host ] }\n            JDBC_PASSWORD:\n                { get_attribute: [ pgaasvm, admin, password ] }\n            JDBC_USERNAME:\n                { get_attribute: [ pgaasvm, admin, user ] }\n            MSB_ADDR:\n                get_input: msb_hostname\n           ports:\n             - '\''9101:0'\''\n             - '\''9104:0'\''\n    properties:\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n      application_config:\n        holmes.default.rule.volte.scenario1: \"ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b$$$package org.onap.holmes.droolsRule;\\n\\nimport org.onap.holmes.common.dmaap.DmaapService;\\nimport org.onap.holmes.common.api.stat.VesAlarm;\\nimport org.onap.holmes.common.aai.CorrelationUtil;\\nimport org.onap.holmes.common.dmaap.entity.PolicyMsg;\\nimport org.onap.holmes.common.dropwizard.ioc.utils.ServiceLocatorHolder;\\nimport org.onap.holmes.common.utils.DroolsLog;\\n \\n\\nrule \\\"Relation_analysis_Rule\\\"\\nsalience 200\\nno-loop true\\n    when\\n        $root : VesAlarm(alarmIsCleared == 0,\\n            $sourceId: sourceId, sourceId != null && !sourceId.equals(\\\"\\\"),\\n\\t\\t\\t$sourceName: sourceName, sourceName != null && !sourceName.equals(\\\"\\\"),\\n\\t\\t\\t$startEpochMicrosec: startEpochMicrosec,\\n            eventName in (\\\"Fault_MultiCloud_VMFailure\\\"),\\n            $eventId: eventId)\\n        $child : VesAlarm( eventId != $eventId, parentId == null,\\n            CorrelationUtil.getInstance().isTopologicallyRelated(sourceId, $sourceId, $sourceName),\\n            eventName in (\\\"Fault_MME_eNodeB out of service alarm\\\"),\\n            startEpochMicrosec < $startEpochMicrosec + 60000 && startEpochMicrosec > $startEpochMicrosec - 60000 )\\n    then\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"Relation_analysis_Rule: rootId=\\\" + $root.getEventId() + \\\", childId=\\\" + $child.getEventId());\\n\\t\\t$child.setParentId($root.getEventId());\\n\\t\\tupdate($child);\\n\\t\\t\\nend\\n\\nrule \\\"root_has_child_handle_Rule\\\"\\nsalience 150\\nno-loop true\\n\\twhen\\n\\t\\t$root : VesAlarm(alarmIsCleared == 0, rootFlag == 0, $eventId: eventId)\\n\\t\\t$child : VesAlarm(eventId != $eventId, parentId == $eventId)\\n\\tthen\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"root_has_child_handle_Rule: rootId=\\\" + $root.getEventId() + \\\", childId=\\\" + $child.getEventId());\\n\\t\\tDmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);\\n\\t\\tPolicyMsg policyMsg = dmaapService.getPolicyMsg($root, $child, \\\"org.onap.holmes.droolsRule\\\");\\n        dmaapService.publishPolicyMsg(policyMsg, \\\"dcae_cl_out\\\");\\n\\t\\t$root.setRootFlag(1);\\n\\t\\tupdate($root);\\nend\\n\\nrule \\\"root_no_child_handle_Rule\\\"\\nsalience 100\\nno-loop true\\n    when\\n        $root : VesAlarm(alarmIsCleared == 0, rootFlag == 0,\\n            sourceId != null && !sourceId.equals(\\\"\\\"),\\n\\t\\t\\tsourceName != null && !sourceName.equals(\\\"\\\"),\\n            eventName in (\\\"Fault_MultiCloud_VMFailure\\\"))\\n    then\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"root_no_child_handle_Rule: rootId=\\\" + $root.getEventId());\\n\\t\\tDmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);\\n\\t\\tPolicyMsg policyMsg = dmaapService.getPolicyMsg($root, null, \\\"org.onap.holmes.droolsRule\\\");\\n        dmaapService.publishPolicyMsg(policyMsg, \\\"dcae_cl_out\\\");\\n\\t\\t$root.setRootFlag(1);\\n\\t\\tupdate($root);\\nend\\n\\nrule \\\"root_cleared_handle_Rule\\\"\\nsalience 100\\nno-loop true\\n    when\\n        $root : VesAlarm(alarmIsCleared == 1, rootFlag == 1)\\n    then\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"root_cleared_handle_Rule: rootId=\\\" + $root.getEventId());\\n\\t\\tDmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);\\n\\t\\tPolicyMsg policyMsg = dmaapService.getPolicyMsg($root, null, \\\"org.onap.holmes.droolsRule\\\");\\n        dmaapService.publishPolicyMsg(policyMsg, \\\"dcae_cl_out\\\");\\n\\t\\tretract($root);\\nend\\n\\nrule \\\"child_handle_Rule\\\"\\nsalience 100\\nno-loop true\\n    when\\n        $child : VesAlarm(alarmIsCleared == 1, rootFlag == 0)\\n    then\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"child_handle_Rule: childId=\\\" + $child.getEventId());\\n\\t\\tretract($child);\\nend\"\n        msb.hostname:\n         get_input: msb_hostname\n        msb.uri: /api/microservices/v1/services\n        services_calls: {}\n        streams_publishes: {}\n        streams_subscribes: {}\n      image: { get_input: hr_image }\n      #service_component_type: dcae-analytics-holmes-rule-management\n      resource_config:\n        limits:\n          cpu:\n            get_input: dcae-analytics-holmes-rule-mgt_cpu_limit\n          memory:\n            get_input: dcae-analytics-holmes-rule-mgt_memory_limit\n        requests:\n          cpu:\n            get_input: dcae-analytics-holmes-rule-mgt_cpu_request\n          memory:\n            get_input: dcae-analytics-holmes-rule-mgt_memory_request\n    relationships:\n    - type: cloudify.relationships.depends_on\n      target: pgaasvm\n"
   }'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 17571    0  8921  100  8650   180k   174k --:--:-- --:--:-- --:--:--  357k
+ for BP in /blueprints/*.yaml
+ upload_service_type /blueprints/k8s-hv-ves.yaml /certs/cacert.pem
+ '[' /certs/cacert.pem ']'
+ TLSCURL='--cacert /certs/cacert.pem'
+ create_service_type /blueprints/k8s-hv-ves.yaml
+ curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types
++ date +%y%m%d%I%M
++ basename /blueprints/k8s-hv-ves.yaml .yaml
++ flatten /blueprints/k8s-hv-ves.yaml
+++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g'
+++ tr -d '\n'
++ FLAT='# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START========================================================\n# =================================================================================\n# Copyright (C) 2018-2019 NOKIA\n# Modifications Copyright (c) 2020-2021 AT&T Intellectual Property.  All Rights Reserved\n# =================================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END==========================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n  tag_version:\n    type: string\n    default: '\''nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main:1.9.1'\''\n  service_component_type:\n    type: string\n    default: '\''dcae-hv-ves-collector'\''\n  service_id:\n    type: string\n    default: \"dcae-hv-ves-collector\"\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  host_port:\n    type: integer\n    description: Network port that the platform service is expecting to expose on the host\n    default: 30222\n  container_port:\n    type: integer\n    description: Network port that the platform service exposes in the container\n    default: 6061\n  kafka_bootstrap_servers:\n    type: string\n    default: '\''message-router-kafka:9092'\''\n  kafka_username:\n    type: string\n    default: '\''admin'\''\n  kafka_password:\n    type: string\n    default: '\''admin_secret'\''\n  perf3gpp_kafka_topic:\n    type: string\n    default: '\''HV_VES_PERF3GPP'\''\n  log_level:\n    type: string\n    default: '\''INFO'\''\n  server_idle_timeout_sec:\n    type: integer\n    default: 300\n  cbs_request_interval_sec:\n    type: integer\n    default: 5\n  security_ssl_disable:\n    type: boolean\n    default: false\n  security_keys_key_store_file:\n    type: string\n    default: '\''/etc/ves-hv/ssl/cert.jks'\''\n  security_keys_key_store_password_file:\n    type: string\n    default: '\''/etc/ves-hv/ssl/jks.pass'\''\n  security_keys_trust_store_file:\n    type: string\n    default: '\''/etc/ves-hv/ssl/trust.jks'\''\n  security_keys_trust_store_password_file:\n    type: string\n    default: '\''/etc/ves-hv/ssl/trust.pass'\''\n  use_tls:\n    type: boolean\n    default: true\n  service_component_name_override:\n    type: string\n    default: \"dcae-hv-ves-collector\"\n  external_cert_cert_type:\n    type: string\n    description: Output type\n    default: \"JKS\"\n  external_cert_ca_name:\n    type: string\n    description: Name of Certificate Authority configured on CertService side.\n    default: \"RA\"\n  external_cert_common_name:\n    type: string\n    description: Common name which should be present in certificate.\n    default: \"dcae-hv-ves-collector\"\n  external_cert_sans:\n    type: string\n    description: \"List of Subject Alternative Names (SANs) which should be present\n      in certificate. Delimiter - , Should contain common_name value and other FQDNs\n      under which given component is accessible.\"\n    default: \"dcae-hv-ves-collector,hv-ves-collector,hv-ves\"\n  external_cert_use_external_tls:\n    type: boolean\n    description: Flag to indicate external tls enable/disable.\n    default: false\nnode_templates:\n  hv-ves:\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n              JAVA_OPTS: { concat: [ '\''-Dlogback.configurationFile=/etc/ONAP/'\'', { get_input: service_component_type }, '\''/logback.xml'\'' ] }\n    properties:\n      application_config:\n        logLevel: { get_input: log_level }\n        server.idleTimeoutSec: { get_input: server_idle_timeout_sec }\n        server.listenPort: { get_input: container_port }\n        cbs.requestIntervalSec: { get_input: cbs_request_interval_sec}\n        security.sslDisable: { get_input: security_ssl_disable }\n        security.keys.keyStoreFile: { get_input: security_keys_key_store_file }\n        security.keys.keyStorePasswordFile: { get_input: security_keys_key_store_password_file }\n        security.keys.trustStoreFile: { get_input: security_keys_trust_store_file }\n        security.keys.trustStorePasswordFile: { get_input: security_keys_trust_store_password_file }\n        streams_publishes:\n          perf3gpp:\n            type: kafka\n            aaf_credentials:\n              username: { get_input: kafka_username }\n              password: { get_input: kafka_password }\n            kafka_info:\n              bootstrap_servers: { get_input: kafka_bootstrap_servers }\n              topic_name: { get_input: perf3gpp_kafka_topic }\n      docker_config:\n        healthcheck:\n          type: script\n          script: \"/opt/ves-hv-collector/healthcheck.sh\"\n          interval: 15s\n          timeout: 2s\n        ports:\n          - { concat: [ { get_input: container_port }, '\'':'\'', { get_input: host_port } ] }\n      image: { get_input: tag_version }\n      replicas: { get_input: replicas }\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n      log_info:\n        log_directory: { concat: [ '\''/var/log/ONAP/'\'', { get_input: service_component_type } ] }\n      tls_info:\n        cert_directory: '\''/etc/ves-hv/ssl'\''\n        use_tls: { get_input: use_tls }\n      external_cert:\n        external_cert_directory: '\''/etc/ves-hv/ssl'\''\n        use_external_tls:\n          get_input: external_cert_use_external_tls\n        cert_type:\n          get_input: external_cert_cert_type\n        ca_name:\n          get_input: external_cert_ca_name\n        external_certificate_parameters:\n          common_name:\n            get_input: external_cert_common_name\n          sans:\n            get_input: external_cert_sans\n    type: dcae.nodes.ContainerizedServiceComponent\n'
++ echo '# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START========================================================\n# =================================================================================\n# Copyright (C) 2018-2019 NOKIA\n# Modifications Copyright (c) 2020-2021 AT&T Intellectual Property.  All Rights Reserved\n# =================================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END==========================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n  tag_version:\n    type: string\n    default: '\''nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main:1.9.1'\''\n  service_component_type:\n    type: string\n    default: '\''dcae-hv-ves-collector'\''\n  service_id:\n    type: string\n    default: \"dcae-hv-ves-collector\"\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  host_port:\n    type: integer\n    description: Network port that the platform service is expecting to expose on the host\n    default: 30222\n  container_port:\n    type: integer\n    description: Network port that the platform service exposes in the container\n    default: 6061\n  kafka_bootstrap_servers:\n    type: string\n    default: '\''message-router-kafka:9092'\''\n  kafka_username:\n    type: string\n    default: '\''admin'\''\n  kafka_password:\n    type: string\n    default: '\''admin_secret'\''\n  perf3gpp_kafka_topic:\n    type: string\n    default: '\''HV_VES_PERF3GPP'\''\n  log_level:\n    type: string\n    default: '\''INFO'\''\n  server_idle_timeout_sec:\n    type: integer\n    default: 300\n  cbs_request_interval_sec:\n    type: integer\n    default: 5\n  security_ssl_disable:\n    type: boolean\n    default: false\n  security_keys_key_store_file:\n    type: string\n    default: '\''/etc/ves-hv/ssl/cert.jks'\''\n  security_keys_key_store_password_file:\n    type: string\n    default: '\''/etc/ves-hv/ssl/jks.pass'\''\n  security_keys_trust_store_file:\n    type: string\n    default: '\''/etc/ves-hv/ssl/trust.jks'\''\n  security_keys_trust_store_password_file:\n    type: string\n    default: '\''/etc/ves-hv/ssl/trust.pass'\''\n  use_tls:\n    type: boolean\n    default: true\n  service_component_name_override:\n    type: string\n    default: \"dcae-hv-ves-collector\"\n  external_cert_cert_type:\n    type: string\n    description: Output type\n    default: \"JKS\"\n  external_cert_ca_name:\n    type: string\n    description: Name of Certificate Authority configured on CertService side.\n    default: \"RA\"\n  external_cert_common_name:\n    type: string\n    description: Common name which should be present in certificate.\n    default: \"dcae-hv-ves-collector\"\n  external_cert_sans:\n    type: string\n    description: \"List of Subject Alternative Names (SANs) which should be present\n      in certificate. Delimiter - , Should contain common_name value and other FQDNs\n      under which given component is accessible.\"\n    default: \"dcae-hv-ves-collector,hv-ves-collector,hv-ves\"\n  external_cert_use_external_tls:\n    type: boolean\n    description: Flag to indicate external tls enable/disable.\n    default: false\nnode_templates:\n  hv-ves:\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n              JAVA_OPTS: { concat: [ '\''-Dlogback.configurationFile=/etc/ONAP/'\'', { get_input: service_component_type }, '\''/logback.xml'\'' ] }\n    properties:\n      application_config:\n        logLevel: { get_input: log_level }\n        server.idleTimeoutSec: { get_input: server_idle_timeout_sec }\n        server.listenPort: { get_input: container_port }\n        cbs.requestIntervalSec: { get_input: cbs_request_interval_sec}\n        security.sslDisable: { get_input: security_ssl_disable }\n        security.keys.keyStoreFile: { get_input: security_keys_key_store_file }\n        security.keys.keyStorePasswordFile: { get_input: security_keys_key_store_password_file }\n        security.keys.trustStoreFile: { get_input: security_keys_trust_store_file }\n        security.keys.trustStorePasswordFile: { get_input: security_keys_trust_store_password_file }\n        streams_publishes:\n          perf3gpp:\n            type: kafka\n            aaf_credentials:\n              username: { get_input: kafka_username }\n              password: { get_input: kafka_password }\n            kafka_info:\n              bootstrap_servers: { get_input: kafka_bootstrap_servers }\n              topic_name: { get_input: perf3gpp_kafka_topic }\n      docker_config:\n        healthcheck:\n          type: script\n          script: \"/opt/ves-hv-collector/healthcheck.sh\"\n          interval: 15s\n          timeout: 2s\n        ports:\n          - { concat: [ { get_input: container_port }, '\'':'\'', { get_input: host_port } ] }\n      image: { get_input: tag_version }\n      replicas: { get_input: replicas }\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n      log_info:\n        log_directory: { concat: [ '\''/var/log/ONAP/'\'', { get_input: service_component_type } ] }\n      tls_info:\n        cert_directory: '\''/etc/ves-hv/ssl'\''\n        use_tls: { get_input: use_tls }\n      external_cert:\n        external_cert_directory: '\''/etc/ves-hv/ssl'\''\n        use_external_tls:\n          get_input: external_cert_use_external_tls\n        cert_type:\n          get_input: external_cert_cert_type\n        ca_name:\n          get_input: external_cert_ca_name\n        external_certificate_parameters:\n          common_name:\n            get_input: external_cert_common_name\n          sans:\n            get_input: external_cert_sans\n    type: dcae.nodes.ContainerizedServiceComponent\n'
+ echo '
   {
    "vnfTypes": [],
    "owner": "dcaeorch",
    "typeVersion": 2112091153,
    "typeName": "k8s-hv-ves",
    "component": "dcae",
    "application": "DCAE",
    "blueprintTemplate": "# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START========================================================\n# =================================================================================\n# Copyright (C) 2018-2019 NOKIA\n# Modifications Copyright (c) 2020-2021 AT&T Intellectual Property.  All Rights Reserved\n# =================================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END==========================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n  tag_version:\n    type: string\n    default: '\''nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main:1.9.1'\''\n  service_component_type:\n    type: string\n    default: '\''dcae-hv-ves-collector'\''\n  service_id:\n    type: string\n    default: \"dcae-hv-ves-collector\"\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  host_port:\n    type: integer\n    description: Network port that the platform service is expecting to expose on the host\n    default: 30222\n  container_port:\n    type: integer\n    description: Network port that the platform service exposes in the container\n    default: 6061\n  kafka_bootstrap_servers:\n    type: string\n    default: '\''message-router-kafka:9092'\''\n  kafka_username:\n    type: string\n    default: '\''admin'\''\n  kafka_password:\n    type: string\n    default: '\''admin_secret'\''\n  perf3gpp_kafka_topic:\n    type: string\n    default: '\''HV_VES_PERF3GPP'\''\n  log_level:\n    type: string\n    default: '\''INFO'\''\n  server_idle_timeout_sec:\n    type: integer\n    default: 300\n  cbs_request_interval_sec:\n    type: integer\n    default: 5\n  security_ssl_disable:\n    type: boolean\n    default: false\n  security_keys_key_store_file:\n    type: string\n    default: '\''/etc/ves-hv/ssl/cert.jks'\''\n  security_keys_key_store_password_file:\n    type: string\n    default: '\''/etc/ves-hv/ssl/jks.pass'\''\n  security_keys_trust_store_file:\n    type: string\n    default: '\''/etc/ves-hv/ssl/trust.jks'\''\n  security_keys_trust_store_password_file:\n    type: string\n    default: '\''/etc/ves-hv/ssl/trust.pass'\''\n  use_tls:\n    type: boolean\n    default: true\n  service_component_name_override:\n    type: string\n    default: \"dcae-hv-ves-collector\"\n  external_cert_cert_type:\n    type: string\n    description: Output type\n    default: \"JKS\"\n  external_cert_ca_name:\n    type: string\n    description: Name of Certificate Authority configured on CertService side.\n    default: \"RA\"\n  external_cert_common_name:\n    type: string\n    description: Common name which should be present in certificate.\n    default: \"dcae-hv-ves-collector\"\n  external_cert_sans:\n    type: string\n    description: \"List of Subject Alternative Names (SANs) which should be present\n      in certificate. Delimiter - , Should contain common_name value and other FQDNs\n      under which given component is accessible.\"\n    default: \"dcae-hv-ves-collector,hv-ves-collector,hv-ves\"\n  external_cert_use_external_tls:\n    type: boolean\n    description: Flag to indicate external tls enable/disable.\n    default: false\nnode_templates:\n  hv-ves:\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n              JAVA_OPTS: { concat: [ '\''-Dlogback.configurationFile=/etc/ONAP/'\'', { get_input: service_component_type }, '\''/logback.xml'\'' ] }\n    properties:\n      application_config:\n        logLevel: { get_input: log_level }\n        server.idleTimeoutSec: { get_input: server_idle_timeout_sec }\n        server.listenPort: { get_input: container_port }\n        cbs.requestIntervalSec: { get_input: cbs_request_interval_sec}\n        security.sslDisable: { get_input: security_ssl_disable }\n        security.keys.keyStoreFile: { get_input: security_keys_key_store_file }\n        security.keys.keyStorePasswordFile: { get_input: security_keys_key_store_password_file }\n        security.keys.trustStoreFile: { get_input: security_keys_trust_store_file }\n        security.keys.trustStorePasswordFile: { get_input: security_keys_trust_store_password_file }\n        streams_publishes:\n          perf3gpp:\n            type: kafka\n            aaf_credentials:\n              username: { get_input: kafka_username }\n              password: { get_input: kafka_password }\n            kafka_info:\n              bootstrap_servers: { get_input: kafka_bootstrap_servers }\n              topic_name: { get_input: perf3gpp_kafka_topic }\n      docker_config:\n        healthcheck:\n          type: script\n          script: \"/opt/ves-hv-collector/healthcheck.sh\"\n          interval: 15s\n          timeout: 2s\n        ports:\n          - { concat: [ { get_input: container_port }, '\'':'\'', { get_input: host_port } ] }\n      image: { get_input: tag_version }\n      replicas: { get_input: replicas }\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n      log_info:\n        log_directory: { concat: [ '\''/var/log/ONAP/'\'', { get_input: service_component_type } ] }\n      tls_info:\n        cert_directory: '\''/etc/ves-hv/ssl'\''\n        use_tls: { get_input: use_tls }\n      external_cert:\n        external_cert_directory: '\''/etc/ves-hv/ssl'\''\n        use_external_tls:\n          get_input: external_cert_use_external_tls\n        cert_type:\n          get_input: external_cert_cert_type\n        ca_name:\n          get_input: external_cert_ca_name\n        external_certificate_parameters:\n          common_name:\n            get_input: external_cert_common_name\n          sans:\n            get_input: external_cert_sans\n    type: dcae.nodes.ContainerizedServiceComponent\n"
   }'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
he License.\n# ============LICENSE_END=====================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n- https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n- plugin:k8splugin?version=>=3.4.3,<4.0.0\n- plugin:dcaepolicyplugin?version=2.4.0\n- plugin:pgaas?version=1.3.0\ninputs:\n  dcae_CL_publish_url:\n    type: string\n    default: \"http://message-router.onap:3904/events/unauthenticated.DCAE_CL_OUTPUT\"\n  ves_fault_publish_url:\n    type: string\n    default: \"http://message-router.onap:3904/events/unauthenticated.SEC_FAULT_OUTPUT\"\n  msb_hostname:\n    type: string\n    default: \"msb-iag.onap\"\n  pgaas_cluster_name:\n    type: string\n    default: \"dcae-pg-primary.onap\"\n    # use the single-VM PG instance\n    #default: pgvm\n  database_name:\n    type: string\n    default: \"holmes\"\n  he_image:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/holmes/engine-management:1.3.2\"\n  service_component_type:\n    type: string\n    default: \"holmes-engine-mgmt\"\n  service_id:\n    type: string\n    default: \"holmes-engine-mgmt\"\n  service_component_name_override:\n    type: string\n    default: \"holmes-engine-mgmt\"\n  dcae-analytics-holmes-engine-mgt_cpu_limit:\n    type: string\n    default: \"500m\"\n  dcae-analytics-holmes-engine-mgt_cpu_request:\n    type: string\n    default: \"500m\"\n  dcae-analytics-holmes-engine-mgt_memory_limit:\n    type: string\n    default: \"1024Mi\"\n  dcae-analytics-holmes-engine-mgt_memory_request:\n    type: string\n    default: \"256Mi\"\nnode_templates:\n  pgaasvm:\n    type: dcae.nodes.pgaas.database\n    properties:\n      #writerfqdn: { concat: [ { get_input: pgaas_cluster_name }, '-write.' ] }\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: { get_input: database_name }\n      use_existing: true\n\n  holmesengine:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n           envs:\n            URL_JDBC:\n                { get_attribute: [ pgaasvm, admin, host ] }\n            JDBC_PASSWORD:\n                { get_attribute: [ pgaasvm, admin, password ] }\n            JDBC_USERNAME:\n                { get_attribute: [ pgaasvm, admin, user ] }\n            MSB_ADDR:\n                get_input: msb_hostname\n           ports:\n             - '9102:0'\n    properties:\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n      application_config:\n        msb.hostname:\n         get_input: msb_hostname\n        msb.uri: /api/microservices/v1/services\n        services_calls: {}\n        streams_publishes:\n          dcae_cl_out:\n            dmaap_info:\n             topic_url:\n                  get_input: dcae_CL_publish_url\n            type: message_router\n        streams_subscribes:\n          ves_fault:\n            dmaap_info:\n             topic_url:\n                  get_input: ves_fault_publish_url\n            type: message_router\n      image: { get_input: he_image }\n      # need to use truncated name!!\n      #service_component_type: dcae-analytics-holmes-engin-management\n      resource_config:\n        limits:\n          cpu:\n            get_input: dcae-analytics-holmes-engine-mgt_cpu_limit\n          memory:\n            get_input: dcae-analytics-holmes-engine-mgt_memory_limit\n        requests:\n          cpu:\n            get_input: dcae-analytics-holmes-engine-mgt_cpu_request\n          memory:\n            get_input: dcae-analytics-holmes-engine-mgt_memory_request\n    relationships:\n    - type: cloudify.relationships.depends_on\n      target: pgaasvm\n\n","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"1f6e4552-d999-4a87-84cd-d61164cb5060","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/1f6e4552-d999-4a87-84cd-d61164cb5060"},"created":1639094022501,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-holmes-rules","typeVersion":2112091153,"blueprintTemplate":"# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2017-2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END=====================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n- https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n- plugin:k8splugin?version=>=3.4.3,<4.0.0\n- plugin:dcaepolicyplugin?version=2.4.0\n- plugin:pgaas?version=1.3.0\ninputs:\n  msb_hostname:\n    type: string\n    default: \"msb-iag.onap\"\n  pgaas_cluster_name:\n    type: string\n    default: \"dcae-pg-primary.onap\"\n    # use the single-VM PG instance\n    #default: pgvm\n  database_name:\n    type: string\n    default: \"holmes\"\n  hr_image:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/holmes/rule-management:1.3.2\"\n  service_component_type:\n    type: string\n    default: \"holmes-rule-mgmt\"\n  service_id:\n    type: string\n    default: \"holmes-rule-mgmt\"\n  service_component_name_override:\n    type: string\n    default: \"holmes-rule-mgmt\"\n  dcae-analytics-holmes-rule-mgt_cpu_limit:\n    type: string\n    default: \"250m\"\n  dcae-analytics-holmes-rule-mgt_cpu_request:\n    type: string\n    default: \"250m\"\n  dcae-analytics-holmes-rule-mgt_memory_limit:\n    type: string\n    default: \"1024Mi\"\n  dcae-analytics-holmes-rule-mgt_memory_request:\n    type: string\n    default: \"256Mi\"\nnode_templates:\n  pgaasvm:\n    type: dcae.nodes.pgaas.database\n    properties:\n      #writerfqdn: { concat: [ { get_input: pgaas_cluster_name }, '-write.' ] }\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: { get_input: database_name }\n  holmesrules:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n           envs:\n            URL_JDBC:\n                { get_attribute: [ pgaasvm, admin, host ] }\n            JDBC_PASSWORD:\n                { get_attribute: [ pgaasvm, admin, password ] }\n            JDBC_USERNAME:\n                { get_attribute: [ pgaasvm, admin, user ] }\n            MSB_ADDR:\n                get_input: msb_hostname\n           ports:\n             - '9101:0'\n             - '9104:0'\n    properties:\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n      application_config:\n        holmes.default.rule.volte.scenario1: \"ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b$$$package org.onap.holmes.droolsRule;\\n\\nimport org.onap.holmes.common.dmaap.DmaapService;\\nimport org.onap.holmes.common.api.stat.VesAlarm;\\nimport org.onap.holmes.common.aai.CorrelationUtil;\\nimport org.onap.holmes.common.dmaap.entity.PolicyMsg;\\nimport org.onap.holmes.common.dropwizard.ioc.utils.ServiceLocatorHolder;\\nimport org.onap.holmes.common.utils.DroolsLog;\\n \\n\\nrule \\\"Relation_analysis_Rule\\\"\\nsalience 200\\nno-loop true\\n    when\\n        $root : VesAlarm(alarmIsCleared == 0,\\n            $sourceId: sourceId, sourceId != null && !sourceId.equals(\\\"\\\"),\\n\\t\\t\\t$sourceName: sourceName, sourceName != null && !sourceName.equals(\\\"\\\"),\\n\\t\\t\\t$startEpochMicrosec: startEpochMicrosec,\\n            eventName in (\\\"Fault_MultiCloud_VMFailure\\\"),\\n            $eventId: eventId)\\n        $child : VesAlarm( eventId != $eventId, parentId == null,\\n            CorrelationUtil.getInstance().isTopologicallyRelated(sourceId, $sourceId, $sourceName),\\n            eventName in (\\\"Fault_MME_eNodeB out of service alarm\\\"),\\n            startEpochMicrosec < $startEpochMicrosec + 60000 && startEpochMicrosec > $startEpochMicrosec - 60000 )\\n    then\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"Relation_analysis_Rule: rootId=\\\" + $root.getEventId() + \\\", childId=\\\" + $child.getEventId());\\n\\t\\t$child.setParentId($root.getEventId());\\n\\t\\tupdate($child);\\n\\t\\t\\nend\\n\\nrule \\\"root_has_child_handle_Rule\\\"\\nsalience 150\\nno-loop true\\n\\twhen\\n\\t\\t$root : VesAlarm(alarmIsCleared == 0, rootFlag == 0, $eventId: eventId)\\n\\t\\t$child : VesAlarm(eventId != $eventId, parentId == $eventId)\\n\\tthen\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"root_has_child_handle_Rule: rootId=\\\" + $root.getEventId() + \\\", childId=\\\" + $child.getEventId());\\n\\t\\tDmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);\\n\\t\\tPolicyMsg policyMsg = dmaapService.getPolicyMsg($root, $child, \\\"org.onap.holmes.droolsRule\\\");\\n        dmaapService.publishPolicyMsg(policyMsg, \\\"dcae_cl_out\\\");\\n\\t\\t$root.setRootFlag(1);\\n\\t\\tupdate($root);\\nend\\n\\nrule \\\"root_no_child_handle_Rule\\\"\\nsalience 100\\nno-loop true\\n    when\\n        $root : VesAlarm(alarmIsCleared == 0, rootFlag == 0,\\n            sourceId != null && !sourceId.equals(\\\"\\\"),\\n\\t\\t\\tsourceName != null && !sourceName.equals(\\\"\\\"),\\n            eventName in (\\\"Fault_MultiCloud_VMFailure\\\"))\\n    then\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"root_no_child_handle_Rule: rootId=\\\" + $root.getEventId());\\n\\t\\tDmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);\\n\\t\\tPolicyMsg policyMsg = dmaapService.getPolicyMsg($root, null, \\\"org.onap.holmes.droolsRule\\\");\\n        dmaapService.publishPolicyMsg(policyMsg, \\\"dcae_cl_out\\\");\\n\\t\\t$root.setRootFlag(1);\\n\\t\\tupdate($root);\\nend\\n\\nrule \\\"root_cleared_handle_Rule\\\"\\nsalience 100\\nno-loop true\\n    when\\n        $root : VesAlarm(alarmIsCleared == 1, rootFlag == 1)\\n    then\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"root_cleared_handle_Rule: rootId=\\\" + $root.getEventId());\\n\\t\\tDmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);\\n\\t\\tPolicyMsg policyMsg = dmaapService.getPolicyMsg($root, null, \\\"org.onap.holmes.droolsRule\\\");\\n        dmaapService.publishPolicyMsg(policyMsg, \\\"dcae_cl_out\\\");\\n\\t\\tretract($root);\\nend\\n\\nrule \\\"child_handle_Rule\\\"\\nsalience 100\\nno-loop true\\n    when\\n        $child : VesAlarm(alarmIsCleared == 1, rootFlag == 0)\\n    then\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"child_handle_Rule: childId=\\\" + $child.getEventId());\\n\\t\\tretract($child);\\nend\"\n        msb.hostname:\n         get_input: msb_hostname\n        msb.uri: /api/microservices/v1/services\n        services_calls: {}\n        streams_publishes: {}\n        streams_subscribes: {}\n      image: { get_input: hr_image }\n      #service_component_type: dcae-analytics-holmes-rule-management\n      resource_config:\n        limits:\n          cpu:\n            get_input: dcae-analytics-holmes-rule-mgt_cpu_limit\n          memory:\n            get_input: dcae-analytics-holmes-rule-mgt_memory_limit\n        requests:\n          cpu:\n            get_input: dcae-analytics-holmes-rule-mgt_cpu_request\n          memory:\n            get_input: dcae-analytics-holmes-rule-mgt_memory_request\n    relationships:\n    - type: cloudify.relationships.depends_on\n      target: pgaasvm\n","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"63381db6-4325-4ebf-b5e2-2ba682e07e4e","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/63381db6-4325-4ebf-b5e2-2ba682e07e4e"},"created":1639094022603,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-hv-ves","typeVersion":2112091153,"blueprintTemplate":"# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START========================================================\n# =================================================================================\n# Copyright (C) 2018-2019 NOKIA\n# Modifications Copyright (c) 2020-2021 AT&T Intellectual Property.  All Rights Reserved\n# =================================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END==========================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n  tag_version:\n    type: string\n    default: 'nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main:1.9.1'\n  service_component_type:\n    type: string\n    default: 'dcae-hv-ves-collector'\n  service_id:\n    type: string\n    default: \"dcae-hv-ves-collector\"\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  host_port:\n    type: integer\n    description: Network port that the platform service is expecting to expose on the host\n    default: 30222\n  container_port:\n    type: integer\n    description: Network port that the platform service exposes in the container\n    default: 6061\n  kafka_bootstrap_servers:\n    type: string\n    default: 'message-router-kafka:9092'\n  kafka_username:\n    type: string\n    default: 'admin'\n  kafka_password:\n    type: string\n    default: 'admin_secret'\n  perf3gpp_kafka_topic:\n    type: string\n    default: 'HV_VES_PERF3GPP'\n  log_level:\n    type: string\n    default: 'INFO'\n  server_idle_timeout_sec:\n    type: integer\n    default: 300\n  cbs_request_interval_sec:\n    type: integer\n    default: 5\n  security_ssl_disable:\n    type: boolean\n    default: false\n  security_keys_key_store_file:\n    type: string\n    default: '/etc/ves-hv/ssl/cert.jks'\n  security_keys_key_store_password_file:\n    type: string\n    default: '/etc/ves-hv/ssl/jks.pass'\n  security_keys_trust_store_file:\n    type: string\n    default: '/etc/ves-hv/ssl/trust.jks'\n  security_keys_trust_store_password_file:\n    type: string\n    default: '/etc/ves-hv/ssl/trust.pass'\n  use_tls:\n    type: boolean\n    default: true\n  service_component_name_override:\n    type: string\n    default: \"dcae-hv-ves-collector\"\n  external_cert_cert_type:\n    type: string\n    description: Output type\n    default: \"JKS\"\n  external_cert_ca_name:\n    type: string\n    description: Name of Certificate Authority configur
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 13685  100  6978  100  6707   137k   132k --:--:-- --:--:-- --:--:--  272k
+ for BP in /blueprints/*.yaml
+ upload_service_type /blueprints/k8s-kpi-ms.yaml /certs/cacert.pem
+ '[' /certs/cacert.pem ']'
+ TLSCURL='--cacert /certs/cacert.pem'
+ create_service_type /blueprints/k8s-kpi-ms.yaml
+ curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types
++ date +%y%m%d%I%M
++ basename /blueprints/k8s-kpi-ms.yaml .yaml
++ flatten /blueprints/k8s-kpi-ms.yaml
+++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g'
+++ tr -d '\n'
++ FLAT=' #\n #============LICENSE_START=======================================================\n #Copyright (C) 2021 China Mobile.\n #Copyright (C) 2021 Nokia\n # Copyright (c) 2021 AT&T Intellectual Property. All rights reserved.\n #==============================================================================\n #Licensed under the Apache License, Version 2.0 (the \"License\");\n #you may not use this file except in compliance with the License.\n #You may obtain a copy of the License at\n #\n #    http://www.apache.org/licenses/LICENSE-2.0\n #\n #Unless required by applicable law or agreed to in writing, software\n #distributed under the License is distributed on an \"AS IS\" BASIS,\n #WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n #See the License for the specific language governing permissions and\n #limitations under the License.\n #============LICENSE_END=========================================================\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - '\''http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'\''\n  - plugin:dmaap?version=>=1.5.1,<2.0.0\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n  replicas:\n    type: integer\n    description: replica count for deployment\n    default: 1\n  tag_version:\n    type: string\n    description: docker image name and version\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.components.kpi-ms:1.0.1\"\n  aaf_username:\n    type: string\n    description: aaf username\n    default: \"dcae@dcae.onap.org\"\n  aaf_password:\n    type: string\n    description: aaf password\n    default: \"demo123456!\"\n  dmaap_polling_interval:\n    type: integer\n    description: dmaap polling interval\n    default: 20\n  cbs_polling_interval:\n    type: integer\n    description: cbs polling interval\n    default: 60\n  dmaap_polling_timeout:\n    type: integer\n    description: dmaap polling timeout\n    default: 60\n  dmaap:\n    type: string\n    description: dmaap server\n    default: \"message-router\"\n  cg:\n    type: string\n    description: consumer group\n    default: \"kpi-cg\"\n  cid:\n    type: string\n    description: consumer id\n    default: \"kpi-cid\"\n  log_path:\n    type: string\n    description: log location in host\n    default: \"/dockerdata-nfs/kpi-ms\"\n  performance_management_topic_url:\n    type: string\n    description: performance measurement topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/org.onap.dmaap.mr.PERFORMANCE_MEASUREMENTS\"\n  dcae_kpi_topic_url:\n    type: string\n    description: dcae control loop topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.DCAE_KPI_OUTPUT\"\nnode_templates:\n  kpims:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n              STANDALONE: \"false\"\n            ports:\n              - \"8080:0\"\n            volumes:\n              - host:\n                  path: { get_input: log_path }\n                container:\n                  bind: /home/kpims/logs\n                  mode: rw\n    properties:\n      image:\n        get_input: tag_version\n      service_component_type: '\''dcae-kpi-ms'\''\n      service_id: '\''kpims'\''\n      service_component_name_override: '\''dcae-kpi-ms'\''\n      always_pull_image: true\n      replicas: {get_input: replicas}\n      docker_config:\n        healthcheck:\n          endpoint: /healthcheck\n          interval: 15s\n          timeout: 1s\n          type: http\n      tls_info:\n        cert_directory: '\''/opt/app/kpims/etc/cert/'\''\n        use_tls: true\n      application_config:\n        aafUsername: { get_input: aaf_username }\n        aafPassword: { get_input: aaf_password }\n        trust_store_path: '\''/opt/app/kpims/etc/cert/trust.jks'\''\n        trust_store_pass_path: '\''/opt/app/kpims/etc/cert/trust.pass'\''\n        streams_subscribes:\n          performance_management_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: performance_management_topic_url }\n            type: message-router\n        streams_publishes:\n          kpi_topic:\n            dmaap_info:\n              topic_url: { get_input: dcae_kpi_topic_url }\n            type: message-router\n        pollingInterval: { get_input: dmaap_polling_interval}\n        pollingTimeout: { get_input: dmaap_polling_timeout }\n        cbsPollingInterval: { get_input: cbs_polling_interval }\n        dmaap.server:\n          - { get_input: dmaap }\n        cg: { get_input: cg }\n        cid: { get_input: cid }\n        kpi.policy:\n          '\''{\"domain\":\"measurementsForKpi\",\"methodForKpi\":[{\"eventName\":\"perf3gpp_CORE-AMF_pmMeasResult\",\"controlLoopSchemaType\":\"SLICE\",\"policyScope\":\"resource=networkSlice;type=configuration\",\"policyName\":\"configuration.dcae.microservice.kpi-computation\",\"policyVersion\":\"v0.0.1\",\"kpis\":[{\"measType\":\"AMFRegNbr\",\"operation\":\"SUM\",\"operands\":\"RM.RegisteredSubNbrMean\"}]},{\"eventName\":\"perf3gpp_CORE-UPF_pmMeasResult\",\"controlLoopSchemaType\":\"SLICE\",\"policyScope\":\"resource=networkSlice;type=configuration\",\"policyName\":\"configuration.dcae.microservice.kpi-computation\",\"policyVersion\":\"v0.0.1\",\"kpis\":[{\"measType\":\"UpstreamThr\",\"operation\":\"SUM\",\"operands\":\"GTP.InDataOctN3UPF\"},{\"measType\":\"DownstreamThr\",\"operation\":\"SUM\",\"operands\":\"GTP.OutDataOctN3UPF\"}]}]}'\''\n\n'
++ echo ' #\n #============LICENSE_START=======================================================\n #Copyright (C) 2021 China Mobile.\n #Copyright (C) 2021 Nokia\n # Copyright (c) 2021 AT&T Intellectual Property. All rights reserved.\n #==============================================================================\n #Licensed under the Apache License, Version 2.0 (the \"License\");\n #you may not use this file except in compliance with the License.\n #You may obtain a copy of the License at\n #\n #    http://www.apache.org/licenses/LICENSE-2.0\n #\n #Unless required by applicable law or agreed to in writing, software\n #distributed under the License is distributed on an \"AS IS\" BASIS,\n #WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n #See the License for the specific language governing permissions and\n #limitations under the License.\n #============LICENSE_END=========================================================\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - '\''http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'\''\n  - plugin:dmaap?version=>=1.5.1,<2.0.0\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n  replicas:\n    type: integer\n    description: replica count for deployment\n    default: 1\n  tag_version:\n    type: string\n    description: docker image name and version\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.components.kpi-ms:1.0.1\"\n  aaf_username:\n    type: string\n    description: aaf username\n    default: \"dcae@dcae.onap.org\"\n  aaf_password:\n    type: string\n    description: aaf password\n    default: \"demo123456!\"\n  dmaap_polling_interval:\n    type: integer\n    description: dmaap polling interval\n    default: 20\n  cbs_polling_interval:\n    type: integer\n    description: cbs polling interval\n    default: 60\n  dmaap_polling_timeout:\n    type: integer\n    description: dmaap polling timeout\n    default: 60\n  dmaap:\n    type: string\n    description: dmaap server\n    default: \"message-router\"\n  cg:\n    type: string\n    description: consumer group\n    default: \"kpi-cg\"\n  cid:\n    type: string\n    description: consumer id\n    default: \"kpi-cid\"\n  log_path:\n    type: string\n    description: log location in host\n    default: \"/dockerdata-nfs/kpi-ms\"\n  performance_management_topic_url:\n    type: string\n    description: performance measurement topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/org.onap.dmaap.mr.PERFORMANCE_MEASUREMENTS\"\n  dcae_kpi_topic_url:\n    type: string\n    description: dcae control loop topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.DCAE_KPI_OUTPUT\"\nnode_templates:\n  kpims:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n              STANDALONE: \"false\"\n            ports:\n              - \"8080:0\"\n            volumes:\n              - host:\n                  path: { get_input: log_path }\n                container:\n                  bind: /home/kpims/logs\n                  mode: rw\n    properties:\n      image:\n        get_input: tag_version\n      service_component_type: '\''dcae-kpi-ms'\''\n      service_id: '\''kpims'\''\n      service_component_name_override: '\''dcae-kpi-ms'\''\n      always_pull_image: true\n      replicas: {get_input: replicas}\n      docker_config:\n        healthcheck:\n          endpoint: /healthcheck\n          interval: 15s\n          timeout: 1s\n          type: http\n      tls_info:\n        cert_directory: '\''/opt/app/kpims/etc/cert/'\''\n        use_tls: true\n      application_config:\n        aafUsername: { get_input: aaf_username }\n        aafPassword: { get_input: aaf_password }\n        trust_store_path: '\''/opt/app/kpims/etc/cert/trust.jks'\''\n        trust_store_pass_path: '\''/opt/app/kpims/etc/cert/trust.pass'\''\n        streams_subscribes:\n          performance_management_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: performance_management_topic_url }\n            type: message-router\n        streams_publishes:\n          kpi_topic:\n            dmaap_info:\n              topic_url: { get_input: dcae_kpi_topic_url }\n            type: message-router\n        pollingInterval: { get_input: dmaap_polling_interval}\n        pollingTimeout: { get_input: dmaap_polling_timeout }\n        cbsPollingInterval: { get_input: cbs_polling_interval }\n        dmaap.server:\n          - { get_input: dmaap }\n        cg: { get_input: cg }\n        cid: { get_input: cid }\n        kpi.policy:\n          '\''{\"domain\":\"measurementsForKpi\",\"methodForKpi\":[{\"eventName\":\"perf3gpp_CORE-AMF_pmMeasResult\",\"controlLoopSchemaType\":\"SLICE\",\"policyScope\":\"resource=networkSlice;type=configuration\",\"policyName\":\"configuration.dcae.microservice.kpi-computation\",\"policyVersion\":\"v0.0.1\",\"kpis\":[{\"measType\":\"AMFRegNbr\",\"operation\":\"SUM\",\"operands\":\"RM.RegisteredSubNbrMean\"}]},{\"eventName\":\"perf3gpp_CORE-UPF_pmMeasResult\",\"controlLoopSchemaType\":\"SLICE\",\"policyScope\":\"resource=networkSlice;type=configuration\",\"policyName\":\"configuration.dcae.microservice.kpi-computation\",\"policyVersion\":\"v0.0.1\",\"kpis\":[{\"measType\":\"UpstreamThr\",\"operation\":\"SUM\",\"operands\":\"GTP.InDataOctN3UPF\"},{\"measType\":\"DownstreamThr\",\"operation\":\"SUM\",\"operands\":\"GTP.OutDataOctN3UPF\"}]}]}'\''\n\n'
+ echo '
   {
    "vnfTypes": [],
    "owner": "dcaeorch",
    "typeVersion": 2112091153,
    "typeName": "k8s-kpi-ms",
    "component": "dcae",
    "application": "DCAE",
    "blueprintTemplate": " #\n #============LICENSE_START=======================================================\n #Copyright (C) 2021 China Mobile.\n #Copyright (C) 2021 Nokia\n # Copyright (c) 2021 AT&T Intellectual Property. All rights reserved.\n #==============================================================================\n #Licensed under the Apache License, Version 2.0 (the \"License\");\n #you may not use this file except in compliance with the License.\n #You may obtain a copy of the License at\n #\n #    http://www.apache.org/licenses/LICENSE-2.0\n #\n #Unless required by applicable law or agreed to in writing, software\n #distributed under the License is distributed on an \"AS IS\" BASIS,\n #WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n #See the License for the specific language governing permissions and\n #limitations under the License.\n #============LICENSE_END=========================================================\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - '\''http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'\''\n  - plugin:dmaap?version=>=1.5.1,<2.0.0\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n  replicas:\n    type: integer\n    description: replica count for deployment\n    default: 1\n  tag_version:\n    type: string\n    description: docker image name and version\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.components.kpi-ms:1.0.1\"\n  aaf_username:\n    type: string\n    description: aaf username\n    default: \"dcae@dcae.onap.org\"\n  aaf_password:\n    type: string\n    description: aaf password\n    default: \"demo123456!\"\n  dmaap_polling_interval:\n    type: integer\n    description: dmaap polling interval\n    default: 20\n  cbs_polling_interval:\n    type: integer\n    description: cbs polling interval\n    default: 60\n  dmaap_polling_timeout:\n    type: integer\n    description: dmaap polling timeout\n    default: 60\n  dmaap:\n    type: string\n    description: dmaap server\n    default: \"message-router\"\n  cg:\n    type: string\n    description: consumer group\n    default: \"kpi-cg\"\n  cid:\n    type: string\n    description: consumer id\n    default: \"kpi-cid\"\n  log_path:\n    type: string\n    description: log location in host\n    default: \"/dockerdata-nfs/kpi-ms\"\n  performance_management_topic_url:\n    type: string\n    description: performance measurement topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/org.onap.dmaap.mr.PERFORMANCE_MEASUREMENTS\"\n  dcae_kpi_topic_url:\n    type: string\n    description: dcae control loop topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.DCAE_KPI_OUTPUT\"\nnode_templates:\n  kpims:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n              STANDALONE: \"false\"\n            ports:\n              - \"8080:0\"\n            volumes:\n              - host:\n                  path: { get_input: log_path }\n                container:\n                  bind: /home/kpims/logs\n                  mode: rw\n    properties:\n      image:\n        get_input: tag_version\n      service_component_type: '\''dcae-kpi-ms'\''\n      service_id: '\''kpims'\''\n      service_component_name_override: '\''dcae-kpi-ms'\''\n      always_pull_image: true\n      replicas: {get_input: replicas}\n      docker_config:\n        healthcheck:\n          endpoint: /healthcheck\n          interval: 15s\n          timeout: 1s\n          type: http\n      tls_info:\n        cert_directory: '\''/opt/app/kpims/etc/cert/'\''\n        use_tls: true\n      application_config:\n        aafUsername: { get_input: aaf_username }\n        aafPassword: { get_input: aaf_password }\n        trust_store_path: '\''/opt/app/kpims/etc/cert/trust.jks'\''\n        trust_store_pass_path: '\''/opt/app/kpims/etc/cert/trust.pass'\''\n        streams_subscribes:\n          performance_management_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: performance_management_topic_url }\n            type: message-router\n        streams_publishes:\n          kpi_topic:\n            dmaap_info:\n              topic_url: { get_input: dcae_kpi_topic_url }\n            type: message-router\n        pollingInterval: { get_input: dmaap_polling_interval}\n        pollingTimeout: { get_input: dmaap_polling_timeout }\n        cbsPollingInterval: { get_input: cbs_polling_interval }\n        dmaap.server:\n          - { get_input: dmaap }\n        cg: { get_input: cg }\n        cid: { get_input: cid }\n        kpi.policy:\n          '\''{\"domain\":\"measurementsForKpi\",\"methodForKpi\":[{\"eventName\":\"perf3gpp_CORE-AMF_pmMeasResult\",\"controlLoopSchemaType\":\"SLICE\",\"policyScope\":\"resource=networkSlice;type=configuration\",\"policyName\":\"configuration.dcae.microservice.kpi-computation\",\"policyVersion\":\"v0.0.1\",\"kpis\":[{\"measType\":\"AMFRegNbr\",\"operation\":\"SUM\",\"operands\":\"RM.RegisteredSubNbrMean\"}]},{\"eventName\":\"perf3gpp_CORE-UPF_pmMeasResult\",\"controlLoopSchemaType\":\"SLICE\",\"policyScope\":\"resource=networkSlice;type=configuration\",\"policyName\":\"configuration.dcae.microservice.kpi-computation\",\"policyVersion\":\"v0.0.1\",\"kpis\":[{\"measType\":\"UpstreamThr\",\"operation\":\"SUM\",\"operands\":\"GTP.InDataOctN3UPF\"},{\"measType\":\"DownstreamThr\",\"operation\":\"SUM\",\"operands\":\"GTP.OutDataOctN3UPF\"}]}]}'\''\n\n"
   }'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 11891  100  6081  100  5810   141k   134k --:--:-- --:--:-- --:--:--  283k
+ for BP in /blueprints/*.yaml
+ upload_service_type /blueprints/k8s-pgaas-initdb.yaml /certs/cacert.pem
+ '[' /certs/cacert.pem ']'
+ TLSCURL='--cacert /certs/cacert.pem'
+ create_service_type /blueprints/k8s-pgaas-initdb.yaml
+ curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types
++ date +%y%m%d%I%M
++ basename /blueprints/k8s-pgaas-initdb.yaml .yaml
++ flatten /blueprints/k8s-pgaas-initdb.yaml
+++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g'
+++ tr -d '\n'
++ FLAT='# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# org.onap.dcae\n# =============================================================================\n# Copyright (c) 2017-2020 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\ndescription: |-\n  This blueprint is used to take control of a postgres server instance for use by cloudify-managed applications.\n  This blueprint depends upon the deployment of the pgaas_plugin and an existing postgres server instance.\n  This blueprint is part of a suite of three blueprints:\n  k8s-pgaas-initdb takes control of the postgres server instance.\n  k8s-pgaas-database creates a database, roles and credentials associated with the database.\n  k8s-pgaas-getdbinfo shows how an application can access a database (including its roles and credentials) that was already created with k8s-pgaas-database.\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:relationshipplugin?version=1.1.0\n  - plugin:sshkeyshare?version=1.2.0\n  - plugin:pgaas?version=1.3.0\n\ninputs:\n  blueprint_version:\n    type: string\n    default: '\''2018-04-27T00:31:38+0000'\''\n\n  pgaas_cluster_name:\n    type: string\n    default: pghelm\n\n  k8s_pgaas_instance_fqdn:\n    type: string\n\n  k8s_initial_password:\n    type: string\n    default: '\'''\''\n\nnode_templates:\n\n  # tie to pgaas_plugin database\n  pgaas_cluster:\n    type: dcae.nodes.pgaas.cluster\n    properties:\n      writerfqdn: { get_input: k8s_pgaas_instance_fqdn }\n      readerfqdn: { get_input: k8s_pgaas_instance_fqdn }\n      initialpassword: { get_input: k8s_initial_password }\n    relationships:\n      - type: dcae.relationships.pgaas_cluster_uses_sshkeypair\n        target: sharedsshkey_pgrs\n\n  sharedsshkey_pgrs:\n    type: dcaegen2.nodes.ssh.keypair\n\n\noutputs:\n  blueprint_version:\n    value: { get_input: blueprint_version }\n'
++ echo '# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# org.onap.dcae\n# =============================================================================\n# Copyright (c) 2017-2020 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\ndescription: |-\n  This blueprint is used to take control of a postgres server instance for use by cloudify-managed applications.\n  This blueprint depends upon the deployment of the pgaas_plugin and an existing postgres server instance.\n  This blueprint is part of a suite of three blueprints:\n  k8s-pgaas-initdb takes control of the postgres server instance.\n  k8s-pgaas-database creates a database, roles and credentials associated with the database.\n  k8s-pgaas-getdbinfo shows how an application can access a database (including its roles and credentials) that was already created with k8s-pgaas-database.\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:relationshipplugin?version=1.1.0\n  - plugin:sshkeyshare?version=1.2.0\n  - plugin:pgaas?version=1.3.0\n\ninputs:\n  blueprint_version:\n    type: string\n    default: '\''2018-04-27T00:31:38+0000'\''\n\n  pgaas_cluster_name:\n    type: string\n    default: pghelm\n\n  k8s_pgaas_instance_fqdn:\n    type: string\n\n  k8s_initial_password:\n    type: string\n    default: '\'''\''\n\nnode_templates:\n\n  # tie to pgaas_plugin database\n  pgaas_cluster:\n    type: dcae.nodes.pgaas.cluster\n    properties:\n      writerfqdn: { get_input: k8s_pgaas_instance_fqdn }\n      readerfqdn: { get_input: k8s_pgaas_instance_fqdn }\n      initialpassword: { get_input: k8s_initial_password }\n    relationships:\n      - type: dcae.relationships.pgaas_cluster_uses_sshkeypair\n        target: sharedsshkey_pgrs\n\n  sharedsshkey_pgrs:\n    type: dcaegen2.nodes.ssh.keypair\n\n\noutputs:\n  blueprint_version:\n    value: { get_input: blueprint_version }\n'
+ echo '
   {
    "vnfTypes": [],
    "owner": "dcaeorch",
    "typeVersion": 2112091153,
    "typeName": "k8s-pgaas-initdb",
    "component": "dcae",
    "application": "DCAE",
    "blueprintTemplate": "# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# org.onap.dcae\n# =============================================================================\n# Copyright (c) 2017-2020 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\ndescription: |-\n  This blueprint is used to take control of a postgres server instance for use by cloudify-managed applications.\n  This blueprint depends upon the deployment of the pgaas_plugin and an existing postgres server instance.\n  This blueprint is part of a suite of three blueprints:\n  k8s-pgaas-initdb takes control of the postgres server instance.\n  k8s-pgaas-database creates a database, roles and credentials associated with the database.\n  k8s-pgaas-getdbinfo shows how an application can access a database (including its roles and credentials) that was already created with k8s-pgaas-database.\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:relationshipplugin?version=1.1.0\n  - plugin:sshkeyshare?version=1.2.0\n  - plugin:pgaas?version=1.3.0\n\ninputs:\n  blueprint_version:\n    type: string\n    default: '\''2018-04-27T00:31:38+0000'\''\n\n  pgaas_cluster_name:\n    type: string\n    default: pghelm\n\n  k8s_pgaas_instance_fqdn:\n    type: string\n\n  k8s_initial_password:\n    type: string\n    default: '\'''\''\n\nnode_templates:\n\n  # tie to pgaas_plugin database\n  pgaas_cluster:\n    type: dcae.nodes.pgaas.cluster\n    properties:\n      writerfqdn: { get_input: k8s_pgaas_instance_fqdn }\n      readerfqdn: { get_input: k8s_pgaas_instance_fqdn }\n      initialpassword: { get_input: k8s_initial_password }\n    relationships:\n      - type: dcae.relationships.pgaas_cluster_uses_sshkeypair\n        target: sharedsshkey_pgrs\n\n  sharedsshkey_pgrs:\n    type: dcaegen2.nodes.ssh.keypair\n\n\noutputs:\n  blueprint_version:\n    value: { get_input: blueprint_version }\n"
   }'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  6097  100  3184  100  2913  83734  76607 --:--:-- --:--:-- --:--:--  160k
+ for BP in /blueprints/*.yaml
+ upload_service_type /blueprints/k8s-pm-mapper.yaml /certs/cacert.pem
+ '[' /certs/cacert.pem ']'
+ TLSCURL='--cacert /certs/cacert.pem'
+ create_service_type /blueprints/k8s-pm-mapper.yaml
+ curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types
++ date +%y%m%d%I%M
++ basename /blueprints/k8s-pm-mapper.yaml .yaml
++ flatten /blueprints/k8s-pm-mapper.yaml
+++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g'
+++ tr -d '\n'
++ FLAT='#\n# ============LICENSE_START=======================================================\n#  Copyright (C) 2019-2020 Nordix Foundation.\n#  Copyright (C) 2020-2021 Nokia\n#  Modifications Copyright (C) 2021 by Samsung Electronics Co., Ltd.\n#  Copyright (c) 2021 AT&T Intellectual Property. All rights reserved.\n# ================================================================================\n# Licensed under the Apache License, Version 2.0 (the '\''License'\'');\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an '\''AS IS'\'' BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n# SPDX-License-Identifier: Apache-2.0\n# ============LICENSE_END=========================================================\n#\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - '\''http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'\''\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:dmaap?version=>=1.5.1,<2.0.0\n\ninputs:\n  filter:\n    type: string\n    description: PM Mapper filter on measInfo, measInfoId, measType, instanceId\n    default: \"{ \\\"filters\\\":[] }\"\n  enable_http:\n    type: boolean\n    description: Option to turn on HTTP connections\n    default: false\n  tag_version:\n    type: string\n    description: Docker image to be used\n    default: '\''nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pm-mapper:1.7.2'\''\n  replicas:\n    type: integer\n    description: Number of instances\n    default: 1\n  feed_name:\n    type: string\n    default: '\''bulk_pm_feed'\''\n  topic_name:\n    type: string\n    default: '\''PERFORMANCE_MEASUREMENTS'\''\n  client_role:\n    type: string\n    description: Client role to request secure access to topic\n    default: '\''org.onap.dcae.pmPublisher'\''\n  client_id:\n    type: string\n    description: Client id for given AAF client\n    default: '\''dcae@dcae.onap.org'\''\n  client_password:\n    type: string\n    description: Password for AAF client provided as client_id\n    default: '\''demo123456!'\''\n  dmaap_dr_username:\n    type: string\n    description: DMAAP Data Router user name\n    default: '\''username'\''\n  dmaap_dr_password:\n    type: string\n    description: DMAAP Data Router password\n    default: '\''password'\''\n  dcae_location:\n    type: string\n    description: DCAE location for the subscriber, used to set up routing\n    default: '\''san-francisco'\''\n  pm_mapper_service_protocol:\n    type: string\n    description: PM Mapper protocol\n    default: '\''https'\''\n  pm_mapper_service_port:\n    type: string\n    description: PM Mapper host port\n    default: '\''8443'\''\n  dmaap_dr_service_host:\n    type: string\n    description: DMAAP Data Router host address\n    default: '\''dmaap-dr-node'\''\n  dmaap_dr_service_port:\n    type: string\n    description: DMAAP Data Router host port\n    default: '\''8443'\''\n  dmaap_mr_service_protocol:\n    type: string\n    description: DMAAP Message Router protocol\n    default: '\''https'\''\n  dmaap_mr_service_host:\n    type: string\n    description: DMAAP Message Router host address\n    default: '\''message-router'\''\n  dmaap_mr_service_port:\n    type: string\n    description: DMAAP Message Router host port\n    default: '\''3905'\''\n  cpu_limit:\n    type: string\n    default: '\''1000m'\''\n  cpu_request:\n    type: string\n    default: '\''1000m'\''\n  memory_limit:\n    type: string\n    default: '\''1024Mi'\''\n  memory_request:\n    type: string\n    default: '\''1024Mi'\''\n\nnode_templates:\n  pm-feed:\n    type: dcaegen2.nodes.Feed\n    properties:\n      feed_name: { get_input: feed_name }\n      useExisting: true\n\n  pm-topic:\n    type: dcaegen2.nodes.Topic\n    properties:\n      topic_name: { get_input: topic_name }\n\n  pm-mapper:\n    type: dcae.nodes.ContainerizedServiceComponentUsingDmaap\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        create:\n          inputs:\n            ports:\n              - '\''8443:0'\''\n              - '\''8081:0'\''\n\n    relationships:\n      - type: dcaegen2.relationships.subscribe_to_files\n        target: pm-feed\n      - type: dcaegen2.relationships.publish_events\n        target: pm-topic\n\n    properties:\n      service_component_type: '\''dcae-pm-mapper'\''\n      service_component_name_override: '\''dcae-pm-mapper'\''\n      application_config:\n        trust_store_path: '\''/opt/app/pm-mapper/etc/cert/trust.jks'\''\n        trust_store_pass_path: '\''/opt/app/pm-mapper/etc/cert/trust.pass'\''\n        key_store_path: '\''/opt/app/pm-mapper/etc/cert/cert.jks'\''\n        key_store_pass_path: '\''/opt/app/pm-mapper/etc/cert/jks.pass'\''\n        pm-mapper-filter: { get_input: filter }\n        enable_http: { get_input: enable_http }\n        dmaap_dr_delete_endpoint: { concat: ['\''https://'\'',{ get_input: dmaap_dr_service_host },'\'':'\'',{ get_input: dmaap_dr_service_port },'\''/delete'\''] }\n        aaf_identity: { get_input: client_id }\n        aaf_password: { get_input: client_password }\n        streams_subscribes:\n          dmaap_subscriber:\n            type: data_router\n            dmaap_info: <>\n        streams_publishes:\n          dmaap_publisher:\n            type: message_router\n            dmaap_info: <>\n      resource_config:\n        limits:\n          cpu: { get_input: cpu_limit }\n          memory: { get_input: memory_limit }\n        requests:\n          cpu: { get_input: cpu_request }\n          memory: { get_input: memory_request }\n      docker_config:\n        healthcheck:\n          endpoint: /healthcheck\n          interval: 15s\n          timeout: 1s\n          type: https\n      streams_publishes:\n        - name: pm-topic\n          location: { get_input: dcae_location }\n          client_role: { get_input: client_role }\n          type: message-router\n      streams_subscribes:\n        - name: pm-feed\n          location: { get_input: dcae_location }\n          client_role: { get_input: client_role }\n          username: { get_input: dmaap_dr_username }\n          password: { get_input: dmaap_dr_password }\n          scheme: { get_input: pm_mapper_service_protocol }\n          route: delivery\n          delivery_url: '\'''\''\n          privileged: true\n          decompress: true\n          type: data_router\n      image: { get_input: tag_version }\n      replicas: { get_input: replicas }\n      log_info:\n        log_directory: '\''/var/log/ONAP/dcaegen2/services/pm-mapper'\''\n      tls_info:\n        cert_directory: '\''/opt/app/pm-mapper/etc/cert/'\''\n        use_tls: true\n'
++ echo '#\n# ============LICENSE_START=======================================================\n#  Copyright (C) 2019-2020 Nordix Foundation.\n#  Copyright (C) 2020-2021 Nokia\n#  Modifications Copyright (C) 2021 by Samsung Electronics Co., Ltd.\n#  Copyright (c) 2021 AT&T Intellectual Property. All rights reserved.\n# ================================================================================\n# Licensed under the Apache License, Version 2.0 (the '\''License'\'');\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an '\''AS IS'\'' BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n# SPDX-License-Identifier: Apache-2.0\n# ============LICENSE_END=========================================================\n#\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - '\''http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'\''\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:dmaap?version=>=1.5.1,<2.0.0\n\ninputs:\n  filter:\n    type: string\n    description: PM Mapper filter on measInfo, measInfoId, measType, instanceId\n    default: \"{ \\\"filters\\\":[] }\"\n  enable_http:\n    type: boolean\n    description: Option to turn on HTTP connections\n    default: false\n  tag_version:\n    type: string\n    description: Docker image to be used\n    default: '\''nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pm-mapper:1.7.2'\''\n  replicas:\n    type: integer\n    description: Number of instances\n    default: 1\n  feed_name:\n    type: string\n    default: '\''bulk_pm_feed'\''\n  topic_name:\n    type: string\n    default: '\''PERFORMANCE_MEASUREMENTS'\''\n  client_role:\n    type: string\n    description: Client role to request secure access to topic\n    default: '\''org.onap.dcae.pmPublisher'\''\n  client_id:\n    type: string\n    description: Client id for given AAF client\n    default: '\''dcae@dcae.onap.org'\''\n  client_password:\n    type: string\n    description: Password for AAF client provided as client_id\n    default: '\''demo123456!'\''\n  dmaap_dr_username:\n    type: string\n    description: DMAAP Data Router user name\n    default: '\''username'\''\n  dmaap_dr_password:\n    type: string\n    description: DMAAP Data Router password\n    default: '\''password'\''\n  dcae_location:\n    type: string\n    description: DCAE location for the subscriber, used to set up routing\n    default: '\''san-francisco'\''\n  pm_mapper_service_protocol:\n    type: string\n    description: PM Mapper protocol\n    default: '\''https'\''\n  pm_mapper_service_port:\n    type: string\n    description: PM Mapper host port\n    default: '\''8443'\''\n  dmaap_dr_service_host:\n    type: string\n    description: DMAAP Data Router host address\n    default: '\''dmaap-dr-node'\''\n  dmaap_dr_service_port:\n    type: string\n    description: DMAAP Data Router host port\n    default: '\''8443'\''\n  dmaap_mr_service_protocol:\n    type: string\n    description: DMAAP Message Router protocol\n    default: '\''https'\''\n  dmaap_mr_service_host:\n    type: string\n    description: DMAAP Message Router host address\n    default: '\''message-router'\''\n  dmaap_mr_service_port:\n    type: string\n    description: DMAAP Message Router host port\n    default: '\''3905'\''\n  cpu_limit:\n    type: string\n    default: '\''1000m'\''\n  cpu_request:\n    type: string\n    default: '\''1000m'\''\n  memory_limit:\n    type: string\n    default: '\''1024Mi'\''\n  memory_request:\n    type: string\n    default: '\''1024Mi'\''\n\nnode_templates:\n  pm-feed:\n    type: dcaegen2.nodes.Feed\n    properties:\n      feed_name: { get_input: feed_name }\n      useExisting: true\n\n  pm-topic:\n    type: dcaegen2.nodes.Topic\n    properties:\n      topic_name: { get_input: topic_name }\n\n  pm-mapper:\n    type: dcae.nodes.ContainerizedServiceComponentUsingDmaap\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        create:\n          inputs:\n            ports:\n              - '\''8443:0'\''\n              - '\''8081:0'\''\n\n    relationships:\n      - type: dcaegen2.relationships.subscribe_to_files\n        target: pm-feed\n      - type: dcaegen2.relationships.publish_events\n        target: pm-topic\n\n    properties:\n      service_component_type: '\''dcae-pm-mapper'\''\n      service_component_name_override: '\''dcae-pm-mapper'\''\n      application_config:\n        trust_store_path: '\''/opt/app/pm-mapper/etc/cert/trust.jks'\''\n        trust_store_pass_path: '\''/opt/app/pm-mapper/etc/cert/trust.pass'\''\n        key_store_path: '\''/opt/app/pm-mapper/etc/cert/cert.jks'\''\n        key_store_pass_path: '\''/opt/app/pm-mapper/etc/cert/jks.pass'\''\n        pm-mapper-filter: { get_input: filter }\n        enable_http: { get_input: enable_http }\n        dmaap_dr_delete_endpoint: { concat: ['\''https://'\'',{ get_input: dmaap_dr_service_host },'\'':'\'',{ get_input: dmaap_dr_service_port },'\''/delete'\''] }\n        aaf_identity: { get_input: client_id }\n        aaf_password: { get_input: client_password }\n        streams_subscribes:\n          dmaap_subscriber:\n            type: data_router\n            dmaap_info: <>\n        streams_publishes:\n          dmaap_publisher:\n            type: message_router\n            dmaap_info: <>\n      resource_config:\n        limits:\n          cpu: { get_input: cpu_limit }\n          memory: { get_input: memory_limit }\n        requests:\n          cpu: { get_input: cpu_request }\n          memory: { get_input: memory_request }\n      docker_config:\n        healthcheck:\n          endpoint: /healthcheck\n          interval: 15s\n          timeout: 1s\n          type: https\n      streams_publishes:\n        - name: pm-topic\n          location: { get_input: dcae_location }\n          client_role: { get_input: client_role }\n          type: message-router\n      streams_subscribes:\n        - name: pm-feed\n          location: { get_input: dcae_location }\n          client_role: { get_input: client_role }\n          username: { get_input: dmaap_dr_username }\n          password: { get_input: dmaap_dr_password }\n          scheme: { get_input: pm_mapper_service_protocol }\n          route: delivery\n          delivery_url: '\'''\''\n          privileged: true\n          decompress: true\n          type: data_router\n      image: { get_input: tag_version }\n      replicas: { get_input: replicas }\n      log_info:\n        log_directory: '\''/var/log/ONAP/dcaegen2/services/pm-mapper'\''\n      tls_info:\n        cert_directory: '\''/opt/app/pm-mapper/etc/cert/'\''\n        use_tls: true\n'
+ echo '
   {
    "vnfTypes": [],
    "owner": "dcaeorch",
    "typeVersion": 2112091153,
    "typeName": "k8s-pm-mapper",
    "component": "dcae",
    "application": "DCAE",
    "blueprintTemplate": "#\n# ============LICENSE_START=======================================================\n#  Copyright (C) 2019-2020 Nordix Foundation.\n#  Copyright (C) 2020-2021 Nokia\n#  Modifications Copyright (C) 2021 by Samsung Electronics Co., Ltd.\n#  Copyright (c) 2021 AT&T Intellectual Property. All rights reserved.\n# ================================================================================\n# Licensed under the Apache License, Version 2.0 (the '\''License'\'');\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an '\''AS IS'\'' BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n# SPDX-License-Identifier: Apache-2.0\n# ============LICENSE_END=========================================================\n#\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - '\''http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'\''\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:dmaap?version=>=1.5.1,<2.0.0\n\ninputs:\n  filter:\n    type: string\n    description: PM Mapper filter on measInfo, measInfoId, measType, instanceId\n    default: \"{ \\\"filters\\\":[] }\"\n  enable_http:\n    type: boolean\n    description: Option to turn on HTTP connections\n    default: false\n  tag_version:\n    type: string\n    description: Docker image to be used\n    default: '\''nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pm-mapper:1.7.2'\''\n  replicas:\n    type: integer\n    description: Number of instances\n    default: 1\n  feed_name:\n    type: string\n    default: '\''bulk_pm_feed'\''\n  topic_name:\n    type: string\n    default: '\''PERFORMANCE_MEASUREMENTS'\''\n  client_role:\n    type: string\n    description: Client role to request secure access to topic\n    default: '\''org.onap.dcae.pmPublisher'\''\n  client_id:\n    type: string\n    description: Client id for given AAF client\n    default: '\''dcae@dcae.onap.org'\''\n  client_password:\n    type: string\n    description: Password for AAF client provided as client_id\n    default: '\''demo123456!'\''\n  dmaap_dr_username:\n    type: string\n    description: DMAAP Data Router user name\n    default: '\''username'\''\n  dmaap_dr_password:\n    type: string\n    description: DMAAP Data Router password\n    default: '\''password'\''\n  dcae_location:\n    type: string\n    description: DCAE location for the subscriber, used to set up routing\n    default: '\''san-francisco'\''\n  pm_mapper_service_protocol:\n    type: string\n    description: PM Mapper protocol\n    default: '\''https'\''\n  pm_mapper_service_port:\n    type: string\n    description: PM Mapper host port\n    default: '\''8443'\''\n  dmaap_dr_service_host:\n    type: string\n    description: DMAAP Data Router host address\n    default: '\''dmaap-dr-node'\''\n  dmaap_dr_service_port:\n    type: string\n    description: DMAAP Data Router host port\n    default: '\''8443'\''\n  dmaap_mr_service_protocol:\n    type: string\n    description: DMAAP Message Router protocol\n    default: '\''https'\''\n  dmaap_mr_service_host:\n    type: string\n    description: DMAAP Message Router host address\n    default: '\''message-router'\''\n  dmaap_mr_service_port:\n    type: string\n    description: DMAAP Message Router host port\n    default: '\''3905'\''\n  cpu_limit:\n    type: string\n    default: '\''1000m'\''\n  cpu_request:\n    type: string\n    default: '\''1000m'\''\n  memory_limit:\n    type: string\n    default: '\''1024Mi'\''\n  memory_request:\n    type: string\n    default: '\''1024Mi'\''\n\nnode_templates:\n  pm-feed:\n    type: dcaegen2.nodes.Feed\n    properties:\n      feed_name: { get_input: feed_name }\n      useExisting: true\n\n  pm-topic:\n    type: dcaegen2.nodes.Topic\n    properties:\n      topic_name: { get_input: topic_name }\n\n  pm-mapper:\n    type: dcae.nodes.ContainerizedServiceComponentUsingDmaap\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        create:\n          inputs:\n            ports:\n              - '\''8443:0'\''\n              - '\''8081:0'\''\n\n    relationships:\n      - type: dcaegen2.relationships.subscribe_to_files\n        target: pm-feed\n      - type: dcaegen2.relationships.publish_events\n        target: pm-topic\n\n    properties:\n      service_component_type: '\''dcae-pm-mapper'\''\n      service_component_name_override: '\''dcae-pm-mapper'\''\n      application_config:\n        trust_store_path: '\''/opt/app/pm-mapper/etc/cert/trust.jks'\''\n        trust_store_pass_path: '\''/opt/app/pm-mapper/etc/cert/trust.pass'\''\n        key_store_path: '\''/opt/app/pm-mapper/etc/cert/cert.jks'\''\n        key_store_pass_path: '\''/opt/app/pm-mapper/etc/cert/jks.pass'\''\n        pm-mapper-filter: { get_input: filter }\n        enable_http: { get_input: enable_http }\n        dmaap_dr_delete_endpoint: { concat: ['\''https://'\'',{ get_input: dmaap_dr_service_host },'\'':'\'',{ get_input: dmaap_dr_service_port },'\''/delete'\''] }\n        aaf_identity: { get_input: client_id }\n        aaf_password: { get_input: client_password }\n        streams_subscribes:\n          dmaap_subscriber:\n            type: data_router\n            dmaap_info: <>\n        streams_publishes:\n          dmaap_publisher:\n            type: message_router\n            dmaap_info: <>\n      resource_config:\n        limits:\n          cpu: { get_input: cpu_limit }\n          memory: { get_input: memory_limit }\n        requests:\n          cpu: { get_input: cpu_request }\n          memory: { get_input: memory_request }\n      docker_config:\n        healthcheck:\n          endpoint: /healthcheck\n          interval: 15s\n          timeout: 1s\n          type: https\n      streams_publishes:\n        - name: pm-topic\n          location: { get_input: dcae_location }\n          client_role: { get_input: client_role }\n          type: message-router\n      streams_subscribes:\n        - name: pm-feed\n          location: { get_input: dcae_location }\n          client_role: { get_input: client_role }\n          username: { get_input: dmaap_dr_username }\n          password: { get_input: dmaap_dr_password }\n          scheme: { get_input: pm_mapper_service_protocol }\n          route: delivery\n          delivery_url: '\'''\''\n          privileged: true\n          decompress: true\n          type: data_router\n      image: { get_input: tag_version }\n      replicas: { get_input: replicas }\n      log_info:\n        log_directory: '\''/var/log/ONAP/dcaegen2/services/pm-mapper'\''\n      tls_info:\n        cert_directory: '\''/opt/app/pm-mapper/etc/cert/'\''\n        use_tls: true\n"
   }'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
ed on CertService side.\n    default: \"RA\"\n  external_cert_common_name:\n    type: string\n    description: Common name which should be present in certificate.\n    default: \"dcae-hv-ves-collector\"\n  external_cert_sans:\n    type: string\n    description: \"List of Subject Alternative Names (SANs) which should be present\n      in certificate. Delimiter - , Should contain common_name value and other FQDNs\n      under which given component is accessible.\"\n    default: \"dcae-hv-ves-collector,hv-ves-collector,hv-ves\"\n  external_cert_use_external_tls:\n    type: boolean\n    description: Flag to indicate external tls enable/disable.\n    default: false\nnode_templates:\n  hv-ves:\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n              JAVA_OPTS: { concat: [ '-Dlogback.configurationFile=/etc/ONAP/', { get_input: service_component_type }, '/logback.xml' ] }\n    properties:\n      application_config:\n        logLevel: { get_input: log_level }\n        server.idleTimeoutSec: { get_input: server_idle_timeout_sec }\n        server.listenPort: { get_input: container_port }\n        cbs.requestIntervalSec: { get_input: cbs_request_interval_sec}\n        security.sslDisable: { get_input: security_ssl_disable }\n        security.keys.keyStoreFile: { get_input: security_keys_key_store_file }\n        security.keys.keyStorePasswordFile: { get_input: security_keys_key_store_password_file }\n        security.keys.trustStoreFile: { get_input: security_keys_trust_store_file }\n        security.keys.trustStorePasswordFile: { get_input: security_keys_trust_store_password_file }\n        streams_publishes:\n          perf3gpp:\n            type: kafka\n            aaf_credentials:\n              username: { get_input: kafka_username }\n              password: { get_input: kafka_password }\n            kafka_info:\n              bootstrap_servers: { get_input: kafka_bootstrap_servers }\n              topic_name: { get_input: perf3gpp_kafka_topic }\n      docker_config:\n        healthcheck:\n          type: script\n          script: \"/opt/ves-hv-collector/healthcheck.sh\"\n          interval: 15s\n          timeout: 2s\n        ports:\n          - { concat: [ { get_input: container_port }, ':', { get_input: host_port } ] }\n      image: { get_input: tag_version }\n      replicas: { get_input: replicas }\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n      log_info:\n        log_directory: { concat: [ '/var/log/ONAP/', { get_input: service_component_type } ] }\n      tls_info:\n        cert_directory: '/etc/ves-hv/ssl'\n        use_tls: { get_input: use_tls }\n      external_cert:\n        external_cert_directory: '/etc/ves-hv/ssl'\n        use_external_tls:\n          get_input: external_cert_use_external_tls\n        cert_type:\n          get_input: external_cert_cert_type\n        ca_name:\n          get_input: external_cert_ca_name\n        external_certificate_parameters:\n          common_name:\n            get_input: external_cert_common_name\n          sans:\n            get_input: external_cert_sans\n    type: dcae.nodes.ContainerizedServiceComponent\n","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"ab5df8de-bdbb-4a44-9adf-5603686c59a5","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/ab5df8de-bdbb-4a44-9adf-5603686c59a5"},"created":1639094022717,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-kpi-ms","typeVersion":2112091153,"blueprintTemplate":" #\n #============LICENSE_START=======================================================\n #Copyright (C) 2021 China Mobile.\n #Copyright (C) 2021 Nokia\n # Copyright (c) 2021 AT&T Intellectual Property. All rights reserved.\n #==============================================================================\n #Licensed under the Apache License, Version 2.0 (the \"License\");\n #you may not use this file except in compliance with the License.\n #You may obtain a copy of the License at\n #\n #    http://www.apache.org/licenses/LICENSE-2.0\n #\n #Unless required by applicable law or agreed to in writing, software\n #distributed under the License is distributed on an \"AS IS\" BASIS,\n #WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n #See the License for the specific language governing permissions and\n #limitations under the License.\n #============LICENSE_END=========================================================\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - 'http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'\n  - plugin:dmaap?version=>=1.5.1,<2.0.0\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n  replicas:\n    type: integer\n    description: replica count for deployment\n    default: 1\n  tag_version:\n    type: string\n    description: docker image name and version\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.components.kpi-ms:1.0.1\"\n  aaf_username:\n    type: string\n    description: aaf username\n    default: \"dcae@dcae.onap.org\"\n  aaf_password:\n    type: string\n    description: aaf password\n    default: \"demo123456!\"\n  dmaap_polling_interval:\n    type: integer\n    description: dmaap polling interval\n    default: 20\n  cbs_polling_interval:\n    type: integer\n    description: cbs polling interval\n    default: 60\n  dmaap_polling_timeout:\n    type: integer\n    description: dmaap polling timeout\n    default: 60\n  dmaap:\n    type: string\n    description: dmaap server\n    default: \"message-router\"\n  cg:\n    type: string\n    description: consumer group\n    default: \"kpi-cg\"\n  cid:\n    type: string\n    description: consumer id\n    default: \"kpi-cid\"\n  log_path:\n    type: string\n    description: log location in host\n    default: \"/dockerdata-nfs/kpi-ms\"\n  performance_management_topic_url:\n    type: string\n    description: performance measurement topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/org.onap.dmaap.mr.PERFORMANCE_MEASUREMENTS\"\n  dcae_kpi_topic_url:\n    type: string\n    description: dcae control loop topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.DCAE_KPI_OUTPUT\"\nnode_templates:\n  kpims:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n              STANDALONE: \"false\"\n            ports:\n              - \"8080:0\"\n            volumes:\n              - host:\n                  path: { get_input: log_path }\n                container:\n                  bind: /home/kpims/logs\n                  mode: rw\n    properties:\n      image:\n        get_input: tag_version\n      service_component_type: 'dcae-kpi-ms'\n      service_id: 'kpims'\n      service_component_name_override: 'dcae-kpi-ms'\n      always_pull_image: true\n      replicas: {get_input: replicas}\n      docker_config:\n        healthcheck:\n          endpoint: /healthcheck\n          interval: 15s\n          timeout: 1s\n          type: http\n      tls_info:\n        cert_directory: '/opt/app/kpims/etc/cert/'\n        use_tls: true\n      application_config:\n        aafUsername: { get_input: aaf_username }\n        aafPassword: { get_input: aaf_password }\n        trust_store_path: '/opt/app/kpims/etc/cert/trust.jks'\n        trust_store_pass_path: '/opt/app/kpims/etc/cert/trust.pass'\n        streams_subscribes:\n          performance_management_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: performance_management_topic_url }\n            type: message-router\n        streams_publishes:\n          kpi_topic:\n            dmaap_info:\n              topic_url: { get_input: dcae_kpi_topic_url }\n            type: message-router\n        pollingInterval: { get_input: dmaap_polling_interval}\n        pollingTimeout: { get_input: dmaap_polling_timeout }\n        cbsPollingInterval: { get_input: cbs_polling_interval }\n        dmaap.server:\n          - { get_input: dmaap }\n        cg: { get_input: cg }\n        cid: { get_input: cid }\n        kpi.policy:\n          '{\"domain\":\"measurementsForKpi\",\"methodForKpi\":[{\"eventName\":\"perf3gpp_CORE-AMF_pmMeasResult\",\"controlLoopSchemaType\":\"SLICE\",\"policyScope\":\"resource=networkSlice;type=configuration\",\"policyName\":\"configuration.dcae.microservice.kpi-computation\",\"policyVersion\":\"v0.0.1\",\"kpis\":[{\"measType\":\"AMFRegNbr\",\"operation\":\"SUM\",\"operands\":\"RM.RegisteredSubNbrMean\"}]},{\"eventName\":\"perf3gpp_CORE-UPF_pmMeasResult\",\"controlLoopSchemaType\":\"SLICE\",\"policyScope\":\"resource=networkSlice;type=configuration\",\"policyName\":\"configuration.dcae.microservice.kpi-computation\",\"policyVersion\":\"v0.0.1\",\"kpis\":[{\"measType\":\"UpstreamThr\",\"operation\":\"SUM\",\"operands\":\"GTP.InDataOctN3UPF\"},{\"measType\":\"DownstreamThr\",\"operation\":\"SUM\",\"operands\":\"GTP.OutDataOctN3UPF\"}]}]}'\n\n","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"e7e66be4-c970-4f8f-9c76-8f69a8b1ccb9","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/e7e66be4-c970-4f8f-9c76-8f69a8b1ccb9"},"created":1639094022822,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-pgaas-initdb","typeVersion":2112091153,"blueprintTemplate":"# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# org.onap.dcae\n# =============================================================================\n# Copyright (c) 2017-2020 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\ndescription: |-\n  This blueprint is used to take control of a postgres server instance for use by cloudify-managed applications.\n  This blueprint depends upon the deployment of the pgaas_plugin and an existing postgres server instance.\n  This blueprint is part of a suite of three blueprints:\n  k8s-pgaas-initdb takes control of the postgres server instance.\n  k8s-pgaas-database creates a database, roles and credentials associated with the database.\n  k8s-pgaas-getdbinfo shows how an application can access a database (including its roles and credentials) that was already created with k8s-pgaas-database.\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:relationshipplugin?version=1.1.0\n  - plugin:sshkeyshare?version=1.2.0\n  - plugin:pgaas?version=1.3.0\n\ninputs:\n  blueprint_version:\n    type: string\n    default: '2018-04-27T00:31:38+0000'\n\n  pgaas_cluster_name:\n    type: string\n    default: pghelm\n\n  k8s_pgaas_instance_fqdn:\n    type: string\n\n  k8s_initial_password:\n    type: string\n    default: ''\n\nnode_templates:\n\n  # tie to pgaas_plugin database\n  pgaas_cluster:\n    type: dcae.nodes.pgaas.cluster\n    properties:\n      writerfqdn: { get_input: k8s_pgaas_instance_fqdn }\n      readerfqdn: { get_input: k8s_pgaas_instance_fqdn }\n      initialpassword: { get_input: k8s_initial_password }\n    relationships:\n      - type: dcae.relationships.pgaas_cluster_uses_sshkeypair\n        target: sharedsshkey_pgrs\n\n  sharedsshkey_pgrs:\n    type: dcaegen2.nodes.ssh.keypair\n\n\noutputs:\n  blueprint_version:\n    value: { get_input: blueprint_version }\n","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"528e16e1-1f7a-4874-b555-85c71de06952","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/528e16e1-1f7a-4874-b555-85c71de06952"},"created":1639094022922,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-pm-mapper","typeVersion":2112091153,"blueprintTemplate":"#\n# ============LICENSE_START=======================================================\n#  Copyright (C) 2019-2020 Nordix Foundation.\n#  Copyright (C) 2020-2021 Nokia\n#  Modifications Copyright (C) 2021 by Samsung Electronics Co., Ltd.\n#  Copyright (c) 2021 AT&T Intellectual Property. All rights reserved.\n# ================================================================================\n# Licensed under the Apache License, Version 2.0 (the 'License');\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an 'AS IS' BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n# SPDX-License-Identifier: Apache-2.0\n# ============LICENSE_END=========================================================\n#\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - 'http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:dmaap?version=>=1.5.1,<2.0.0\n\ninputs:\n  filter:\n    type: string\n    description: PM Mapper filter on measInfo, measInfoId, measType, instanceId\n    default: \"{ \\\"filters\\\":[] }\"\n  enable_http:\n    type: boolean\n    description: Option to turn on HTTP connections\n    default: false\n  tag_version:\n    type: string\n    description: Docker image to be used\n    default: 'nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pm-mapper:1.7.2'\n  replicas:\n    type: integer\n    description: Number of instances\n    default: 1\n  feed_name:\n    type: string\n    default: 'bulk_pm_feed'\n  topic_name:\n    type: string\n    default: 'PERFORMANCE_MEASUREMENTS'\n  client_role:\n    type: string\n    description: Client role to request secure access to topic\n    default: 'org.onap.dcae.pmPublisher'\n  client_id:\n    type: string\n    description: Client id for given AAF client\n    default: 'dcae@dcae.onap.org'\n  client_password:\n    type: string\n    description: Password for AAF client provided as client_id\n    default: 'demo123456!'\n  dmaap_dr_username:\n    type: string\n    description: DMAAP Data Router user name\n    default: 'username'\n  dmaap_dr_password:\n    type: string\n    description: DMAAP Data Router password\n    default: 'password'\n  dcae_location:\n    type: string\n    description: DCAE location for the subscriber, used to set up routing\n    default: 'san-francisco'\n  pm_mapper_service_protocol:\n    type: string\n    description: PM Mapper protocol\n    default: 'https'\n  pm_mapper_service_port:\n    type: string\n    description: PM Mapper host port\n    default: '8443'\n  dmaap_dr_service_host:\n    type: string\n    description: DMAAP Data Router host address\n    default: 'dmaap-dr-node'\n  dmaap_dr_service_port:\n    type: string\n    description: DMAAP Data Router host port\n    default: '8443'\n  dmaap_mr_service_protocol:\n    type: string\n    description: DMAAP Message Router protocol\n    default: 'https'\n  dmaap_mr_service_host:\n    type: string\n    description: DMAAP Message
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 14107  100  7189  100  6918   151k   146k --:--:-- --:--:-- --:--:--  306k
+ for BP in /blueprints/*.yaml
+ upload_service_type /blueprints/k8s-pmsh.yaml /certs/cacert.pem
+ '[' /certs/cacert.pem ']'
+ TLSCURL='--cacert /certs/cacert.pem'
+ create_service_type /blueprints/k8s-pmsh.yaml
+ curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types
++ date +%y%m%d%I%M
++ basename /blueprints/k8s-pmsh.yaml .yaml
++ flatten /blueprints/k8s-pmsh.yaml
+++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g'
+++ tr -d '\n'
++ FLAT='#\n# ============LICENSE_START=======================================================\n#  Copyright (C) 2020-2021 Nordix Foundation.\n#  Copyright (c) 2021 AT&T Intellectual Property. All rights reserved.\n# ================================================================================\n# Licensed under the Apache License, Version 2.0 (the '\''License'\'');\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an '\''AS IS'\'' BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n# SPDX-License-Identifier: Apache-2.0\n# ============LICENSE_END=========================================================\n#\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - '\''http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'\''\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:pgaas?version=1.3.0\ninputs:\n  tag_version:\n    type: string\n    description: Docker image to be used\n    default: '\''nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pmsh:1.3.2'\''\n  replicas:\n    type: integer\n    description: Number of instances\n    default: 1\n  operational_policy_name:\n    type: string\n    default: '\''pmsh-operational-policy'\''\n  control_loop_name:\n    type: string\n    default: '\''pmsh-control-loop'\''\n  pmsh_publish_topic_name:\n    type: string\n    default: '\''unauthenticated.DCAE_CL_OUTPUT'\''\n  policy_feedback_topic_name:\n    type: string\n    default: '\''unauthenticated.PMSH_CL_INPUT'\''\n  aai_notification_topic_name:\n    type: string\n    default: '\''AAI-EVENT'\''\n  publisher_client_role:\n    type: string\n    description: Client role to request secure access to topic\n    default: '\''org.onap.dcae.pmPublisher'\''\n  subscriber_client_role:\n    type: string\n    description: Client role to request secure access to topic\n    default: '\''org.onap.dcae.pmSubscriber'\''\n  dcae_location:\n    type: string\n    description: DCAE location for the subscriber, used to set up routing\n    default: '\''san-francisco'\''\n  cpu_limit:\n    type: string\n    default: '\''1000m'\''\n  cpu_request:\n    type: string\n    default: '\''1000m'\''\n  memory_limit:\n    type: string\n    default: '\''1024Mi'\''\n  memory_request:\n    type: string\n    default: '\''1024Mi'\''\n  pgaas_cluster_name:\n    type: string\n    default: '\''dcae-pg-primary.onap'\''\n  enable_tls:\n    type: boolean\n    default: true\n  protocol:\n    type: string\n    description: PMSH protocol. If enable_tls is false, set to http\n    default: '\''https'\''\nnode_templates:\n  pgaasvm:\n    type: dcae.nodes.pgaas.database\n    properties:\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: '\''pmsh'\''\n  pmsh:\n    type: dcae.nodes.ContainerizedServiceComponentUsingDmaap\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        create:\n          inputs:\n            ports:\n              - '\''8443:0'\''\n            envs:\n              PMSH_PG_URL:\n                { get_attribute: [ pgaasvm, admin, host ] }\n              PMSH_PG_PASSWORD:\n                { get_attribute: [ pgaasvm, admin, password ] }\n              PMSH_PG_USERNAME:\n                { get_attribute: [ pgaasvm, admin, user ] }\n              PMSH_DB_NAME:\n                { get_attribute: [ pgaasvm, admin, database ] }\n\n    relationships:\n      - type: cloudify.relationships.depends_on\n        target: pgaasvm\n\n    properties:\n      service_component_type: '\''dcae-pmsh'\''\n      service_component_name_override: '\''dcae-pmsh'\''\n      application_config:\n        enable_tls: { get_input: enable_tls }\n        aaf_identity: '\''dcae@dcae.onap.org'\''\n        aaf_password: '\''demo123456!'\''\n        operational_policy_name: { get_input: operational_policy_name }\n        control_loop_name: { get_input: control_loop_name }\n        cert_path: '\''/opt/app/pmsh/etc/certs/cert.pem'\''\n        key_path: '\''/opt/app/pmsh/etc/certs/key.pem'\''\n        ca_cert_path: '\''/opt/app/pmsh/etc/certs/cacert.pem'\''\n        pmsh_policy:\n          subscription:\n            subscriptionName: ExtraPM-All-gNB-R2B\n            administrativeState: LOCKED\n            fileBasedGP: 15\n            fileLocation: \"/pm/pm.xml\"\n            nfFilter: { \"nfNames\": [ \"^pnf.*\",\"^vnf.*\" ],\"modelInvariantIDs\": [ ],\"modelVersionIDs\": [ ],\"modelNames\": [ ] }\n            measurementGroups: [ { \"measurementGroup\": { \"measurementTypes\": [ { \"measurementType\": \"countera\" },{ \"measurementType\": \"counterb\" } ],\"managedObjectDNsBasic\": [ { \"DN\": \"dna\" },{ \"DN\": \"dnb\" } ] } },{ \"measurementGroup\": { \"measurementTypes\": [ { \"measurementType\": \"counterc\" },{ \"measurementType\": \"counterd\" } ],\"managedObjectDNsBasic\": [ { \"DN\": \"dnc\" },{ \"DN\": \"dnd\" } ] } } ]\n        streams_publishes:\n          policy_pm_publisher:\n            type: message_router\n            dmaap_info:\n              topic_url: {concat: [\"https://message-router:3905/events/\", { get_input: pmsh_publish_topic_name }]}\n        streams_subscribes:\n          policy_pm_subscriber:\n            type: message_router\n            dmaap_info:\n              topic_url: {concat: [\"https://message-router:3905/events/\", { get_input: policy_feedback_topic_name }]}\n          aai_subscriber:\n            type: message_router\n            dmaap_info:\n              topic_url: {concat: [\"https://message-router:3905/events/\", { get_input: aai_notification_topic_name }]}\n      resource_config:\n        limits:\n          cpu: { get_input: cpu_limit }\n          memory: { get_input: memory_limit }\n        requests:\n          cpu: { get_input: cpu_request }\n          memory: { get_input: memory_request }\n      docker_config:\n        healthcheck:\n          endpoint: /healthcheck\n          interval: 15s\n          timeout: 1s\n          type: { get_input: protocol }\n      image: { get_input: tag_version }\n      replicas: { get_input: replicas }\n      log_info:\n        log_directory: '\''/var/log/ONAP/dcaegen2/services/pmsh'\''\n      tls_info:\n        cert_directory: '\''/opt/app/pmsh/etc/certs'\''\n        use_tls: { get_input: enable_tls }\n'
++ echo '#\n# ============LICENSE_START=======================================================\n#  Copyright (C) 2020-2021 Nordix Foundation.\n#  Copyright (c) 2021 AT&T Intellectual Property. All rights reserved.\n# ================================================================================\n# Licensed under the Apache License, Version 2.0 (the '\''License'\'');\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an '\''AS IS'\'' BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n# SPDX-License-Identifier: Apache-2.0\n# ============LICENSE_END=========================================================\n#\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - '\''http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'\''\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:pgaas?version=1.3.0\ninputs:\n  tag_version:\n    type: string\n    description: Docker image to be used\n    default: '\''nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pmsh:1.3.2'\''\n  replicas:\n    type: integer\n    description: Number of instances\n    default: 1\n  operational_policy_name:\n    type: string\n    default: '\''pmsh-operational-policy'\''\n  control_loop_name:\n    type: string\n    default: '\''pmsh-control-loop'\''\n  pmsh_publish_topic_name:\n    type: string\n    default: '\''unauthenticated.DCAE_CL_OUTPUT'\''\n  policy_feedback_topic_name:\n    type: string\n    default: '\''unauthenticated.PMSH_CL_INPUT'\''\n  aai_notification_topic_name:\n    type: string\n    default: '\''AAI-EVENT'\''\n  publisher_client_role:\n    type: string\n    description: Client role to request secure access to topic\n    default: '\''org.onap.dcae.pmPublisher'\''\n  subscriber_client_role:\n    type: string\n    description: Client role to request secure access to topic\n    default: '\''org.onap.dcae.pmSubscriber'\''\n  dcae_location:\n    type: string\n    description: DCAE location for the subscriber, used to set up routing\n    default: '\''san-francisco'\''\n  cpu_limit:\n    type: string\n    default: '\''1000m'\''\n  cpu_request:\n    type: string\n    default: '\''1000m'\''\n  memory_limit:\n    type: string\n    default: '\''1024Mi'\''\n  memory_request:\n    type: string\n    default: '\''1024Mi'\''\n  pgaas_cluster_name:\n    type: string\n    default: '\''dcae-pg-primary.onap'\''\n  enable_tls:\n    type: boolean\n    default: true\n  protocol:\n    type: string\n    description: PMSH protocol. If enable_tls is false, set to http\n    default: '\''https'\''\nnode_templates:\n  pgaasvm:\n    type: dcae.nodes.pgaas.database\n    properties:\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: '\''pmsh'\''\n  pmsh:\n    type: dcae.nodes.ContainerizedServiceComponentUsingDmaap\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        create:\n          inputs:\n            ports:\n              - '\''8443:0'\''\n            envs:\n              PMSH_PG_URL:\n                { get_attribute: [ pgaasvm, admin, host ] }\n              PMSH_PG_PASSWORD:\n                { get_attribute: [ pgaasvm, admin, password ] }\n              PMSH_PG_USERNAME:\n                { get_attribute: [ pgaasvm, admin, user ] }\n              PMSH_DB_NAME:\n                { get_attribute: [ pgaasvm, admin, database ] }\n\n    relationships:\n      - type: cloudify.relationships.depends_on\n        target: pgaasvm\n\n    properties:\n      service_component_type: '\''dcae-pmsh'\''\n      service_component_name_override: '\''dcae-pmsh'\''\n      application_config:\n        enable_tls: { get_input: enable_tls }\n        aaf_identity: '\''dcae@dcae.onap.org'\''\n        aaf_password: '\''demo123456!'\''\n        operational_policy_name: { get_input: operational_policy_name }\n        control_loop_name: { get_input: control_loop_name }\n        cert_path: '\''/opt/app/pmsh/etc/certs/cert.pem'\''\n        key_path: '\''/opt/app/pmsh/etc/certs/key.pem'\''\n        ca_cert_path: '\''/opt/app/pmsh/etc/certs/cacert.pem'\''\n        pmsh_policy:\n          subscription:\n            subscriptionName: ExtraPM-All-gNB-R2B\n            administrativeState: LOCKED\n            fileBasedGP: 15\n            fileLocation: \"/pm/pm.xml\"\n            nfFilter: { \"nfNames\": [ \"^pnf.*\",\"^vnf.*\" ],\"modelInvariantIDs\": [ ],\"modelVersionIDs\": [ ],\"modelNames\": [ ] }\n            measurementGroups: [ { \"measurementGroup\": { \"measurementTypes\": [ { \"measurementType\": \"countera\" },{ \"measurementType\": \"counterb\" } ],\"managedObjectDNsBasic\": [ { \"DN\": \"dna\" },{ \"DN\": \"dnb\" } ] } },{ \"measurementGroup\": { \"measurementTypes\": [ { \"measurementType\": \"counterc\" },{ \"measurementType\": \"counterd\" } ],\"managedObjectDNsBasic\": [ { \"DN\": \"dnc\" },{ \"DN\": \"dnd\" } ] } } ]\n        streams_publishes:\n          policy_pm_publisher:\n            type: message_router\n            dmaap_info:\n              topic_url: {concat: [\"https://message-router:3905/events/\", { get_input: pmsh_publish_topic_name }]}\n        streams_subscribes:\n          policy_pm_subscriber:\n            type: message_router\n            dmaap_info:\n              topic_url: {concat: [\"https://message-router:3905/events/\", { get_input: policy_feedback_topic_name }]}\n          aai_subscriber:\n            type: message_router\n            dmaap_info:\n              topic_url: {concat: [\"https://message-router:3905/events/\", { get_input: aai_notification_topic_name }]}\n      resource_config:\n        limits:\n          cpu: { get_input: cpu_limit }\n          memory: { get_input: memory_limit }\n        requests:\n          cpu: { get_input: cpu_request }\n          memory: { get_input: memory_request }\n      docker_config:\n        healthcheck:\n          endpoint: /healthcheck\n          interval: 15s\n          timeout: 1s\n          type: { get_input: protocol }\n      image: { get_input: tag_version }\n      replicas: { get_input: replicas }\n      log_info:\n        log_directory: '\''/var/log/ONAP/dcaegen2/services/pmsh'\''\n      tls_info:\n        cert_directory: '\''/opt/app/pmsh/etc/certs'\''\n        use_tls: { get_input: enable_tls }\n'
+ echo '
   {
    "vnfTypes": [],
    "owner": "dcaeorch",
    "typeVersion": 2112091153,
    "typeName": "k8s-pmsh",
    "component": "dcae",
    "application": "DCAE",
    "blueprintTemplate": "#\n# ============LICENSE_START=======================================================\n#  Copyright (C) 2020-2021 Nordix Foundation.\n#  Copyright (c) 2021 AT&T Intellectual Property. All rights reserved.\n# ================================================================================\n# Licensed under the Apache License, Version 2.0 (the '\''License'\'');\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an '\''AS IS'\'' BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n# SPDX-License-Identifier: Apache-2.0\n# ============LICENSE_END=========================================================\n#\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - '\''http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'\''\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:pgaas?version=1.3.0\ninputs:\n  tag_version:\n    type: string\n    description: Docker image to be used\n    default: '\''nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pmsh:1.3.2'\''\n  replicas:\n    type: integer\n    description: Number of instances\n    default: 1\n  operational_policy_name:\n    type: string\n    default: '\''pmsh-operational-policy'\''\n  control_loop_name:\n    type: string\n    default: '\''pmsh-control-loop'\''\n  pmsh_publish_topic_name:\n    type: string\n    default: '\''unauthenticated.DCAE_CL_OUTPUT'\''\n  policy_feedback_topic_name:\n    type: string\n    default: '\''unauthenticated.PMSH_CL_INPUT'\''\n  aai_notification_topic_name:\n    type: string\n    default: '\''AAI-EVENT'\''\n  publisher_client_role:\n    type: string\n    description: Client role to request secure access to topic\n    default: '\''org.onap.dcae.pmPublisher'\''\n  subscriber_client_role:\n    type: string\n    description: Client role to request secure access to topic\n    default: '\''org.onap.dcae.pmSubscriber'\''\n  dcae_location:\n    type: string\n    description: DCAE location for the subscriber, used to set up routing\n    default: '\''san-francisco'\''\n  cpu_limit:\n    type: string\n    default: '\''1000m'\''\n  cpu_request:\n    type: string\n    default: '\''1000m'\''\n  memory_limit:\n    type: string\n    default: '\''1024Mi'\''\n  memory_request:\n    type: string\n    default: '\''1024Mi'\''\n  pgaas_cluster_name:\n    type: string\n    default: '\''dcae-pg-primary.onap'\''\n  enable_tls:\n    type: boolean\n    default: true\n  protocol:\n    type: string\n    description: PMSH protocol. If enable_tls is false, set to http\n    default: '\''https'\''\nnode_templates:\n  pgaasvm:\n    type: dcae.nodes.pgaas.database\n    properties:\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: '\''pmsh'\''\n  pmsh:\n    type: dcae.nodes.ContainerizedServiceComponentUsingDmaap\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        create:\n          inputs:\n            ports:\n              - '\''8443:0'\''\n            envs:\n              PMSH_PG_URL:\n                { get_attribute: [ pgaasvm, admin, host ] }\n              PMSH_PG_PASSWORD:\n                { get_attribute: [ pgaasvm, admin, password ] }\n              PMSH_PG_USERNAME:\n                { get_attribute: [ pgaasvm, admin, user ] }\n              PMSH_DB_NAME:\n                { get_attribute: [ pgaasvm, admin, database ] }\n\n    relationships:\n      - type: cloudify.relationships.depends_on\n        target: pgaasvm\n\n    properties:\n      service_component_type: '\''dcae-pmsh'\''\n      service_component_name_override: '\''dcae-pmsh'\''\n      application_config:\n        enable_tls: { get_input: enable_tls }\n        aaf_identity: '\''dcae@dcae.onap.org'\''\n        aaf_password: '\''demo123456!'\''\n        operational_policy_name: { get_input: operational_policy_name }\n        control_loop_name: { get_input: control_loop_name }\n        cert_path: '\''/opt/app/pmsh/etc/certs/cert.pem'\''\n        key_path: '\''/opt/app/pmsh/etc/certs/key.pem'\''\n        ca_cert_path: '\''/opt/app/pmsh/etc/certs/cacert.pem'\''\n        pmsh_policy:\n          subscription:\n            subscriptionName: ExtraPM-All-gNB-R2B\n            administrativeState: LOCKED\n            fileBasedGP: 15\n            fileLocation: \"/pm/pm.xml\"\n            nfFilter: { \"nfNames\": [ \"^pnf.*\",\"^vnf.*\" ],\"modelInvariantIDs\": [ ],\"modelVersionIDs\": [ ],\"modelNames\": [ ] }\n            measurementGroups: [ { \"measurementGroup\": { \"measurementTypes\": [ { \"measurementType\": \"countera\" },{ \"measurementType\": \"counterb\" } ],\"managedObjectDNsBasic\": [ { \"DN\": \"dna\" },{ \"DN\": \"dnb\" } ] } },{ \"measurementGroup\": { \"measurementTypes\": [ { \"measurementType\": \"counterc\" },{ \"measurementType\": \"counterd\" } ],\"managedObjectDNsBasic\": [ { \"DN\": \"dnc\" },{ \"DN\": \"dnd\" } ] } } ]\n        streams_publishes:\n          policy_pm_publisher:\n            type: message_router\n            dmaap_info:\n              topic_url: {concat: [\"https://message-router:3905/events/\", { get_input: pmsh_publish_topic_name }]}\n        streams_subscribes:\n          policy_pm_subscriber:\n            type: message_router\n            dmaap_info:\n              topic_url: {concat: [\"https://message-router:3905/events/\", { get_input: policy_feedback_topic_name }]}\n          aai_subscriber:\n            type: message_router\n            dmaap_info:\n              topic_url: {concat: [\"https://message-router:3905/events/\", { get_input: aai_notification_topic_name }]}\n      resource_config:\n        limits:\n          cpu: { get_input: cpu_limit }\n          memory: { get_input: memory_limit }\n        requests:\n          cpu: { get_input: cpu_request }\n          memory: { get_input: memory_request }\n      docker_config:\n        healthcheck:\n          endpoint: /healthcheck\n          interval: 15s\n          timeout: 1s\n          type: { get_input: protocol }\n      image: { get_input: tag_version }\n      replicas: { get_input: replicas }\n      log_info:\n        log_directory: '\''/var/log/ONAP/dcaegen2/services/pmsh'\''\n      tls_info:\n        cert_directory: '\''/opt/app/pmsh/etc/certs'\''\n        use_tls: { get_input: enable_tls }\n"
   }'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 13359  100  6815  100  6544   135k   130k --:--:-- --:--:-- --:--:--  266k
+ for BP in /blueprints/*.yaml
+ upload_service_type /blueprints/k8s-prh.yaml /certs/cacert.pem
+ '[' /certs/cacert.pem ']'
+ TLSCURL='--cacert /certs/cacert.pem'
+ create_service_type /blueprints/k8s-prh.yaml
+ curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types
++ date +%y%m%d%I%M
++ basename /blueprints/k8s-prh.yaml .yaml
++ flatten /blueprints/k8s-prh.yaml
+++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g'
+++ tr -d '\n'
++ FLAT='# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2018-2020 AT&T\n# Copyright (c) 2018-2020 NOKIA\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n  pnfUrl:\n    type: string\n    default: \"https://aai.onap.svc.cluster.local:8443/aai/v23/network/pnfs/pnf\"\n  baseUrl:\n    type: string\n    default: \"https://aai.onap.svc.cluster.local:8443/aai/v23\"\n  aaiEnrichmentHost:\n    type: string\n    default: \"aai.onap.svc.cluster.local\"\n  aaiEnrichmentPort:\n    type: integer\n    default: 8443\n  aaiEnrichmentUser:\n    type: string\n    description: aai user name\n    default: \"AAI\"\n  aaiEnrichmentPasswd:\n    type: string\n    description: aai password\n    default: \"AAI\"\n  dmaap_pnfReady_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.PNF_READY\"\n  dmaap_vesPnfRegOutput_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT\"\n  dmaap_pnfUpdate_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.PNF_UPDATE\"\n  dmaap_user:\n    type: string\n    description: dmap user name\n    default: \"admin\"\n  dmaap_passwd:\n    type: string\n    description: dmap password\n    default: \"admin\"\n  tag_version:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.prh.prh-app-server:1.7.1\"\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  host_port:\n    description: port on Kubernetes host where PRH API will be exposed\n    default: 0\n  container_port:\n    type: integer\n    description: Network port that the platform service exposes in the container\n    default: 8100\n  service_component_type:\n    type: string\n    default: \"dcae-prh\"\n  service_id:\n    type: string\n    default: \"dcae-prh\"\n  secureEnableCert:\n    type: boolean\n    description: enable certificate base connection with AAI and DMaap\n    default: false\n  service_component_name_override:\n    type: string\n    default: \"dcae-prh\"\nnode_templates:\n  prh:\n    properties:\n      application_config:\n        dmaap.dmaapConsumerConfiguration.dmaapUserName: { get_input: dmaap_user }\n        dmaap.dmaapConsumerConfiguration.dmaapUserPassword: { get_input: dmaap_passwd }\n        dmaap.dmaapConsumerConfiguration.dmaapContentType: \"application/json\"\n        dmaap.dmaapConsumerConfiguration.consumerId: \"c12\"\n        dmaap.dmaapConsumerConfiguration.consumerGroup: \"OpenDCAE-c12\"\n        dmaap.dmaapConsumerConfiguration.timeoutMs: -1\n        dmaap.dmaapProducerConfiguration.dmaapUserName: { get_input: dmaap_user }\n        dmaap.dmaapProducerConfiguration.dmaapUserPassword: { get_input: dmaap_passwd }\n        dmaap.dmaapProducerConfiguration.dmaapContentType: \"application/json\"\n        dmaap.dmaapUpdateProducerConfiguration.dmaapUserName: { get_input: dmaap_user }\n        dmaap.dmaapUpdateProducerConfiguration.dmaapUserPassword: { get_input: dmaap_passwd }\n        dmaap.dmaapUpdateProducerConfiguration.dmaapContentType: \"application/json\"\n        aai.aaiClientConfiguration.pnfUrl: { get_input: pnfUrl }\n        aai.aaiClientConfiguration.baseUrl: { get_input: baseUrl }\n        aai.aaiClientConfiguration.aaiHost: { get_input: aaiEnrichmentHost }\n        aai.aaiClientConfiguration.aaiHostPortNumber: { get_input: aaiEnrichmentPort }\n        aai.aaiClientConfiguration.aaiProtocol: \"https\"\n        aai.aaiClientConfiguration.aaiUserName: { get_input: aaiEnrichmentUser }\n        aai.aaiClientConfiguration.aaiUserPassword: { get_input: aaiEnrichmentPasswd }\n        aai.aaiClientConfiguration.aaiIgnoreSslCertificateErrors: true\n        aai.aaiClientConfiguration.aaiBasePath: \"/aai/v23\"\n        aai.aaiClientConfiguration.aaiPnfPath: \"/network/pnfs/pnf\"\n        aai.aaiClientConfiguration.aaiServiceInstancePath: \"/business/customers/customer/{{customer}}/service-subscriptions/service-subscription/{{serviceType}}/service-instances/service-instance/{{serviceInstanceId}}\"\n        aai.aaiClientConfiguration.aaiHeaders:\n            X-FromAppId: \"prh\"\n            X-TransactionId: \"9999\"\n            Accept: \"application/json\"\n            Real-Time: \"true\"\n            Authorization: \"Basic QUFJOkFBSQ==\"\n        security.trustStorePath: \"/opt/app/prh/etc/cert/trust.jks\"\n        security.trustStorePasswordPath: \"/opt/app/prh/etc/cert/trust.pass\"\n        security.keyStorePath: \"/opt/app/prh/etc/cert/cert.jks\"\n        security.keyStorePasswordPath: \"/opt/app/prh/etc/cert/jks.pass\"\n        security.enableAaiCertAuth: { get_input: secureEnableCert }\n        security.enableDmaapCertAuth: { get_input: secureEnableCert }\n        streams_publishes:\n            pnf-update:\n              type: \"message_router\"\n              dmaap_info:\n                topic_url: {get_input: dmaap_pnfUpdate_url }\n            pnf-ready:\n              type: \"message_router\"\n              dmaap_info:\n                topic_url: { get_input: dmaap_pnfReady_url }\n        streams_subscribes:\n            ves-reg-output:\n              type: \"message_router\"\n              dmaap_info:\n                topic_url: { get_input: dmaap_vesPnfRegOutput_url }\n      docker_config:\n        healthcheck:\n          endpoint: /heartbeat\n          interval: 15s\n          timeout: 1s\n          type: http\n        ports:\n          - { concat: [ { get_input: container_port }, '\'':'\'', { get_input: host_port } ] }\n      image:\n        { get_input: tag_version }\n      replicas: {get_input: replicas}\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n      log_info:\n        log_directory: \"/opt/app/prh/logs\"\n      tls_info:\n        cert_directory: '\''/opt/app/prh/etc/cert'\''\n        use_tls: true\n    type: dcae.nodes.ContainerizedServiceComponent\n\n'
++ echo '# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2018-2020 AT&T\n# Copyright (c) 2018-2020 NOKIA\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n  pnfUrl:\n    type: string\n    default: \"https://aai.onap.svc.cluster.local:8443/aai/v23/network/pnfs/pnf\"\n  baseUrl:\n    type: string\n    default: \"https://aai.onap.svc.cluster.local:8443/aai/v23\"\n  aaiEnrichmentHost:\n    type: string\n    default: \"aai.onap.svc.cluster.local\"\n  aaiEnrichmentPort:\n    type: integer\n    default: 8443\n  aaiEnrichmentUser:\n    type: string\n    description: aai user name\n    default: \"AAI\"\n  aaiEnrichmentPasswd:\n    type: string\n    description: aai password\n    default: \"AAI\"\n  dmaap_pnfReady_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.PNF_READY\"\n  dmaap_vesPnfRegOutput_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT\"\n  dmaap_pnfUpdate_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.PNF_UPDATE\"\n  dmaap_user:\n    type: string\n    description: dmap user name\n    default: \"admin\"\n  dmaap_passwd:\n    type: string\n    description: dmap password\n    default: \"admin\"\n  tag_version:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.prh.prh-app-server:1.7.1\"\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  host_port:\n    description: port on Kubernetes host where PRH API will be exposed\n    default: 0\n  container_port:\n    type: integer\n    description: Network port that the platform service exposes in the container\n    default: 8100\n  service_component_type:\n    type: string\n    default: \"dcae-prh\"\n  service_id:\n    type: string\n    default: \"dcae-prh\"\n  secureEnableCert:\n    type: boolean\n    description: enable certificate base connection with AAI and DMaap\n    default: false\n  service_component_name_override:\n    type: string\n    default: \"dcae-prh\"\nnode_templates:\n  prh:\n    properties:\n      application_config:\n        dmaap.dmaapConsumerConfiguration.dmaapUserName: { get_input: dmaap_user }\n        dmaap.dmaapConsumerConfiguration.dmaapUserPassword: { get_input: dmaap_passwd }\n        dmaap.dmaapConsumerConfiguration.dmaapContentType: \"application/json\"\n        dmaap.dmaapConsumerConfiguration.consumerId: \"c12\"\n        dmaap.dmaapConsumerConfiguration.consumerGroup: \"OpenDCAE-c12\"\n        dmaap.dmaapConsumerConfiguration.timeoutMs: -1\n        dmaap.dmaapProducerConfiguration.dmaapUserName: { get_input: dmaap_user }\n        dmaap.dmaapProducerConfiguration.dmaapUserPassword: { get_input: dmaap_passwd }\n        dmaap.dmaapProducerConfiguration.dmaapContentType: \"application/json\"\n        dmaap.dmaapUpdateProducerConfiguration.dmaapUserName: { get_input: dmaap_user }\n        dmaap.dmaapUpdateProducerConfiguration.dmaapUserPassword: { get_input: dmaap_passwd }\n        dmaap.dmaapUpdateProducerConfiguration.dmaapContentType: \"application/json\"\n        aai.aaiClientConfiguration.pnfUrl: { get_input: pnfUrl }\n        aai.aaiClientConfiguration.baseUrl: { get_input: baseUrl }\n        aai.aaiClientConfiguration.aaiHost: { get_input: aaiEnrichmentHost }\n        aai.aaiClientConfiguration.aaiHostPortNumber: { get_input: aaiEnrichmentPort }\n        aai.aaiClientConfiguration.aaiProtocol: \"https\"\n        aai.aaiClientConfiguration.aaiUserName: { get_input: aaiEnrichmentUser }\n        aai.aaiClientConfiguration.aaiUserPassword: { get_input: aaiEnrichmentPasswd }\n        aai.aaiClientConfiguration.aaiIgnoreSslCertificateErrors: true\n        aai.aaiClientConfiguration.aaiBasePath: \"/aai/v23\"\n        aai.aaiClientConfiguration.aaiPnfPath: \"/network/pnfs/pnf\"\n        aai.aaiClientConfiguration.aaiServiceInstancePath: \"/business/customers/customer/{{customer}}/service-subscriptions/service-subscription/{{serviceType}}/service-instances/service-instance/{{serviceInstanceId}}\"\n        aai.aaiClientConfiguration.aaiHeaders:\n            X-FromAppId: \"prh\"\n            X-TransactionId: \"9999\"\n            Accept: \"application/json\"\n            Real-Time: \"true\"\n            Authorization: \"Basic QUFJOkFBSQ==\"\n        security.trustStorePath: \"/opt/app/prh/etc/cert/trust.jks\"\n        security.trustStorePasswordPath: \"/opt/app/prh/etc/cert/trust.pass\"\n        security.keyStorePath: \"/opt/app/prh/etc/cert/cert.jks\"\n        security.keyStorePasswordPath: \"/opt/app/prh/etc/cert/jks.pass\"\n        security.enableAaiCertAuth: { get_input: secureEnableCert }\n        security.enableDmaapCertAuth: { get_input: secureEnableCert }\n        streams_publishes:\n            pnf-update:\n              type: \"message_router\"\n              dmaap_info:\n                topic_url: {get_input: dmaap_pnfUpdate_url }\n            pnf-ready:\n              type: \"message_router\"\n              dmaap_info:\n                topic_url: { get_input: dmaap_pnfReady_url }\n        streams_subscribes:\n            ves-reg-output:\n              type: \"message_router\"\n              dmaap_info:\n                topic_url: { get_input: dmaap_vesPnfRegOutput_url }\n      docker_config:\n        healthcheck:\n          endpoint: /heartbeat\n          interval: 15s\n          timeout: 1s\n          type: http\n        ports:\n          - { concat: [ { get_input: container_port }, '\'':'\'', { get_input: host_port } ] }\n      image:\n        { get_input: tag_version }\n      replicas: {get_input: replicas}\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n      log_info:\n        log_directory: \"/opt/app/prh/logs\"\n      tls_info:\n        cert_directory: '\''/opt/app/prh/etc/cert'\''\n        use_tls: true\n    type: dcae.nodes.ContainerizedServiceComponent\n\n'
+ echo '
   {
    "vnfTypes": [],
    "owner": "dcaeorch",
    "typeVersion": 2112091153,
    "typeName": "k8s-prh",
    "component": "dcae",
    "application": "DCAE",
    "blueprintTemplate": "# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2018-2020 AT&T\n# Copyright (c) 2018-2020 NOKIA\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n  pnfUrl:\n    type: string\n    default: \"https://aai.onap.svc.cluster.local:8443/aai/v23/network/pnfs/pnf\"\n  baseUrl:\n    type: string\n    default: \"https://aai.onap.svc.cluster.local:8443/aai/v23\"\n  aaiEnrichmentHost:\n    type: string\n    default: \"aai.onap.svc.cluster.local\"\n  aaiEnrichmentPort:\n    type: integer\n    default: 8443\n  aaiEnrichmentUser:\n    type: string\n    description: aai user name\n    default: \"AAI\"\n  aaiEnrichmentPasswd:\n    type: string\n    description: aai password\n    default: \"AAI\"\n  dmaap_pnfReady_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.PNF_READY\"\n  dmaap_vesPnfRegOutput_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT\"\n  dmaap_pnfUpdate_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.PNF_UPDATE\"\n  dmaap_user:\n    type: string\n    description: dmap user name\n    default: \"admin\"\n  dmaap_passwd:\n    type: string\n    description: dmap password\n    default: \"admin\"\n  tag_version:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.prh.prh-app-server:1.7.1\"\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  host_port:\n    description: port on Kubernetes host where PRH API will be exposed\n    default: 0\n  container_port:\n    type: integer\n    description: Network port that the platform service exposes in the container\n    default: 8100\n  service_component_type:\n    type: string\n    default: \"dcae-prh\"\n  service_id:\n    type: string\n    default: \"dcae-prh\"\n  secureEnableCert:\n    type: boolean\n    description: enable certificate base connection with AAI and DMaap\n    default: false\n  service_component_name_override:\n    type: string\n    default: \"dcae-prh\"\nnode_templates:\n  prh:\n    properties:\n      application_config:\n        dmaap.dmaapConsumerConfiguration.dmaapUserName: { get_input: dmaap_user }\n        dmaap.dmaapConsumerConfiguration.dmaapUserPassword: { get_input: dmaap_passwd }\n        dmaap.dmaapConsumerConfiguration.dmaapContentType: \"application/json\"\n        dmaap.dmaapConsumerConfiguration.consumerId: \"c12\"\n        dmaap.dmaapConsumerConfiguration.consumerGroup: \"OpenDCAE-c12\"\n        dmaap.dmaapConsumerConfiguration.timeoutMs: -1\n        dmaap.dmaapProducerConfiguration.dmaapUserName: { get_input: dmaap_user }\n        dmaap.dmaapProducerConfiguration.dmaapUserPassword: { get_input: dmaap_passwd }\n        dmaap.dmaapProducerConfiguration.dmaapContentType: \"application/json\"\n        dmaap.dmaapUpdateProducerConfiguration.dmaapUserName: { get_input: dmaap_user }\n        dmaap.dmaapUpdateProducerConfiguration.dmaapUserPassword: { get_input: dmaap_passwd }\n        dmaap.dmaapUpdateProducerConfiguration.dmaapContentType: \"application/json\"\n        aai.aaiClientConfiguration.pnfUrl: { get_input: pnfUrl }\n        aai.aaiClientConfiguration.baseUrl: { get_input: baseUrl }\n        aai.aaiClientConfiguration.aaiHost: { get_input: aaiEnrichmentHost }\n        aai.aaiClientConfiguration.aaiHostPortNumber: { get_input: aaiEnrichmentPort }\n        aai.aaiClientConfiguration.aaiProtocol: \"https\"\n        aai.aaiClientConfiguration.aaiUserName: { get_input: aaiEnrichmentUser }\n        aai.aaiClientConfiguration.aaiUserPassword: { get_input: aaiEnrichmentPasswd }\n        aai.aaiClientConfiguration.aaiIgnoreSslCertificateErrors: true\n        aai.aaiClientConfiguration.aaiBasePath: \"/aai/v23\"\n        aai.aaiClientConfiguration.aaiPnfPath: \"/network/pnfs/pnf\"\n        aai.aaiClientConfiguration.aaiServiceInstancePath: \"/business/customers/customer/{{customer}}/service-subscriptions/service-subscription/{{serviceType}}/service-instances/service-instance/{{serviceInstanceId}}\"\n        aai.aaiClientConfiguration.aaiHeaders:\n            X-FromAppId: \"prh\"\n            X-TransactionId: \"9999\"\n            Accept: \"application/json\"\n            Real-Time: \"true\"\n            Authorization: \"Basic QUFJOkFBSQ==\"\n        security.trustStorePath: \"/opt/app/prh/etc/cert/trust.jks\"\n        security.trustStorePasswordPath: \"/opt/app/prh/etc/cert/trust.pass\"\n        security.keyStorePath: \"/opt/app/prh/etc/cert/cert.jks\"\n        security.keyStorePasswordPath: \"/opt/app/prh/etc/cert/jks.pass\"\n        security.enableAaiCertAuth: { get_input: secureEnableCert }\n        security.enableDmaapCertAuth: { get_input: secureEnableCert }\n        streams_publishes:\n            pnf-update:\n              type: \"message_router\"\n              dmaap_info:\n                topic_url: {get_input: dmaap_pnfUpdate_url }\n            pnf-ready:\n              type: \"message_router\"\n              dmaap_info:\n                topic_url: { get_input: dmaap_pnfReady_url }\n        streams_subscribes:\n            ves-reg-output:\n              type: \"message_router\"\n              dmaap_info:\n                topic_url: { get_input: dmaap_vesPnfRegOutput_url }\n      docker_config:\n        healthcheck:\n          endpoint: /heartbeat\n          interval: 15s\n          timeout: 1s\n          type: http\n        ports:\n          - { concat: [ { get_input: container_port }, '\'':'\'', { get_input: host_port } ] }\n      image:\n        { get_input: tag_version }\n      replicas: {get_input: replicas}\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n      log_info:\n        log_directory: \"/opt/app/prh/logs\"\n      tls_info:\n        cert_directory: '\''/opt/app/prh/etc/cert'\''\n        use_tls: true\n    type: dcae.nodes.ContainerizedServiceComponent\n\n"
   }'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
 Router host address\n    default: 'message-router'\n  dmaap_mr_service_port:\n    type: string\n    description: DMAAP Message Router host port\n    default: '3905'\n  cpu_limit:\n    type: string\n    default: '1000m'\n  cpu_request:\n    type: string\n    default: '1000m'\n  memory_limit:\n    type: string\n    default: '1024Mi'\n  memory_request:\n    type: string\n    default: '1024Mi'\n\nnode_templates:\n  pm-feed:\n    type: dcaegen2.nodes.Feed\n    properties:\n      feed_name: { get_input: feed_name }\n      useExisting: true\n\n  pm-topic:\n    type: dcaegen2.nodes.Topic\n    properties:\n      topic_name: { get_input: topic_name }\n\n  pm-mapper:\n    type: dcae.nodes.ContainerizedServiceComponentUsingDmaap\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        create:\n          inputs:\n            ports:\n              - '8443:0'\n              - '8081:0'\n\n    relationships:\n      - type: dcaegen2.relationships.subscribe_to_files\n        target: pm-feed\n      - type: dcaegen2.relationships.publish_events\n        target: pm-topic\n\n    properties:\n      service_component_type: 'dcae-pm-mapper'\n      service_component_name_override: 'dcae-pm-mapper'\n      application_config:\n        trust_store_path: '/opt/app/pm-mapper/etc/cert/trust.jks'\n        trust_store_pass_path: '/opt/app/pm-mapper/etc/cert/trust.pass'\n        key_store_path: '/opt/app/pm-mapper/etc/cert/cert.jks'\n        key_store_pass_path: '/opt/app/pm-mapper/etc/cert/jks.pass'\n        pm-mapper-filter: { get_input: filter }\n        enable_http: { get_input: enable_http }\n        dmaap_dr_delete_endpoint: { concat: ['https://',{ get_input: dmaap_dr_service_host },':',{ get_input: dmaap_dr_service_port },'/delete'] }\n        aaf_identity: { get_input: client_id }\n        aaf_password: { get_input: client_password }\n        streams_subscribes:\n          dmaap_subscriber:\n            type: data_router\n            dmaap_info: <>\n        streams_publishes:\n          dmaap_publisher:\n            type: message_router\n            dmaap_info: <>\n      resource_config:\n        limits:\n          cpu: { get_input: cpu_limit }\n          memory: { get_input: memory_limit }\n        requests:\n          cpu: { get_input: cpu_request }\n          memory: { get_input: memory_request }\n      docker_config:\n        healthcheck:\n          endpoint: /healthcheck\n          interval: 15s\n          timeout: 1s\n          type: https\n      streams_publishes:\n        - name: pm-topic\n          location: { get_input: dcae_location }\n          client_role: { get_input: client_role }\n          type: message-router\n      streams_subscribes:\n        - name: pm-feed\n          location: { get_input: dcae_location }\n          client_role: { get_input: client_role }\n          username: { get_input: dmaap_dr_username }\n          password: { get_input: dmaap_dr_password }\n          scheme: { get_input: pm_mapper_service_protocol }\n          route: delivery\n          delivery_url: ''\n          privileged: true\n          decompress: true\n          type: data_router\n      image: { get_input: tag_version }\n      replicas: { get_input: replicas }\n      log_info:\n        log_directory: '/var/log/ONAP/dcaegen2/services/pm-mapper'\n      tls_info:\n        cert_directory: '/opt/app/pm-mapper/etc/cert/'\n        use_tls: true\n","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"97eca6c5-f4cd-4431-9de7-b9c73c14e96a","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/97eca6c5-f4cd-4431-9de7-b9c73c14e96a"},"created":1639094023027,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-pmsh","typeVersion":2112091153,"blueprintTemplate":"#\n# ============LICENSE_START=======================================================\n#  Copyright (C) 2020-2021 Nordix Foundation.\n#  Copyright (c) 2021 AT&T Intellectual Property. All rights reserved.\n# ================================================================================\n# Licensed under the Apache License, Version 2.0 (the 'License');\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an 'AS IS' BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n# SPDX-License-Identifier: Apache-2.0\n# ============LICENSE_END=========================================================\n#\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - 'http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:pgaas?version=1.3.0\ninputs:\n  tag_version:\n    type: string\n    description: Docker image to be used\n    default: 'nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pmsh:1.3.2'\n  replicas:\n    type: integer\n    description: Number of instances\n    default: 1\n  operational_policy_name:\n    type: string\n    default: 'pmsh-operational-policy'\n  control_loop_name:\n    type: string\n    default: 'pmsh-control-loop'\n  pmsh_publish_topic_name:\n    type: string\n    default: 'unauthenticated.DCAE_CL_OUTPUT'\n  policy_feedback_topic_name:\n    type: string\n    default: 'unauthenticated.PMSH_CL_INPUT'\n  aai_notification_topic_name:\n    type: string\n    default: 'AAI-EVENT'\n  publisher_client_role:\n    type: string\n    description: Client role to request secure access to topic\n    default: 'org.onap.dcae.pmPublisher'\n  subscriber_client_role:\n    type: string\n    description: Client role to request secure access to topic\n    default: 'org.onap.dcae.pmSubscriber'\n  dcae_location:\n    type: string\n    description: DCAE location for the subscriber, used to set up routing\n    default: 'san-francisco'\n  cpu_limit:\n    type: string\n    default: '1000m'\n  cpu_request:\n    type: string\n    default: '1000m'\n  memory_limit:\n    type: string\n    default: '1024Mi'\n  memory_request:\n    type: string\n    default: '1024Mi'\n  pgaas_cluster_name:\n    type: string\n    default: 'dcae-pg-primary.onap'\n  enable_tls:\n    type: boolean\n    default: true\n  protocol:\n    type: string\n    description: PMSH protocol. If enable_tls is false, set to http\n    default: 'https'\nnode_templates:\n  pgaasvm:\n    type: dcae.nodes.pgaas.database\n    properties:\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: 'pmsh'\n  pmsh:\n    type: dcae.nodes.ContainerizedServiceComponentUsingDmaap\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        create:\n          inputs:\n            ports:\n              - '8443:0'\n            envs:\n              PMSH_PG_URL:\n                { get_attribute: [ pgaasvm, admin, host ] }\n              PMSH_PG_PASSWORD:\n                { get_attribute: [ pgaasvm, admin, password ] }\n              PMSH_PG_USERNAME:\n                { get_attribute: [ pgaasvm, admin, user ] }\n              PMSH_DB_NAME:\n                { get_attribute: [ pgaasvm, admin, database ] }\n\n    relationships:\n      - type: cloudify.relationships.depends_on\n        target: pgaasvm\n\n    properties:\n      service_component_type: 'dcae-pmsh'\n      service_component_name_override: 'dcae-pmsh'\n      application_config:\n        enable_tls: { get_input: enable_tls }\n        aaf_identity: 'dcae@dcae.onap.org'\n        aaf_password: 'demo123456!'\n        operational_policy_name: { get_input: operational_policy_name }\n        control_loop_name: { get_input: control_loop_name }\n        cert_path: '/opt/app/pmsh/etc/certs/cert.pem'\n        key_path: '/opt/app/pmsh/etc/certs/key.pem'\n        ca_cert_path: '/opt/app/pmsh/etc/certs/cacert.pem'\n        pmsh_policy:\n          subscription:\n            subscriptionName: ExtraPM-All-gNB-R2B\n            administrativeState: LOCKED\n            fileBasedGP: 15\n            fileLocation: \"/pm/pm.xml\"\n            nfFilter: { \"nfNames\": [ \"^pnf.*\",\"^vnf.*\" ],\"modelInvariantIDs\": [ ],\"modelVersionIDs\": [ ],\"modelNames\": [ ] }\n            measurementGroups: [ { \"measurementGroup\": { \"measurementTypes\": [ { \"measurementType\": \"countera\" },{ \"measurementType\": \"counterb\" } ],\"managedObjectDNsBasic\": [ { \"DN\": \"dna\" },{ \"DN\": \"dnb\" } ] } },{ \"measurementGroup\": { \"measurementTypes\": [ { \"measurementType\": \"counterc\" },{ \"measurementType\": \"counterd\" } ],\"managedObjectDNsBasic\": [ { \"DN\": \"dnc\" },{ \"DN\": \"dnd\" } ] } } ]\n        streams_publishes:\n          policy_pm_publisher:\n            type: message_router\n            dmaap_info:\n              topic_url: {concat: [\"https://message-router:3905/events/\", { get_input: pmsh_publish_topic_name }]}\n        streams_subscribes:\n          policy_pm_subscriber:\n            type: message_router\n            dmaap_info:\n              topic_url: {concat: [\"https://message-router:3905/events/\", { get_input: policy_feedback_topic_name }]}\n          aai_subscriber:\n            type: message_router\n            dmaap_info:\n              topic_url: {concat: [\"https://message-router:3905/events/\", { get_input: aai_notification_topic_name }]}\n      resource_config:\n        limits:\n          cpu: { get_input: cpu_limit }\n          memory: { get_input: memory_limit }\n        requests:\n          cpu: { get_input: cpu_request }\n          memory: { get_input: memory_request }\n      docker_config:\n        healthcheck:\n          endpoint: /healthcheck\n          interval: 15s\n          timeout: 1s\n          type: { get_input: protocol }\n      image: { get_input: tag_version }\n      replicas: { get_input: replicas }\n      log_info:\n        log_directory: '/var/log/ONAP/dcaegen2/services/pmsh'\n      tls_info:\n        cert_directory: '/opt/app/pmsh/etc/certs'\n        use_tls: { get_input: enable_tls }\n","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"a51fa369-82c3-4ffc-9558-ea7948eb9113","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/a51fa369-82c3-4ffc-9558-ea7948eb9113"},"created":1639094023142,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-prh","typeVersion":2112091153,"blueprintTemplate":"# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2018-2020 AT&T\n# Copyright (c) 2018-2020 NOKIA\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n  pnfUrl:\n    type: string\n    default: \"https://aai.onap.svc.cluster.local:8443/aai/v23/network/pnfs/pnf\"\n  baseUrl:\n    type: string\n    default: \"https://aai.onap.svc.cluster.local:8443/aai/v23\"\n  aaiEnrichmentHost:\n    type: string\n    default: \"aai.onap.svc.cluster.local\"\n  aaiEnrichmentPort:\n    type: integer\n    default: 8443\n  aaiEnrichmentUser:\n    type: string\n    description: aai user name\n    default: \"AAI\"\n  aaiEnrichmentPasswd:\n    type: string\n    description: aai password\n    default: \"AAI\"\n  dmaap_pnfReady_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.PNF_READY\"\n  dmaap_vesPnfRegOutput_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT\"\n  dmaap_pnfUpdate_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.PNF_UPDATE\"\n  dmaap_user:\n    type: string\n    description: dmap user name\n    default: \"admin\"\n  dmaap_passwd:\n    type: string\n    description: dmap password\n    default: \"admin\"\n  tag_version:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.prh.prh-app-server:1.7.1\"\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  host_port:\n    description: port on Kubernetes host where PRH API will be exposed\n    default: 0\n  container_port:\n    type: integer\n    description: Network port that the platform service exposes in the container\n    default: 8100\n  service_component_type:\n    type: string\n    default: \"dcae-prh\"\n  service_id:\n    type: string\n    default: \"dcae-prh\"\n  secureEnableCert:\n    type: boolean\n    description: enable certificate base connection with AAI and DMaap\n    default: false\n  service_component_name_override:\n    type: string\n    default: \"dcae-prh\"\nnode_templates:\n  prh:\n    properties:\n      application_config:\n        dmaap.dmaapConsumerConfiguration.dmaapUserName: { get_input: dmaap_user }\n        dmaap.dmaapConsumerConfiguration.dmaapUserPassword: { get_input: dmaap_passwd }\n        dmaap.dmaapConsumerConfiguration.dmaapContentType: \"application/json\"\n        dmaap.dmaapConsumerConfiguration.consumerId: \"c12\"\n        dmaap.dmaapConsumerConfiguration.consumerGroup: \"OpenDCAE-c12\"\n        dmaap.dmaapConsumerConfiguration.timeoutMs: -1\n        dmaap.dmaapProducerConfiguration.dmaapUserName: { get_input: dmaap_user }\n        dmaap.dmaapProducerConfiguration.dmaapUserPassword: { get_input: dmaap_passwd }\n        dmaap.dmaapProducerConfiguration.dmaapContentType: \"application/json\"\n        dmaap.dmaapUpdateProducerConfiguration.dmaapUserName: { get_input: dmaap_user }\n        dmaap.dmaapUpdateProducerConfiguration.dmaapUserPassword: { get_input: dmaap_passwd }\n        dmaap.dmaapUpdateProducerConfiguration.dmaapContentType: \"application/json\"\n        aai.aaiClientConfiguration.pnfUrl: { get_input: pnfUrl }\n        aai.aaiClientConfiguration.baseUrl: { get_input: baseUrl }\n        aai.aaiClientConfiguration.aaiHost: { get_input: aaiEnrichmentHost }\n        aai.aaiClientConfiguration.aaiHostPortNumber: { get_input: aaiEnrichmentPort }\n        aai.aaiClientConfiguration.aaiProtocol: \"https\"\n        aai.aaiClientConfiguration.aaiUserName: { get_input: aaiEnrichmentUser }\n        aai.aaiClientConfiguration.aaiUserPassword: { get_input: aaiEnrichmentPasswd }\n        aai.aaiClientConfiguration.aaiIgnoreSslCertificateErrors: true\n        aai.aaiClientConfiguration.aaiBasePath: \"/aai/v23\"\n        aai.aaiClientConfiguration.aaiPnfPath: \"/network/pnfs/pnf\"\n        aai.aaiClientConfiguration.aaiServiceInstancePath: \"/business/customers/customer/{{customer}}/service-subscriptions/service-subscription/{{serviceType}}/service-instances/service-instance/{{serviceInstanceId}}\"\n        aai.aaiClientConfiguration.aaiHeaders:\n            X-FromAppId: \"prh\"\n            X-TransactionId: \"9999\"\n            Accept: \"application/json\"\n            Real-Time: \"true\"\n            Authorization: \"Basic QUFJOkFBSQ==\"\n        security.trustStorePath: \"/opt/app/prh/etc/cert/trust.jks\"\n        security.trustStorePasswordPath: \"/opt/app/prh/etc/cert/trust.pass\"\n        security.keyStorePath: \"/opt/app/prh/etc/cert/cert.jks\"\n        security.keyStorePasswordPath: \"/opt/app/prh/etc/cert/jks.pass\"\n        security.enableAaiCertA
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 14839  100  7555  100  7284   185k   179k --:--:-- --:--:-- --:--:--  371k
+ for BP in /blueprints/*.yaml
+ upload_service_type /blueprints/k8s-restconf.yaml /certs/cacert.pem
+ '[' /certs/cacert.pem ']'
+ TLSCURL='--cacert /certs/cacert.pem'
+ create_service_type /blueprints/k8s-restconf.yaml
+ curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types
++ date +%y%m%d%I%M
++ basename /blueprints/k8s-restconf.yaml .yaml
++ flatten /blueprints/k8s-restconf.yaml
+++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g'
+++ tr -d '\n'
++ FLAT='# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2017-2021 AT&T Intellectual Property. All rights reserved.\n# Copyright (c) 2019 Huawei. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\ndescription: >\n  This blueprint deploys/manages the RestConf Collector module as a Docker container\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n  dmaap_host:\n    type: string\n    default: \"message-router.onap.svc.cluster.local\"\n  dmaap_port:\n    type: string\n    default: \"3904\"\n  tag_version:\n    type: string\n    default:  \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.restconfcollector:1.2.5\"\n  consul_host:\n    type: string\n    default: \"consul-server.onap.svc.cluster.local\"\n  consul_port:\n    type: string\n    default: \"8500\"\n  cbs_host:\n    type: string\n    default: \"config-binding-service.dcae.svc.cluster.local\"\n  cbs_port:\n    type: string\n    default: \"10000\"\n  external_port:\n    type: string\n    description: Kubernetes node port on which collector is exposed\n    default: \"30416\"\n  notification_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_RCC_OUTPUT\"\n  service_component_type:\n    type: string\n    default: \"dcae-restconf-collector\"\n  service_id:\n    type: string\n    default: \"dcae-restconf-collector\"\n  service_component_name_override:\n    type: string\n    default: \"dcae-restconf-collector\"\n\nnode_templates:\n  rcc_k8s:\n    type: dcae.nodes.ContainerizedServiceComponent\n    properties:\n        docker_config:\n            healthcheck:\n              endpoint: /healthcheck\n              interval: 15s\n              timeout: 1s\n              type: http\n        image:\n          get_input: tag_version\n        log_info:\n          log_directory: \"/opt/app/RCCollector/logs\"\n        application_config:\n            collector.rcc.appDescription: DCAE RestConf Collector Application\n            collector.rcc.appName: \"dcae-rcc\"\n            collector.rcc.dmaap.streamid: \"notification=device-registration\"\n            collector.rcc.inputQueue.maxPending: \"8096\"\n            tomcat.maxthreads: \"200\"\n            collector.rcc.service.port: \"8080\"\n            collector.rcc.service.secure.port: \"8687\"\n            collector.rcc.keystore.file.location: \"/opt/app/restconfcollector/etc/keystore\"\n            collector.rcc.keystore.passwordfile: \"/opt/app/restconfcollector/etc/rcc_passwordfile\"\n            collector.rcc.keystore.alias: \"dynamically generated\"\n            collector.rcc.truststore.file.location: \"/opt/app/restconfcollector/etc/truststore.onap.client.jks\"\n            collector.rcc.truststore.passwordfile: \"/opt/app/restconfcollector/etc/trustpasswordfile\"\n            collector.keystore.file.location: \"/opt/app/restconfcollector/etc/sdnc.p12\"\n            collector.keystore.passwordfile: \"/opt/app/restconfcollector/etc/passwordfile\"\n            collector.header.authflag: \"0\"\n            collector.header.authlist: \"sample1,c2FtcGxlMQ==\"\n            collector.rcc.service.secure.clientauth: \"0\"\n            streams_publishes:\n                        device-registration:\n                          dmaap_info:\n                            topic_url:\n                              get_input: notification_publish_url\n                          type: message_router\n            rcc_policy: '\''[{\"controller_name\":\"AccessM&C\",\"controller_restapiUrl\":\"172.30.0.55:26335\",\"controller_restapiUser\":\"access\",\"controller_restapiPassword\":\"Huawei@123\",\"controller_accessTokenUrl\":\"/rest/plat/smapp/v1/oauth/token\",\"controller_accessTokenFile\":\"./etc/access-token.json\",\"controller_accessTokenMethod\":\"put\",\"controller_subsMethod\":\"post\",\"controller_subscriptionUrl\":\"/restconf/v1/operations/huawei-nce-notification-action:establish-subscription\",\"controller_disableSsl\":\"true\",\"event_details\":[{\"event_name\":\"ONT_registration\",\"event_description\":\"ONTregistartionevent\",\"event_sseventUrlEmbed\":\"true\",\"event_sseventsField\":\"output.url\",\"event_sseventsUrl\":\"null\",\"event_subscriptionTemplate\":\"./etc/ont_registartion_subscription_template.json\",\"event_unSubscriptionTemplate\":\"./etc/ont_registartion_unsubscription_template.json\",\"event_ruleId\":\"12345678\",\"modifyData\": \"true\",\"modifyMethod\": \"modifyOntEvent\",\"userData\": \"remote_id=AC9.0234.0337;svlan=100;cvlan=10;\"}]}]'\''\n        service_component_type: { get_input: service_component_type }\n        service_id: { get_input: service_id }\n        service_component_name_override: { get_input: service_component_name_override }\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n                DMAAPHOST:\n                    { get_input: dmaap_host }\n                DMAAPPORT: \"3904\"\n                DMAAPPUBTOPIC: \"unauthenticated.DCAE_RCC_OUTPUT\"\n                CONSUL_HOST:\n                    { get_input: consul_host }\n                CONSUL_PORT: \"8500\"\n                CBS_HOST:\n                    { get_input: cbs_host }\n                CBS_PORT: \"10000\"\n                CONFIG_BINDING_SERVICE: \"config_binding_service\"\n            ports:\n              - concat: [\"8080:\", { get_input: external_port }]\n\n'
++ echo '# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2017-2021 AT&T Intellectual Property. All rights reserved.\n# Copyright (c) 2019 Huawei. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\ndescription: >\n  This blueprint deploys/manages the RestConf Collector module as a Docker container\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n  dmaap_host:\n    type: string\n    default: \"message-router.onap.svc.cluster.local\"\n  dmaap_port:\n    type: string\n    default: \"3904\"\n  tag_version:\n    type: string\n    default:  \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.restconfcollector:1.2.5\"\n  consul_host:\n    type: string\n    default: \"consul-server.onap.svc.cluster.local\"\n  consul_port:\n    type: string\n    default: \"8500\"\n  cbs_host:\n    type: string\n    default: \"config-binding-service.dcae.svc.cluster.local\"\n  cbs_port:\n    type: string\n    default: \"10000\"\n  external_port:\n    type: string\n    description: Kubernetes node port on which collector is exposed\n    default: \"30416\"\n  notification_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_RCC_OUTPUT\"\n  service_component_type:\n    type: string\n    default: \"dcae-restconf-collector\"\n  service_id:\n    type: string\n    default: \"dcae-restconf-collector\"\n  service_component_name_override:\n    type: string\n    default: \"dcae-restconf-collector\"\n\nnode_templates:\n  rcc_k8s:\n    type: dcae.nodes.ContainerizedServiceComponent\n    properties:\n        docker_config:\n            healthcheck:\n              endpoint: /healthcheck\n              interval: 15s\n              timeout: 1s\n              type: http\n        image:\n          get_input: tag_version\n        log_info:\n          log_directory: \"/opt/app/RCCollector/logs\"\n        application_config:\n            collector.rcc.appDescription: DCAE RestConf Collector Application\n            collector.rcc.appName: \"dcae-rcc\"\n            collector.rcc.dmaap.streamid: \"notification=device-registration\"\n            collector.rcc.inputQueue.maxPending: \"8096\"\n            tomcat.maxthreads: \"200\"\n            collector.rcc.service.port: \"8080\"\n            collector.rcc.service.secure.port: \"8687\"\n            collector.rcc.keystore.file.location: \"/opt/app/restconfcollector/etc/keystore\"\n            collector.rcc.keystore.passwordfile: \"/opt/app/restconfcollector/etc/rcc_passwordfile\"\n            collector.rcc.keystore.alias: \"dynamically generated\"\n            collector.rcc.truststore.file.location: \"/opt/app/restconfcollector/etc/truststore.onap.client.jks\"\n            collector.rcc.truststore.passwordfile: \"/opt/app/restconfcollector/etc/trustpasswordfile\"\n            collector.keystore.file.location: \"/opt/app/restconfcollector/etc/sdnc.p12\"\n            collector.keystore.passwordfile: \"/opt/app/restconfcollector/etc/passwordfile\"\n            collector.header.authflag: \"0\"\n            collector.header.authlist: \"sample1,c2FtcGxlMQ==\"\n            collector.rcc.service.secure.clientauth: \"0\"\n            streams_publishes:\n                        device-registration:\n                          dmaap_info:\n                            topic_url:\n                              get_input: notification_publish_url\n                          type: message_router\n            rcc_policy: '\''[{\"controller_name\":\"AccessM&C\",\"controller_restapiUrl\":\"172.30.0.55:26335\",\"controller_restapiUser\":\"access\",\"controller_restapiPassword\":\"Huawei@123\",\"controller_accessTokenUrl\":\"/rest/plat/smapp/v1/oauth/token\",\"controller_accessTokenFile\":\"./etc/access-token.json\",\"controller_accessTokenMethod\":\"put\",\"controller_subsMethod\":\"post\",\"controller_subscriptionUrl\":\"/restconf/v1/operations/huawei-nce-notification-action:establish-subscription\",\"controller_disableSsl\":\"true\",\"event_details\":[{\"event_name\":\"ONT_registration\",\"event_description\":\"ONTregistartionevent\",\"event_sseventUrlEmbed\":\"true\",\"event_sseventsField\":\"output.url\",\"event_sseventsUrl\":\"null\",\"event_subscriptionTemplate\":\"./etc/ont_registartion_subscription_template.json\",\"event_unSubscriptionTemplate\":\"./etc/ont_registartion_unsubscription_template.json\",\"event_ruleId\":\"12345678\",\"modifyData\": \"true\",\"modifyMethod\": \"modifyOntEvent\",\"userData\": \"remote_id=AC9.0234.0337;svlan=100;cvlan=10;\"}]}]'\''\n        service_component_type: { get_input: service_component_type }\n        service_id: { get_input: service_id }\n        service_component_name_override: { get_input: service_component_name_override }\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n                DMAAPHOST:\n                    { get_input: dmaap_host }\n                DMAAPPORT: \"3904\"\n                DMAAPPUBTOPIC: \"unauthenticated.DCAE_RCC_OUTPUT\"\n                CONSUL_HOST:\n                    { get_input: consul_host }\n                CONSUL_PORT: \"8500\"\n                CBS_HOST:\n                    { get_input: cbs_host }\n                CBS_PORT: \"10000\"\n                CONFIG_BINDING_SERVICE: \"config_binding_service\"\n            ports:\n              - concat: [\"8080:\", { get_input: external_port }]\n\n'
+ echo '
   {
    "vnfTypes": [],
    "owner": "dcaeorch",
    "typeVersion": 2112091153,
    "typeName": "k8s-restconf",
    "component": "dcae",
    "application": "DCAE",
    "blueprintTemplate": "# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2017-2021 AT&T Intellectual Property. All rights reserved.\n# Copyright (c) 2019 Huawei. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\ndescription: >\n  This blueprint deploys/manages the RestConf Collector module as a Docker container\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n  dmaap_host:\n    type: string\n    default: \"message-router.onap.svc.cluster.local\"\n  dmaap_port:\n    type: string\n    default: \"3904\"\n  tag_version:\n    type: string\n    default:  \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.restconfcollector:1.2.5\"\n  consul_host:\n    type: string\n    default: \"consul-server.onap.svc.cluster.local\"\n  consul_port:\n    type: string\n    default: \"8500\"\n  cbs_host:\n    type: string\n    default: \"config-binding-service.dcae.svc.cluster.local\"\n  cbs_port:\n    type: string\n    default: \"10000\"\n  external_port:\n    type: string\n    description: Kubernetes node port on which collector is exposed\n    default: \"30416\"\n  notification_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_RCC_OUTPUT\"\n  service_component_type:\n    type: string\n    default: \"dcae-restconf-collector\"\n  service_id:\n    type: string\n    default: \"dcae-restconf-collector\"\n  service_component_name_override:\n    type: string\n    default: \"dcae-restconf-collector\"\n\nnode_templates:\n  rcc_k8s:\n    type: dcae.nodes.ContainerizedServiceComponent\n    properties:\n        docker_config:\n            healthcheck:\n              endpoint: /healthcheck\n              interval: 15s\n              timeout: 1s\n              type: http\n        image:\n          get_input: tag_version\n        log_info:\n          log_directory: \"/opt/app/RCCollector/logs\"\n        application_config:\n            collector.rcc.appDescription: DCAE RestConf Collector Application\n            collector.rcc.appName: \"dcae-rcc\"\n            collector.rcc.dmaap.streamid: \"notification=device-registration\"\n            collector.rcc.inputQueue.maxPending: \"8096\"\n            tomcat.maxthreads: \"200\"\n            collector.rcc.service.port: \"8080\"\n            collector.rcc.service.secure.port: \"8687\"\n            collector.rcc.keystore.file.location: \"/opt/app/restconfcollector/etc/keystore\"\n            collector.rcc.keystore.passwordfile: \"/opt/app/restconfcollector/etc/rcc_passwordfile\"\n            collector.rcc.keystore.alias: \"dynamically generated\"\n            collector.rcc.truststore.file.location: \"/opt/app/restconfcollector/etc/truststore.onap.client.jks\"\n            collector.rcc.truststore.passwordfile: \"/opt/app/restconfcollector/etc/trustpasswordfile\"\n            collector.keystore.file.location: \"/opt/app/restconfcollector/etc/sdnc.p12\"\n            collector.keystore.passwordfile: \"/opt/app/restconfcollector/etc/passwordfile\"\n            collector.header.authflag: \"0\"\n            collector.header.authlist: \"sample1,c2FtcGxlMQ==\"\n            collector.rcc.service.secure.clientauth: \"0\"\n            streams_publishes:\n                        device-registration:\n                          dmaap_info:\n                            topic_url:\n                              get_input: notification_publish_url\n                          type: message_router\n            rcc_policy: '\''[{\"controller_name\":\"AccessM&C\",\"controller_restapiUrl\":\"172.30.0.55:26335\",\"controller_restapiUser\":\"access\",\"controller_restapiPassword\":\"Huawei@123\",\"controller_accessTokenUrl\":\"/rest/plat/smapp/v1/oauth/token\",\"controller_accessTokenFile\":\"./etc/access-token.json\",\"controller_accessTokenMethod\":\"put\",\"controller_subsMethod\":\"post\",\"controller_subscriptionUrl\":\"/restconf/v1/operations/huawei-nce-notification-action:establish-subscription\",\"controller_disableSsl\":\"true\",\"event_details\":[{\"event_name\":\"ONT_registration\",\"event_description\":\"ONTregistartionevent\",\"event_sseventUrlEmbed\":\"true\",\"event_sseventsField\":\"output.url\",\"event_sseventsUrl\":\"null\",\"event_subscriptionTemplate\":\"./etc/ont_registartion_subscription_template.json\",\"event_unSubscriptionTemplate\":\"./etc/ont_registartion_unsubscription_template.json\",\"event_ruleId\":\"12345678\",\"modifyData\": \"true\",\"modifyMethod\": \"modifyOntEvent\",\"userData\": \"remote_id=AC9.0234.0337;svlan=100;cvlan=10;\"}]}]'\''\n        service_component_type: { get_input: service_component_type }\n        service_id: { get_input: service_id }\n        service_component_name_override: { get_input: service_component_name_override }\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n                DMAAPHOST:\n                    { get_input: dmaap_host }\n                DMAAPPORT: \"3904\"\n                DMAAPPUBTOPIC: \"unauthenticated.DCAE_RCC_OUTPUT\"\n                CONSUL_HOST:\n                    { get_input: consul_host }\n                CONSUL_PORT: \"8500\"\n                CBS_HOST:\n                    { get_input: cbs_host }\n                CBS_PORT: \"10000\"\n                CONFIG_BINDING_SERVICE: \"config_binding_service\"\n            ports:\n              - concat: [\"8080:\", { get_input: external_port }]\n\n"
   }'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 13293  100  6782  100  6511   138k   132k --:--:-- --:--:-- --:--:--  276k
+ for BP in /blueprints/*.yaml
+ upload_service_type /blueprints/k8s-slice-analysis-ms.yaml /certs/cacert.pem
+ '[' /certs/cacert.pem ']'
+ TLSCURL='--cacert /certs/cacert.pem'
+ create_service_type /blueprints/k8s-slice-analysis-ms.yaml
+ curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types
++ date +%y%m%d%I%M
++ basename /blueprints/k8s-slice-analysis-ms.yaml .yaml
++ flatten /blueprints/k8s-slice-analysis-ms.yaml
+++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g'
+++ tr -d '\n'
++ FLAT=' #\n #============LICENSE_START=======================================================\n # Copyright (C) 2020-2021 Wipro Limited.\n # Copyright (c) 2021 AT&T Intellectual Property. All rights reserved.\n #==============================================================================\n #Licensed under the Apache License, Version 2.0 (the \"License\");\n #you may not use this file except in compliance with the License.\n #You may obtain a copy of the License at\n #\n #    http://www.apache.org/licenses/LICENSE-2.0\n #\n #Unless required by applicable law or agreed to in writing, software\n #distributed under the License is distributed on an \"AS IS\" BASIS,\n #WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n #See the License for the specific language governing permissions and\n #limitations under the License.\n #============LICENSE_END=========================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:pgaas?version=1.3.0\ninputs:\n  replicas:\n    type: integer\n    description: replica count for deployment\n    default: 1\n  tag_version:\n    type: string\n    description: docker image name and version\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.components.slice-analysis-ms:1.0.6\"\n  pgaas_cluster_name:\n    type: string\n    description: pg cluster\n    default: \"dcae-pg-primary.onap\"\n  database_name:\n    type: string\n    description: database name\n    default: \"sliceanalysisms\"\n  aaf_username:\n    type: string\n    description: aaf username\n    default: \"dcae@dcae.onap.org\"\n  aaf_password:\n    type: string\n    description: aaf password\n    default: \"demo123456!\"\n  dmaap_polling_interval:\n    type: integer\n    description: dmaap polling interval\n    default: 20\n  cbs_polling_interval:\n    type: integer\n    description: cbs polling interval\n    default: 60\n  dmaap_polling_timeout:\n    type: integer\n    description: dmaap polling timeout\n    default: 60\n  namespace:\n    type: string\n    description: namespace\n    default: \"onap\"\n  dmaap:\n    type: string\n    description: dmaap server\n    default: \"message-router\"\n  buffer_time:\n    type: integer\n    description: buffer time\n    default: 60\n  cg:\n    type: string\n    description: consumer group\n    default: \"sliceanalysisms-cg\"\n  cid:\n    type: string\n    description: consumer id\n    default: \"sliceanalysisms-cid\"\n  config_db:\n    type: string\n    description: config db location\n    default: \"http://config-db:8080\"\n  aai:\n    type: string\n    description: aai url\n    default: \"https://aai.onap.svc.cluster.local:8443/aai/v21\"\n  cps:\n    type: string\n    description: cps url\n    default: \"https://cps:8088\"\n  configDbEnabled:\n    type: string\n    description: configDb flag\n    default: \"true\"\n  log_path:\n    type: string\n    description: log location in host\n    default: \"/dockerdata-nfs/slice-analysis-ms\"\n  performance_management_topic_url:\n    type: string\n    description: performance measurement topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/org.onap.dmaap.mr.PERFORMANCE_MEASUREMENTS\"\n  intelligent_slicing_topic_url:\n    type: string\n    description: aai event topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.ML_RESPONSE_TOPIC\"\n  dcae_cl_response_topic_url:\n    type: string\n    description: dcae control loop response topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/DCAE_CL_RSP\"\n  dcae_cl_topic_url:\n    type: string\n    description: dcae control loop topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.DCAE_CL_OUTPUT\"\n  samples:\n    type: integer\n    description: number of samples to be considered for processing\n    default: 3\n  minimumPercentageChange:\n    type: integer\n    description: minimum change above which control loop should be triggered\n    default: 5\n  initialDelaySeconds:\n    type: integer\n    description: delay for the consumer thread\n    default: 120000\nnode_templates:\n  pgaasvm:\n    type: dcae.nodes.pgaas.database\n    properties:\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: { get_input: database_name }\n      use_existing: false\n\n  sliceanalysisms:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n              STANDALONE: \"false\"\n            ports:\n              - \"8080:0\"\n            volumes:\n              - host:\n                  path: { get_input: log_path }\n                container:\n                  bind: /home/sliceanalysisms/logs\n                  mode: rw\n    properties:\n      image:\n        get_input: tag_version\n      service_component_type: '\''dcae-slice-analysis-ms'\''\n      service_id: '\''sliceanalysisms'\''\n      always_pull_image: true\n      replicas: {get_input: replicas}\n      docker_config:\n        healthcheck:\n          endpoint: /healthcheck\n          interval: 15s\n          timeout: 1s\n          type: http\n      tls_info:\n        cert_directory: '\''/opt/app/sliceanalysisms/etc/cert/'\''\n        use_tls: true\n      application_config:\n        aafUsername: { get_input: aaf_username }\n        aafPassword: { get_input: aaf_password }\n        trust_store_path: '\''/opt/app/sliceanalysisms/etc/cert/trust.jks'\''\n        trust_store_pass_path: '\''/opt/app/sliceanalysisms/etc/cert/trust.pass'\''\n        streams_subscribes:\n          performance_management_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: performance_management_topic_url }\n            type: message-router\n          intelligent_slicing_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: intelligent_slicing_topic_url }\n            type: message-router\n          dcae_cl_response_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: dcae_cl_response_topic_url }\n            type: message-router\n        streams_publishes:\n          CL_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: dcae_cl_topic_url }\n            type: message-router\n        postgres.host: { get_attribute: [ pgaasvm, admin, host ] }\n        postgres.port: { get_attribute: [ pgaasvm, admin, port ] }\n        postgres.username: { get_attribute: [ pgaasvm, admin, user ] }\n        postgres.password: { get_attribute: [ pgaasvm, admin, password ] }\n        sliceanalysisms.pollingInterval: { get_input: dmaap_polling_interval}\n        sliceanalysisms.pollingTimeout: { get_input: dmaap_polling_timeout }\n        cbsPollingInterval: { get_input: cbs_polling_interval }\n        sliceanalysisms.dmaap.server:\n          - { get_input: dmaap }\n        sliceanalysisms.cg: { get_input: cg }\n        sliceanalysisms.cid: { get_input: cid }\n        sliceanalysisms.configDb.service: { get_input: config_db }\n        sliceanalysisms.configDbEnabled: { get_input: configDbEnabled }\n        sliceanalysisms.aai.url: { get_input: aai }\n        sliceanalysisms.cps.url: { get_input: cps }\n        sliceanalysisms.samples: { get_input: samples }\n        sliceanalysisms.minPercentageChange: { get_input: minimumPercentageChange }\n        sliceanalysisms.initialDelaySeconds: { get_input: initialDelaySeconds }\n    relationships:\n      - type: cloudify.relationships.depends_on\n        target: pgaasvm\n'
++ echo ' #\n #============LICENSE_START=======================================================\n # Copyright (C) 2020-2021 Wipro Limited.\n # Copyright (c) 2021 AT&T Intellectual Property. All rights reserved.\n #==============================================================================\n #Licensed under the Apache License, Version 2.0 (the \"License\");\n #you may not use this file except in compliance with the License.\n #You may obtain a copy of the License at\n #\n #    http://www.apache.org/licenses/LICENSE-2.0\n #\n #Unless required by applicable law or agreed to in writing, software\n #distributed under the License is distributed on an \"AS IS\" BASIS,\n #WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n #See the License for the specific language governing permissions and\n #limitations under the License.\n #============LICENSE_END=========================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:pgaas?version=1.3.0\ninputs:\n  replicas:\n    type: integer\n    description: replica count for deployment\n    default: 1\n  tag_version:\n    type: string\n    description: docker image name and version\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.components.slice-analysis-ms:1.0.6\"\n  pgaas_cluster_name:\n    type: string\n    description: pg cluster\n    default: \"dcae-pg-primary.onap\"\n  database_name:\n    type: string\n    description: database name\n    default: \"sliceanalysisms\"\n  aaf_username:\n    type: string\n    description: aaf username\n    default: \"dcae@dcae.onap.org\"\n  aaf_password:\n    type: string\n    description: aaf password\n    default: \"demo123456!\"\n  dmaap_polling_interval:\n    type: integer\n    description: dmaap polling interval\n    default: 20\n  cbs_polling_interval:\n    type: integer\n    description: cbs polling interval\n    default: 60\n  dmaap_polling_timeout:\n    type: integer\n    description: dmaap polling timeout\n    default: 60\n  namespace:\n    type: string\n    description: namespace\n    default: \"onap\"\n  dmaap:\n    type: string\n    description: dmaap server\n    default: \"message-router\"\n  buffer_time:\n    type: integer\n    description: buffer time\n    default: 60\n  cg:\n    type: string\n    description: consumer group\n    default: \"sliceanalysisms-cg\"\n  cid:\n    type: string\n    description: consumer id\n    default: \"sliceanalysisms-cid\"\n  config_db:\n    type: string\n    description: config db location\n    default: \"http://config-db:8080\"\n  aai:\n    type: string\n    description: aai url\n    default: \"https://aai.onap.svc.cluster.local:8443/aai/v21\"\n  cps:\n    type: string\n    description: cps url\n    default: \"https://cps:8088\"\n  configDbEnabled:\n    type: string\n    description: configDb flag\n    default: \"true\"\n  log_path:\n    type: string\n    description: log location in host\n    default: \"/dockerdata-nfs/slice-analysis-ms\"\n  performance_management_topic_url:\n    type: string\n    description: performance measurement topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/org.onap.dmaap.mr.PERFORMANCE_MEASUREMENTS\"\n  intelligent_slicing_topic_url:\n    type: string\n    description: aai event topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.ML_RESPONSE_TOPIC\"\n  dcae_cl_response_topic_url:\n    type: string\n    description: dcae control loop response topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/DCAE_CL_RSP\"\n  dcae_cl_topic_url:\n    type: string\n    description: dcae control loop topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.DCAE_CL_OUTPUT\"\n  samples:\n    type: integer\n    description: number of samples to be considered for processing\n    default: 3\n  minimumPercentageChange:\n    type: integer\n    description: minimum change above which control loop should be triggered\n    default: 5\n  initialDelaySeconds:\n    type: integer\n    description: delay for the consumer thread\n    default: 120000\nnode_templates:\n  pgaasvm:\n    type: dcae.nodes.pgaas.database\n    properties:\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: { get_input: database_name }\n      use_existing: false\n\n  sliceanalysisms:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n              STANDALONE: \"false\"\n            ports:\n              - \"8080:0\"\n            volumes:\n              - host:\n                  path: { get_input: log_path }\n                container:\n                  bind: /home/sliceanalysisms/logs\n                  mode: rw\n    properties:\n      image:\n        get_input: tag_version\n      service_component_type: '\''dcae-slice-analysis-ms'\''\n      service_id: '\''sliceanalysisms'\''\n      always_pull_image: true\n      replicas: {get_input: replicas}\n      docker_config:\n        healthcheck:\n          endpoint: /healthcheck\n          interval: 15s\n          timeout: 1s\n          type: http\n      tls_info:\n        cert_directory: '\''/opt/app/sliceanalysisms/etc/cert/'\''\n        use_tls: true\n      application_config:\n        aafUsername: { get_input: aaf_username }\n        aafPassword: { get_input: aaf_password }\n        trust_store_path: '\''/opt/app/sliceanalysisms/etc/cert/trust.jks'\''\n        trust_store_pass_path: '\''/opt/app/sliceanalysisms/etc/cert/trust.pass'\''\n        streams_subscribes:\n          performance_management_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: performance_management_topic_url }\n            type: message-router\n          intelligent_slicing_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: intelligent_slicing_topic_url }\n            type: message-router\n          dcae_cl_response_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: dcae_cl_response_topic_url }\n            type: message-router\n        streams_publishes:\n          CL_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: dcae_cl_topic_url }\n            type: message-router\n        postgres.host: { get_attribute: [ pgaasvm, admin, host ] }\n        postgres.port: { get_attribute: [ pgaasvm, admin, port ] }\n        postgres.username: { get_attribute: [ pgaasvm, admin, user ] }\n        postgres.password: { get_attribute: [ pgaasvm, admin, password ] }\n        sliceanalysisms.pollingInterval: { get_input: dmaap_polling_interval}\n        sliceanalysisms.pollingTimeout: { get_input: dmaap_polling_timeout }\n        cbsPollingInterval: { get_input: cbs_polling_interval }\n        sliceanalysisms.dmaap.server:\n          - { get_input: dmaap }\n        sliceanalysisms.cg: { get_input: cg }\n        sliceanalysisms.cid: { get_input: cid }\n        sliceanalysisms.configDb.service: { get_input: config_db }\n        sliceanalysisms.configDbEnabled: { get_input: configDbEnabled }\n        sliceanalysisms.aai.url: { get_input: aai }\n        sliceanalysisms.cps.url: { get_input: cps }\n        sliceanalysisms.samples: { get_input: samples }\n        sliceanalysisms.minPercentageChange: { get_input: minimumPercentageChange }\n        sliceanalysisms.initialDelaySeconds: { get_input: initialDelaySeconds }\n    relationships:\n      - type: cloudify.relationships.depends_on\n        target: pgaasvm\n'
+ echo '
   {
    "vnfTypes": [],
    "owner": "dcaeorch",
    "typeVersion": 2112091153,
    "typeName": "k8s-slice-analysis-ms",
    "component": "dcae",
    "application": "DCAE",
    "blueprintTemplate": " #\n #============LICENSE_START=======================================================\n # Copyright (C) 2020-2021 Wipro Limited.\n # Copyright (c) 2021 AT&T Intellectual Property. All rights reserved.\n #==============================================================================\n #Licensed under the Apache License, Version 2.0 (the \"License\");\n #you may not use this file except in compliance with the License.\n #You may obtain a copy of the License at\n #\n #    http://www.apache.org/licenses/LICENSE-2.0\n #\n #Unless required by applicable law or agreed to in writing, software\n #distributed under the License is distributed on an \"AS IS\" BASIS,\n #WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n #See the License for the specific language governing permissions and\n #limitations under the License.\n #============LICENSE_END=========================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:pgaas?version=1.3.0\ninputs:\n  replicas:\n    type: integer\n    description: replica count for deployment\n    default: 1\n  tag_version:\n    type: string\n    description: docker image name and version\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.components.slice-analysis-ms:1.0.6\"\n  pgaas_cluster_name:\n    type: string\n    description: pg cluster\n    default: \"dcae-pg-primary.onap\"\n  database_name:\n    type: string\n    description: database name\n    default: \"sliceanalysisms\"\n  aaf_username:\n    type: string\n    description: aaf username\n    default: \"dcae@dcae.onap.org\"\n  aaf_password:\n    type: string\n    description: aaf password\n    default: \"demo123456!\"\n  dmaap_polling_interval:\n    type: integer\n    description: dmaap polling interval\n    default: 20\n  cbs_polling_interval:\n    type: integer\n    description: cbs polling interval\n    default: 60\n  dmaap_polling_timeout:\n    type: integer\n    description: dmaap polling timeout\n    default: 60\n  namespace:\n    type: string\n    description: namespace\n    default: \"onap\"\n  dmaap:\n    type: string\n    description: dmaap server\n    default: \"message-router\"\n  buffer_time:\n    type: integer\n    description: buffer time\n    default: 60\n  cg:\n    type: string\n    description: consumer group\n    default: \"sliceanalysisms-cg\"\n  cid:\n    type: string\n    description: consumer id\n    default: \"sliceanalysisms-cid\"\n  config_db:\n    type: string\n    description: config db location\n    default: \"http://config-db:8080\"\n  aai:\n    type: string\n    description: aai url\n    default: \"https://aai.onap.svc.cluster.local:8443/aai/v21\"\n  cps:\n    type: string\n    description: cps url\n    default: \"https://cps:8088\"\n  configDbEnabled:\n    type: string\n    description: configDb flag\n    default: \"true\"\n  log_path:\n    type: string\n    description: log location in host\n    default: \"/dockerdata-nfs/slice-analysis-ms\"\n  performance_management_topic_url:\n    type: string\n    description: performance measurement topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/org.onap.dmaap.mr.PERFORMANCE_MEASUREMENTS\"\n  intelligent_slicing_topic_url:\n    type: string\n    description: aai event topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.ML_RESPONSE_TOPIC\"\n  dcae_cl_response_topic_url:\n    type: string\n    description: dcae control loop response topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/DCAE_CL_RSP\"\n  dcae_cl_topic_url:\n    type: string\n    description: dcae control loop topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.DCAE_CL_OUTPUT\"\n  samples:\n    type: integer\n    description: number of samples to be considered for processing\n    default: 3\n  minimumPercentageChange:\n    type: integer\n    description: minimum change above which control loop should be triggered\n    default: 5\n  initialDelaySeconds:\n    type: integer\n    description: delay for the consumer thread\n    default: 120000\nnode_templates:\n  pgaasvm:\n    type: dcae.nodes.pgaas.database\n    properties:\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: { get_input: database_name }\n      use_existing: false\n\n  sliceanalysisms:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n              STANDALONE: \"false\"\n            ports:\n              - \"8080:0\"\n            volumes:\n              - host:\n                  path: { get_input: log_path }\n                container:\n                  bind: /home/sliceanalysisms/logs\n                  mode: rw\n    properties:\n      image:\n        get_input: tag_version\n      service_component_type: '\''dcae-slice-analysis-ms'\''\n      service_id: '\''sliceanalysisms'\''\n      always_pull_image: true\n      replicas: {get_input: replicas}\n      docker_config:\n        healthcheck:\n          endpoint: /healthcheck\n          interval: 15s\n          timeout: 1s\n          type: http\n      tls_info:\n        cert_directory: '\''/opt/app/sliceanalysisms/etc/cert/'\''\n        use_tls: true\n      application_config:\n        aafUsername: { get_input: aaf_username }\n        aafPassword: { get_input: aaf_password }\n        trust_store_path: '\''/opt/app/sliceanalysisms/etc/cert/trust.jks'\''\n        trust_store_pass_path: '\''/opt/app/sliceanalysisms/etc/cert/trust.pass'\''\n        streams_subscribes:\n          performance_management_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: performance_management_topic_url }\n            type: message-router\n          intelligent_slicing_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: intelligent_slicing_topic_url }\n            type: message-router\n          dcae_cl_response_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: dcae_cl_response_topic_url }\n            type: message-router\n        streams_publishes:\n          CL_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: dcae_cl_topic_url }\n            type: message-router\n        postgres.host: { get_attribute: [ pgaasvm, admin, host ] }\n        postgres.port: { get_attribute: [ pgaasvm, admin, port ] }\n        postgres.username: { get_attribute: [ pgaasvm, admin, user ] }\n        postgres.password: { get_attribute: [ pgaasvm, admin, password ] }\n        sliceanalysisms.pollingInterval: { get_input: dmaap_polling_interval}\n        sliceanalysisms.pollingTimeout: { get_input: dmaap_polling_timeout }\n        cbsPollingInterval: { get_input: cbs_polling_interval }\n        sliceanalysisms.dmaap.server:\n          - { get_input: dmaap }\n        sliceanalysisms.cg: { get_input: cg }\n        sliceanalysisms.cid: { get_input: cid }\n        sliceanalysisms.configDb.service: { get_input: config_db }\n        sliceanalysisms.configDbEnabled: { get_input: configDbEnabled }\n        sliceanalysisms.aai.url: { get_input: aai }\n        sliceanalysisms.cps.url: { get_input: cps }\n        sliceanalysisms.samples: { get_input: samples }\n        sliceanalysisms.minPercentageChange: { get_input: minimumPercentageChange }\n        sliceanalysisms.initialDelaySeconds: { get_input: initialDelaySeconds }\n    relationships:\n      - type: cloudify.relationships.depends_on\n        target: pgaasvm\n"
   }'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
uth: { get_input: secureEnableCert }\n        security.enableDmaapCertAuth: { get_input: secureEnableCert }\n        streams_publishes:\n            pnf-update:\n              type: \"message_router\"\n              dmaap_info:\n                topic_url: {get_input: dmaap_pnfUpdate_url }\n            pnf-ready:\n              type: \"message_router\"\n              dmaap_info:\n                topic_url: { get_input: dmaap_pnfReady_url }\n        streams_subscribes:\n            ves-reg-output:\n              type: \"message_router\"\n              dmaap_info:\n                topic_url: { get_input: dmaap_vesPnfRegOutput_url }\n      docker_config:\n        healthcheck:\n          endpoint: /heartbeat\n          interval: 15s\n          timeout: 1s\n          type: http\n        ports:\n          - { concat: [ { get_input: container_port }, ':', { get_input: host_port } ] }\n      image:\n        { get_input: tag_version }\n      replicas: {get_input: replicas}\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n      log_info:\n        log_directory: \"/opt/app/prh/logs\"\n      tls_info:\n        cert_directory: '/opt/app/prh/etc/cert'\n        use_tls: true\n    type: dcae.nodes.ContainerizedServiceComponent\n\n","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"e6ef89f9-f8c6-4e02-a0b8-7524d268f6e5","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/e6ef89f9-f8c6-4e02-a0b8-7524d268f6e5"},"created":1639094023242,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-restconf","typeVersion":2112091153,"blueprintTemplate":"# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2017-2021 AT&T Intellectual Property. All rights reserved.\n# Copyright (c) 2019 Huawei. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\ndescription: >\n  This blueprint deploys/manages the RestConf Collector module as a Docker container\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n  dmaap_host:\n    type: string\n    default: \"message-router.onap.svc.cluster.local\"\n  dmaap_port:\n    type: string\n    default: \"3904\"\n  tag_version:\n    type: string\n    default:  \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.restconfcollector:1.2.5\"\n  consul_host:\n    type: string\n    default: \"consul-server.onap.svc.cluster.local\"\n  consul_port:\n    type: string\n    default: \"8500\"\n  cbs_host:\n    type: string\n    default: \"config-binding-service.dcae.svc.cluster.local\"\n  cbs_port:\n    type: string\n    default: \"10000\"\n  external_port:\n    type: string\n    description: Kubernetes node port on which collector is exposed\n    default: \"30416\"\n  notification_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_RCC_OUTPUT\"\n  service_component_type:\n    type: string\n    default: \"dcae-restconf-collector\"\n  service_id:\n    type: string\n    default: \"dcae-restconf-collector\"\n  service_component_name_override:\n    type: string\n    default: \"dcae-restconf-collector\"\n\nnode_templates:\n  rcc_k8s:\n    type: dcae.nodes.ContainerizedServiceComponent\n    properties:\n        docker_config:\n            healthcheck:\n              endpoint: /healthcheck\n              interval: 15s\n              timeout: 1s\n              type: http\n        image:\n          get_input: tag_version\n        log_info:\n          log_directory: \"/opt/app/RCCollector/logs\"\n        application_config:\n            collector.rcc.appDescription: DCAE RestConf Collector Application\n            collector.rcc.appName: \"dcae-rcc\"\n            collector.rcc.dmaap.streamid: \"notification=device-registration\"\n            collector.rcc.inputQueue.maxPending: \"8096\"\n            tomcat.maxthreads: \"200\"\n            collector.rcc.service.port: \"8080\"\n            collector.rcc.service.secure.port: \"8687\"\n            collector.rcc.keystore.file.location: \"/opt/app/restconfcollector/etc/keystore\"\n            collector.rcc.keystore.passwordfile: \"/opt/app/restconfcollector/etc/rcc_passwordfile\"\n            collector.rcc.keystore.alias: \"dynamically generated\"\n            collector.rcc.truststore.file.location: \"/opt/app/restconfcollector/etc/truststore.onap.client.jks\"\n            collector.rcc.truststore.passwordfile: \"/opt/app/restconfcollector/etc/trustpasswordfile\"\n            collector.keystore.file.location: \"/opt/app/restconfcollector/etc/sdnc.p12\"\n            collector.keystore.passwordfile: \"/opt/app/restconfcollector/etc/passwordfile\"\n            collector.header.authflag: \"0\"\n            collector.header.authlist: \"sample1,c2FtcGxlMQ==\"\n            collector.rcc.service.secure.clientauth: \"0\"\n            streams_publishes:\n                        device-registration:\n                          dmaap_info:\n                            topic_url:\n                              get_input: notification_publish_url\n                          type: message_router\n            rcc_policy: '[{\"controller_name\":\"AccessM&C\",\"controller_restapiUrl\":\"172.30.0.55:26335\",\"controller_restapiUser\":\"access\",\"controller_restapiPassword\":\"Huawei@123\",\"controller_accessTokenUrl\":\"/rest/plat/smapp/v1/oauth/token\",\"controller_accessTokenFile\":\"./etc/access-token.json\",\"controller_accessTokenMethod\":\"put\",\"controller_subsMethod\":\"post\",\"controller_subscriptionUrl\":\"/restconf/v1/operations/huawei-nce-notification-action:establish-subscription\",\"controller_disableSsl\":\"true\",\"event_details\":[{\"event_name\":\"ONT_registration\",\"event_description\":\"ONTregistartionevent\",\"event_sseventUrlEmbed\":\"true\",\"event_sseventsField\":\"output.url\",\"event_sseventsUrl\":\"null\",\"event_subscriptionTemplate\":\"./etc/ont_registartion_subscription_template.json\",\"event_unSubscriptionTemplate\":\"./etc/ont_registartion_unsubscription_template.json\",\"event_ruleId\":\"12345678\",\"modifyData\": \"true\",\"modifyMethod\": \"modifyOntEvent\",\"userData\": \"remote_id=AC9.0234.0337;svlan=100;cvlan=10;\"}]}]'\n        service_component_type: { get_input: service_component_type }\n        service_id: { get_input: service_id }\n        service_component_name_override: { get_input: service_component_name_override }\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n                DMAAPHOST:\n                    { get_input: dmaap_host }\n                DMAAPPORT: \"3904\"\n                DMAAPPUBTOPIC: \"unauthenticated.DCAE_RCC_OUTPUT\"\n                CONSUL_HOST:\n                    { get_input: consul_host }\n                CONSUL_PORT: \"8500\"\n                CBS_HOST:\n                    { get_input: cbs_host }\n                CBS_PORT: \"10000\"\n                CONFIG_BINDING_SERVICE: \"config_binding_service\"\n            ports:\n              - concat: [\"8080:\", { get_input: external_port }]\n\n","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"d6449e47-196b-4dcb-b407-bd2d2f3729c1","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/d6449e47-196b-4dcb-b407-bd2d2f3729c1"},"created":1639094023358,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-slice-analysis-ms","typeVersion":2112091153,"blueprintTemplate":" #\n #============LICENSE_START=======================================================\n # Copyright (C) 2020-2021 Wipro Limited.\n # Copyright (c) 2021 AT&T Intellectual Property. All rights reserved.\n #==============================================================================\n #Licensed under the Apache License, Version 2.0 (the \"License\");\n #you may not use this file except in compliance with the License.\n #You may obtain a copy of the License at\n #\n #    http://www.apache.org/licenses/LICENSE-2.0\n #\n #Unless required by applicable law or agreed to in writing, software\n #distributed under the License is distributed on an \"AS IS\" BASIS,\n #WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n #See the License for the specific language governing permissions and\n #limitations under the License.\n #============LICENSE_END=========================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:pgaas?version=1.3.0\ninputs:\n  replicas:\n    type: integer\n    description: replica count for deployment\n    default: 1\n  tag_version:\n    type: string\n    description: docker image name and version\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.components.slice-analysis-ms:1.0.6\"\n  pgaas_cluster_name:\n    type: string\n    description: pg cluster\n    default: \"dcae-pg-primary.onap\"\n  database_name:\n    type: string\n    description: database name\n    default: \"sliceanalysisms\"\n  aaf_username:\n    type: string\n    description: aaf username\n    default: \"dcae@dcae.onap.org\"\n  aaf_password:\n    type: string\n    description: aaf password\n    default: \"demo123456!\"\n  dmaap_polling_interval:\n    type: integer\n    description: dmaap polling interval\n    default: 20\n  cbs_polling_interval:\n    type: integer\n    description: cbs polling interval\n    default: 60\n  dmaap_polling_timeout:\n    type: integer\n    description: dmaap polling timeout\n    default: 60\n  namespace:\n    type: string\n    description: namespace\n    default: \"onap\"\n  dmaap:\n    type: string\n    description: dmaap server\n    default: \"message-router\"\n  buffer_time:\n    type: integer\n    description: buffer time\n    default: 60\n  cg:\n    type: string\n    description: consumer group\n    default: \"sliceanalysisms-cg\"\n  cid:\n    type: string\n    description: consumer id\n    default: \"sliceanalysisms-cid\"\n  config_db:\n    type: string\n    description: config db location\n    default: \"http://config-db:8080\"\n  aai:\n    type: string\n    description: aai url\n    default: \"https://aai.onap.svc.cluster.local:8443/aai/v21\"\n  cps:\n    type: string\n    description: cps url\n    default: \"https://cps:8088\"\n  configDbEnabled:\n    type: string\n    description: configDb flag\n    default: \"true\"\n  log_path:\n    type: string\n    description: log location in host\n    default: \"/dockerdata-nfs/slice-analysis-ms\"\n  performance_management_topic_url:\n    type: string\n    description: performance measurement topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/org.onap.dmaap.mr.PERFORMANCE_MEASUREMENTS\"\n  intelligent_slicing_topic_url:\n    type: string\n    description: aai event topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.ML_RESPONSE_TOPIC\"\n  dcae_cl_response_topic_url:\n    type: string\n    description: dcae control loop response topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/DCAE_CL_RSP\"\n  dcae_cl_topic_url:\n    type: string\n    description: dcae control loop topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.DCAE_CL_OUTPUT\"\n  samples:\n    type: integer\n    description: number of samples to be considered for processing\n    default: 3\n  minimumPercentageChange:\n    type: integer\n    description: minimum change above which control loop should be triggered\n    default: 5\n  initialDelaySeconds:\n    type: integer\n    description: delay for the consumer thread\n    default: 120000\nnode_templates:\n  pgaasvm:\n    type: dcae.nodes.pgaas.database\n    properties:\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: { get_input: database_name }\n      use_existing: false\n\n  sliceanalysisms:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n              STANDALONE: \"false\"\n            ports:\n              - \"8080:0\"\n            volumes:\n              - host:\n                  path: { get_input: log_path }\n                container:\n                  bind: /home/sliceanalysisms/logs\n                  mode: rw\n    properties:\n      image:\n        get_input: tag_version\n      service_component_type: 'dcae-slice-analysis-ms'\n      service_id: 'sliceanalysisms'\n      always_pull_image: true\n      replicas: {get_input: replicas}\n      docker_config:\n        healthcheck:\n          endpoint: /healthcheck\n          interval: 15s\n          timeout: 1s\n          type: http\n      tls_info:\n        cert_directory: '/opt/app/sliceanalysisms/etc/cert/'\n        use_tls: true\n      application_config:\n        aafUsername: { get_input: aaf_username }\n        aafPassword: { get_input: aaf_password }\n        trust_store_path: '/opt/app/sliceanalysisms/etc/cert/trust.jks'\n        trust_store_pass_path: '/opt/app/sliceanalysisms/etc/cert/trust.pass'\n        streams_subscribes:\n          performance_management_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: performance_management_topic_url }\n            type: message-router\n          intelligent_slicing_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: intelligent_slicing_topic_url }\n            type: message-router\n          dcae_cl_response_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: dcae_cl_response_topic_url }\n            type: message-router\n        streams_publishes:\n          CL_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: dcae_cl_topic_url }\n            type: message-router\n        postgres.host: { get_attribute: [ pgaasvm, admin, host ] }\n        postgres.port: { get_attribute: [ pgaasvm, admin, port ] }\n        postgres.username: { get_attribute: [ pgaasvm, admin, user ] }\n        postgres.password: { get_attribute: [ pgaasvm, admin, password ] }\n        sliceanalysisms.pollingInterval: { get_input: dmaap_polling_interval}\n        sliceanalysisms.pollingTimeout: { get_input: dmaap_polling_timeout }\n        cbsPollingInterval: { get_input: cbs_polling_interval }\n        sliceanalysisms.dmaap.server:\n          - { get_input: dmaap }\n        sliceanalysisms.cg: { get_input: cg }\n        sliceanalysisms.cid: { get_input: cid }\n        sliceanalysisms.configDb.service: { get_input: config_db }\n        sliceanalysisms.configDbEnabled: { get_input: configDbEnabled }\n        sliceanalysisms.aai.url: { get_input: aai }\n        sliceanal
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 16867    0  8569  100  8298   229k   222k --:--:-- --:--:-- --:--:--  457k
+ for BP in /blueprints/*.yaml
+ upload_service_type /blueprints/k8s-snmptrap.yaml /certs/cacert.pem
+ '[' /certs/cacert.pem ']'
+ TLSCURL='--cacert /certs/cacert.pem'
+ create_service_type /blueprints/k8s-snmptrap.yaml
+ curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types
++ date +%y%m%d%I%M
++ basename /blueprints/k8s-snmptrap.yaml .yaml
++ flatten /blueprints/k8s-snmptrap.yaml
+++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g'
+++ tr -d '\n'
++ FLAT='# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2018-2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n  tag_version:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.snmptrap:2.0.5\"\n  cache:\n    type: string\n    default:\n      \"dns_cache_ttl_seconds: 60\"\n  files:\n    type: string\n    default:\n      \"arriving_traps_log: snmptrapd_arriving_traps.log\n      data_dir: data\n      eelf_audit: audit.log\n      eelf_base_dir: /opt/app/snmptrap/logs\n      eelf_debug: debug.log\n      eelf_error: error.log\n      eelf_metrics: metrics.log\n      log_dir: logs\n      minimum_severity_to_log: 2\n      perm_status_file: snmptrapd_status.log\n      pid_dir: tmp\n      roll_frequency: day\n      runtime_base_dir: /opt/app/snmptrap\n      snmptrapd_diag: snmptrapd_prog_diag.log\n      traps_stats_log: snmptrapd_stats.csv\"\n  protocols:\n    type: string\n    default:\n      \"ipv4_interface: 0.0.0.0\n      ipv4_port: 6162\n      ipv6_interface: ::1\n      ipv6_port: 6162\"\n  publisher:\n    type: string\n    default:\n      \"http_milliseconds_between_retries: 750\n      http_milliseconds_timeout: 1500\n      http_peer_publisher: unavailable\n      http_primary_publisher: '\''true'\''\n      http_retries: 3\n      max_milliseconds_between_publishes: 10000\n      max_traps_between_publishes: 10\"\n  sec_fault_unsecure_topic:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.ONAP-COLLECTOR-SNMPTRAP\"\n  snmptrapd:\n    type: string\n    default:\n      \"title: Collector for receiving SNMP traps and publishing to DMAAP/MR\n      version: 2.0.5\"\n  external_port:\n    type: string\n    description: Kubernetes node port on which collector is exposed\n    default: \"30470\"\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  service_component_type:\n    type: string\n    default: \"dcae-snmptrap-collector\"\n  service_id:\n    type: string\n    default: \"dcae-snmptrap-collector\"\n  service_component_name_override:\n    type: string\n    default: \"dcae-snmptrap-collector\"\n\n\nnode_templates:\n  snmptrap:\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n           ports:\n             - concat: [\"6162/udp:\", { get_input: external_port }]\n    properties:\n      application_config:\n        StormWatchPolicy: '\'''\''\n        cache:\n          get_input: cache\n        files:\n          get_input: files\n        protocols:\n          get_input: protocols\n        publisher:\n          get_input: publisher\n        services_calls: {}\n        snmptrapd:\n          get_input: snmptrapd\n        sw_interval_in_seconds: 60\n        streams_publishes:\n            sec_fault_unsecure:\n              dmaap_info:\n                topic_url:\n                  get_input: sec_fault_unsecure_topic\n              type: message_router\n\n      image:\n        get_input: tag_version\n      replicas: {get_input: replicas}\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n    type: dcae.nodes.ContainerizedServiceComponent\n\n'
++ echo '# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2018-2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n  tag_version:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.snmptrap:2.0.5\"\n  cache:\n    type: string\n    default:\n      \"dns_cache_ttl_seconds: 60\"\n  files:\n    type: string\n    default:\n      \"arriving_traps_log: snmptrapd_arriving_traps.log\n      data_dir: data\n      eelf_audit: audit.log\n      eelf_base_dir: /opt/app/snmptrap/logs\n      eelf_debug: debug.log\n      eelf_error: error.log\n      eelf_metrics: metrics.log\n      log_dir: logs\n      minimum_severity_to_log: 2\n      perm_status_file: snmptrapd_status.log\n      pid_dir: tmp\n      roll_frequency: day\n      runtime_base_dir: /opt/app/snmptrap\n      snmptrapd_diag: snmptrapd_prog_diag.log\n      traps_stats_log: snmptrapd_stats.csv\"\n  protocols:\n    type: string\n    default:\n      \"ipv4_interface: 0.0.0.0\n      ipv4_port: 6162\n      ipv6_interface: ::1\n      ipv6_port: 6162\"\n  publisher:\n    type: string\n    default:\n      \"http_milliseconds_between_retries: 750\n      http_milliseconds_timeout: 1500\n      http_peer_publisher: unavailable\n      http_primary_publisher: '\''true'\''\n      http_retries: 3\n      max_milliseconds_between_publishes: 10000\n      max_traps_between_publishes: 10\"\n  sec_fault_unsecure_topic:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.ONAP-COLLECTOR-SNMPTRAP\"\n  snmptrapd:\n    type: string\n    default:\n      \"title: Collector for receiving SNMP traps and publishing to DMAAP/MR\n      version: 2.0.5\"\n  external_port:\n    type: string\n    description: Kubernetes node port on which collector is exposed\n    default: \"30470\"\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  service_component_type:\n    type: string\n    default: \"dcae-snmptrap-collector\"\n  service_id:\n    type: string\n    default: \"dcae-snmptrap-collector\"\n  service_component_name_override:\n    type: string\n    default: \"dcae-snmptrap-collector\"\n\n\nnode_templates:\n  snmptrap:\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n           ports:\n             - concat: [\"6162/udp:\", { get_input: external_port }]\n    properties:\n      application_config:\n        StormWatchPolicy: '\'''\''\n        cache:\n          get_input: cache\n        files:\n          get_input: files\n        protocols:\n          get_input: protocols\n        publisher:\n          get_input: publisher\n        services_calls: {}\n        snmptrapd:\n          get_input: snmptrapd\n        sw_interval_in_seconds: 60\n        streams_publishes:\n            sec_fault_unsecure:\n              dmaap_info:\n                topic_url:\n                  get_input: sec_fault_unsecure_topic\n              type: message_router\n\n      image:\n        get_input: tag_version\n      replicas: {get_input: replicas}\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n    type: dcae.nodes.ContainerizedServiceComponent\n\n'
+ echo '
   {
    "vnfTypes": [],
    "owner": "dcaeorch",
    "typeVersion": 2112091153,
    "typeName": "k8s-snmptrap",
    "component": "dcae",
    "application": "DCAE",
    "blueprintTemplate": "# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2018-2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n  tag_version:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.snmptrap:2.0.5\"\n  cache:\n    type: string\n    default:\n      \"dns_cache_ttl_seconds: 60\"\n  files:\n    type: string\n    default:\n      \"arriving_traps_log: snmptrapd_arriving_traps.log\n      data_dir: data\n      eelf_audit: audit.log\n      eelf_base_dir: /opt/app/snmptrap/logs\n      eelf_debug: debug.log\n      eelf_error: error.log\n      eelf_metrics: metrics.log\n      log_dir: logs\n      minimum_severity_to_log: 2\n      perm_status_file: snmptrapd_status.log\n      pid_dir: tmp\n      roll_frequency: day\n      runtime_base_dir: /opt/app/snmptrap\n      snmptrapd_diag: snmptrapd_prog_diag.log\n      traps_stats_log: snmptrapd_stats.csv\"\n  protocols:\n    type: string\n    default:\n      \"ipv4_interface: 0.0.0.0\n      ipv4_port: 6162\n      ipv6_interface: ::1\n      ipv6_port: 6162\"\n  publisher:\n    type: string\n    default:\n      \"http_milliseconds_between_retries: 750\n      http_milliseconds_timeout: 1500\n      http_peer_publisher: unavailable\n      http_primary_publisher: '\''true'\''\n      http_retries: 3\n      max_milliseconds_between_publishes: 10000\n      max_traps_between_publishes: 10\"\n  sec_fault_unsecure_topic:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.ONAP-COLLECTOR-SNMPTRAP\"\n  snmptrapd:\n    type: string\n    default:\n      \"title: Collector for receiving SNMP traps and publishing to DMAAP/MR\n      version: 2.0.5\"\n  external_port:\n    type: string\n    description: Kubernetes node port on which collector is exposed\n    default: \"30470\"\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  service_component_type:\n    type: string\n    default: \"dcae-snmptrap-collector\"\n  service_id:\n    type: string\n    default: \"dcae-snmptrap-collector\"\n  service_component_name_override:\n    type: string\n    default: \"dcae-snmptrap-collector\"\n\n\nnode_templates:\n  snmptrap:\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n           ports:\n             - concat: [\"6162/udp:\", { get_input: external_port }]\n    properties:\n      application_config:\n        StormWatchPolicy: '\'''\''\n        cache:\n          get_input: cache\n        files:\n          get_input: files\n        protocols:\n          get_input: protocols\n        publisher:\n          get_input: publisher\n        services_calls: {}\n        snmptrapd:\n          get_input: snmptrapd\n        sw_interval_in_seconds: 60\n        streams_publishes:\n            sec_fault_unsecure:\n              dmaap_info:\n                topic_url:\n                  get_input: sec_fault_unsecure_topic\n              type: message_router\n\n      image:\n        get_input: tag_version\n      replicas: {get_input: replicas}\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n    type: dcae.nodes.ContainerizedServiceComponent\n\n"
   }'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  9393  100  4832  100  4561   134k   127k --:--:-- --:--:-- --:--:--  269k
+ for BP in /blueprints/*.yaml
+ upload_service_type /blueprints/k8s-sonhms.yaml /certs/cacert.pem
+ '[' /certs/cacert.pem ']'
+ TLSCURL='--cacert /certs/cacert.pem'
+ create_service_type /blueprints/k8s-sonhms.yaml
+ curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' ++ -d date +%y%m%d%I%M
@- https://inventory:8080/dcae-service-types
++ basename /blueprints/k8s-sonhms.yaml .yaml
++ flatten /blueprints/k8s-sonhms.yaml
+++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g'
+++ tr -d '\n'
++ FLAT=' #   ============LICENSE_START=======================================================\n #    son-handler\n #   ================================================================================\n #     Copyright (C) 2019-2020 Wipro Limited.\n #     Copyright (c) 2021 AT&T Intellectual Property. All rights reserved.\n #   ================================================================================\n #     Licensed under the Apache License, Version 2.0 (the \"License\");\n #     you may not use this file except in compliance with the License.\n #     You may obtain a copy of the License at\n #\n #          http://www.apache.org/licenses/LICENSE-2.0\n #\n #     Unless required by applicable law or agreed to in writing, software\n #     distributed under the License is distributed on an \"AS IS\" BASIS,\n #     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n #     See the License for the specific language governing permissions and\n #     limitations under the License.\n #   ============LICENSE_END=========================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - \"https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\"\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:pgaas?version=1.3.0\n  - plugin:dcaepolicyplugin?version=2.4.0\ninputs:\n  replicas:\n    type: integer\n    description: replica count for deployment\n    default: 1\n  tag_version:\n    type: string\n    description: docker image name and version\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.son-handler:2.1.4\"\n  pgaas_cluster_name:\n    type: string\n    description: pg cluster\n    default: \"dcae-pg-primary.onap\"\n  database_name:\n    type: string\n    description: database name\n    default: \"sonhms\"\n  aaf_username:\n    type: string\n    description: aaf username\n    default:\n  aaf_password:\n    type: string\n    description: aaf password\n    default:\n  polling_interval:\n    type: integer\n    description: dmaap polling interval\n    default: 20\n  cbs_polling_interval:\n    type: integer\n    description: cbs polling interval\n    default: 60\n  polling_timeout:\n    type: integer\n    description: dmaap polling timeout\n    default: 60\n  num_solutions:\n    type: integer\n    description: num of solutions\n    default: 5\n  min_collision:\n    type: integer\n    description: minimum no. of collisions\n    default: 5\n  min_confusion:\n    type: integer\n    description: minimum no. of confusions\n    default: 5\n  max_clusters:\n    type: integer\n    description: maximum clusters\n    default: 5\n  bad_threshold:\n    type: integer\n    description: threshold for bad neighbors\n    default: 50\n  poor_threshold:\n    type: integer\n    description: threshold for poor neighbors\n    default: 70\n  namespace:\n    type: string\n    description: namespace\n    default: \"onap\"\n  dmaap:\n    type: string\n    description: dmaap server\n    default: \"message-router\"\n  buffer_time:\n    type: integer\n    description: buffer time\n    default: 60\n  cg:\n    type: string\n    description: consumer group\n    default: \"sonhms-cg\"\n  cid:\n    type: string\n    description: consumer id\n    default: \"sonhms-cid\"\n  config_db:\n    type: string\n    description: config db location\n    default: \"http://sdnc.onap:8181\"\n  oof:\n    type: string\n    description: oof location\n    default: \"https://oof-osdf.onap:8698\"\n  oof_endpoint:\n    type: string\n    description: oof endpoint\n    default: \"/api/oof/v1/pci\"\n  pci_optimizer:\n    type: string\n    description: pci optimizer name in oof\n    default: \"pci\"\n  pci_anr_optimizer:\n    type: string\n    description: pci and anr optimizer name in oof\n    default: \"pci_anr\"\n  log_path:\n    type: string\n    description: log location in host\n    default: \"/dockerdata-nfs/son-handler\"\n  poorCountThreshold:\n    type: integer\n    description: poor neighbor count threshold\n    default: 3\n  badCountThreshold:\n    type: integer\n    description: bad neighbor count threshold\n    default: 3\n  oofTriggerCountTimer:\n    type: integer\n    description: timer for oof triggered count in minutes\n    default: 30\n  oofTriggerCountThreshold:\n    type: integer\n    description: Threshold for oof trigger count\n    default: 5\n  policyRespTimer:\n    type: integer\n    description: policy response wait timer in seconds\n    default: 10\n  policy_id:\n    type: string\n    description: policy id for config policy\n    default: \"com.Config_PCIMS_CONFIG_POLICY\"\n  performance_management_topic_url:\n    type: string\n    description: ves measurement topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n  fault_management_topic_url:\n    type: string\n    description: ves fault topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.SEC_FAULT_OUTPUT\"\n  nbr_list_change_topic_url:\n    type: string\n    description: neighbor list change notification topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/PCI-NOTIF-TOPIC-NGHBR-LIST-CHANGE-INFO\"\n  dcae_cl_response_topic_url:\n    type: string\n    description: dcae control loop response topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/DCAE_CL_RSP\"\n  dcae_cl_topic_url:\n    type: string\n    description: dcae control loop topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.DCAE_CL_OUTPUT\"\n  policyNegativeAckThreshold:\n    type: integer\n    description: negative acknowledgement from policy threshold\n    default: 3\n  policyFixedPciTimeInterval:\n    type: integer\n    description: time interval for checking FixedPci table\n    default: 30000\n  nfNamingCode:\n    type: string\n    description: filter fm and pm notification using this parameter\n    default: \"RansimAgent\"\n\nnode_templates:\n  pgaasvm:\n    type: dcae.nodes.pgaas.database\n    properties:\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: { get_input: database_name }\n      use_existing: false\n\n  sonhms:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n              STANDALONE: \"false\"\n            ports:\n              - \"8080:0\"\n            volumes:\n              - host:\n                  path: { get_input: log_path }\n                container:\n                  bind: /home/sonhms/logs\n                  mode: rw\n    properties:\n      image:\n        get_input: tag_version\n      service_component_type: '\''dcae-sonhms'\''\n      service_id: '\''sonhms'\''\n      always_pull_image: true\n      replicas: {get_input: replicas}\n      docker_config:\n        healthcheck:\n          endpoint: /healthcheck\n          interval: 15s\n          timeout: 1s\n          type: http\n      application_config:\n        streams_subscribes:\n          performance_management_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: performance_management_topic_url }\n            type: message-router\n          fault_management_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: fault_management_topic_url }\n            type: message-router\n          nbr_list_change_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: nbr_list_change_topic_url }\n            type: message-router\n          dcae_cl_response_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: dcae_cl_response_topic_url }\n            type: message-router\n        streams_publishes:\n          CL_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: dcae_cl_topic_url }\n            type: message-router\n        postgres.host: { get_attribute: [ pgaasvm, admin, host ] }\n        postgres.port: { get_attribute: [ pgaasvm, admin, port ] }\n        postgres.username: { get_attribute: [ pgaasvm, admin, user ] }\n        postgres.password: { get_attribute: [ pgaasvm, admin, password ] }\n        sonhandler.pollingInterval: { get_input: polling_interval}\n        sonhandler.pollingTimeout: { get_input: polling_timeout }\n        cbsPollingInterval: { get_input: cbs_polling_interval }\n        sonhandler.numSolutions: { get_input: num_solutions }\n        sonhandler.minCollision: { get_input: min_collision }\n        sonhandler.minConfusion: { get_input: min_confusion }\n        sonhandler.maximumClusters: { get_input: max_clusters }\n        sonhandler.badThreshold: { get_input: bad_threshold }\n        sonhandler.poorThreshold: { get_input: poor_threshold }\n        sonhandler.namespace: { get_input: namespace }\n        sonhandler.sourceId: SONHMS\n        sonhandler.dmaap.server:\n          - { get_input: dmaap }\n        sonhandler.bufferTime: { get_input: buffer_time }\n        sonhandler.cg: { get_input: cg }\n        sonhandler.cid: { get_input: cid }\n        sonhandler.configDb.service: { get_input: config_db }\n        sonhandler.oof.service: { get_input: oof }\n        sonhandler.oof.endpoint: { get_input: oof_endpoint }\n        sonhandler.pciOptimizer: { get_input: pci_optimizer }\n        sonhandler.pciAnrOptimizer: { get_input: pci_anr_optimizer }\n        sonhandler.poorCountThreshold: { get_input: poorCountThreshold}\n        sonhandler.badCountThreshold: { get_input: badCountThreshold}\n        sonhandler.oofTriggerCountTimer: { get_input: oofTriggerCountTimer}\n        sonhandler.oofTriggerCountThreshold: { get_input: oofTriggerCountThreshold}\n        sonhandler.policyRespTimer: { get_input: policyRespTimer}\n        sonhandler.policyNegativeAckThreshold: { get_input: policyNegativeAckThreshold}\n        sonhandler.policyFixedPciTimeInterval: { get_input: policyFixedPciTimeInterval}\n        sonhandler.nfNamingCode: { get_input: nfNamingCode}\n        service_calls:\n          sdnr-getpnfname: []\n          sdnr-getpci: []\n          sdnr-getnbrlist: []\n          sdnr-getcelllist: []\n          oof-req: []\n          policy-req: []\n    relationships:\n      - type: cloudify.relationships.depends_on\n        target: pgaasvm\n      - type: cloudify.relationships.depends_on\n        target: son_policy\n\n  son_policy:\n    type: dcae.nodes.policy\n    properties:\n      policy_id:\n           get_input: policy_id\n\n\n\n\n'
++ echo ' #   ============LICENSE_START=======================================================\n #    son-handler\n #   ================================================================================\n #     Copyright (C) 2019-2020 Wipro Limited.\n #     Copyright (c) 2021 AT&T Intellectual Property. All rights reserved.\n #   ================================================================================\n #     Licensed under the Apache License, Version 2.0 (the \"License\");\n #     you may not use this file except in compliance with the License.\n #     You may obtain a copy of the License at\n #\n #          http://www.apache.org/licenses/LICENSE-2.0\n #\n #     Unless required by applicable law or agreed to in writing, software\n #     distributed under the License is distributed on an \"AS IS\" BASIS,\n #     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n #     See the License for the specific language governing permissions and\n #     limitations under the License.\n #   ============LICENSE_END=========================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - \"https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\"\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:pgaas?version=1.3.0\n  - plugin:dcaepolicyplugin?version=2.4.0\ninputs:\n  replicas:\n    type: integer\n    description: replica count for deployment\n    default: 1\n  tag_version:\n    type: string\n    description: docker image name and version\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.son-handler:2.1.4\"\n  pgaas_cluster_name:\n    type: string\n    description: pg cluster\n    default: \"dcae-pg-primary.onap\"\n  database_name:\n    type: string\n    description: database name\n    default: \"sonhms\"\n  aaf_username:\n    type: string\n    description: aaf username\n    default:\n  aaf_password:\n    type: string\n    description: aaf password\n    default:\n  polling_interval:\n    type: integer\n    description: dmaap polling interval\n    default: 20\n  cbs_polling_interval:\n    type: integer\n    description: cbs polling interval\n    default: 60\n  polling_timeout:\n    type: integer\n    description: dmaap polling timeout\n    default: 60\n  num_solutions:\n    type: integer\n    description: num of solutions\n    default: 5\n  min_collision:\n    type: integer\n    description: minimum no. of collisions\n    default: 5\n  min_confusion:\n    type: integer\n    description: minimum no. of confusions\n    default: 5\n  max_clusters:\n    type: integer\n    description: maximum clusters\n    default: 5\n  bad_threshold:\n    type: integer\n    description: threshold for bad neighbors\n    default: 50\n  poor_threshold:\n    type: integer\n    description: threshold for poor neighbors\n    default: 70\n  namespace:\n    type: string\n    description: namespace\n    default: \"onap\"\n  dmaap:\n    type: string\n    description: dmaap server\n    default: \"message-router\"\n  buffer_time:\n    type: integer\n    description: buffer time\n    default: 60\n  cg:\n    type: string\n    description: consumer group\n    default: \"sonhms-cg\"\n  cid:\n    type: string\n    description: consumer id\n    default: \"sonhms-cid\"\n  config_db:\n    type: string\n    description: config db location\n    default: \"http://sdnc.onap:8181\"\n  oof:\n    type: string\n    description: oof location\n    default: \"https://oof-osdf.onap:8698\"\n  oof_endpoint:\n    type: string\n    description: oof endpoint\n    default: \"/api/oof/v1/pci\"\n  pci_optimizer:\n    type: string\n    description: pci optimizer name in oof\n    default: \"pci\"\n  pci_anr_optimizer:\n    type: string\n    description: pci and anr optimizer name in oof\n    default: \"pci_anr\"\n  log_path:\n    type: string\n    description: log location in host\n    default: \"/dockerdata-nfs/son-handler\"\n  poorCountThreshold:\n    type: integer\n    description: poor neighbor count threshold\n    default: 3\n  badCountThreshold:\n    type: integer\n    description: bad neighbor count threshold\n    default: 3\n  oofTriggerCountTimer:\n    type: integer\n    description: timer for oof triggered count in minutes\n    default: 30\n  oofTriggerCountThreshold:\n    type: integer\n    description: Threshold for oof trigger count\n    default: 5\n  policyRespTimer:\n    type: integer\n    description: policy response wait timer in seconds\n    default: 10\n  policy_id:\n    type: string\n    description: policy id for config policy\n    default: \"com.Config_PCIMS_CONFIG_POLICY\"\n  performance_management_topic_url:\n    type: string\n    description: ves measurement topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n  fault_management_topic_url:\n    type: string\n    description: ves fault topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.SEC_FAULT_OUTPUT\"\n  nbr_list_change_topic_url:\n    type: string\n    description: neighbor list change notification topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/PCI-NOTIF-TOPIC-NGHBR-LIST-CHANGE-INFO\"\n  dcae_cl_response_topic_url:\n    type: string\n    description: dcae control loop response topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/DCAE_CL_RSP\"\n  dcae_cl_topic_url:\n    type: string\n    description: dcae control loop topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.DCAE_CL_OUTPUT\"\n  policyNegativeAckThreshold:\n    type: integer\n    description: negative acknowledgement from policy threshold\n    default: 3\n  policyFixedPciTimeInterval:\n    type: integer\n    description: time interval for checking FixedPci table\n    default: 30000\n  nfNamingCode:\n    type: string\n    description: filter fm and pm notification using this parameter\n    default: \"RansimAgent\"\n\nnode_templates:\n  pgaasvm:\n    type: dcae.nodes.pgaas.database\n    properties:\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: { get_input: database_name }\n      use_existing: false\n\n  sonhms:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n              STANDALONE: \"false\"\n            ports:\n              - \"8080:0\"\n            volumes:\n              - host:\n                  path: { get_input: log_path }\n                container:\n                  bind: /home/sonhms/logs\n                  mode: rw\n    properties:\n      image:\n        get_input: tag_version\n      service_component_type: '\''dcae-sonhms'\''\n      service_id: '\''sonhms'\''\n      always_pull_image: true\n      replicas: {get_input: replicas}\n      docker_config:\n        healthcheck:\n          endpoint: /healthcheck\n          interval: 15s\n          timeout: 1s\n          type: http\n      application_config:\n        streams_subscribes:\n          performance_management_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: performance_management_topic_url }\n            type: message-router\n          fault_management_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: fault_management_topic_url }\n            type: message-router\n          nbr_list_change_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: nbr_list_change_topic_url }\n            type: message-router\n          dcae_cl_response_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: dcae_cl_response_topic_url }\n            type: message-router\n        streams_publishes:\n          CL_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: dcae_cl_topic_url }\n            type: message-router\n        postgres.host: { get_attribute: [ pgaasvm, admin, host ] }\n        postgres.port: { get_attribute: [ pgaasvm, admin, port ] }\n        postgres.username: { get_attribute: [ pgaasvm, admin, user ] }\n        postgres.password: { get_attribute: [ pgaasvm, admin, password ] }\n        sonhandler.pollingInterval: { get_input: polling_interval}\n        sonhandler.pollingTimeout: { get_input: polling_timeout }\n        cbsPollingInterval: { get_input: cbs_polling_interval }\n        sonhandler.numSolutions: { get_input: num_solutions }\n        sonhandler.minCollision: { get_input: min_collision }\n        sonhandler.minConfusion: { get_input: min_confusion }\n        sonhandler.maximumClusters: { get_input: max_clusters }\n        sonhandler.badThreshold: { get_input: bad_threshold }\n        sonhandler.poorThreshold: { get_input: poor_threshold }\n        sonhandler.namespace: { get_input: namespace }\n        sonhandler.sourceId: SONHMS\n        sonhandler.dmaap.server:\n          - { get_input: dmaap }\n        sonhandler.bufferTime: { get_input: buffer_time }\n        sonhandler.cg: { get_input: cg }\n        sonhandler.cid: { get_input: cid }\n        sonhandler.configDb.service: { get_input: config_db }\n        sonhandler.oof.service: { get_input: oof }\n        sonhandler.oof.endpoint: { get_input: oof_endpoint }\n        sonhandler.pciOptimizer: { get_input: pci_optimizer }\n        sonhandler.pciAnrOptimizer: { get_input: pci_anr_optimizer }\n        sonhandler.poorCountThreshold: { get_input: poorCountThreshold}\n        sonhandler.badCountThreshold: { get_input: badCountThreshold}\n        sonhandler.oofTriggerCountTimer: { get_input: oofTriggerCountTimer}\n        sonhandler.oofTriggerCountThreshold: { get_input: oofTriggerCountThreshold}\n        sonhandler.policyRespTimer: { get_input: policyRespTimer}\n        sonhandler.policyNegativeAckThreshold: { get_input: policyNegativeAckThreshold}\n        sonhandler.policyFixedPciTimeInterval: { get_input: policyFixedPciTimeInterval}\n        sonhandler.nfNamingCode: { get_input: nfNamingCode}\n        service_calls:\n          sdnr-getpnfname: []\n          sdnr-getpci: []\n          sdnr-getnbrlist: []\n          sdnr-getcelllist: []\n          oof-req: []\n          policy-req: []\n    relationships:\n      - type: cloudify.relationships.depends_on\n        target: pgaasvm\n      - type: cloudify.relationships.depends_on\n        target: son_policy\n\n  son_policy:\n    type: dcae.nodes.policy\n    properties:\n      policy_id:\n           get_input: policy_id\n\n\n\n\n'
+ echo '
   {
    "vnfTypes": [],
    "owner": "dcaeorch",
    "typeVersion": 2112091153,
    "typeName": "k8s-sonhms",
    "component": "dcae",
    "application": "DCAE",
    "blueprintTemplate": " #   ============LICENSE_START=======================================================\n #    son-handler\n #   ================================================================================\n #     Copyright (C) 2019-2020 Wipro Limited.\n #     Copyright (c) 2021 AT&T Intellectual Property. All rights reserved.\n #   ================================================================================\n #     Licensed under the Apache License, Version 2.0 (the \"License\");\n #     you may not use this file except in compliance with the License.\n #     You may obtain a copy of the License at\n #\n #          http://www.apache.org/licenses/LICENSE-2.0\n #\n #     Unless required by applicable law or agreed to in writing, software\n #     distributed under the License is distributed on an \"AS IS\" BASIS,\n #     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n #     See the License for the specific language governing permissions and\n #     limitations under the License.\n #   ============LICENSE_END=========================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - \"https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\"\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:pgaas?version=1.3.0\n  - plugin:dcaepolicyplugin?version=2.4.0\ninputs:\n  replicas:\n    type: integer\n    description: replica count for deployment\n    default: 1\n  tag_version:\n    type: string\n    description: docker image name and version\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.son-handler:2.1.4\"\n  pgaas_cluster_name:\n    type: string\n    description: pg cluster\n    default: \"dcae-pg-primary.onap\"\n  database_name:\n    type: string\n    description: database name\n    default: \"sonhms\"\n  aaf_username:\n    type: string\n    description: aaf username\n    default:\n  aaf_password:\n    type: string\n    description: aaf password\n    default:\n  polling_interval:\n    type: integer\n    description: dmaap polling interval\n    default: 20\n  cbs_polling_interval:\n    type: integer\n    description: cbs polling interval\n    default: 60\n  polling_timeout:\n    type: integer\n    description: dmaap polling timeout\n    default: 60\n  num_solutions:\n    type: integer\n    description: num of solutions\n    default: 5\n  min_collision:\n    type: integer\n    description: minimum no. of collisions\n    default: 5\n  min_confusion:\n    type: integer\n    description: minimum no. of confusions\n    default: 5\n  max_clusters:\n    type: integer\n    description: maximum clusters\n    default: 5\n  bad_threshold:\n    type: integer\n    description: threshold for bad neighbors\n    default: 50\n  poor_threshold:\n    type: integer\n    description: threshold for poor neighbors\n    default: 70\n  namespace:\n    type: string\n    description: namespace\n    default: \"onap\"\n  dmaap:\n    type: string\n    description: dmaap server\n    default: \"message-router\"\n  buffer_time:\n    type: integer\n    description: buffer time\n    default: 60\n  cg:\n    type: string\n    description: consumer group\n    default: \"sonhms-cg\"\n  cid:\n    type: string\n    description: consumer id\n    default: \"sonhms-cid\"\n  config_db:\n    type: string\n    description: config db location\n    default: \"http://sdnc.onap:8181\"\n  oof:\n    type: string\n    description: oof location\n    default: \"https://oof-osdf.onap:8698\"\n  oof_endpoint:\n    type: string\n    description: oof endpoint\n    default: \"/api/oof/v1/pci\"\n  pci_optimizer:\n    type: string\n    description: pci optimizer name in oof\n    default: \"pci\"\n  pci_anr_optimizer:\n    type: string\n    description: pci and anr optimizer name in oof\n    default: \"pci_anr\"\n  log_path:\n    type: string\n    description: log location in host\n    default: \"/dockerdata-nfs/son-handler\"\n  poorCountThreshold:\n    type: integer\n    description: poor neighbor count threshold\n    default: 3\n  badCountThreshold:\n    type: integer\n    description: bad neighbor count threshold\n    default: 3\n  oofTriggerCountTimer:\n    type: integer\n    description: timer for oof triggered count in minutes\n    default: 30\n  oofTriggerCountThreshold:\n    type: integer\n    description: Threshold for oof trigger count\n    default: 5\n  policyRespTimer:\n    type: integer\n    description: policy response wait timer in seconds\n    default: 10\n  policy_id:\n    type: string\n    description: policy id for config policy\n    default: \"com.Config_PCIMS_CONFIG_POLICY\"\n  performance_management_topic_url:\n    type: string\n    description: ves measurement topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n  fault_management_topic_url:\n    type: string\n    description: ves fault topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.SEC_FAULT_OUTPUT\"\n  nbr_list_change_topic_url:\n    type: string\n    description: neighbor list change notification topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/PCI-NOTIF-TOPIC-NGHBR-LIST-CHANGE-INFO\"\n  dcae_cl_response_topic_url:\n    type: string\n    description: dcae control loop response topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/DCAE_CL_RSP\"\n  dcae_cl_topic_url:\n    type: string\n    description: dcae control loop topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.DCAE_CL_OUTPUT\"\n  policyNegativeAckThreshold:\n    type: integer\n    description: negative acknowledgement from policy threshold\n    default: 3\n  policyFixedPciTimeInterval:\n    type: integer\n    description: time interval for checking FixedPci table\n    default: 30000\n  nfNamingCode:\n    type: string\n    description: filter fm and pm notification using this parameter\n    default: \"RansimAgent\"\n\nnode_templates:\n  pgaasvm:\n    type: dcae.nodes.pgaas.database\n    properties:\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: { get_input: database_name }\n      use_existing: false\n\n  sonhms:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n              STANDALONE: \"false\"\n            ports:\n              - \"8080:0\"\n            volumes:\n              - host:\n                  path: { get_input: log_path }\n                container:\n                  bind: /home/sonhms/logs\n                  mode: rw\n    properties:\n      image:\n        get_input: tag_version\n      service_component_type: '\''dcae-sonhms'\''\n      service_id: '\''sonhms'\''\n      always_pull_image: true\n      replicas: {get_input: replicas}\n      docker_config:\n        healthcheck:\n          endpoint: /healthcheck\n          interval: 15s\n          timeout: 1s\n          type: http\n      application_config:\n        streams_subscribes:\n          performance_management_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: performance_management_topic_url }\n            type: message-router\n          fault_management_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: fault_management_topic_url }\n            type: message-router\n          nbr_list_change_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: nbr_list_change_topic_url }\n            type: message-router\n          dcae_cl_response_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: dcae_cl_response_topic_url }\n            type: message-router\n        streams_publishes:\n          CL_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: dcae_cl_topic_url }\n            type: message-router\n        postgres.host: { get_attribute: [ pgaasvm, admin, host ] }\n        postgres.port: { get_attribute: [ pgaasvm, admin, port ] }\n        postgres.username: { get_attribute: [ pgaasvm, admin, user ] }\n        postgres.password: { get_attribute: [ pgaasvm, admin, password ] }\n        sonhandler.pollingInterval: { get_input: polling_interval}\n        sonhandler.pollingTimeout: { get_input: polling_timeout }\n        cbsPollingInterval: { get_input: cbs_polling_interval }\n        sonhandler.numSolutions: { get_input: num_solutions }\n        sonhandler.minCollision: { get_input: min_collision }\n        sonhandler.minConfusion: { get_input: min_confusion }\n        sonhandler.maximumClusters: { get_input: max_clusters }\n        sonhandler.badThreshold: { get_input: bad_threshold }\n        sonhandler.poorThreshold: { get_input: poor_threshold }\n        sonhandler.namespace: { get_input: namespace }\n        sonhandler.sourceId: SONHMS\n        sonhandler.dmaap.server:\n          - { get_input: dmaap }\n        sonhandler.bufferTime: { get_input: buffer_time }\n        sonhandler.cg: { get_input: cg }\n        sonhandler.cid: { get_input: cid }\n        sonhandler.configDb.service: { get_input: config_db }\n        sonhandler.oof.service: { get_input: oof }\n        sonhandler.oof.endpoint: { get_input: oof_endpoint }\n        sonhandler.pciOptimizer: { get_input: pci_optimizer }\n        sonhandler.pciAnrOptimizer: { get_input: pci_anr_optimizer }\n        sonhandler.poorCountThreshold: { get_input: poorCountThreshold}\n        sonhandler.badCountThreshold: { get_input: badCountThreshold}\n        sonhandler.oofTriggerCountTimer: { get_input: oofTriggerCountTimer}\n        sonhandler.oofTriggerCountThreshold: { get_input: oofTriggerCountThreshold}\n        sonhandler.policyRespTimer: { get_input: policyRespTimer}\n        sonhandler.policyNegativeAckThreshold: { get_input: policyNegativeAckThreshold}\n        sonhandler.policyFixedPciTimeInterval: { get_input: policyFixedPciTimeInterval}\n        sonhandler.nfNamingCode: { get_input: nfNamingCode}\n        service_calls:\n          sdnr-getpnfname: []\n          sdnr-getpci: []\n          sdnr-getnbrlist: []\n          sdnr-getcelllist: []\n          oof-req: []\n          policy-req: []\n    relationships:\n      - type: cloudify.relationships.depends_on\n        target: pgaasvm\n      - type: cloudify.relationships.depends_on\n        target: son_policy\n\n  son_policy:\n    type: dcae.nodes.policy\n    properties:\n      policy_id:\n           get_input: policy_id\n\n\n\n\n"
   }'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
ysisms.cps.url: { get_input: cps }\n        sliceanalysisms.samples: { get_input: samples }\n        sliceanalysisms.minPercentageChange: { get_input: minimumPercentageChange }\n        sliceanalysisms.initialDelaySeconds: { get_input: initialDelaySeconds }\n    relationships:\n      - type: cloudify.relationships.depends_on\n        target: pgaasvm\n","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"fa03a608-eebe-47c0-82b1-5239c8e9f490","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/fa03a608-eebe-47c0-82b1-5239c8e9f490"},"created":1639094023458,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-snmptrap","typeVersion":2112091153,"blueprintTemplate":"# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2018-2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n  tag_version:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.snmptrap:2.0.5\"\n  cache:\n    type: string\n    default:\n      \"dns_cache_ttl_seconds: 60\"\n  files:\n    type: string\n    default:\n      \"arriving_traps_log: snmptrapd_arriving_traps.log\n      data_dir: data\n      eelf_audit: audit.log\n      eelf_base_dir: /opt/app/snmptrap/logs\n      eelf_debug: debug.log\n      eelf_error: error.log\n      eelf_metrics: metrics.log\n      log_dir: logs\n      minimum_severity_to_log: 2\n      perm_status_file: snmptrapd_status.log\n      pid_dir: tmp\n      roll_frequency: day\n      runtime_base_dir: /opt/app/snmptrap\n      snmptrapd_diag: snmptrapd_prog_diag.log\n      traps_stats_log: snmptrapd_stats.csv\"\n  protocols:\n    type: string\n    default:\n      \"ipv4_interface: 0.0.0.0\n      ipv4_port: 6162\n      ipv6_interface: ::1\n      ipv6_port: 6162\"\n  publisher:\n    type: string\n    default:\n      \"http_milliseconds_between_retries: 750\n      http_milliseconds_timeout: 1500\n      http_peer_publisher: unavailable\n      http_primary_publisher: 'true'\n      http_retries: 3\n      max_milliseconds_between_publishes: 10000\n      max_traps_between_publishes: 10\"\n  sec_fault_unsecure_topic:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.ONAP-COLLECTOR-SNMPTRAP\"\n  snmptrapd:\n    type: string\n    default:\n      \"title: Collector for receiving SNMP traps and publishing to DMAAP/MR\n      version: 2.0.5\"\n  external_port:\n    type: string\n    description: Kubernetes node port on which collector is exposed\n    default: \"30470\"\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  service_component_type:\n    type: string\n    default: \"dcae-snmptrap-collector\"\n  service_id:\n    type: string\n    default: \"dcae-snmptrap-collector\"\n  service_component_name_override:\n    type: string\n    default: \"dcae-snmptrap-collector\"\n\n\nnode_templates:\n  snmptrap:\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n           ports:\n             - concat: [\"6162/udp:\", { get_input: external_port }]\n    properties:\n      application_config:\n        StormWatchPolicy: ''\n        cache:\n          get_input: cache\n        files:\n          get_input: files\n        protocols:\n          get_input: protocols\n        publisher:\n          get_input: publisher\n        services_calls: {}\n        snmptrapd:\n          get_input: snmptrapd\n        sw_interval_in_seconds: 60\n        streams_publishes:\n            sec_fault_unsecure:\n              dmaap_info:\n                topic_url:\n                  get_input: sec_fault_unsecure_topic\n              type: message_router\n\n      image:\n        get_input: tag_version\n      replicas: {get_input: replicas}\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n    type: dcae.nodes.ContainerizedServiceComponent\n\n","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"9d4b6f07-243c-408d-86c7-93ed209aff86","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/9d4b6f07-243c-408d-86c7-93ed209aff86"},"created":1639094023545,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-sonhms","typeVersion":2112091153,"blueprintTemplate":" #   ============LICENSE_START=======================================================\n #    son-handler\n #   ================================================================================\n #     Copyright (C) 2019-2020 Wipro Limited.\n #     Copyright (c) 2021 AT&T Intellectual Property. All rights reserved.\n #   ================================================================================\n #     Licensed under the Apache License, Version 2.0 (the \"License\");\n #     you may not use this file except in compliance with the License.\n #     You may obtain a copy of the License at\n #\n #          http://www.apache.org/licenses/LICENSE-2.0\n #\n #     Unless required by applicable law or agreed to in writing, software\n #     distributed under the License is distributed on an \"AS IS\" BASIS,\n #     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n #     See the License for the specific language governing permissions and\n #     limitations under the License.\n #   ============LICENSE_END=========================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - \"https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\"\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:pgaas?version=1.3.0\n  - plugin:dcaepolicyplugin?version=2.4.0\ninputs:\n  replicas:\n    type: integer\n    description: replica count for deployment\n    default: 1\n  tag_version:\n    type: string\n    description: docker image name and version\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.son-handler:2.1.4\"\n  pgaas_cluster_name:\n    type: string\n    description: pg cluster\n    default: \"dcae-pg-primary.onap\"\n  database_name:\n    type: string\n    description: database name\n    default: \"sonhms\"\n  aaf_username:\n    type: string\n    description: aaf username\n    default:\n  aaf_password:\n    type: string\n    description: aaf password\n    default:\n  polling_interval:\n    type: integer\n    description: dmaap polling interval\n    default: 20\n  cbs_polling_interval:\n    type: integer\n    description: cbs polling interval\n    default: 60\n  polling_timeout:\n    type: integer\n    description: dmaap polling timeout\n    default: 60\n  num_solutions:\n    type: integer\n    description: num of solutions\n    default: 5\n  min_collision:\n    type: integer\n    description: minimum no. of collisions\n    default: 5\n  min_confusion:\n    type: integer\n    description: minimum no. of confusions\n    default: 5\n  max_clusters:\n    type: integer\n    description: maximum clusters\n    default: 5\n  bad_threshold:\n    type: integer\n    description: threshold for bad neighbors\n    default: 50\n  poor_threshold:\n    type: integer\n    description: threshold for poor neighbors\n    default: 70\n  namespace:\n    type: string\n    description: namespace\n    default: \"onap\"\n  dmaap:\n    type: string\n    description: dmaap server\n    default: \"message-router\"\n  buffer_time:\n    type: integer\n    description: buffer time\n    default: 60\n  cg:\n    type: string\n    description: consumer group\n    default: \"sonhms-cg\"\n  cid:\n    type: string\n    description: consumer id\n    default: \"sonhms-cid\"\n  config_db:\n    type: string\n    description: config db location\n    default: \"http://sdnc.onap:8181\"\n  oof:\n    type: string\n    description: oof location\n    default: \"https://oof-osdf.onap:8698\"\n  oof_endpoint:\n    type: string\n    description: oof endpoint\n    default: \"/api/oof/v1/pci\"\n  pci_optimizer:\n    type: string\n    description: pci optimizer name in oof\n    default: \"pci\"\n  pci_anr_optimizer:\n    type: string\n    description: pci and anr optimizer name in oof\n    default: \"pci_anr\"\n  log_path:\n    type: string\n    description: log location in host\n    default: \"/dockerdata-nfs/son-handler\"\n  poorCountThreshold:\n    type: integer\n    description: poor neighbor count threshold\n    default: 3\n  badCountThreshold:\n    type: integer\n    description: bad neighbor count threshold\n    default: 3\n  oofTriggerCountTimer:\n    type: integer\n    description: timer for oof triggered count in minutes\n    default: 30\n  oofTriggerCountThreshold:\n    type: integer\n    description: Threshold for oof trigger count\n    default: 5\n  policyRespTimer:\n    type: integer\n    description: policy response wait timer in seconds\n    default: 10\n  policy_id:\n    type: string\n    description: policy id for config policy\n    default: \"com.Config_PCIMS_CONFIG_POLICY\"\n  performance_management_topic_url:\n    type: string\n    description: ves measurement topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n  fault_management_topic_url:\n    type: string\n    description: ves fault topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.SEC_FAULT_OUTPUT\"\n  nbr_list_change_topic_url:\n    type: string\n    description: neighbor list change notification topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/PCI-NOTIF-TOPIC-NGHBR-LIST-CHANGE-INFO\"\n  dcae_cl_response_topic_url:\n    type: string\n    description: dcae control loop response topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/DCAE_CL_RSP\"\n  dcae_cl_topic_url:\n    type: string\n    description: dcae control loop topic url\n    default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.DCAE_CL_OUTPUT\"\n  policyNegativeAckThreshold:\n    type: integer\n    description: negative acknowledgement from policy threshold\n    default: 3\n  policyFixedPciTimeInterval:\n    type: integer\n    description: time interval for checking FixedPci table\n    default: 30000\n  nfNamingCode:\n    type: string\n    description: filter fm and pm notification using this parameter\n    default: \"RansimAgent\"\n\nnode_templates:\n  pgaasvm:\n    type: dcae.nodes.pgaas.database\n    properties:\n      writerfqdn: { get_input: pgaas_cluster_name }\n      name: { get_input: database_name }\n      use_existing: false\n\n  sonhms:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n              STANDALONE: \"false\"\n            ports:\n              - \"8080:0\"\n            volumes:\n              - host:\n                  path: { get_input: log_path }\n                container:\n                  bind: /home/sonhms/logs\n                  mode: rw\n    properties:\n      image:\n        get_input: tag_version\n      service_component_type: 'dcae-sonhms'\n      service_id: 'sonhms'\n      always_pull_image: true\n      replicas: {get_input: replicas}\n      docker_config:\n        healthcheck:\n          endpoint: /healthcheck\n          interval: 15s\n          timeout: 1s\n          type: http\n      application_config:\n        streams_subscribes:\n          performance_management_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: performance_management_topic_url }\n            type: message-router\n          fault_management_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: fault_management_topic_url }\n            type: message-router\n          nbr_list_change_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: nbr_list_change_topic_url }\n            type: message-router\n          dcae_cl_response_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: dcae_cl_response_topic_url }\n            type: message-router\n        streams_publishes:\n          CL_topic:\n            aaf_username: { get_input: aaf_username }\n            aaf_password: { get_input: aaf_password }\n            dmaap_info:\n              topic_url: { get_input: dcae_cl_topic_url }\n            type: message-router\n        postgres.host: { get_attribute: [ pgaasvm, admin, host ] }\n        postgres.port: { get_attribute: [ pgaasvm, admin, port ] }\n        postgres.username: { get_attribute: [ pgaasvm, admin, user ] }\n        postgres.password: { get_attribute: [ pgaasvm, admin, password ] }\n        sonhandler.pollingInterval: { get_input: polling_interval}\n        sonhandler.pollingTimeout: { get_input: polling_timeout }\n        cbsPollingInterval: { get_input: cbs_polling_interval }\n        sonhandler.numSolutions: { get_input: num_solutions }\n        sonhandler.minCollision: { get_input: min_collision }\n        sonhandler.minConfusion: { get_input: min_confusion }\n        sonhandler.maximumClusters: { get_input: max_clusters }\n        sonhandler.badThreshold: { get_input: bad_threshold }\n        sonhandler.poorThreshold: { get_input: poor_threshold }\n        sonhandler.namespace: { get_input: namespace }\n        sonhandler.sourceId: SONHMS\n        sonhandler.dmaap.server:\n          - { get_input: dmaap }\n        sonhandler.bufferTime: { get_input: buffer_time }\n        sonhandler.cg: { get_input: cg }\n        sonhandler.cid: { get_input: cid }\n        sonhandler.configDb.service: { get_input: config_db }\n        sonhandler.oof.service: { get_input: oof }\n        sonhandler.oof.endpoint: { get_input: oof_endpoint }\n        sonhandler.pciOptimizer: { get_input: pci_optimizer }\n        sonhandler.pciAnrOptimizer: { get_input: pci_anr_optimizer }\n        sonhandler.poorCountThreshold: { get_input: poorCountThreshold}\n        sonhandler.badCountThreshold: { get_input: badCountThreshold}\n        sonhandler.oofTriggerCountTimer: { get_input: oofTriggerCountTimer}\n        sonhandler.oofTriggerCountThreshold: { get_input: oofTriggerCountThreshold}\n        sonhandler.policyRespTimer: { get_input: policyRespTimer}\n        sonhandler.policyNegativeAckThreshold: { get_input: policyNegativeAckThreshold}\n        sonhandler.policyFixedPciTimeInterval: { get_input: policyFixedPciTimeInterval}\n        sonhandler.nfNamingCode: { get_input: nfNamingCode}\n        service_calls:\n          sdnr-getpnfname: []\n          sdnr-getpci: []\n          sdnr-getnbrlist: []\n          sdnr-getcelllist: []\n          oof-req: []\n          policy-
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 22731    0 11501  100 11230   323k   316k --:--:-- --:--:-- --:--:--  652k
+ for BP in /blueprints/*.yaml
+ upload_service_type /blueprints/k8s-tcagen2-clampnode.yaml /certs/cacert.pem
+ '[' /certs/cacert.pem ']'
+ TLSCURL='--cacert /certs/cacert.pem'
+ create_service_type /blueprints/k8s-tcagen2-clampnode.yaml
+ curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types
++ date +%y%m%d%I%M
++ basename /blueprints/k8s-tcagen2-clampnode.yaml .yaml
++ flatten /blueprints/k8s-tcagen2-clampnode.yaml
+++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g'
+++ tr -d '\n'
++ FLAT='# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n#k8s-tca-gen2-v3.yaml\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:clamppolicyplugin?version=1.1.1\ninputs:\n  service_name:\n    type: string\n    default: '\''dcae-tcagen2'\''\n  log_directory:\n    type: string\n    default: \"/opt/logs/dcae-analytics-tca\"\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  spring.data.mongodb.uri:\n    type: string\n    default: \"mongodb://dcae-mongohost/dcae-tcagen2\"\n  tag_version:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.3.1\"\n  tca.aai.password:\n    type: string\n    default: \"DCAE\"\n  tca.aai.url:\n    type: string\n    default: \"https://aai.onap.svc.cluster.local:8443\"\n  tca.aai.username:\n    type: string\n    default: \"DCAE\"\n  tca_handle_in_subscribe_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n  tca_handle_out_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_CL_OUTPUT\"\n  tca_consumer_group:\n    type: string\n    default: \"cg1\"\n  policy_model_id:\n    type: string\n    default: \"onap.policies.monitoring.tcagen2\"\n  policy_id:\n    type: string\n    default: \"onap.restart.tca\"\n  cpu_limit:\n    type: string\n    default: \"2000m\"\n  cpu_request:\n    type: string\n    default: \"1000m\"\n  memory_limit:\n    type: string\n    default: \"2048Mi\"\n  memory_request:\n    type: string\n    default: \"1024Mi\"\n\nnode_templates:\n  docker.tca:\n    type: dcae.nodes.ContainerizedServiceComponent\n    relationships:\n      - target: tcagen2_policy\n        type: cloudify.relationships.depends_on\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            ports:\n              - concat: [\"9091:\", \"0\"]\n    properties:\n      application_config:\n        service_calls: []\n        streams_publishes:\n          tca_handle_out:\n            dmaap_info:\n              topic_url:\n                get_input: tca_handle_out_publish_url\n            type: message_router\n        streams_subscribes:\n          tca_handle_in:\n            dmaap_info:\n              topic_url:\n                get_input: tca_handle_in_subscribe_url\n            type: message_router\n        spring.data.mongodb.uri:\n          get_input: spring.data.mongodb.uri\n        streams_subscribes.tca_handle_in.consumer_group:\n          get_input: tca_consumer_group\n        streams_subscribes.tca_handle_in.consumer_ids[0]: c0\n        streams_subscribes.tca_handle_in.consumer_ids[1]: c1\n        streams_subscribes.tca_handle_in.message_limit: 50000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.max: 60000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.min: 30000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.step_down: 30000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.step_up: 10000\n        streams_subscribes.tca_handle_in.polling.fixed_rate: 0\n        streams_subscribes.tca_handle_in.timeout: -1\n        tca.aai.enable_enrichment: true\n        tca.aai.generic_vnf_path: aai/v11/network/generic-vnfs/generic-vnf\n        tca.aai.node_query_path: aai/v11/search/nodes-query\n        tca.aai.password:\n          get_input: tca.aai.password\n        tca.aai.url:\n          get_input: tca.aai.url\n        tca.aai.username:\n          get_input: tca.aai.username\n        tca.policy: '\''{\"domain\":\"measurementsForVfScaling\",\"metricsPerEventName\":[{\"eventName\":\"vFirewallBroadcastPackets\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ONSET\"},{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":700,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"vLoadBalancer\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"Measurement_vGMUX\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ABATED\"},{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"GREATER\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]}]}'\''\n        tca.processing_batch_size: 10000\n        tca.enable_abatement: true\n        tca.enable_ecomp_logging: true\n      docker_config:\n        healthcheck:\n          endpoint: /actuator/health\n          interval: 30s\n          timeout: 10s\n          type: http\n      image:\n        get_input: tag_version\n      resource_config:\n        limits:\n          cpu:\n            get_input: cpu_limit\n          memory:\n            get_input: memory_limit\n        requests:\n          cpu:\n            get_input: cpu_request\n          memory:\n            get_input: memory_request\n      log_info:\n        log_directory:\n          get_input: log_directory\n      tls_info:\n        use_tls: true\n        cert_directory: '\''/etc/tca-gen2/ssl'\''\n      replicas:\n        get_input: replicas\n      service_component_type: { get_input: service_name }\n  tcagen2_policy:\n    type: clamp.nodes.policy\n    properties:\n      policy_id:\n        get_input: policy_id\n      policy_model_id:\n        get_input: policy_model_id\n'
++ echo '# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n#k8s-tca-gen2-v3.yaml\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:clamppolicyplugin?version=1.1.1\ninputs:\n  service_name:\n    type: string\n    default: '\''dcae-tcagen2'\''\n  log_directory:\n    type: string\n    default: \"/opt/logs/dcae-analytics-tca\"\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  spring.data.mongodb.uri:\n    type: string\n    default: \"mongodb://dcae-mongohost/dcae-tcagen2\"\n  tag_version:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.3.1\"\n  tca.aai.password:\n    type: string\n    default: \"DCAE\"\n  tca.aai.url:\n    type: string\n    default: \"https://aai.onap.svc.cluster.local:8443\"\n  tca.aai.username:\n    type: string\n    default: \"DCAE\"\n  tca_handle_in_subscribe_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n  tca_handle_out_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_CL_OUTPUT\"\n  tca_consumer_group:\n    type: string\n    default: \"cg1\"\n  policy_model_id:\n    type: string\n    default: \"onap.policies.monitoring.tcagen2\"\n  policy_id:\n    type: string\n    default: \"onap.restart.tca\"\n  cpu_limit:\n    type: string\n    default: \"2000m\"\n  cpu_request:\n    type: string\n    default: \"1000m\"\n  memory_limit:\n    type: string\n    default: \"2048Mi\"\n  memory_request:\n    type: string\n    default: \"1024Mi\"\n\nnode_templates:\n  docker.tca:\n    type: dcae.nodes.ContainerizedServiceComponent\n    relationships:\n      - target: tcagen2_policy\n        type: cloudify.relationships.depends_on\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            ports:\n              - concat: [\"9091:\", \"0\"]\n    properties:\n      application_config:\n        service_calls: []\n        streams_publishes:\n          tca_handle_out:\n            dmaap_info:\n              topic_url:\n                get_input: tca_handle_out_publish_url\n            type: message_router\n        streams_subscribes:\n          tca_handle_in:\n            dmaap_info:\n              topic_url:\n                get_input: tca_handle_in_subscribe_url\n            type: message_router\n        spring.data.mongodb.uri:\n          get_input: spring.data.mongodb.uri\n        streams_subscribes.tca_handle_in.consumer_group:\n          get_input: tca_consumer_group\n        streams_subscribes.tca_handle_in.consumer_ids[0]: c0\n        streams_subscribes.tca_handle_in.consumer_ids[1]: c1\n        streams_subscribes.tca_handle_in.message_limit: 50000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.max: 60000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.min: 30000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.step_down: 30000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.step_up: 10000\n        streams_subscribes.tca_handle_in.polling.fixed_rate: 0\n        streams_subscribes.tca_handle_in.timeout: -1\n        tca.aai.enable_enrichment: true\n        tca.aai.generic_vnf_path: aai/v11/network/generic-vnfs/generic-vnf\n        tca.aai.node_query_path: aai/v11/search/nodes-query\n        tca.aai.password:\n          get_input: tca.aai.password\n        tca.aai.url:\n          get_input: tca.aai.url\n        tca.aai.username:\n          get_input: tca.aai.username\n        tca.policy: '\''{\"domain\":\"measurementsForVfScaling\",\"metricsPerEventName\":[{\"eventName\":\"vFirewallBroadcastPackets\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ONSET\"},{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":700,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"vLoadBalancer\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"Measurement_vGMUX\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ABATED\"},{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"GREATER\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]}]}'\''\n        tca.processing_batch_size: 10000\n        tca.enable_abatement: true\n        tca.enable_ecomp_logging: true\n      docker_config:\n        healthcheck:\n          endpoint: /actuator/health\n          interval: 30s\n          timeout: 10s\n          type: http\n      image:\n        get_input: tag_version\n      resource_config:\n        limits:\n          cpu:\n            get_input: cpu_limit\n          memory:\n            get_input: memory_limit\n        requests:\n          cpu:\n            get_input: cpu_request\n          memory:\n            get_input: memory_request\n      log_info:\n        log_directory:\n          get_input: log_directory\n      tls_info:\n        use_tls: true\n        cert_directory: '\''/etc/tca-gen2/ssl'\''\n      replicas:\n        get_input: replicas\n      service_component_type: { get_input: service_name }\n  tcagen2_policy:\n    type: clamp.nodes.policy\n    properties:\n      policy_id:\n        get_input: policy_id\n      policy_model_id:\n        get_input: policy_model_id\n'
+ echo '
   {
    "vnfTypes": [],
    "owner": "dcaeorch",
    "typeVersion": 2112091153,
    "typeName": "k8s-tcagen2-clampnode",
    "component": "dcae",
    "application": "DCAE",
    "blueprintTemplate": "# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n#k8s-tca-gen2-v3.yaml\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:clamppolicyplugin?version=1.1.1\ninputs:\n  service_name:\n    type: string\n    default: '\''dcae-tcagen2'\''\n  log_directory:\n    type: string\n    default: \"/opt/logs/dcae-analytics-tca\"\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  spring.data.mongodb.uri:\n    type: string\n    default: \"mongodb://dcae-mongohost/dcae-tcagen2\"\n  tag_version:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.3.1\"\n  tca.aai.password:\n    type: string\n    default: \"DCAE\"\n  tca.aai.url:\n    type: string\n    default: \"https://aai.onap.svc.cluster.local:8443\"\n  tca.aai.username:\n    type: string\n    default: \"DCAE\"\n  tca_handle_in_subscribe_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n  tca_handle_out_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_CL_OUTPUT\"\n  tca_consumer_group:\n    type: string\n    default: \"cg1\"\n  policy_model_id:\n    type: string\n    default: \"onap.policies.monitoring.tcagen2\"\n  policy_id:\n    type: string\n    default: \"onap.restart.tca\"\n  cpu_limit:\n    type: string\n    default: \"2000m\"\n  cpu_request:\n    type: string\n    default: \"1000m\"\n  memory_limit:\n    type: string\n    default: \"2048Mi\"\n  memory_request:\n    type: string\n    default: \"1024Mi\"\n\nnode_templates:\n  docker.tca:\n    type: dcae.nodes.ContainerizedServiceComponent\n    relationships:\n      - target: tcagen2_policy\n        type: cloudify.relationships.depends_on\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            ports:\n              - concat: [\"9091:\", \"0\"]\n    properties:\n      application_config:\n        service_calls: []\n        streams_publishes:\n          tca_handle_out:\n            dmaap_info:\n              topic_url:\n                get_input: tca_handle_out_publish_url\n            type: message_router\n        streams_subscribes:\n          tca_handle_in:\n            dmaap_info:\n              topic_url:\n                get_input: tca_handle_in_subscribe_url\n            type: message_router\n        spring.data.mongodb.uri:\n          get_input: spring.data.mongodb.uri\n        streams_subscribes.tca_handle_in.consumer_group:\n          get_input: tca_consumer_group\n        streams_subscribes.tca_handle_in.consumer_ids[0]: c0\n        streams_subscribes.tca_handle_in.consumer_ids[1]: c1\n        streams_subscribes.tca_handle_in.message_limit: 50000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.max: 60000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.min: 30000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.step_down: 30000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.step_up: 10000\n        streams_subscribes.tca_handle_in.polling.fixed_rate: 0\n        streams_subscribes.tca_handle_in.timeout: -1\n        tca.aai.enable_enrichment: true\n        tca.aai.generic_vnf_path: aai/v11/network/generic-vnfs/generic-vnf\n        tca.aai.node_query_path: aai/v11/search/nodes-query\n        tca.aai.password:\n          get_input: tca.aai.password\n        tca.aai.url:\n          get_input: tca.aai.url\n        tca.aai.username:\n          get_input: tca.aai.username\n        tca.policy: '\''{\"domain\":\"measurementsForVfScaling\",\"metricsPerEventName\":[{\"eventName\":\"vFirewallBroadcastPackets\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ONSET\"},{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":700,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"vLoadBalancer\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"Measurement_vGMUX\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ABATED\"},{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"GREATER\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]}]}'\''\n        tca.processing_batch_size: 10000\n        tca.enable_abatement: true\n        tca.enable_ecomp_logging: true\n      docker_config:\n        healthcheck:\n          endpoint: /actuator/health\n          interval: 30s\n          timeout: 10s\n          type: http\n      image:\n        get_input: tag_version\n      resource_config:\n        limits:\n          cpu:\n            get_input: cpu_limit\n          memory:\n            get_input: memory_limit\n        requests:\n          cpu:\n            get_input: cpu_request\n          memory:\n            get_input: memory_request\n      log_info:\n        log_directory:\n          get_input: log_directory\n      tls_info:\n        use_tls: true\n        cert_directory: '\''/etc/tca-gen2/ssl'\''\n      replicas:\n        get_input: replicas\n      service_component_type: { get_input: service_name }\n  tcagen2_policy:\n    type: clamp.nodes.policy\n    properties:\n      policy_id:\n        get_input: policy_id\n      policy_model_id:\n        get_input: policy_model_id\n"
   }'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 16605    0  8438  100  8167   209k   202k --:--:-- --:--:-- --:--:--  415k
+ for BP in /blueprints/*.yaml
+ upload_service_type /blueprints/k8s-tcagen2.yaml /certs/cacert.pem
+ '[' /certs/cacert.pem ']'
+ TLSCURL='--cacert /certs/cacert.pem'
+ create_service_type /blueprints/k8s-tcagen2.yaml
+ curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types
++ date +%y%m%d%I%M
++ basename /blueprints/k8s-tcagen2.yaml .yaml
++ flatten /blueprints/k8s-tcagen2.yaml
+++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g'
+++ tr -d '\n'
++ FLAT='# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n  service_component_type:\n    type: string\n    default: \"dcae-tcagen2\"\n  service_id:\n    type: string\n    default: \"dcae-tcagen2\"\n  service_component_name_override:\n    type: string\n    default: \"dcae-tcagen2\"\n  log_directory:\n    type: string\n    default: \"/opt/logs/dcae-analytics-tca\"\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  spring.data.mongodb.uri:\n    type: string\n    default: \"mongodb://dcae-mongohost/dcae-tcagen2\"\n  tag_version:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.3.1\"\n  tca.aai.password:\n    type: string\n    default: \"DCAE\"\n  tca.aai.url:\n    type: string\n    default: \"https://aai.onap.svc.cluster.local:8443\"\n  tca.aai.username:\n    type: string\n    default: \"DCAE\"\n  tca_handle_in_subscribe_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n  tca_handle_out_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_CL_OUTPUT\"\n  tca_consumer_group:\n    type: string\n    default: \"cg1\"\n  cpu_limit:\n    type: string\n    default: \"2000m\"\n  cpu_request:\n    type: string\n    default: \"1000m\"\n  memory_limit:\n    type: string\n    default: \"2048Mi\"\n  memory_request:\n    type: string\n    default: \"1024Mi\"\nnode_templates:\n  docker.tca:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            ports:\n              - concat: [\"9091:\", \"0\"]\n    properties:\n      application_config:\n        service_calls: []\n        streams_publishes:\n          tca_handle_out:\n            dmaap_info:\n              topic_url:\n                get_input: tca_handle_out_publish_url\n            type: message_router\n        streams_subscribes:\n          tca_handle_in:\n            dmaap_info:\n              topic_url:\n                get_input: tca_handle_in_subscribe_url\n            type: message_router\n        spring.data.mongodb.uri:\n          get_input: spring.data.mongodb.uri\n        streams_subscribes.tca_handle_in.consumer_group:\n          get_input: tca_consumer_group\n        streams_subscribes.tca_handle_in.consumer_ids[0]: c0\n        streams_subscribes.tca_handle_in.consumer_ids[1]: c1\n        streams_subscribes.tca_handle_in.message_limit: 50000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.max: 60000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.min: 30000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.step_down: 30000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.step_up: 10000\n        streams_subscribes.tca_handle_in.polling.fixed_rate: 0\n        streams_subscribes.tca_handle_in.timeout: -1\n        tca.aai.enable_enrichment: true\n        tca.aai.generic_vnf_path: aai/v11/network/generic-vnfs/generic-vnf\n        tca.aai.node_query_path: aai/v11/search/nodes-query\n        tca.aai.password:\n          get_input: tca.aai.password\n        tca.aai.url:\n          get_input: tca.aai.url\n        tca.aai.username:\n          get_input: tca.aai.username\n        tca.policy: '\''{\"domain\":\"measurementsForVfScaling\",\"metricsPerEventName\":[{\"eventName\":\"vFirewallBroadcastPackets\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ONSET\"},{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":700,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"vLoadBalancer\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"Measurement_vGMUX\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ABATED\"},{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"GREATER\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]}]}'\''\n        tca.processing_batch_size: 10000\n        tca.enable_abatement: true\n        tca.enable_ecomp_logging: true\n      docker_config:\n        healthcheck:\n          endpoint: /actuator/health\n          interval: 30s\n          timeout: 10s\n          type: http\n      image:\n        get_input: tag_version\n      resource_config:\n        limits:\n          cpu:\n            get_input: cpu_limit\n          memory:\n            get_input: memory_limit\n        requests:\n          cpu:\n            get_input: cpu_request\n          memory:\n            get_input: memory_request\n      log_info:\n        log_directory:\n          get_input: log_directory\n      tls_info:\n        use_tls: true\n        cert_directory: '\''/etc/tca-gen2/ssl'\''\n      replicas:\n        get_input: replicas\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n'
++ echo '# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n  service_component_type:\n    type: string\n    default: \"dcae-tcagen2\"\n  service_id:\n    type: string\n    default: \"dcae-tcagen2\"\n  service_component_name_override:\n    type: string\n    default: \"dcae-tcagen2\"\n  log_directory:\n    type: string\n    default: \"/opt/logs/dcae-analytics-tca\"\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  spring.data.mongodb.uri:\n    type: string\n    default: \"mongodb://dcae-mongohost/dcae-tcagen2\"\n  tag_version:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.3.1\"\n  tca.aai.password:\n    type: string\n    default: \"DCAE\"\n  tca.aai.url:\n    type: string\n    default: \"https://aai.onap.svc.cluster.local:8443\"\n  tca.aai.username:\n    type: string\n    default: \"DCAE\"\n  tca_handle_in_subscribe_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n  tca_handle_out_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_CL_OUTPUT\"\n  tca_consumer_group:\n    type: string\n    default: \"cg1\"\n  cpu_limit:\n    type: string\n    default: \"2000m\"\n  cpu_request:\n    type: string\n    default: \"1000m\"\n  memory_limit:\n    type: string\n    default: \"2048Mi\"\n  memory_request:\n    type: string\n    default: \"1024Mi\"\nnode_templates:\n  docker.tca:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            ports:\n              - concat: [\"9091:\", \"0\"]\n    properties:\n      application_config:\n        service_calls: []\n        streams_publishes:\n          tca_handle_out:\n            dmaap_info:\n              topic_url:\n                get_input: tca_handle_out_publish_url\n            type: message_router\n        streams_subscribes:\n          tca_handle_in:\n            dmaap_info:\n              topic_url:\n                get_input: tca_handle_in_subscribe_url\n            type: message_router\n        spring.data.mongodb.uri:\n          get_input: spring.data.mongodb.uri\n        streams_subscribes.tca_handle_in.consumer_group:\n          get_input: tca_consumer_group\n        streams_subscribes.tca_handle_in.consumer_ids[0]: c0\n        streams_subscribes.tca_handle_in.consumer_ids[1]: c1\n        streams_subscribes.tca_handle_in.message_limit: 50000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.max: 60000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.min: 30000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.step_down: 30000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.step_up: 10000\n        streams_subscribes.tca_handle_in.polling.fixed_rate: 0\n        streams_subscribes.tca_handle_in.timeout: -1\n        tca.aai.enable_enrichment: true\n        tca.aai.generic_vnf_path: aai/v11/network/generic-vnfs/generic-vnf\n        tca.aai.node_query_path: aai/v11/search/nodes-query\n        tca.aai.password:\n          get_input: tca.aai.password\n        tca.aai.url:\n          get_input: tca.aai.url\n        tca.aai.username:\n          get_input: tca.aai.username\n        tca.policy: '\''{\"domain\":\"measurementsForVfScaling\",\"metricsPerEventName\":[{\"eventName\":\"vFirewallBroadcastPackets\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ONSET\"},{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":700,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"vLoadBalancer\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"Measurement_vGMUX\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ABATED\"},{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"GREATER\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]}]}'\''\n        tca.processing_batch_size: 10000\n        tca.enable_abatement: true\n        tca.enable_ecomp_logging: true\n      docker_config:\n        healthcheck:\n          endpoint: /actuator/health\n          interval: 30s\n          timeout: 10s\n          type: http\n      image:\n        get_input: tag_version\n      resource_config:\n        limits:\n          cpu:\n            get_input: cpu_limit\n          memory:\n            get_input: memory_limit\n        requests:\n          cpu:\n            get_input: cpu_request\n          memory:\n            get_input: memory_request\n      log_info:\n        log_directory:\n          get_input: log_directory\n      tls_info:\n        use_tls: true\n        cert_directory: '\''/etc/tca-gen2/ssl'\''\n      replicas:\n        get_input: replicas\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n'
+ echo '
   {
    "vnfTypes": [],
    "owner": "dcaeorch",
    "typeVersion": 2112091153,
    "typeName": "k8s-tcagen2",
    "component": "dcae",
    "application": "DCAE",
    "blueprintTemplate": "# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n  service_component_type:\n    type: string\n    default: \"dcae-tcagen2\"\n  service_id:\n    type: string\n    default: \"dcae-tcagen2\"\n  service_component_name_override:\n    type: string\n    default: \"dcae-tcagen2\"\n  log_directory:\n    type: string\n    default: \"/opt/logs/dcae-analytics-tca\"\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  spring.data.mongodb.uri:\n    type: string\n    default: \"mongodb://dcae-mongohost/dcae-tcagen2\"\n  tag_version:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.3.1\"\n  tca.aai.password:\n    type: string\n    default: \"DCAE\"\n  tca.aai.url:\n    type: string\n    default: \"https://aai.onap.svc.cluster.local:8443\"\n  tca.aai.username:\n    type: string\n    default: \"DCAE\"\n  tca_handle_in_subscribe_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n  tca_handle_out_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_CL_OUTPUT\"\n  tca_consumer_group:\n    type: string\n    default: \"cg1\"\n  cpu_limit:\n    type: string\n    default: \"2000m\"\n  cpu_request:\n    type: string\n    default: \"1000m\"\n  memory_limit:\n    type: string\n    default: \"2048Mi\"\n  memory_request:\n    type: string\n    default: \"1024Mi\"\nnode_templates:\n  docker.tca:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            ports:\n              - concat: [\"9091:\", \"0\"]\n    properties:\n      application_config:\n        service_calls: []\n        streams_publishes:\n          tca_handle_out:\n            dmaap_info:\n              topic_url:\n                get_input: tca_handle_out_publish_url\n            type: message_router\n        streams_subscribes:\n          tca_handle_in:\n            dmaap_info:\n              topic_url:\n                get_input: tca_handle_in_subscribe_url\n            type: message_router\n        spring.data.mongodb.uri:\n          get_input: spring.data.mongodb.uri\n        streams_subscribes.tca_handle_in.consumer_group:\n          get_input: tca_consumer_group\n        streams_subscribes.tca_handle_in.consumer_ids[0]: c0\n        streams_subscribes.tca_handle_in.consumer_ids[1]: c1\n        streams_subscribes.tca_handle_in.message_limit: 50000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.max: 60000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.min: 30000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.step_down: 30000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.step_up: 10000\n        streams_subscribes.tca_handle_in.polling.fixed_rate: 0\n        streams_subscribes.tca_handle_in.timeout: -1\n        tca.aai.enable_enrichment: true\n        tca.aai.generic_vnf_path: aai/v11/network/generic-vnfs/generic-vnf\n        tca.aai.node_query_path: aai/v11/search/nodes-query\n        tca.aai.password:\n          get_input: tca.aai.password\n        tca.aai.url:\n          get_input: tca.aai.url\n        tca.aai.username:\n          get_input: tca.aai.username\n        tca.policy: '\''{\"domain\":\"measurementsForVfScaling\",\"metricsPerEventName\":[{\"eventName\":\"vFirewallBroadcastPackets\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ONSET\"},{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":700,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"vLoadBalancer\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"Measurement_vGMUX\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ABATED\"},{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"GREATER\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]}]}'\''\n        tca.processing_batch_size: 10000\n        tca.enable_abatement: true\n        tca.enable_ecomp_logging: true\n      docker_config:\n        healthcheck:\n          endpoint: /actuator/health\n          interval: 30s\n          timeout: 10s\n          type: http\n      image:\n        get_input: tag_version\n      resource_config:\n        limits:\n          cpu:\n            get_input: cpu_limit\n          memory:\n            get_input: memory_limit\n        requests:\n          cpu:\n            get_input: cpu_request\n          memory:\n            get_input: memory_request\n      log_info:\n        log_directory:\n          get_input: log_directory\n      tls_info:\n        use_tls: true\n        cert_directory: '\''/etc/tca-gen2/ssl'\''\n      replicas:\n        get_input: replicas\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n"
   }'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
req: []\n    relationships:\n      - type: cloudify.relationships.depends_on\n        target: pgaasvm\n      - type: cloudify.relationships.depends_on\n        target: son_policy\n\n  son_policy:\n    type: dcae.nodes.policy\n    properties:\n      policy_id:\n           get_input: policy_id\n\n\n\n\n","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"c8e007df-b67a-420b-9b4e-5c643de61a1c","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/c8e007df-b67a-420b-9b4e-5c643de61a1c"},"created":1639094023634,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-tcagen2-clampnode","typeVersion":2112091153,"blueprintTemplate":"# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n#k8s-tca-gen2-v3.yaml\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n  - plugin:clamppolicyplugin?version=1.1.1\ninputs:\n  service_name:\n    type: string\n    default: 'dcae-tcagen2'\n  log_directory:\n    type: string\n    default: \"/opt/logs/dcae-analytics-tca\"\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  spring.data.mongodb.uri:\n    type: string\n    default: \"mongodb://dcae-mongohost/dcae-tcagen2\"\n  tag_version:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.3.1\"\n  tca.aai.password:\n    type: string\n    default: \"DCAE\"\n  tca.aai.url:\n    type: string\n    default: \"https://aai.onap.svc.cluster.local:8443\"\n  tca.aai.username:\n    type: string\n    default: \"DCAE\"\n  tca_handle_in_subscribe_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n  tca_handle_out_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_CL_OUTPUT\"\n  tca_consumer_group:\n    type: string\n    default: \"cg1\"\n  policy_model_id:\n    type: string\n    default: \"onap.policies.monitoring.tcagen2\"\n  policy_id:\n    type: string\n    default: \"onap.restart.tca\"\n  cpu_limit:\n    type: string\n    default: \"2000m\"\n  cpu_request:\n    type: string\n    default: \"1000m\"\n  memory_limit:\n    type: string\n    default: \"2048Mi\"\n  memory_request:\n    type: string\n    default: \"1024Mi\"\n\nnode_templates:\n  docker.tca:\n    type: dcae.nodes.ContainerizedServiceComponent\n    relationships:\n      - target: tcagen2_policy\n        type: cloudify.relationships.depends_on\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            ports:\n              - concat: [\"9091:\", \"0\"]\n    properties:\n      application_config:\n        service_calls: []\n        streams_publishes:\n          tca_handle_out:\n            dmaap_info:\n              topic_url:\n                get_input: tca_handle_out_publish_url\n            type: message_router\n        streams_subscribes:\n          tca_handle_in:\n            dmaap_info:\n              topic_url:\n                get_input: tca_handle_in_subscribe_url\n            type: message_router\n        spring.data.mongodb.uri:\n          get_input: spring.data.mongodb.uri\n        streams_subscribes.tca_handle_in.consumer_group:\n          get_input: tca_consumer_group\n        streams_subscribes.tca_handle_in.consumer_ids[0]: c0\n        streams_subscribes.tca_handle_in.consumer_ids[1]: c1\n        streams_subscribes.tca_handle_in.message_limit: 50000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.max: 60000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.min: 30000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.step_down: 30000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.step_up: 10000\n        streams_subscribes.tca_handle_in.polling.fixed_rate: 0\n        streams_subscribes.tca_handle_in.timeout: -1\n        tca.aai.enable_enrichment: true\n        tca.aai.generic_vnf_path: aai/v11/network/generic-vnfs/generic-vnf\n        tca.aai.node_query_path: aai/v11/search/nodes-query\n        tca.aai.password:\n          get_input: tca.aai.password\n        tca.aai.url:\n          get_input: tca.aai.url\n        tca.aai.username:\n          get_input: tca.aai.username\n        tca.policy: '{\"domain\":\"measurementsForVfScaling\",\"metricsPerEventName\":[{\"eventName\":\"vFirewallBroadcastPackets\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ONSET\"},{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":700,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"vLoadBalancer\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"Measurement_vGMUX\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ABATED\"},{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"GREATER\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]}]}'\n        tca.processing_batch_size: 10000\n        tca.enable_abatement: true\n        tca.enable_ecomp_logging: true\n      docker_config:\n        healthcheck:\n          endpoint: /actuator/health\n          interval: 30s\n          timeout: 10s\n          type: http\n      image:\n        get_input: tag_version\n      resource_config:\n        limits:\n          cpu:\n            get_input: cpu_limit\n          memory:\n            get_input: memory_limit\n        requests:\n          cpu:\n            get_input: cpu_request\n          memory:\n            get_input: memory_request\n      log_info:\n        log_directory:\n          get_input: log_directory\n      tls_info:\n        use_tls: true\n        cert_directory: '/etc/tca-gen2/ssl'\n      replicas:\n        get_input: replicas\n      service_component_type: { get_input: service_name }\n  tcagen2_policy:\n    type: clamp.nodes.policy\n    properties:\n      policy_id:\n        get_input: policy_id\n      policy_model_id:\n        get_input: policy_model_id\n","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"11d8e376-832c-49f9-840e-a5ddcca61308","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/11d8e376-832c-49f9-840e-a5ddcca61308"},"created":1639094023727,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-tcagen2","typeVersion":2112091153,"blueprintTemplate":"# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n  service_component_type:\n    type: string\n    default: \"dcae-tcagen2\"\n  service_id:\n    type: string\n    default: \"dcae-tcagen2\"\n  service_component_name_override:\n    type: string\n    default: \"dcae-tcagen2\"\n  log_directory:\n    type: string\n    default: \"/opt/logs/dcae-analytics-tca\"\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  spring.data.mongodb.uri:\n    type: string\n    default: \"mongodb://dcae-mongohost/dcae-tcagen2\"\n  tag_version:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.3.1\"\n  tca.aai.password:\n    type: string\n    default: \"DCAE\"\n  tca.aai.url:\n    type: string\n    default: \"https://aai.onap.svc.cluster.local:8443\"\n  tca.aai.username:\n    type: string\n    default: \"DCAE\"\n  tca_handle_in_subscribe_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n  tca_handle_out_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_CL_OUTPUT\"\n  tca_consumer_group:\n    type: string\n    default: \"cg1\"\n  cpu_limit:\n    type: string\n    default: \"2000m\"\n  cpu_request:\n    type: string\n    default: \"1000m\"\n  memory_limit:\n    type: string\n    default: \"2048Mi\"\n  memory_request:\n    type: string\n    default: \"1024Mi\"\nnode_templates:\n  docker.tca:\n    type: dcae.nodes.ContainerizedServiceComponent\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            ports:\n              - concat: [\"9091:\", \"0\"]\n    properties:\n      application_config:\n        service_calls: []\n        streams_publishes:\n          tca_handle_out:\n            dmaap_info:\n              topic_url:\n                get_input: tca_handle_out_publish_url\n            type: message_router\n        streams_subscribes:\n          tca_handle_in:\n            dmaap_info:\n              topic_url:\n                get_input: tca_handle_in_subscribe_url\n            type: message_router\n        spring.data.mongodb.uri:\n          get_input: spring.data.mongodb.uri\n        streams_subscribes.tca_handle_in.consumer_group:\n          get_input: tca_consumer_group\n        streams_subscribes.tca_handle_in.consumer_ids[0]: c0\n        streams_subscribes.tca_handle_in.consumer_ids[1]: c1\n        streams_subscribes.tca_handle_in.message_limit: 50000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.max: 60000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.min: 30000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.step_down: 30000\n        streams_subscribes.tca_handle_in.polling.auto_adjusting.step_up: 10000\n        streams_subscribes.tca_handle_in.polling.fixed_rate: 0\n        streams_subscribes.tca_handle_in.timeout: -1\n        tca.aai.enable_enrichment: true\n        tca.aai.generic_vnf_path: aai/v11/network/generic-vnfs/generic-vnf\n        tca.aai.node_query_path: aai/v11/search/nodes-query\n        tca.aai.password:\n          get_input: tca.aai.password\n        tca.aai.url:\n          get_input: tca.aai.url\n        tca.aai.username:\n          get_input: tca.aai.username\n        tca.policy: '{\"domain\":\"measurementsForVfScaling\",\"metricsPerEventName\":[{\"eventName\":\"vFirewallBroadcastPackets\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ONSET\"},{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":700,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"vLoadBalancer\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"Measurement_vGMUX\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ABATED\"},{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"GREATER\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]}]}'\n        tca.processing_batch_size: 10000\n        tca.enable_abatement: true\n        tca.enable_ecomp_logging: true\n      docker_config:\n        healthcheck:\n          endpoint: /actuator/health\n          interval: 30s\n          timeout: 10s\n          type: http\n      image:\n        get_input: tag_version\n      resource_config:\n        limits:\n          cpu:\n            get_input: cpu_limit\n       
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 16191    0  8231  100  7960   148k   144k --:--:-- --:--:-- --:--:--  298k
+ for BP in /blueprints/*.yaml
+ upload_service_type /blueprints/k8s-ves-mapper.yaml /certs/cacert.pem
+ '[' /certs/cacert.pem ']'
+ TLSCURL='--cacert /certs/cacert.pem'
+ create_service_type /blueprints/k8s-ves-mapper.yaml
+ curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types
++ date +%y%m%d%I%M
++ basename /blueprints/k8s-ves-mapper.yaml .yaml
++ flatten /blueprints/k8s-ves-mapper.yaml
+++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g'
+++ tr -d '\n'
++ FLAT='#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2019 TechMahindra. All rights reserved.\n# Copyright (c) 2020-2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ndescription: \"UniversalVESAdapter blueprint\"\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n  rcc_notification_url:\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_RCC_OUTPUT\"\n    type: string\n  snmp_notification_url:\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.ONAP-COLLECTOR-SNMPTRAP\"\n    type: string\n  tag_version:\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.mapper.vesadapter.universalvesadaptor:1.3.0\"\n    type: string\n  ves_fault_publish_url:\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_FAULT_OUTPUT\"\n    type: string\n  ves_measurement_publish_url:\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n    type: string\n  ves_notification_publish_url:\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT\"\n    type: string\n  ves_pnfRegistration_publish_url:\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT\"\n    type: string\n  service_component_type:\n    type: string\n    default: \"dcae-svc-vesmapper\"\n  service_id:\n    type: string\n    default: \"dcae-svc-vesmapper\"\n  service_component_name_override:\n    type: string\n    default: \"dcae-svc-vesmapper\"\nnode_templates:\n  universalvesadapter:\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n              CONFIG_BINDING_SERVICE: config_binding_service\n            max_wait: 3600\n            ports:\n              - \"80:0\"\n    properties:\n      application_config:\n        app_preferences:\n          collectors:\n            -\n              identifier: notification-id\n              mapping-files:\n                -\n                  defaultMappingFile-rcc-notification: \"org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Version._4_0_1'\''pnfRegistration'\''org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.VesEventListenerVersion._7_0_1'\''registration_'\''+commonEventHeader.ts1'\''VESMapper'\''org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Domain.PNF_REGISTRATIONcommonEventHeader.domaincommonEventHeader.ts1commonEventHeader.ts1org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Priority.NORMALpnfRegistrationFields.vendorName+'\''-'\''+pnfRegistrationFields.serialNumberorg.onap.dcaegen2.ves.domain.ves70.PnfRegistrationFields.PnfRegistrationFieldsVersion._2_0\"\n              stream_publisher: ves-pnfRegistration\n              stream_subscriber: rcc-notification\n            -\n              identifier: notify OID\n              mapping-files:\n                -\n                  defaultMappingFile-snmp-notification: \"'\''3.0'\'''\''FaultField'\'''\''XXXX'\'''\''VESMapper'\''org.onap.dcaegen2.ves.domain.ves54.CommonEventHeader.Domain.FAULTcommonEventHeader.domainorg.onap.dcaegen2.ves.domain.ves54.CommonEventHeader.Priority.NORMAL'\''VesAdapter'\'''\''SNMP Fault'\''org.onap.dcaegen2.ves.domain.ves54.FaultFields.VfStatus.ACTIVEorg.onap.dcaegen2.ves.domain.ves54.FaultFields.EventSeverity.MINOR\"\n              stream_publisher: ves-fault\n              stream_subscriber: snmp-notification\n        streams_publishes:\n          ves-fault:\n            dmaap_info:\n              topic_url:\n                get_input: ves_fault_publish_url\n            type: message_router\n          ves-pnfRegistration:\n            dmaap_info:\n              topic_url:\n                get_input: ves_pnfRegistration_publish_url\n            type: message_router\n        streams_subscribes:\n          rcc-notification:\n            dmaap_info:\n              topic_url:\n                get_input: rcc_notification_url\n            type: message_router\n          snmp-notification:\n            dmaap_info:\n              topic_url:\n                get_input: snmp_notification_url\n            type: message_router\n      docker_config: {}\n      image:\n        get_input: tag_version\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n    type: dcae.nodes.ContainerizedServiceComponent\ntosca_definitions_version: cloudify_dsl_1_3\n\n'
++ echo '#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2019 TechMahindra. All rights reserved.\n# Copyright (c) 2020-2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ndescription: \"UniversalVESAdapter blueprint\"\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n  rcc_notification_url:\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_RCC_OUTPUT\"\n    type: string\n  snmp_notification_url:\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.ONAP-COLLECTOR-SNMPTRAP\"\n    type: string\n  tag_version:\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.mapper.vesadapter.universalvesadaptor:1.3.0\"\n    type: string\n  ves_fault_publish_url:\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_FAULT_OUTPUT\"\n    type: string\n  ves_measurement_publish_url:\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n    type: string\n  ves_notification_publish_url:\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT\"\n    type: string\n  ves_pnfRegistration_publish_url:\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT\"\n    type: string\n  service_component_type:\n    type: string\n    default: \"dcae-svc-vesmapper\"\n  service_id:\n    type: string\n    default: \"dcae-svc-vesmapper\"\n  service_component_name_override:\n    type: string\n    default: \"dcae-svc-vesmapper\"\nnode_templates:\n  universalvesadapter:\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n              CONFIG_BINDING_SERVICE: config_binding_service\n            max_wait: 3600\n            ports:\n              - \"80:0\"\n    properties:\n      application_config:\n        app_preferences:\n          collectors:\n            -\n              identifier: notification-id\n              mapping-files:\n                -\n                  defaultMappingFile-rcc-notification: \"org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Version._4_0_1'\''pnfRegistration'\''org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.VesEventListenerVersion._7_0_1'\''registration_'\''+commonEventHeader.ts1'\''VESMapper'\''org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Domain.PNF_REGISTRATIONcommonEventHeader.domaincommonEventHeader.ts1commonEventHeader.ts1org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Priority.NORMALpnfRegistrationFields.vendorName+'\''-'\''+pnfRegistrationFields.serialNumberorg.onap.dcaegen2.ves.domain.ves70.PnfRegistrationFields.PnfRegistrationFieldsVersion._2_0\"\n              stream_publisher: ves-pnfRegistration\n              stream_subscriber: rcc-notification\n            -\n              identifier: notify OID\n              mapping-files:\n                -\n                  defaultMappingFile-snmp-notification: \"'\''3.0'\'''\''FaultField'\'''\''XXXX'\'''\''VESMapper'\''org.onap.dcaegen2.ves.domain.ves54.CommonEventHeader.Domain.FAULTcommonEventHeader.domainorg.onap.dcaegen2.ves.domain.ves54.CommonEventHeader.Priority.NORMAL'\''VesAdapter'\'''\''SNMP Fault'\''org.onap.dcaegen2.ves.domain.ves54.FaultFields.VfStatus.ACTIVEorg.onap.dcaegen2.ves.domain.ves54.FaultFields.EventSeverity.MINOR\"\n              stream_publisher: ves-fault\n              stream_subscriber: snmp-notification\n        streams_publishes:\n          ves-fault:\n            dmaap_info:\n              topic_url:\n                get_input: ves_fault_publish_url\n            type: message_router\n          ves-pnfRegistration:\n            dmaap_info:\n              topic_url:\n                get_input: ves_pnfRegistration_publish_url\n            type: message_router\n        streams_subscribes:\n          rcc-notification:\n            dmaap_info:\n              topic_url:\n                get_input: rcc_notification_url\n            type: message_router\n          snmp-notification:\n            dmaap_info:\n              topic_url:\n                get_input: snmp_notification_url\n            type: message_router\n      docker_config: {}\n      image:\n        get_input: tag_version\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n    type: dcae.nodes.ContainerizedServiceComponent\ntosca_definitions_version: cloudify_dsl_1_3\n\n'
+ echo '
   {
    "vnfTypes": [],
    "owner": "dcaeorch",
    "typeVersion": 2112091153,
    "typeName": "k8s-ves-mapper",
    "component": "dcae",
    "application": "DCAE",
    "blueprintTemplate": "#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2019 TechMahindra. All rights reserved.\n# Copyright (c) 2020-2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ndescription: \"UniversalVESAdapter blueprint\"\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n  rcc_notification_url:\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_RCC_OUTPUT\"\n    type: string\n  snmp_notification_url:\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.ONAP-COLLECTOR-SNMPTRAP\"\n    type: string\n  tag_version:\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.mapper.vesadapter.universalvesadaptor:1.3.0\"\n    type: string\n  ves_fault_publish_url:\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_FAULT_OUTPUT\"\n    type: string\n  ves_measurement_publish_url:\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n    type: string\n  ves_notification_publish_url:\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT\"\n    type: string\n  ves_pnfRegistration_publish_url:\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT\"\n    type: string\n  service_component_type:\n    type: string\n    default: \"dcae-svc-vesmapper\"\n  service_id:\n    type: string\n    default: \"dcae-svc-vesmapper\"\n  service_component_name_override:\n    type: string\n    default: \"dcae-svc-vesmapper\"\nnode_templates:\n  universalvesadapter:\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n              CONFIG_BINDING_SERVICE: config_binding_service\n            max_wait: 3600\n            ports:\n              - \"80:0\"\n    properties:\n      application_config:\n        app_preferences:\n          collectors:\n            -\n              identifier: notification-id\n              mapping-files:\n                -\n                  defaultMappingFile-rcc-notification: \"org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Version._4_0_1'\''pnfRegistration'\''org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.VesEventListenerVersion._7_0_1'\''registration_'\''+commonEventHeader.ts1'\''VESMapper'\''org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Domain.PNF_REGISTRATIONcommonEventHeader.domaincommonEventHeader.ts1commonEventHeader.ts1org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Priority.NORMALpnfRegistrationFields.vendorName+'\''-'\''+pnfRegistrationFields.serialNumberorg.onap.dcaegen2.ves.domain.ves70.PnfRegistrationFields.PnfRegistrationFieldsVersion._2_0\"\n              stream_publisher: ves-pnfRegistration\n              stream_subscriber: rcc-notification\n            -\n              identifier: notify OID\n              mapping-files:\n                -\n                  defaultMappingFile-snmp-notification: \"'\''3.0'\'''\''FaultField'\'''\''XXXX'\'''\''VESMapper'\''org.onap.dcaegen2.ves.domain.ves54.CommonEventHeader.Domain.FAULTcommonEventHeader.domainorg.onap.dcaegen2.ves.domain.ves54.CommonEventHeader.Priority.NORMAL'\''VesAdapter'\'''\''SNMP Fault'\''org.onap.dcaegen2.ves.domain.ves54.FaultFields.VfStatus.ACTIVEorg.onap.dcaegen2.ves.domain.ves54.FaultFields.EventSeverity.MINOR\"\n              stream_publisher: ves-fault\n              stream_subscriber: snmp-notification\n        streams_publishes:\n          ves-fault:\n            dmaap_info:\n              topic_url:\n                get_input: ves_fault_publish_url\n            type: message_router\n          ves-pnfRegistration:\n            dmaap_info:\n              topic_url:\n                get_input: ves_pnfRegistration_publish_url\n            type: message_router\n        streams_subscribes:\n          rcc-notification:\n            dmaap_info:\n              topic_url:\n                get_input: rcc_notification_url\n            type: message_router\n          snmp-notification:\n            dmaap_info:\n              topic_url:\n                get_input: snmp_notification_url\n            type: message_router\n      docker_config: {}\n      image:\n        get_input: tag_version\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n    type: dcae.nodes.ContainerizedServiceComponent\ntosca_definitions_version: cloudify_dsl_1_3\n\n"
   }'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 23119    0 11695  100 11424   235k   230k --:--:-- --:--:-- --:--:--  470k
+ for BP in /blueprints/*.yaml
+ upload_service_type /blueprints/k8s-ves.yaml /certs/cacert.pem
+ '[' /certs/cacert.pem ']'
+ TLSCURL='--cacert /certs/cacert.pem'
+ create_service_type /blueprints/k8s-ves.yaml
+ curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types
++ date +%y%m%d%I%M
++ basename /blueprints/k8s-ves.yaml .yaml
++ flatten /blueprints/k8s-ves.yaml
+++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g'
+++ tr -d '\n'
++ FLAT='# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2018-2021 AT&T Intellectual Property. All rights reserved.\n# Copyright (c) 2020 Nokia. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n  ves_other_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_OTHER_OUTPUT\"\n  ves_heartbeat_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_HEARTBEAT_OUTPUT\"\n  ves_fault_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_FAULT_OUTPUT\"\n  ves_measurement_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n  ves_notification_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT\"\n  ves_pnfRegistration_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT\"\n  ves_3gpp_fault_supervision_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT\"\n  ves_3gpp_provisioning_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_PROVISIONING_OUTPUT\"\n  ves_3gpp_hearbeat_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_HEARTBEAT_OUTPUT\"\n  ves_3gpp_performance_assurance_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_PERFORMANCEASSURANCE_OUTPUT\"\n  tag_version:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.10.1\"\n  internal_port:\n    type: string\n    description: Kubernetes node port on which collector is exposed\n    default: \"8080\"\n  external_port:\n    type: string\n    description: Kubernetes node port on which collector is exposed\n    default: \"30235\"\n  internal_port_tls:\n    type: string\n    description: Kubernetes node port on which collector is exposed\n    default: \"8443\"\n  external_port_tls:\n    type: string\n    description: Kubernetes node port on which collector is exposed\n    default: \"30417\"\n  auth_method:\n    type: string\n    default: \"noAuth\"\n  service_component_type:\n    type: string\n    default: \"dcae-ves-collector\"\n  service_id:\n    type: string\n    default: \"dcae-ves-collector\"\n  service_component_name_override:\n    type: string\n    default: \"dcae-ves-collector\"\n  enable_tls:\n    type: boolean\n    default: false\n  external_cert_cert_type:\n    type: string\n    description: Output type\n    default: \"JKS\"\n  external_cert_ca_name:\n    type: string\n    description: Name of Certificate Authority configured on CertService side.\n    default: \"RA\"\n  external_cert_common_name:\n    type: string\n    description: Common name which should be present in certificate.\n    default: \"dcae-ves-collector\"\n  external_cert_sans:\n    type: string\n    description: \"List of Subject Alternative Names (SANs) which should be present\n      in certificate. Delimiter - , Should contain common_name value and other FQDNs\n      under which given component is accessible.\"\n    default: \"dcae-ves-collector,ves-collector,ves\"\n  external_cert_use_external_tls:\n    type: boolean\n    description: Flag to indicate external tls enable/disable.\n    default: false\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  user_list:\n    type: string\n    description: List of user,password separated by pipe; pwd should be generated by using crypt-password tool (https://nexus.onap.org/#nexus-search;quick~crypt-password)\n    default: \"sample1,$2a$10$0buh.2WeYwN868YMwnNNEuNEAMNYVU9.FSMJGyIKV3dGET/7oGOi6|demouser,$2a$10$1cc.COcqV/d3iT2N7BjPG.S6ZKv2jpb9a5MV.o7lMih/GpjJRX.Ce\"\n  collector_externalSchema_checkflag:\n    type: integer\n    default: 1\n  collector_externalSchema_schemasLocation:\n    type: string\n    default: \"./etc/externalRepo/\"\n  collector_externalSchema_mappingFileLocation:\n    type: string\n    default: \"./etc/externalRepo/schema-map.json\"\nnode_templates:\n  ves:\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            ports:\n              - concat: [{get_input: internal_port},\":\",{get_input: external_port}]\n              - concat: [{get_input: internal_port_tls},\":\",{get_input: external_port_tls}]\n    properties:\n      application_config:\n        collector.dmaap.streamid: fault=ves-fault|syslog=ves-syslog|heartbeat=ves-heartbeat|measurement=ves-measurement|measurementsForVfScaling=ves-measurement|mobileFlow=ves-mobileflow|other=ves-other|stateChange=ves-statechange|thresholdCrossingAlert=ves-thresholdCrossingAlert|voiceQuality=ves-voicequality|sipSignaling=ves-sipsignaling|notification=ves-notification|pnfRegistration=ves-pnfRegistration|3GPP-FaultSupervision=ves-3gpp-fault-supervision|3GPP-Heartbeat=ves-3gpp-heartbeat|3GPP-Provisioning=ves-3gpp-provisioning|3GPP-PerformanceAssurance=ves-3gpp-performance-assurance\n        collector.inputQueue.maxPending: \"8096\"\n        collector.keystore.file.location: /opt/app/dcae-certificate/cert.jks\n        collector.keystore.passwordfile: /opt/app/dcae-certificate/jks.pass\n        collector.truststore.file.location: /opt/app/dcae-certificate/trust.jks\n        collector.truststore.passwordfile: /opt/app/dcae-certificate/trust.pass\n        collector.schema.checkflag: \"1\"\n        collector.schema.file: \"{\\\"v1\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v2\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v3\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v4\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v5\\\":\\\"./etc/CommonEventFormat_28.4.1.json\\\",\\\"v7\\\":\\\"./etc/CommonEventFormat_30.2.1_ONAP.json\\\"}\"\n        collector.externalSchema.checkflag:\n          get_input: collector_externalSchema_checkflag\n        collector.externalSchema.schemasLocation:\n          get_input: collector_externalSchema_schemasLocation\n        collector.externalSchema.mappingFileLocation:\n          get_input: collector_externalSchema_mappingFileLocation\n        event.externalSchema.schemaRefPath: $.event.stndDefinedFields.schemaReference\n        event.externalSchema.stndDefinedDataPath: $.event.stndDefinedFields.data\n        collector.service.port: \"8080\"\n        collector.service.secure.port: \"8443\"\n        event.transform.flag: \"0\"\n        auth.method:\n          get_input: auth_method\n        header.authlist:\n          get_input: user_list\n        services_calls: []\n        streams_publishes:\n          ves-fault:\n            dmaap_info:\n              topic_url:\n                get_input: ves_fault_publish_url\n            type: message_router\n          ves-measurement:\n            dmaap_info:\n              topic_url:\n                get_input: ves_measurement_publish_url\n            type: message_router\n          ves-notification:\n            dmaap_info:\n              topic_url:\n                get_input: ves_notification_publish_url\n            type: message_router\n          ves-pnfRegistration:\n            dmaap_info:\n              topic_url:\n                get_input: ves_pnfRegistration_publish_url\n            type: message_router\n          ves-heartbeat:\n            dmaap_info:\n              topic_url:\n                get_input: ves_heartbeat_publish_url\n            type: message_router\n          ves-other:\n            dmaap_info:\n              topic_url:\n                get_input: ves_other_publish_url\n            type: message_router\n          ves-3gpp-fault-supervision:\n            dmaap_info:\n              topic_url:\n                get_input: ves_3gpp_fault_supervision_publish_url\n            type: message_router\n          ves-3gpp-provisioning:\n            dmaap_info:\n              topic_url:\n                get_input: ves_3gpp_provisioning_publish_url\n            type: message_router\n          ves-3gpp-heartbeat:\n            dmaap_info:\n              topic_url:\n                get_input: ves_3gpp_hearbeat_publish_url\n            type: message_router\n          ves-3gpp-performance-assurance:\n            dmaap_info:\n              topic_url:\n                get_input: ves_3gpp_performance_assurance_publish_url\n            type: message_router\n        collector.dynamic.config.update.frequency: \"5\"\n      docker_config:\n        healthcheck:\n          endpoint: /healthcheck\n          interval: 15s\n          timeout: 1s\n          type: http\n      image:\n        get_input: tag_version\n      replicas: {get_input: replicas}\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n      log_info:\n        log_directory: \"/opt/app/VESCollector/logs\"\n      tls_info:\n        cert_directory: '\''/opt/app/dcae-certificate/'\''\n        use_tls:\n          get_input: enable_tls\n      external_cert:\n        external_cert_directory: '\''/opt/app/dcae-certificate/'\''\n        use_external_tls:\n          get_input: external_cert_use_external_tls\n        cert_type:\n          get_input: external_cert_cert_type\n        ca_name:\n          get_input: external_cert_ca_name\n        external_certificate_parameters:\n          common_name:\n            get_input: external_cert_common_name\n          sans:\n            get_input: external_cert_sans\n    type: dcae.nodes.ContainerizedServiceComponent\n'
++ echo '# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2018-2021 AT&T Intellectual Property. All rights reserved.\n# Copyright (c) 2020 Nokia. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n  ves_other_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_OTHER_OUTPUT\"\n  ves_heartbeat_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_HEARTBEAT_OUTPUT\"\n  ves_fault_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_FAULT_OUTPUT\"\n  ves_measurement_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n  ves_notification_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT\"\n  ves_pnfRegistration_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT\"\n  ves_3gpp_fault_supervision_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT\"\n  ves_3gpp_provisioning_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_PROVISIONING_OUTPUT\"\n  ves_3gpp_hearbeat_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_HEARTBEAT_OUTPUT\"\n  ves_3gpp_performance_assurance_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_PERFORMANCEASSURANCE_OUTPUT\"\n  tag_version:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.10.1\"\n  internal_port:\n    type: string\n    description: Kubernetes node port on which collector is exposed\n    default: \"8080\"\n  external_port:\n    type: string\n    description: Kubernetes node port on which collector is exposed\n    default: \"30235\"\n  internal_port_tls:\n    type: string\n    description: Kubernetes node port on which collector is exposed\n    default: \"8443\"\n  external_port_tls:\n    type: string\n    description: Kubernetes node port on which collector is exposed\n    default: \"30417\"\n  auth_method:\n    type: string\n    default: \"noAuth\"\n  service_component_type:\n    type: string\n    default: \"dcae-ves-collector\"\n  service_id:\n    type: string\n    default: \"dcae-ves-collector\"\n  service_component_name_override:\n    type: string\n    default: \"dcae-ves-collector\"\n  enable_tls:\n    type: boolean\n    default: false\n  external_cert_cert_type:\n    type: string\n    description: Output type\n    default: \"JKS\"\n  external_cert_ca_name:\n    type: string\n    description: Name of Certificate Authority configured on CertService side.\n    default: \"RA\"\n  external_cert_common_name:\n    type: string\n    description: Common name which should be present in certificate.\n    default: \"dcae-ves-collector\"\n  external_cert_sans:\n    type: string\n    description: \"List of Subject Alternative Names (SANs) which should be present\n      in certificate. Delimiter - , Should contain common_name value and other FQDNs\n      under which given component is accessible.\"\n    default: \"dcae-ves-collector,ves-collector,ves\"\n  external_cert_use_external_tls:\n    type: boolean\n    description: Flag to indicate external tls enable/disable.\n    default: false\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  user_list:\n    type: string\n    description: List of user,password separated by pipe; pwd should be generated by using crypt-password tool (https://nexus.onap.org/#nexus-search;quick~crypt-password)\n    default: \"sample1,$2a$10$0buh.2WeYwN868YMwnNNEuNEAMNYVU9.FSMJGyIKV3dGET/7oGOi6|demouser,$2a$10$1cc.COcqV/d3iT2N7BjPG.S6ZKv2jpb9a5MV.o7lMih/GpjJRX.Ce\"\n  collector_externalSchema_checkflag:\n    type: integer\n    default: 1\n  collector_externalSchema_schemasLocation:\n    type: string\n    default: \"./etc/externalRepo/\"\n  collector_externalSchema_mappingFileLocation:\n    type: string\n    default: \"./etc/externalRepo/schema-map.json\"\nnode_templates:\n  ves:\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            ports:\n              - concat: [{get_input: internal_port},\":\",{get_input: external_port}]\n              - concat: [{get_input: internal_port_tls},\":\",{get_input: external_port_tls}]\n    properties:\n      application_config:\n        collector.dmaap.streamid: fault=ves-fault|syslog=ves-syslog|heartbeat=ves-heartbeat|measurement=ves-measurement|measurementsForVfScaling=ves-measurement|mobileFlow=ves-mobileflow|other=ves-other|stateChange=ves-statechange|thresholdCrossingAlert=ves-thresholdCrossingAlert|voiceQuality=ves-voicequality|sipSignaling=ves-sipsignaling|notification=ves-notification|pnfRegistration=ves-pnfRegistration|3GPP-FaultSupervision=ves-3gpp-fault-supervision|3GPP-Heartbeat=ves-3gpp-heartbeat|3GPP-Provisioning=ves-3gpp-provisioning|3GPP-PerformanceAssurance=ves-3gpp-performance-assurance\n        collector.inputQueue.maxPending: \"8096\"\n        collector.keystore.file.location: /opt/app/dcae-certificate/cert.jks\n        collector.keystore.passwordfile: /opt/app/dcae-certificate/jks.pass\n        collector.truststore.file.location: /opt/app/dcae-certificate/trust.jks\n        collector.truststore.passwordfile: /opt/app/dcae-certificate/trust.pass\n        collector.schema.checkflag: \"1\"\n        collector.schema.file: \"{\\\"v1\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v2\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v3\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v4\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v5\\\":\\\"./etc/CommonEventFormat_28.4.1.json\\\",\\\"v7\\\":\\\"./etc/CommonEventFormat_30.2.1_ONAP.json\\\"}\"\n        collector.externalSchema.checkflag:\n          get_input: collector_externalSchema_checkflag\n        collector.externalSchema.schemasLocation:\n          get_input: collector_externalSchema_schemasLocation\n        collector.externalSchema.mappingFileLocation:\n          get_input: collector_externalSchema_mappingFileLocation\n        event.externalSchema.schemaRefPath: $.event.stndDefinedFields.schemaReference\n        event.externalSchema.stndDefinedDataPath: $.event.stndDefinedFields.data\n        collector.service.port: \"8080\"\n        collector.service.secure.port: \"8443\"\n        event.transform.flag: \"0\"\n        auth.method:\n          get_input: auth_method\n        header.authlist:\n          get_input: user_list\n        services_calls: []\n        streams_publishes:\n          ves-fault:\n            dmaap_info:\n              topic_url:\n                get_input: ves_fault_publish_url\n            type: message_router\n          ves-measurement:\n            dmaap_info:\n              topic_url:\n                get_input: ves_measurement_publish_url\n            type: message_router\n          ves-notification:\n            dmaap_info:\n              topic_url:\n                get_input: ves_notification_publish_url\n            type: message_router\n          ves-pnfRegistration:\n            dmaap_info:\n              topic_url:\n                get_input: ves_pnfRegistration_publish_url\n            type: message_router\n          ves-heartbeat:\n            dmaap_info:\n              topic_url:\n                get_input: ves_heartbeat_publish_url\n            type: message_router\n          ves-other:\n            dmaap_info:\n              topic_url:\n                get_input: ves_other_publish_url\n            type: message_router\n          ves-3gpp-fault-supervision:\n            dmaap_info:\n              topic_url:\n                get_input: ves_3gpp_fault_supervision_publish_url\n            type: message_router\n          ves-3gpp-provisioning:\n            dmaap_info:\n              topic_url:\n                get_input: ves_3gpp_provisioning_publish_url\n            type: message_router\n          ves-3gpp-heartbeat:\n            dmaap_info:\n              topic_url:\n                get_input: ves_3gpp_hearbeat_publish_url\n            type: message_router\n          ves-3gpp-performance-assurance:\n            dmaap_info:\n              topic_url:\n                get_input: ves_3gpp_performance_assurance_publish_url\n            type: message_router\n        collector.dynamic.config.update.frequency: \"5\"\n      docker_config:\n        healthcheck:\n          endpoint: /healthcheck\n          interval: 15s\n          timeout: 1s\n          type: http\n      image:\n        get_input: tag_version\n      replicas: {get_input: replicas}\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n      log_info:\n        log_directory: \"/opt/app/VESCollector/logs\"\n      tls_info:\n        cert_directory: '\''/opt/app/dcae-certificate/'\''\n        use_tls:\n          get_input: enable_tls\n      external_cert:\n        external_cert_directory: '\''/opt/app/dcae-certificate/'\''\n        use_external_tls:\n          get_input: external_cert_use_external_tls\n        cert_type:\n          get_input: external_cert_cert_type\n        ca_name:\n          get_input: external_cert_ca_name\n        external_certificate_parameters:\n          common_name:\n            get_input: external_cert_common_name\n          sans:\n            get_input: external_cert_sans\n    type: dcae.nodes.ContainerizedServiceComponent\n'
+ echo '
   {
    "vnfTypes": [],
    "owner": "dcaeorch",
    "typeVersion": 2112091153,
    "typeName": "k8s-ves",
    "component": "dcae",
    "application": "DCAE",
    "blueprintTemplate": "# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2018-2021 AT&T Intellectual Property. All rights reserved.\n# Copyright (c) 2020 Nokia. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n  ves_other_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_OTHER_OUTPUT\"\n  ves_heartbeat_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_HEARTBEAT_OUTPUT\"\n  ves_fault_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_FAULT_OUTPUT\"\n  ves_measurement_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n  ves_notification_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT\"\n  ves_pnfRegistration_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT\"\n  ves_3gpp_fault_supervision_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT\"\n  ves_3gpp_provisioning_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_PROVISIONING_OUTPUT\"\n  ves_3gpp_hearbeat_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_HEARTBEAT_OUTPUT\"\n  ves_3gpp_performance_assurance_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_PERFORMANCEASSURANCE_OUTPUT\"\n  tag_version:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.10.1\"\n  internal_port:\n    type: string\n    description: Kubernetes node port on which collector is exposed\n    default: \"8080\"\n  external_port:\n    type: string\n    description: Kubernetes node port on which collector is exposed\n    default: \"30235\"\n  internal_port_tls:\n    type: string\n    description: Kubernetes node port on which collector is exposed\n    default: \"8443\"\n  external_port_tls:\n    type: string\n    description: Kubernetes node port on which collector is exposed\n    default: \"30417\"\n  auth_method:\n    type: string\n    default: \"noAuth\"\n  service_component_type:\n    type: string\n    default: \"dcae-ves-collector\"\n  service_id:\n    type: string\n    default: \"dcae-ves-collector\"\n  service_component_name_override:\n    type: string\n    default: \"dcae-ves-collector\"\n  enable_tls:\n    type: boolean\n    default: false\n  external_cert_cert_type:\n    type: string\n    description: Output type\n    default: \"JKS\"\n  external_cert_ca_name:\n    type: string\n    description: Name of Certificate Authority configured on CertService side.\n    default: \"RA\"\n  external_cert_common_name:\n    type: string\n    description: Common name which should be present in certificate.\n    default: \"dcae-ves-collector\"\n  external_cert_sans:\n    type: string\n    description: \"List of Subject Alternative Names (SANs) which should be present\n      in certificate. Delimiter - , Should contain common_name value and other FQDNs\n      under which given component is accessible.\"\n    default: \"dcae-ves-collector,ves-collector,ves\"\n  external_cert_use_external_tls:\n    type: boolean\n    description: Flag to indicate external tls enable/disable.\n    default: false\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  user_list:\n    type: string\n    description: List of user,password separated by pipe; pwd should be generated by using crypt-password tool (https://nexus.onap.org/#nexus-search;quick~crypt-password)\n    default: \"sample1,$2a$10$0buh.2WeYwN868YMwnNNEuNEAMNYVU9.FSMJGyIKV3dGET/7oGOi6|demouser,$2a$10$1cc.COcqV/d3iT2N7BjPG.S6ZKv2jpb9a5MV.o7lMih/GpjJRX.Ce\"\n  collector_externalSchema_checkflag:\n    type: integer\n    default: 1\n  collector_externalSchema_schemasLocation:\n    type: string\n    default: \"./etc/externalRepo/\"\n  collector_externalSchema_mappingFileLocation:\n    type: string\n    default: \"./etc/externalRepo/schema-map.json\"\nnode_templates:\n  ves:\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            ports:\n              - concat: [{get_input: internal_port},\":\",{get_input: external_port}]\n              - concat: [{get_input: internal_port_tls},\":\",{get_input: external_port_tls}]\n    properties:\n      application_config:\n        collector.dmaap.streamid: fault=ves-fault|syslog=ves-syslog|heartbeat=ves-heartbeat|measurement=ves-measurement|measurementsForVfScaling=ves-measurement|mobileFlow=ves-mobileflow|other=ves-other|stateChange=ves-statechange|thresholdCrossingAlert=ves-thresholdCrossingAlert|voiceQuality=ves-voicequality|sipSignaling=ves-sipsignaling|notification=ves-notification|pnfRegistration=ves-pnfRegistration|3GPP-FaultSupervision=ves-3gpp-fault-supervision|3GPP-Heartbeat=ves-3gpp-heartbeat|3GPP-Provisioning=ves-3gpp-provisioning|3GPP-PerformanceAssurance=ves-3gpp-performance-assurance\n        collector.inputQueue.maxPending: \"8096\"\n        collector.keystore.file.location: /opt/app/dcae-certificate/cert.jks\n        collector.keystore.passwordfile: /opt/app/dcae-certificate/jks.pass\n        collector.truststore.file.location: /opt/app/dcae-certificate/trust.jks\n        collector.truststore.passwordfile: /opt/app/dcae-certificate/trust.pass\n        collector.schema.checkflag: \"1\"\n        collector.schema.file: \"{\\\"v1\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v2\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v3\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v4\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v5\\\":\\\"./etc/CommonEventFormat_28.4.1.json\\\",\\\"v7\\\":\\\"./etc/CommonEventFormat_30.2.1_ONAP.json\\\"}\"\n        collector.externalSchema.checkflag:\n          get_input: collector_externalSchema_checkflag\n        collector.externalSchema.schemasLocation:\n          get_input: collector_externalSchema_schemasLocation\n        collector.externalSchema.mappingFileLocation:\n          get_input: collector_externalSchema_mappingFileLocation\n        event.externalSchema.schemaRefPath: $.event.stndDefinedFields.schemaReference\n        event.externalSchema.stndDefinedDataPath: $.event.stndDefinedFields.data\n        collector.service.port: \"8080\"\n        collector.service.secure.port: \"8443\"\n        event.transform.flag: \"0\"\n        auth.method:\n          get_input: auth_method\n        header.authlist:\n          get_input: user_list\n        services_calls: []\n        streams_publishes:\n          ves-fault:\n            dmaap_info:\n              topic_url:\n                get_input: ves_fault_publish_url\n            type: message_router\n          ves-measurement:\n            dmaap_info:\n              topic_url:\n                get_input: ves_measurement_publish_url\n            type: message_router\n          ves-notification:\n            dmaap_info:\n              topic_url:\n                get_input: ves_notification_publish_url\n            type: message_router\n          ves-pnfRegistration:\n            dmaap_info:\n              topic_url:\n                get_input: ves_pnfRegistration_publish_url\n            type: message_router\n          ves-heartbeat:\n            dmaap_info:\n              topic_url:\n                get_input: ves_heartbeat_publish_url\n            type: message_router\n          ves-other:\n            dmaap_info:\n              topic_url:\n                get_input: ves_other_publish_url\n            type: message_router\n          ves-3gpp-fault-supervision:\n            dmaap_info:\n              topic_url:\n                get_input: ves_3gpp_fault_supervision_publish_url\n            type: message_router\n          ves-3gpp-provisioning:\n            dmaap_info:\n              topic_url:\n                get_input: ves_3gpp_provisioning_publish_url\n            type: message_router\n          ves-3gpp-heartbeat:\n            dmaap_info:\n              topic_url:\n                get_input: ves_3gpp_hearbeat_publish_url\n            type: message_router\n          ves-3gpp-performance-assurance:\n            dmaap_info:\n              topic_url:\n                get_input: ves_3gpp_performance_assurance_publish_url\n            type: message_router\n        collector.dynamic.config.update.frequency: \"5\"\n      docker_config:\n        healthcheck:\n          endpoint: /healthcheck\n          interval: 15s\n          timeout: 1s\n          type: http\n      image:\n        get_input: tag_version\n      replicas: {get_input: replicas}\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n      log_info:\n        log_directory: \"/opt/app/VESCollector/logs\"\n      tls_info:\n        cert_directory: '\''/opt/app/dcae-certificate/'\''\n        use_tls:\n          get_input: enable_tls\n      external_cert:\n        external_cert_directory: '\''/opt/app/dcae-certificate/'\''\n        use_external_tls:\n          get_input: external_cert_use_external_tls\n        cert_type:\n          get_input: external_cert_cert_type\n        ca_name:\n          get_input: external_cert_ca_name\n        external_certificate_parameters:\n          common_name:\n            get_input: external_cert_common_name\n          sans:\n            get_input: external_cert_sans\n    type: dcae.nodes.ContainerizedServiceComponent\n"
   }'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
   memory:\n            get_input: memory_limit\n        requests:\n          cpu:\n            get_input: cpu_request\n          memory:\n            get_input: memory_request\n      log_info:\n        log_directory:\n          get_input: log_directory\n      tls_info:\n        use_tls: true\n        cert_directory: '/etc/tca-gen2/ssl'\n      replicas:\n        get_input: replicas\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"6b862690-ac7a-483f-bea2-d49468da9508","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/6b862690-ac7a-483f-bea2-d49468da9508"},"created":1639094023847,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-ves-mapper","typeVersion":2112091153,"blueprintTemplate":"#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2019 TechMahindra. All rights reserved.\n# Copyright (c) 2020-2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ndescription: \"UniversalVESAdapter blueprint\"\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n  rcc_notification_url:\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_RCC_OUTPUT\"\n    type: string\n  snmp_notification_url:\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.ONAP-COLLECTOR-SNMPTRAP\"\n    type: string\n  tag_version:\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.mapper.vesadapter.universalvesadaptor:1.3.0\"\n    type: string\n  ves_fault_publish_url:\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_FAULT_OUTPUT\"\n    type: string\n  ves_measurement_publish_url:\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n    type: string\n  ves_notification_publish_url:\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT\"\n    type: string\n  ves_pnfRegistration_publish_url:\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT\"\n    type: string\n  service_component_type:\n    type: string\n    default: \"dcae-svc-vesmapper\"\n  service_id:\n    type: string\n    default: \"dcae-svc-vesmapper\"\n  service_component_name_override:\n    type: string\n    default: \"dcae-svc-vesmapper\"\nnode_templates:\n  universalvesadapter:\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n              CONFIG_BINDING_SERVICE: config_binding_service\n            max_wait: 3600\n            ports:\n              - \"80:0\"\n    properties:\n      application_config:\n        app_preferences:\n          collectors:\n            -\n              identifier: notification-id\n              mapping-files:\n                -\n                  defaultMappingFile-rcc-notification: \"org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Version._4_0_1'pnfRegistration'org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.VesEventListenerVersion._7_0_1'registration_'+commonEventHeader.ts1'VESMapper'org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Domain.PNF_REGISTRATIONcommonEventHeader.domaincommonEventHeader.ts1commonEventHeader.ts1org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Priority.NORMALpnfRegistrationFields.vendorName+'-'+pnfRegistrationFields.serialNumberorg.onap.dcaegen2.ves.domain.ves70.PnfRegistrationFields.PnfRegistrationFieldsVersion._2_0\"\n              stream_publisher: ves-pnfRegistration\n              stream_subscriber: rcc-notification\n            -\n              identifier: notify OID\n              mapping-files:\n                -\n                  defaultMappingFile-snmp-notification: \"'3.0''FaultField''XXXX''VESMapper'org.onap.dcaegen2.ves.domain.ves54.CommonEventHeader.Domain.FAULTcommonEventHeader.domainorg.onap.dcaegen2.ves.domain.ves54.CommonEventHeader.Priority.NORMAL'VesAdapter''SNMP Fault'org.onap.dcaegen2.ves.domain.ves54.FaultFields.VfStatus.ACTIVEorg.onap.dcaegen2.ves.domain.ves54.FaultFields.EventSeverity.MINOR\"\n              stream_publisher: ves-fault\n              stream_subscriber: snmp-notification\n        streams_publishes:\n          ves-fault:\n            dmaap_info:\n              topic_url:\n                get_input: ves_fault_publish_url\n            type: message_router\n          ves-pnfRegistration:\n            dmaap_info:\n              topic_url:\n                get_input: ves_pnfRegistration_publish_url\n            type: message_router\n        streams_subscribes:\n          rcc-notification:\n            dmaap_info:\n              topic_url:\n                get_input: rcc_notification_url\n            type: message_router\n          snmp-notification:\n            dmaap_info:\n              topic_url:\n                get_input: snmp_notification_url\n            type: message_router\n      docker_config: {}\n      image:\n        get_input: tag_version\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n    type: dcae.nodes.ContainerizedServiceComponent\ntosca_definitions_version: cloudify_dsl_1_3\n\n","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"b302113b-8883-4540-babb-caa63cf8ee8f","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/b302113b-8883-4540-babb-caa63cf8ee8f"},"created":1639094023961,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-ves","typeVersion":2112091153,"blueprintTemplate":"# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2018-2021 AT&T Intellectual Property. All rights reserved.\n# Copyright (c) 2020 Nokia. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n  - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n  - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n  ves_other_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_OTHER_OUTPUT\"\n  ves_heartbeat_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_HEARTBEAT_OUTPUT\"\n  ves_fault_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_FAULT_OUTPUT\"\n  ves_measurement_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n  ves_notification_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT\"\n  ves_pnfRegistration_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT\"\n  ves_3gpp_fault_supervision_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT\"\n  ves_3gpp_provisioning_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_PROVISIONING_OUTPUT\"\n  ves_3gpp_hearbeat_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_HEARTBEAT_OUTPUT\"\n  ves_3gpp_performance_assurance_publish_url:\n    type: string\n    default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_PERFORMANCEASSURANCE_OUTPUT\"\n  tag_version:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.10.1\"\n  internal_port:\n    type: string\n    description: Kubernetes node port on which collector is exposed\n    default: \"8080\"\n  external_port:\n    type: string\n    description: Kubernetes node port on which collector is exposed\n    default: \"30235\"\n  internal_port_tls:\n    type: string\n    description: Kubernetes node port on which collector is exposed\n    default: \"8443\"\n  external_port_tls:\n    type: string\n    description: Kubernetes node port on which collector is exposed\n    default: \"30417\"\n  auth_method:\n    type: string\n    default: \"noAuth\"\n  servic
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 22661    0 11466  100 11195   196k   192k --:--:-- --:--:-- --:--:--  395k
+ keep_running 'Finished bootstrap steps.'
+ echo Finished bootstrap steps.
e_component_type:\n    type: string\n    default: \"dcae-ves-collector\"\n  service_id:\n    type: string\n    default: \"dcae-ves-collector\"\n  service_component_name_override:\n    type: string\n    default: \"dcae-ves-collector\"\n  enable_tls:\n    type: boolean\n    default: false\n  external_cert_cert_type:\n    type: string\n    description: Output type\n    default: \"JKS\"\n  external_cert_ca_name:\n    type: string\n    description: Name of Certificate Authority configured on CertService side.\n    default: \"RA\"\n  external_cert_common_name:\n    type: string\n    description: Common name which should be present in certificate.\n    default: \"dcae-ves-collector\"\n  external_cert_sans:\n    type: string\n    description: \"List of Subject Alternative Names (SANs) which should be present\n      in certificate. Delimiter - , Should contain common_name value and other FQDNs\n      under which given component is accessible.\"\n    default: \"dcae-ves-collector,ves-collector,ves\"\n  external_cert_use_external_tls:\n    type: boolean\n    description: Flag to indicate external tls enable/disable.\n    default: false\n  replicas:\n    type: integer\n    description: number of instances\n    default: 1\n  user_list:\n    type: string\n    description: List of user,password separated by pipe; pwd should be generated by using crypt-password tool (https://nexus.onap.org/#nexus-search;quick~crypt-password)\n    default: \"sample1,$2a$10$0buh.2WeYwN868YMwnNNEuNEAMNYVU9.FSMJGyIKV3dGET/7oGOi6|demouser,$2a$10$1cc.COcqV/d3iT2N7BjPG.S6ZKv2jpb9a5MV.o7lMih/GpjJRX.Ce\"\n  collector_externalSchema_checkflag:\n    type: integer\n    default: 1\n  collector_externalSchema_schemasLocation:\n    type: string\n    default: \"./etc/externalRepo/\"\n  collector_externalSchema_mappingFileLocation:\n    type: string\n    default: \"./etc/externalRepo/schema-map.json\"\nnode_templates:\n  ves:\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            ports:\n              - concat: [{get_input: internal_port},\":\",{get_input: external_port}]\n              - concat: [{get_input: internal_port_tls},\":\",{get_input: external_port_tls}]\n    properties:\n      application_config:\n        collector.dmaap.streamid: fault=ves-fault|syslog=ves-syslog|heartbeat=ves-heartbeat|measurement=ves-measurement|measurementsForVfScaling=ves-measurement|mobileFlow=ves-mobileflow|other=ves-other|stateChange=ves-statechange|thresholdCrossingAlert=ves-thresholdCrossingAlert|voiceQuality=ves-voicequality|sipSignaling=ves-sipsignaling|notification=ves-notification|pnfRegistration=ves-pnfRegistration|3GPP-FaultSupervision=ves-3gpp-fault-supervision|3GPP-Heartbeat=ves-3gpp-heartbeat|3GPP-Provisioning=ves-3gpp-provisioning|3GPP-PerformanceAssurance=ves-3gpp-performance-assurance\n        collector.inputQueue.maxPending: \"8096\"\n        collector.keystore.file.location: /opt/app/dcae-certificate/cert.jks\n        collector.keystore.passwordfile: /opt/app/dcae-certificate/jks.pass\n        collector.truststore.file.location: /opt/app/dcae-certificate/trust.jks\n        collector.truststore.passwordfile: /opt/app/dcae-certificate/trust.pass\n        collector.schema.checkflag: \"1\"\n        collector.schema.file: \"{\\\"v1\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v2\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v3\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v4\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v5\\\":\\\"./etc/CommonEventFormat_28.4.1.json\\\",\\\"v7\\\":\\\"./etc/CommonEventFormat_30.2.1_ONAP.json\\\"}\"\n        collector.externalSchema.checkflag:\n          get_input: collector_externalSchema_checkflag\n        collector.externalSchema.schemasLocation:\n          get_input: collector_externalSchema_schemasLocation\n        collector.externalSchema.mappingFileLocation:\n          get_input: collector_externalSchema_mappingFileLocation\n        event.externalSchema.schemaRefPath: $.event.stndDefinedFields.schemaReference\n        event.externalSchema.stndDefinedDataPath: $.event.stndDefinedFields.data\n        collector.service.port: \"8080\"\n        collector.service.secure.port: \"8443\"\n        event.transform.flag: \"0\"\n        auth.method:\n          get_input: auth_method\n        header.authlist:\n          get_input: user_list\n        services_calls: []\n        streams_publishes:\n          ves-fault:\n            dmaap_info:\n              topic_url:\n                get_input: ves_fault_publish_url\n            type: message_router\n          ves-measurement:\n            dmaap_info:\n              topic_url:\n                get_input: ves_measurement_publish_url\n            type: message_router\n          ves-notification:\n            dmaap_info:\n              topic_url:\n                get_input: ves_notification_publish_url\n            type: message_router\n          ves-pnfRegistration:\n            dmaap_info:\n              topic_url:\n                get_input: ves_pnfRegistration_publish_url\n            type: message_router\n          ves-heartbeat:\n            dmaap_info:\n              topic_url:\n                get_input: ves_heartbeat_publish_url\n            type: message_router\n          ves-other:\n            dmaap_info:\n              topic_url:\n                get_input: ves_other_publish_url\n            type: message_router\n          ves-3gpp-fault-supervision:\n            dmaap_info:\n              topic_url:\n                get_input: ves_3gpp_fault_supervision_publish_url\n            type: message_router\n          ves-3gpp-provisioning:\n            dmaap_info:\n              topic_url:\n                get_input: ves_3gpp_provisioning_publish_url\n            type: message_router\n          ves-3gpp-heartbeat:\n            dmaap_info:\n              topic_url:\n                get_input: ves_3gpp_hearbeat_publish_url\n            type: message_router\n          ves-3gpp-performance-assurance:\n            dmaap_info:\n              topic_url:\n                get_input: ves_3gpp_performance_assurance_publish_url\n            type: message_router\n        collector.dynamic.config.update.frequency: \"5\"\n      docker_config:\n        healthcheck:\n          endpoint: /healthcheck\n          interval: 15s\n          timeout: 1s\n          type: http\n      image:\n        get_input: tag_version\n      replicas: {get_input: replicas}\n      service_component_type: { get_input: service_component_type }\n      service_id: { get_input: service_id }\n      service_component_name_override: { get_input: service_component_name_override }\n      log_info:\n        log_directory: \"/opt/app/VESCollector/logs\"\n      tls_info:\n        cert_directory: '/opt/app/dcae-certificate/'\n        use_tls:\n          get_input: enable_tls\n      external_cert:\n        external_cert_directory: '/opt/app/dcae-certificate/'\n        use_external_tls:\n          get_input: external_cert_use_external_tls\n        cert_type:\n          get_input: external_cert_cert_type\n        ca_name:\n          get_input: external_cert_ca_name\n        external_certificate_parameters:\n          common_name:\n            get_input: external_cert_common_name\n          sans:\n            get_input: external_cert_sans\n    type: dcae.nodes.ContainerizedServiceComponent\n","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"24c761f7-abd8-48a0-b6d3-3453a0a01b17","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/24c761f7-abd8-48a0-b6d3-3453a0a01b17"},"created":1639094024061,"deactivated":null}Finished bootstrap steps.
+ wait
+ sleep infinity