summaryrefslogtreecommitdiffstats
path: root/catalog-be/src/main/docker/backend/chef-repo
diff options
context:
space:
mode:
authorsebdet <sebastien.determe@intl.att.com>2020-09-17 15:07:23 +0200
committerSébastien Determe <sebastien.determe@intl.att.com>2020-09-18 12:59:54 +0000
commit591810df468a8e2c59569e701f514bff61203940 (patch)
tree9cd9b03ef59319a229bc784d66c02538c3785ec2 /catalog-be/src/main/docker/backend/chef-repo
parent0e825177c8f6c5304d9b529cd9831f30d401efaa (diff)
Introduce a new docker for be plugins
Introduce a new docker image containing the etsi plugin and potentially others + simplify the process to build backend image + cleaning of unused files Issue-ID: SDC-3289 Signed-off-by: sebdet <sebastien.determe@intl.att.com> Change-Id: I82c770b391d169bef3bcc5f5af66e2a24dffb1b4 Signed-off-by: sebdet <sebastien.determe@intl.att.com>
Diffstat (limited to 'catalog-be/src/main/docker/backend/chef-repo')
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/attributes/default.rb111
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/Artifact-Generator.properties264
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/cadi.properties4
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/cadi_truststore.jks4
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/ecomp-error-configuration.yaml383
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/error-configuration.yaml2400
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/keyfile4
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/logback.xml253
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/org.onap.sdc.p12bin0 -> 4443 bytes
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/org.onap.sdc.trust.jksbin0 -> 1413 bytes
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_10_setup_cadi.rb37
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_1_cleanup_jettydir.rb29
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_2_setup_configuration.rb73
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_3_locate_keystore.rb23
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_4_jetty_Modules.rb55
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_5_setup_elasticsearch.rb21
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_6_setup_portal_and_key_properties.rb25
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_7_logback.rb8
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_8_errors_config.rb16
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_9_prepareProbeFile.rb17
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-configuration.yaml.erb1259
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-distribution-engine-configuration.yaml.erb82
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-janusgraph.properties.erb27
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-key.properties.erb41
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-onboarding-configuration.yaml.erb5
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-portal.properties.erb89
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/cadi.properties.erb54
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/http-ini.erb29
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/https-ini.erb29
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/ready-probe.sh.erb9
-rw-r--r--catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/ssl-ini.erb90
31 files changed, 5441 insertions, 0 deletions
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/attributes/default.rb b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/attributes/default.rb
new file mode 100644
index 0000000000..d8c737728d
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/attributes/default.rb
@@ -0,0 +1,111 @@
+#
+default['BE'][:http_port] = 8080
+default['BE'][:https_port] = 8443
+default['FE'][:http_port] = 8181
+default['FE'][:https_port] = 9443
+default['disableHttp'] = true
+
+
+#+----------------------------------+
+#| |
+#| Jetty |
+#| |
+#+----------------------------------+
+
+default['jetty']['dmaap_truststore_pwd'] = "dmaap_truststore_pwd"
+default['jetty'][:keystore_pwd] = "?(kP!Yur![*!Y5!E^f(ZKc31"
+default['jetty'][:keymanager_pwd] = "?(kP!Yur![*!Y5!E^f(ZKc31"
+# TO CHANGE THE TRUSTSTORE CERT THE JVM CONFIGURATION
+# MUST BE ALSO CHANGE IN THE startup.sh FILE
+default['jetty'][:truststore_pwd] = "z+KEj;t+,KN^iimSiS89e#p0"
+
+#Reserved for DCAE backend
+default['DCAE']['BE'][:http_port] = 8082
+default['DCAE']['BE'][:https_port] = 8444
+default['DCAE_BE_VIP'] = "dcae-be"
+
+#Cassandra
+default['cassandra']['cassandra_port'] = 9042
+default['cassandra']['datacenter_name'] = "DC-"
+default['cassandra']['cluster_name'] = "SDC-CS-"
+default['cassandra']['socket_read_timeout'] = 20000
+default['cassandra']['socket_connect_timeout'] = 20000
+default['cassandra']['janusgraph_connection_timeout'] = 10000
+default['cassandra'][:truststore_password] = "Aa123456"
+
+
+#Onboard
+default['ONBOARDING_BE'][:http_port] = 8081
+default['ONBOARDING_BE'][:https_port] = 8445
+
+#UEB
+default['UEB']['PublicKey'] = "sSJc5qiBnKy2qrlc"
+default['UEB']['SecretKey'] = "4ZRPzNJfEUK0sSNBvccd2m7X"
+
+default['Pair_EnvName'] = ""
+
+#+----------------------------------+
+#| |
+#| Portal |
+#| |
+#+----------------------------------+
+
+default['ECompP']['cipher_key'] = "AGLDdG4D04BKm2IxIWEr8o=="
+default['ECompP']['portal_user'] = "Ipwxi2oLvDxctMA1royaRw1W0jhucLx+grHzci3ePIA="
+default['ECompP']['portal_pass'] = "j85yNhyIs7zKYbR1VlwEfNhS6b7Om4l0Gx5O8931sCI="
+default['ECompP']['portal_app_name'] = "Ipwxi2oLvDxctMA1royaRw1W0jhucLx+grHzci3ePIA="
+
+
+#+----------------------------------+
+#| |
+#| DMAAP Consumer |
+#| |
+#+----------------------------------+
+
+default['DMAAP']['active'] = false
+default['DMAAP']['consumer']['aftEnvironment'] = "AFTUAT"
+default['DMAAP']['consumer']['consumerGroup'] = "ccd_onap"
+default['DMAAP']['consumer']['consumerId'] = "ccd_onap"
+default['DMAAP']['consumer']['dme2preferredRouterFilePath'] = "DME2preferredRouter.txt"
+default['DMAAP']['consumer']['environment'] = "TEST"
+default['DMAAP']['consumer']['host'] = "dmaap.onap.com"
+default['DMAAP']['consumer']['password'] = "password"
+default['DMAAP']['consumer']['port'] = 3905
+default['DMAAP']['consumer']['serviceName'] = "dmaap-v1.dev.dmaap.dt.saat.acsi.onap.com/events"
+default['DMAAP']['consumer']['topic'] = "com.onap.ccd.CCD-CatalogManagement-v1"
+default['DMAAP']['consumer']['username'] = "user"
+default['DMAAP']['partitioncount'] = "3"
+default['DMAAP']['replicationcount'] = "3"
+
+
+#+----------------------------------+
+#| |
+#| Access Restriction / CADI |
+#| |
+#+----------------------------------+
+
+# Cadi
+default['access_restriction']['cadi_root_dir'] = "/var/lib/jetty/etc"
+default['access_restriction']['cadi_keyfile'] = "/var/lib/jetty/etc/org.onap.sdc.p12"
+default['access_restriction']['cadi_loglevel'] = "DEBUG"
+default['access_restriction']['cadi_truststore'] = "/var/lib/jetty/etc/org.onap.sdc.trust.jks"
+default['access_restriction']['cadi_truststore_password'] = "changeit"
+default['access_restriction']['cadiX509Issuers'] = "CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US"
+default['access_restriction']['encrypted_password'] = "enc:AccessRestrictionEncryptedPassword"
+default['access_restriction_key'] = nil
+
+# Access Restriction Key
+default['aafNamespace'] = "com.onap.sdc"
+default['access_restriction']['aaf_env'] = "TEST"
+default['access_restriction']['aaf_id'] = "user"
+default['access_restriction']['aaf_locate_url'] = ""
+default['access_restriction']['aaf_password'] = "enc:AafEncriptedPassword"
+default['access_restriction']['aaf_url'] = ""
+default['access_restriction']['aafAuthNeeded'] = false
+default['access_restriction']['AFT_DME2_CLIENT_IGNORE_SSL_CONFIG'] = true
+default['access_restriction']['AFT_DME2_HTTP_EXCHANGE_TRACE_ON'] = true
+default['access_restriction']['AFT_ENVIRONMENT'] = "AFTUAT"
+default['access_restriction']['csp_domain'] = "PROD"
+default['access_restriction']['excluded_urls'] = "'/.*'"
+default['access_restriction']['excluded_urls_onboarding'] = "'/.*'"
+
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/Artifact-Generator.properties b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/Artifact-Generator.properties
new file mode 100644
index 0000000000..1d7e5fa01a
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/Artifact-Generator.properties
@@ -0,0 +1,264 @@
+#action widget details
+AAI.model-version-id.action=fd7fb09e-d930-41b9-b83f-cfde9df48640
+AAI.model-invariant-id.action=af593b4b-490e-4665-ad74-2f6351c0a7ce
+#action-data widget details
+AAI.model-invariant-id.action-data=9551346c-7d8b-4daf-9926-b93e96e2344a
+AAI.model-version-id.action-data=2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd
+#allotted-resource widget details
+AAI.model-invariant-id.allotted-resource=f6d6a23d-a1a9-48ff-8419-b6530da2d381
+AAI.model-version-id.allotted-resource=7ad0915f-25c0-4a70-b9bc-185a75f87564
+#availability-zone widget details
+AAI.model-version-id.availability-zone=6c092fb1-21b2-456b-9e01-67fb4de1896e
+AAI.model-invariant-id.availability-zone=61b88c01-d819-41c0-8e21-7fd7ba47148e
+#az-and-dvs-switches widget details
+AAI.model-version-id.az-and-dvs-switches=b2dea88d-78a0-49bf-95c9-5819df08e966
+AAI.model-invariant-id.az-and-dvs-switches=53dc00d4-e6d9-48ec-b6cc-3d3797e9b896
+#class-of-service widget details
+AAI.model-version-id.class-of-service=d2fb27cc-15eb-4c4e-828e-71d41aaecc5b
+AAI.model-invariant-id.class-of-service=18094b19-d16d-4822-8acf-e92c6aefa178
+#cloud-region widget details
+AAI.model-version-id.cloud-region=2a160989-b202-47dd-874b-4a0f275998f7
+AAI.model-invariant-id.cloud-region=425b2158-e51d-4509-9945-dad4556474a3
+#complex widget details
+AAI.model-invariant-id.complex=af91c2f7-35fc-43cf-a13d-443f385b2353
+AAI.model-version-id.complex=3a8ab1ee-9220-4fe8-b89c-9251d160ddc2
+#connector widget details
+AAI.model-version-id.connector=22104c9f-29fd-462f-be07-96cd6b46dd33
+AAI.model-invariant-id.connector=4c01c948-7607-4d66-8a6c-99c2c2717936
+#constrained-element-set widget details
+AAI.model-invariant-id.constrained-element-set=c0292b4f-ee97-40cc-8c2e-f967c48f5701
+AAI.model-version-id.constrained-element-set=01102126-9c04-4a89-945b-b131e61e95d7
+#ctag-assignment widget details
+AAI.model-version-id.ctag-assignment=44e5cb1f-0938-41aa-b766-d4595109fe89
+AAI.model-invariant-id.ctag-assignment=fcb8d46b-b656-4ad6-8fa4-22cef74b443f
+#ctag-pool widget details
+AAI.model-invariant-id.ctag-pool=46c51d4e-d67e-4a9c-b1f5-49b1e9c6fcaa
+AAI.model-version-id.ctag-pool=2056c41f-23b9-4de7-9f50-819adad37d76
+#customer widget details
+AAI.model-invariant-id.customer=c1d4305f-cdbd-4bbe-9069-a2f4978fd89e
+AAI.model-version-id.customer=d4df5c27-98a1-4812-a8aa-c17f055b7a3f
+#cvlan-tag-entry widget details
+AAI.model-version-id.cvlan-tag-entry=c3878ffb-8d85-4114-bee6-e4074a9db10b
+AAI.model-invariant-id.cvlan-tag-entry=245cf4b0-7cc5-4eea-bbd9-753e939adcab
+#dvs-switch widget details
+AAI.model-invariant-id.dvs-switch=98fbb471-1f86-428e-bd8a-c8a25de6fa23
+AAI.model-version-id.dvs-switch=4cb44ae8-e3ab-452a-9f95-bcc8a44c55ea
+#edge-prop-names widget details
+AAI.model-invariant-id.edge-prop-names=7a08cad4-8759-46a5-8245-095d1ba57ac6
+AAI.model-version-id.edge-prop-names=f0442326-8201-4d0e-857c-74b4ddcbfc9f
+#element-choice-set widget details
+AAI.model-invariant-id.element-choice-set=9a011958-7165-47a3-b872-00951d1f09ae
+AAI.model-version-id.element-choice-set=af27fbfd-598d-44da-aeae-0f9d3a5fcd6a
+#entitlement widget details
+AAI.model-version-id.entitlement=7e27ba2e-b7db-4e13-9fae-d142152ef98a
+AAI.model-invariant-id.entitlement=ae75b5a0-d5e1-4f3a-b8fb-37626a753da3
+#flavor widget details
+AAI.model-invariant-id.flavor=bace8d1c-a261-4041-9e37-823117415d0f
+AAI.model-version-id.flavor=36200fb5-f251-4f5d-a520-7c5ad5c2cd4b
+#generic-vnf widget details
+AAI.model-version-id.generic-vnf=93a6166f-b3d5-4f06-b4ba-aed48d009ad9
+AAI.model-invariant-id.generic-vnf=acc6edd8-a8d4-4b93-afaa-0994068be14c
+#group-assignment widget details
+AAI.model-invariant-id.group-assignment=7cc05f25-7ba2-42b7-a237-c5662a1689e1
+AAI.model-version-id.group-assignment=fe578080-ce19-4604-8760-fc264fbb2565
+#image widget details
+AAI.model-version-id.image=f6a038c2-820c-42ba-8c2b-375e24e8f932
+AAI.model-invariant-id.image=3f4c7204-739b-4bbb-87a7-8a6856439c90
+#include-node-filter widget details
+AAI.model-invariant-id.include-node-filter=2a2d8ad2-af0a-4e1f-9982-0c899e7dc827
+AAI.model-version-id.include-node-filter=f05f804d-7057-4ffe-bdc5-39f2f0c9c9fd
+#instance-group widget details
+AAI.model-version-id.instance-group=8e6ee9dc-9017-444a-83b3-219edb018128
+AAI.model-invariant-id.instance-group=3bf1e610-45f7-4ad6-b833-ca4c5ee6a3fd
+#inventory-item widget details
+AAI.model-invariant-id.inventory-item=cd57d844-9017-4078-aa19-926935a3d77c
+AAI.model-version-id.inventory-item=69957f4a-2155-4b95-8d72-d6dd9b88b27b
+#inventory-item-data widget details
+AAI.model-version-id.inventory-item-data=0e54bb87-bd6e-4a2b-ad1c-6d935b87ae51
+AAI.model-invariant-id.inventory-item-data=87a383ae-cf03-432e-a9de-04e6a622d0fd
+#ipsec-configuration widget details
+AAI.model-invariant-id.ipsec-configuration=aca4c310-cb45-42bd-9f88-73e40ba7b962
+AAI.model-version-id.ipsec-configuration=d949fd10-36bf-408a-ac7a-cad5004d2e0d
+#key-data widget details
+AAI.model-version-id.key-data=c23ea04d-1a3b-453d-bc49-a6c783a5e92b
+AAI.model-invariant-id.key-data=f5faa464-c2f2-4cc3-89d2-a90452dc3a07
+#l3-interface-ipv4-address-list widget details
+AAI.model-version-id.l3-interface-ipv4-address-list=41e76b6f-1e06-4fd4-82cd-81c50fc4574b
+AAI.model-invariant-id.l3-interface-ipv4-address-list=aad85df2-09be-40fa-b867-16415e4e10e2
+#l3-interface-ipv6-address-list widget details
+AAI.model-invariant-id.l3-interface-ipv6-address-list=82966045-43ee-4982-8307-7e9610866140
+AAI.model-version-id.l3-interface-ipv6-address-list=d040621d-541a-477b-bb1b-a2b61b14e295
+#l3-network widget details
+AAI.model-version-id.l3-network=9111f20f-e680-4001-b83f-19a2fc23bfc1
+AAI.model-invariant-id.l3-network=3d560d81-57d0-438b-a2a1-5334dba0651a
+#lag-interface widget details
+AAI.model-version-id.lag-interface=ce95f7c3-b61b-4758-ae9e-7e943b1c103d
+AAI.model-invariant-id.lag-interface=e0ee9bde-c1fc-4651-a95d-8e0597bf7d70
+#lag-link widget details
+AAI.model-version-id.lag-link=d29a087a-af59-4053-a3f8-0f95a92faa75
+AAI.model-invariant-id.lag-link=86ffe6e5-4d0e-4cec-80b5-5c38aa3eff98
+#license widget details
+AAI.model-invariant-id.license=b9a9b337-1f86-42d3-b9f9-f987a089507c
+AAI.model-version-id.license=6889274b-a1dc-40ab-9090-93677e13e2e6
+#license-key-resource widget details
+AAI.model-invariant-id.license-key-resource=9022ebfe-b54f-4911-a6b2-8c3f5ec189b7
+AAI.model-version-id.license-key-resource=24b25f8c-b8bd-4c62-9421-87c12667aac9
+#l-interface widget details
+AAI.model-version-id.l-interface=a32613fd-18b9-459e-aab8-fffb3912966a
+AAI.model-invariant-id.l-interface=cea0a982-8d55-4093-921e-418fbccf7060
+#logical-link widget details
+AAI.model-version-id.logical-link=a1481a38-f8ba-4ae4-bdf1-06c2c6af4c54
+AAI.model-invariant-id.logical-link=fe012535-2c31-4a39-a739-612374c638a0
+#metadatum widget details
+AAI.model-invariant-id.metadatum=86dbb63a-265e-4614-993f-6771c30b56a5
+AAI.model-version-id.metadatum=6bae950e-8939-41d3-a6a7-251b03e4c1fc
+#model widget details
+AAI.model-invariant-id.model=06d1418a-5faa-452d-a94b-a2829df5f67b
+AAI.model-version-id.model=1f51c05c-b164-4c27-9c03-5cbb239fd6be
+#model-constraint widget details
+AAI.model-invariant-id.model-constraint=c28966f3-e758-4483-b37b-a90b05d3dd33
+AAI.model-version-id.model-constraint=ad70dd19-f156-4fb5-a865-97b5563b0d37
+#model-element widget details
+AAI.model-invariant-id.model-element=2076e726-3577-477a-a300-7fa65cd4df11
+AAI.model-version-id.model-element=753e813a-ba9e-4a1d-ab34-b2f6dc6eec0c
+#multicast-configuration widget details
+AAI.model-invariant-id.multicast-configuration=ea78c9e3-514d-4a0a-9162-13837fa54c35
+AAI.model-version-id.multicast-configuration=666a06ee-4b57-46df-bacf-908da8f10c3f
+#named-query widget details
+AAI.model-version-id.named-query=5c3b7c33-afa3-4be5-8da7-1a5ac6f99896
+AAI.model-invariant-id.named-query=80b712fd-0ad3-4180-a99c-8c995cf1cc32
+#named-query-element widget details
+AAI.model-version-id.named-query-element=204c641a-3494-48c8-979a-86856f5fd32a
+AAI.model-invariant-id.named-query-element=3c504d40-b847-424c-9d25-4fb7e0a3e994
+#network-policy widget details
+AAI.model-invariant-id.network-policy=6aa05779-94d7-4d8b-9bee-59ef2ab0c246
+AAI.model-version-id.network-policy=a0ccd9dc-7062-4940-9bcc-e91dd28af510
+#network-profile widget details
+AAI.model-version-id.network-profile=01f45471-4240-498c-a9e1-235dc0b8b4a6
+AAI.model-invariant-id.network-profile=2734b44a-b8a2-40f6-957d-6256589e5d00
+#newvce widget details
+AAI.model-version-id.newvce=7c79e11f-a408-4593-aa86-ba948a1236af
+AAI.model-invariant-id.newvce=4b05ec9c-c55d-4987-83ff-e08d6ddb694f
+#oam-network widget details
+AAI.model-invariant-id.oam-network=2851cf01-9c40-4064-87d4-6184a6fcff35
+AAI.model-version-id.oam-network=f4fb34f3-fd6e-4a8f-a3fb-4ab61a343b79
+#physical-link widget details
+AAI.model-invariant-id.physical-link=c822d81f-822f-4304-9623-1025b53da568
+AAI.model-version-id.physical-link=9c523936-95b4-4d7f-9f53-6bdfe0cf2c05
+#p-interface widget details
+AAI.model-invariant-id.p-interface=94043c37-4e73-439c-a790-0fdd697924cd
+AAI.model-version-id.p-interface=d2cdb2d0-fc1f-4a57-a89e-591b1c4e3754
+#pnf widget details
+AAI.model-version-id.pnf=e9f1fa7d-c839-418a-9601-03dc0d2ad687
+AAI.model-invariant-id.pnf=862b25a1-262a-4961-bdaa-cdc55d69785a
+#port-group widget details
+AAI.model-version-id.port-group=03e8bb6b-b48a-46ae-b5d4-e5af577e6844
+AAI.model-invariant-id.port-group=8ce940fb-55d7-4230-9e7f-a56cc2741f77
+#property-constraint widget details
+AAI.model-version-id.property-constraint=81706bbd-981e-4362-ae20-995cbcb2d995
+AAI.model-invariant-id.property-constraint=f4a863c3-6886-470a-a6ae-05723837ea45
+#pserver widget details
+AAI.model-invariant-id.pserver=6d932c8f-463b-4e76-83fb-87acfbaa2e2d
+AAI.model-version-id.pserver=72f0d495-bc27-4653-9e1a-eef76bd34bc9
+#related-lookup widget details
+AAI.model-invariant-id.related-lookup=468f6f5b-2996-41bb-b2a3-7cf9613ebb9b
+AAI.model-version-id.related-lookup=0988bab5-bf4f-4938-a419-ab249867d12a
+#reserved-prop-names widget details
+AAI.model-invariant-id.reserved-prop-names=0c3e0ba3-618c-498d-9127-c8d42b00170f
+AAI.model-version-id.reserved-prop-names=ac49d26d-9163-430e-934a-13b738a04f5c
+#result-data widget details
+AAI.model-version-id.result-data=4e9b50aa-5227-4f6f-b489-62e6bbc03c79
+AAI.model-invariant-id.result-data=ff656f23-6185-406f-9006-4b26834f3e1c
+#route-table-reference widget details
+AAI.model-version-id.route-table-reference=fed7e326-03a7-45ff-a3f2-471470d268c4
+AAI.model-invariant-id.route-table-reference=a8614b63-2636-4c4f-98df-fd448c4241db
+#routing-instance widget details
+AAI.model-invariant-id.routing-instance=1c2ded4f-8b01-4193-829c-966847dfec3e
+AAI.model-version-id.routing-instance=3ccbcbc7-d19e-44d5-a52f-7e18aa8d69fa
+#secondary-filter widget details
+AAI.model-version-id.secondary-filter=1380619d-dd1a-4cec-b755-c6407833e065
+AAI.model-invariant-id.secondary-filter=738ff299-6290-4c00-8998-bd0e96a07b93
+#segmentation-assignment widget details
+AAI.model-invariant-id.segmentation-assignment=6e814aee-46e1-4583-a9d4-0049bfd2b59b
+AAI.model-version-id.segmentation-assignment=c5171ae0-44fb-4c04-b482-d56702241a44
+#service widget details
+AAI.model-version-id.service=ecce2c42-3957-4ae0-9442-54bc6afe27b6
+AAI.model-invariant-id.service=07a3a60b-1b6c-4367-8173-8014386f89e3
+#service-capability widget details
+AAI.model-invariant-id.service-capability=b1a7cc05-d19d-443b-a5d1-733e325c4232
+AAI.model-version-id.service-capability=f9cfec1b-18da-4bba-bd83-4b26cca115cd
+#service-instance widget details
+AAI.model-invariant-id.service-instance=82194af1-3c2c-485a-8f44-420e22a9eaa4
+AAI.model-version-id.service-instance=46b92144-923a-4d20-b85a-3cbd847668a9
+#service-subscription widget details
+AAI.model-invariant-id.service-subscription=2e1a602a-acd8-4f78-94ff-618b802a303b
+AAI.model-version-id.service-subscription=5e68299a-79f2-4bfb-8fbc-2bae877a2459
+#site-pair widget details
+AAI.model-version-id.site-pair=7106bc02-6552-4fc3-8a56-4f3df9034531
+AAI.model-invariant-id.site-pair=db63f3e6-f8d1-484e-8d5e-191600b7914b
+#site-pair-set widget details
+AAI.model-invariant-id.site-pair-set=5d4dae3e-b402-4bfd-909e-ece12ff75d26
+AAI.model-version-id.site-pair-set=a5c6c1bc-dc38-468e-9459-bb08f87247df
+#snapshot widget details
+AAI.model-version-id.snapshot=962a7c8b-687f-4d32-a775-fe098e214bcd
+AAI.model-invariant-id.snapshot=24de00ef-aead-4b52-995b-0adf8d4bd90d
+#sriov-vf widget details
+AAI.model-version-id.sriov-vf=1e8b331f-3d4a-4160-b7aa-f4d5a8916625
+AAI.model-invariant-id.sriov-vf=04b2935f-33c4-40a9-8af0-8b52690042dc
+#start-node-filter widget details
+AAI.model-version-id.start-node-filter=aad96fd3-e75f-42fc-9777-3450c36f1168
+AAI.model-invariant-id.start-node-filter=083093a3-e407-447a-ba5d-7583e4d23e1d
+#subnet widget details
+AAI.model-version-id.subnet=f902a6bc-6be4-4fe5-8458-a6ec0056b374
+AAI.model-invariant-id.subnet=1b2c9ba7-e449-4831-ba15-3073672f5ef2
+#tagged-inventory-item-list widget details
+AAI.model-invariant-id.tagged-inventory-item-list=e78a7eaa-f65d-4919-9c2b-5b258c8c4d7e
+AAI.model-version-id.tagged-inventory-item-list=c246f6e2-e3a1-4697-94c0-5672a7fbbf04
+#tenant widget details
+AAI.model-invariant-id.tenant=97c26c99-6870-44c1-8a07-1d900d3f4ce6
+AAI.model-version-id.tenant=abcc54bc-bb74-49dc-9043-7f7171707545
+#tunnel-xconnect widget details
+AAI.model-invariant-id.tunnel-xconnect=50b9e2fa-005c-4bbe-b651-3251dece4cd8
+AAI.model-version-id.tunnel-xconnect=e7cb4ca8-e1a5-4487-a716-4ae0bcd8aef5
+#update-node-key widget details
+AAI.model-version-id.update-node-key=6004cfa6-eb6d-4062-971f-b1fde6b74aa0
+AAI.model-invariant-id.update-node-key=fe81c801-f65d-408a-b2b7-a729a18f8154
+#vce widget details
+AAI.model-version-id.vce=b6cf54b5-ec45-43e1-be64-97b4e1513333
+AAI.model-invariant-id.vce=bab6dceb-e7e6-4301-a5e0-a7399b48d792
+#vf-module widget details
+AAI.model-invariant-id.vf-module=ef86f9c5-2165-44f3-8fc3-96018b609ea5
+AAI.model-version-id.vf-module=c00563ae-812b-4e62-8330-7c4d0f47088a
+#vig-server widget details
+AAI.model-version-id.vig-server=8e8c22f1-fbdf-48ea-844c-8bdeb44e7b16
+AAI.model-invariant-id.vig-server=bed7c3b7-35d0-4cd9-abde-41b20e68b28e
+#virtual-data-center widget details
+AAI.model-invariant-id.virtual-data-center=5150abcf-0c5f-4593-9afe-a19c48fc4824
+AAI.model-version-id.virtual-data-center=6dd43ced-d789-47af-a759-d3abc14e3ac1
+#vlan widget details
+AAI.model-version-id.vlan=257d88a5-a269-4c35-944f-aca04fbdb791
+AAI.model-invariant-id.vlan=d2b1eaf1-ae59-4116-9ee4-aa0179faa4f8
+#vnfc widget details
+AAI.model-invariant-id.vnfc=96129eb9-f0de-4e05-8af2-73146473f766
+AAI.model-version-id.vnfc=5761e0a7-c6df-4d8a-9ebd-b8f445054dec
+#vnf-image widget details
+AAI.model-invariant-id.vnf-image=f9a628ff-7aa0-40e2-a93d-02d91c950982
+AAI.model-version-id.vnf-image=c4d3e747-ba4a-4b17-9896-94c6f18c19d3
+#volume widget details
+AAI.model-version-id.volume=0fbe2e8f-4d91-4415-a772-88387049b38d
+AAI.model-invariant-id.volume=ddd739b4-2b25-46c4-affc-41a32af5cc42
+#volume-group widget details
+AAI.model-invariant-id.volume-group=fcec1b02-b2d0-4834-aef8-d71be04717dd
+AAI.model-version-id.volume-group=99d44c90-1f61-4418-b9a6-56586bf38c79
+#vpe widget details
+AAI.model-invariant-id.vpe=053ec3a7-5b72-492d-b54d-123805a9b967
+AAI.model-version-id.vpe=203817d3-829c-42d4-942d-2a935478e993
+#vpls-pe widget details
+AAI.model-version-id.vpls-pe=b1566228-6785-4ce1-aea2-053736f80341
+AAI.model-invariant-id.vpls-pe=457ba89b-334c-4fbd-acc4-160ac0e0cdc0
+#vpn-binding widget details
+AAI.model-invariant-id.vpn-binding=9e23b675-db2b-488b-b459-57aa9857baa0
+AAI.model-version-id.vpn-binding=21a146e5-9901-448c-9197-723076770119
+#vserver widget details
+AAI.model-invariant-id.vserver=ff69d4e0-a8e8-4108-bdb0-dd63217e63c7
+AAI.model-version-id.vserver=8ecb2c5d-7176-4317-a255-26274edfdd53 \ No newline at end of file
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/cadi.properties b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/cadi.properties
new file mode 100644
index 0000000000..1011ba344d
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/cadi.properties
@@ -0,0 +1,4 @@
+#############################################################
+# This file should be replaced with jetty cadi.properties: #
+# /var/lib/jetty/base/be/etc/cadi.properties #
+#############################################################
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/cadi_truststore.jks b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/cadi_truststore.jks
new file mode 100644
index 0000000000..0835ef4542
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/cadi_truststore.jks
@@ -0,0 +1,4 @@
+##################################################################
+## This file should be replaced with jetty cadi_truststore.jks: #
+## /var/lib/jetty/base/be/etc/cadi_truststore.jks #
+##################################################################
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/ecomp-error-configuration.yaml b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/ecomp-error-configuration.yaml
new file mode 100644
index 0000000000..9d7cd74a2b
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/ecomp-error-configuration.yaml
@@ -0,0 +1,383 @@
+###########################################
+# Note the conventions of the field values:
+# type can be one of: CONFIG_ERROR, SYSTEM_ERROR, DATA_ERROR, CONNECTION_PROBLEM, AUTHENTICATION_PROBLEM
+# severity can be one of: WARN, ERROR, FATAL
+# alarmSeverity can be one of: CRITICAL,MAJOR,MINOR,INFORMATIONAL,NONE
+# code is a unique integer in range of 3003-9999 (3000-3002 are occupied for internal usage)
+# The above enumeration values are out-of-the-box and can be changed in code.
+# In case of config and code mismatch, the appropriate error will be printed to log
+#
+## Range of BE codes - 3010-7999
+
+errors:
+
+ BeRestApiGeneralError: {
+ type: SYSTEM_ERROR,
+ code: ASDC_4000,
+ severity: ERROR,
+ description: "Unexpected error during BE REST API execution",
+ alarmSeverity: CRITICAL
+ }
+
+ BeHealthCheckError: {
+ type: SYSTEM_ERROR,
+ code: ASDC_3010,
+ severity: ERROR,
+ description: "Error during BE Health Check",
+ alarmSeverity: CRITICAL
+ }
+
+ BeInitializationError: {
+ type: SYSTEM_ERROR,
+ code: ASDC_4019,
+ severity: ERROR,
+ description: "Catalog-BE was not initialized properly",
+ alarmSeverity: CRITICAL
+ }
+
+ BeResourceMissingError: {
+ type: SYSTEM_ERROR,
+ code: ASDC_3011,
+ severity: ERROR,
+ description: "Mandatory resource %s cannot be found in repository",
+ alarmSeverity: MAJOR
+ }
+
+ BeServiceMissingError: {
+ type: SYSTEM_ERROR,
+ code: ASDC_3012,
+ severity: ERROR,
+ description: "Mandatory service %s cannot be found in repository",
+ alarmSeverity: MAJOR
+ }
+
+ BeFailedAddingResourceInstanceError: {
+ type: SYSTEM_ERROR,
+ code: ASDC_3013,
+ severity: ERROR,
+ description: "Failed to add resource instance of resource %s to service %s",
+ alarmSeverity: MAJOR
+ }
+
+ BeIncorrectServiceError: {
+ type: SYSTEM_ERROR,
+ code: ASDC_3014,
+ severity: ERROR,
+ description: "Service %s is not valid",
+ alarmSeverity: MAJOR
+ }
+
+ BeRepositoryDeleteError: {
+ type: SYSTEM_ERROR,
+ code: ASDC_3015,
+ severity: ERROR,
+ description: "Failed to delete object %s from repository",
+ alarmSeverity: CRITICAL
+ }
+
+ BeRepositoryQueryError: {
+ type: SYSTEM_ERROR,
+ code: ASDC_3016,
+ severity: ERROR,
+ description: "Failed to fetch from repository %s",
+ alarmSeverity: MAJOR
+ }
+
+ BeInvalidConfigurationError: {
+ type: CONFIG_ERROR,
+ code: ASDC_3017,
+ severity: FATAL,
+ description: "Configuration parameter %s is invalid. Value configured is %s",
+ alarmSeverity: MAJOR
+ }
+
+ BeUebConnectionError: {
+ type: CONNECTION_PROBLEM,
+ code: ASDC_4001,
+ severity: ERROR,
+ description: "Connection problem towards U-EB server. Reason: %s",
+ alarmSeverity: MAJOR
+ }
+
+ BeUebSystemError: {
+ type: SYSTEM_ERROR,
+ code: ASDC_3019,
+ severity: ERROR,
+ description: "Error occured during access to U-EB Server. Operation: %s",
+ alarmSeverity: MAJOR
+ }
+
+ BeUebObjectNotFoundError: {
+ type: DATA_ERROR,
+ code: ASDC_4005,
+ severity: ERROR,
+ description: "Error occured during access to U-EB Server. Data not found: %s",
+ alarmSeverity: MAJOR
+ }
+
+ BeDistributionEngineSystemError: {
+ type: SYSTEM_ERROR,
+ code: ASDC_3021,
+ severity: ERROR,
+ description: "Error occured in Distribution Engine. Failed operation: %s",
+ alarmSeverity: MAJOR
+ }
+
+ BeUebAuthenticationError: {
+ type: AUTHENTICATION_PROBLEM,
+ code: ASDC_4003,
+ severity: ERROR,
+ description: "Authentication problem towards U-EB server. Reason: %s",
+ alarmSeverity: MAJOR
+ }
+
+ BeUebUnkownHostError: {
+ type: CONNECTION_PROBLEM,
+ code: ASDC_4002,
+ severity: ERROR,
+ description: "Connection problem towards U-EB server. Cannot reach host %s",
+ alarmSeverity: MAJOR
+ }
+
+ BeDistributionEngineInvalidArtifactType: {
+ type: DATA_ERROR,
+ code: ASDC_4006,
+ severity: WARN,
+ description: "The artifact type %s does not appear in the list of valid artifacts %s",
+ alarmSeverity: MAJOR
+ }
+ BeInvalidTypeError: {
+ type: DATA_ERROR,
+ code: ASDC_4008,
+ severity: WARN,
+ description: "The type %s of %s is invalid",
+ alarmSeverity: MAJOR
+ }
+ BeInvalidValueError: {
+ type: DATA_ERROR,
+ code: ASDC_3028,
+ severity: WARN,
+ description: "The value %s of %s from type %s is invalid",
+ alarmSeverity: MAJOR
+ }
+
+ BeFailedDeletingResourceInstanceError: {
+ type: SYSTEM_ERROR,
+ code: ASDC_3029,
+ severity: ERROR,
+ description: "Failed to delete resource instance %s from service %s",
+ alarmSeverity: MAJOR
+ }
+
+ BeMissingConfigurationError: {
+ type: CONFIG_ERROR,
+ code: ASDC_3030,
+ severity: FATAL,
+ description: "Configuration parameter %s is missing",
+ alarmSeverity: MAJOR
+ }
+
+ BeConfigurationInvalidListSizeError: {
+ type: CONFIG_ERROR,
+ code: ASDC_3031,
+ severity: FATAL,
+ description: "Configuration parameter %s is invalid. At least %s values shall be configured",
+ alarmSeverity: MAJOR
+ }
+
+ ErrorConfigFileFormat: {
+ type: CONFIG_ERROR,
+ code: ASDC_3032,
+ severity: ERROR,
+ description: "Error element not found in YAML name: %s",
+ alarmSeverity: MAJOR
+ }
+
+ BeMissingArtifactInformationError: {
+ type: DATA_ERROR,
+ code: ASDC_4010,
+ severity: ERROR,
+ description: "Artifact uploaded has missing information. Missing %s",
+ alarmSeverity: MAJOR
+ }
+
+ BeArtifactMissingError: {
+ type: DATA_ERROR,
+ code: ASDC_4011,
+ severity: ERROR,
+ description: "Artifact %s requested is not found",
+ alarmSeverity: MAJOR
+ }
+
+ BeArtifactPayloadInvalid: {
+ type: DATA_ERROR,
+ code: ASDC_4012,
+ severity: ERROR,
+ description: "Payload of artifact uploaded is invalid (invalid MD5 or encryption)",
+ alarmSeverity: MAJOR
+ }
+
+ BeUserMissingError: {
+ type: DATA_ERROR,
+ code: ASDC_4009,
+ severity: ERROR,
+ description: "User %s requested is not found",
+ alarmSeverity: MAJOR
+ }
+
+ BeArtifactInformationInvalidError: {
+ type: DATA_ERROR,
+ code: ASDC_4013,
+ severity: ERROR,
+ description: "Input for artifact metadata is invalid",
+ alarmSeverity: MAJOR
+ }
+ BeFailedAddingCapabilityTypeError: {
+ type: DATA_ERROR,
+ code: ASDC_4015,
+ severity: ERROR,
+ description: "Failed adding capability type",
+ alarmSeverity: CRITICAL
+ }
+
+ BeCapabilityTypeMissingError: {
+ type: DATA_ERROR,
+ code: ASDC_4016,
+ severity: ERROR,
+ description: "Capability Type %s not found",
+ alarmSeverity: CRITICAL
+ }
+
+ BeInterfaceMissingError: {
+ type: DATA_ERROR,
+ code: ASDC_4020,
+ severity: ERROR,
+ description: "Interface %s required is missing",
+ alarmSeverity: MAJOR
+ }
+
+ BeDaoSystemError: {
+ type: SYSTEM_ERROR,
+ code: ASDC_4014,
+ severity: ERROR,
+ description: "Operation towards database failed",
+ alarmSeverity: CRITICAL
+ }
+
+ BeSystemError: {
+ type: SYSTEM_ERROR,
+ code: ASDC_4017,
+ severity: ERROR,
+ description: "Unexpected error during operation",
+ alarmSeverity: CRITICAL
+ }
+
+ BeFailedLockObjectError: {
+ type: SYSTEM_ERROR,
+ code: ASDC_4007,
+ severity: WARN,
+ description: "Failed to lock object for update",
+ alarmSeverity: CRITICAL
+ }
+
+ BeInvalidJsonInput: {
+ type: SYSTEM_ERROR,
+ code: ASDC_4018,
+ severity: ERROR,
+ description: "Failed to convert json input to object",
+ alarmSeverity: MAJOR
+ }
+
+ BeDistributionMissingError: {
+ type: DATA_ERROR,
+ code: ASDC_4021,
+ severity: ERROR,
+ description: "Distribution %s required is missing",
+ alarmSeverity: MAJOR
+ }
+
+ BeHealthCheckRecovery: {
+ type: RECOVERY,
+ code: ASDC_4022,
+ severity: INFO,
+ description: "BE Health Check Recovery",
+ alarmSeverity: INFORMATIONAL
+ }
+ BeFailedCreateNodeError: {
+ type: DATA_ERROR,
+ code: ASDC_6000,
+ severity: ERROR,
+ description: "Failed to create node %s on graph. status is %s",
+ alarmSeverity: MAJOR
+ }
+ BeFailedUpdateNodeError: {
+ type: DATA_ERROR,
+ code: ASDC_6001,
+ severity: ERROR,
+ description: "Failed to update node %s on graph. Status is %s",
+ alarmSeverity: MAJOR
+ }
+
+ BeFailedDeleteNodeError: {
+ type: DATA_ERROR,
+ code: ASDC_6002,
+ severity: ERROR,
+ description: "Failed to delete node %s on graph. Status is %s",
+ alarmSeverity: MAJOR
+ }
+
+ BeFailedRetrieveNodeError: {
+ type: DATA_ERROR,
+ code: ASDC_6003,
+ severity: ERROR,
+ description: "Failed to retrieve node %s from graph. Status is %s",
+ alarmSeverity: MAJOR
+ }
+
+ BeExecuteRollbackError: {
+ type: DATA_ERROR,
+ code: ASDC_6004,
+ severity: ERROR,
+ description: "Going to execute rollback on graph.",
+ alarmSeverity: MAJOR
+ }
+
+ BeFailedFindParentError: {
+ type: DATA_ERROR,
+ code: ASDC_6005,
+ severity: ERROR,
+ description: "Failed to find parent node %s on graph. Status is %s",
+ alarmSeverity: MAJOR
+ }
+
+ BeFailedFindAllNodesError: {
+ type: DATA_ERROR,
+ code: ASDC_6006,
+ severity: ERROR,
+ description: "Failed to fetch all nodes with type %s of parent node %s . Status is %s",
+ alarmSeverity: MAJOR
+ }
+
+ BeFailedFindAssociationError: {
+ type: DATA_ERROR,
+ code: ASDC_6007,
+ severity: ERROR,
+ description: "Cannot find node with type %s associated with node %s . Status is %s",
+ alarmSeverity: MAJOR
+ }
+
+ BeFailedFindAssociationError: {
+ type: DATA_ERROR,
+ code: ASDC_6008,
+ severity: ERROR,
+ description: "Cannot find node with type %s associated with node %s . Status is %s",
+ alarmSeverity: MAJOR
+ }
+ BeComponentCleanerSystemError: {
+ type: SYSTEM_ERROR,
+ code: ASDC_6009,
+ severity: ERROR,
+ description: "Error occured in Component Cleaner Task. Failed operation: %s",
+ alarmSeverity: MAJOR
+ }
+ \ No newline at end of file
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/error-configuration.yaml b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/error-configuration.yaml
new file mode 100644
index 0000000000..a4491de352
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/error-configuration.yaml
@@ -0,0 +1,2400 @@
+# Errors
+errors:
+ OK: {
+ code: 200,
+ message: "OK"
+ }
+ CREATED: {
+ code: 201,
+ message: "OK"
+ }
+ ACCEPTED: {
+ code: 202,
+ message: "Accepted"
+ }
+ NO_CONTENT: {
+ code: 204,
+ message: "No Content"
+ }
+ #--------POL4050-----------------------------
+ NOT_ALLOWED: {
+ code: 405,
+ message: "Error: Method not allowed.",
+ messageId: "POL4050"
+ }
+ #--------POL5000-----------------------------
+ GENERAL_ERROR: {
+ code: 500,
+ message: "Error: Internal Server Error. Please try again later.",
+ messageId: "POL5000"
+ }
+ #---------POL5001------------------------------
+ MISSING_X_ECOMP_INSTANCE_ID: {
+ code: 400 ,
+ message: "Error: Missing 'X-ECOMP-InstanceID' HTTP header.",
+ messageId: "POL5001"
+ }
+ #---------POL5002------------------------------
+ AUTH_REQUIRED: {
+ code: 401 ,
+ message: "Error: Authentication is required to use the API.",
+ messageId: "POL5002"
+ }
+ #---------POL5003------------------------------
+ AUTH_FAILED: {
+ code: 403 ,
+ message: "Error: Not authorized to use the API.",
+ messageId: "POL5003"
+ }
+ #---------POL5004------------------------------
+ MISSING_USER_ID: {
+ code: 400 ,
+ message: "Error: Missing 'USER_ID' HTTP header.",
+ messageId: "POL5004"
+ }
+ #---------POL5005------------------------------
+ SESSION_EXPIRED: {
+ code: 403 ,
+ message: "Your session has expired. Please close the SDC tab and re-enter the SDC application.",
+ messageId: "POL5005"
+ }
+ #---------SVC4000-----------------------------
+ INVALID_CONTENT: {
+ code: 400,
+ message: "Error: Invalid content.",
+ messageId: "SVC4000"
+ }
+ #---------SVC4002-----------------------------
+ MISSING_INFORMATION: {
+ code: 403,
+ message: "Error: Missing information.",
+ messageId: "SVC4002"
+ }
+ #---------SVC4003------------------------------
+ # %1 - Users's ID
+ USER_NOT_FOUND: {
+ code: 404,
+ message: "Error: User '%1' was not found.",
+ messageId: "SVC4003"
+ }
+ #---------SVC4004-----------------------------
+ # %1 - Users's email address
+ INVALID_EMAIL_ADDRESS: {
+ code: 400,
+ message: "Error: Invalid email address '%1'.",
+ messageId: "SVC4004"
+ }
+ #---------SVC4005------------------------------
+ # %1 - role
+ INVALID_ROLE: {
+ code: 400,
+ message: "Error: Invalid role '%1'.",
+ messageId: "SVC4005"
+ }
+ #---------SVC4006------------------------------
+ # %1 - Users's USER_ID
+ USER_ALREADY_EXIST: {
+ code: 409,
+ message: "Error: User with '%1' ID already exists.",
+ messageId: "SVC4006"
+ }
+ #---------SVC4007------------------------------
+ DELETE_USER_ADMIN_CONFLICT: {
+ code: 409,
+ message: "Error: An administrator can only be deleted by another administrator.",
+ messageId: "SVC4007"
+ }
+ #---------SVC4008-----------------------------
+ # %1 - Users's userId
+ INVALID_USER_ID: {
+ code: 400,
+ message: "Error: Invalid userId '%1'.",
+ messageId: "SVC4008"
+ }
+#---------SVC4009-----------------------------
+ USER_DEFINED: {
+ code: 400,
+ message: "Error: User Defined '%1'.",
+ messageId: "SVC4009"
+ }
+ #---------SVC4049------------------------------
+ # %1 - service/resource
+ COMPONENT_MISSING_CONTACT: {
+ code: 400,
+ message: "Error: Invalid Content. Missing %1 contact.",
+ messageId: "SVC4049"
+ }
+ #---------SVC4050-----------------------------
+ # %1 - Service/Resource/Additional parameter
+ # %2 - service/resource/label name
+ COMPONENT_NAME_ALREADY_EXIST: {
+ code: 409,
+ message: "Error: %1 with name '%2' already exists.",
+ messageId: "SVC4050"
+ }
+ #---------SVC4051------------------------------
+ # %1 - resource/service
+ COMPONENT_MISSING_CATEGORY: {
+ code: 400,
+ message: "Error: Invalid Content. Missing %1 category.",
+ messageId: "SVC4051"
+ }
+
+ #---------SVC4052------------------------------
+ COMPONENT_MISSING_TAGS: {
+ code: 400,
+ message: "Error: Invalid Content. At least one tag has to be specified.",
+ messageId: "SVC4052"
+ }
+
+ #---------SVC4053------------------------------
+ # %1 - service/resource
+ COMPONENT_MISSING_DESCRIPTION: {
+ code: 400,
+ message: "Error: Invalid Content. Missing %1 description.",
+ messageId: "SVC4053"
+ }
+ #---------SVC4054------------------------------
+ # %1 - resource/service
+ COMPONENT_INVALID_CATEGORY: {
+ code: 400,
+ message: "Error: Invalid Content. Value %1 for the field Category is invalid.",
+ messageId: "SVC4054"
+ }
+ #---------SVC4055------------------------------
+ MISSING_VENDOR_NAME: {
+ code: 400,
+ message: "Error: Invalid Content. Missing vendor name.",
+ messageId: "SVC4055"
+ }
+ #---------SVC4056------------------------------
+ MISSING_VENDOR_RELEASE: {
+ code: 400,
+ message: "Error: Invalid Content. Missing vendor release.",
+ messageId: "SVC4056"
+ }
+
+ #---------SVC4057------------------------------
+ MISSING_DERIVED_FROM_TEMPLATE: {
+ code: 400,
+ message: "Error: Invalid Content. Missing derived from template specification.",
+ messageId: "SVC4057"
+ }
+
+ #---------SVC4058------------------------------
+ # %1 - service/resource
+ COMPONENT_MISSING_ICON: {
+ code: 400,
+ message: "Error: Invalid Content. Missing %1 icon.",
+ messageId: "SVC4058"
+ }
+ #---------SVC4059------------------------------
+ # %1 - service/resource
+ COMPONENT_INVALID_ICON: {
+ code: 400,
+ message: "Error: Invalid Content. Invalid %1 icon.",
+ messageId: "SVC4059"
+ }
+ #---------SVC4060------------------------------
+ PARENT_RESOURCE_NOT_FOUND: {
+ code: 400,
+ message: "Error: Invalid Content. Derived from resource template was not found.",
+ messageId: "SVC4060"
+ }
+ #---------SVC4061------------------------------
+ MULTIPLE_PARENT_RESOURCE_FOUND: {
+ code: 400,
+ message: "Error: Invalid Content. Multiple derived from resource template is not allowed.",
+ messageId: "SVC4061"
+ }
+
+ #---------SVC4062------------------------------
+ # %1 - service/resource
+ MISSING_COMPONENT_NAME: {
+ code: 400,
+ message: "Error: Invalid Content. Missing %1 name.",
+ messageId: "SVC4062"
+ }
+ #---------SVC4063------------------------------
+ #%1  -  resource/service name
+ RESOURCE_NOT_FOUND: {
+ code: 404,
+ message: "Error: Requested '%1' resource was not found.",
+ messageId: "SVC4063"
+ }
+
+ #---------SVC4064------------------------------
+ # %1 - Service/Resource/Property
+ COMPONENT_INVALID_DESCRIPTION: {
+ code: 400,
+ message: "Error: Invalid Content. %1 description contains non-english characters.",
+ messageId: "SVC4064"
+ }
+ #---------SVC4065------------------------------
+ # %1 - Service/Resource/Property
+ # %2 - max resource/service name length
+ COMPONENT_DESCRIPTION_EXCEEDS_LIMIT: {
+ code: 400,
+ message: "Error: Invalid Content. %1 description exceeds limit of %2 characters.",
+ messageId: "SVC4065"
+ }
+ #---------SVC4066------------------------------
+ # %1 - max length
+ COMPONENT_TAGS_EXCEED_LIMIT: {
+ code: 400,
+ message: "Error: Invalid Content. Tags overall length exceeds limit of %1 characters.",
+ messageId: "SVC4066"
+ }
+ #---------SVC4067------------------------------
+ # %1 - max length
+ VENDOR_NAME_EXCEEDS_LIMIT: {
+ code: 400,
+ message: "Error: Invalid Content. Vendor name exceeds limit of %1 characters.",
+ messageId: "SVC4067"
+ }
+ #---------SVC4068------------------------------
+ # %1 - max length
+ VENDOR_RELEASE_EXCEEDS_LIMIT: {
+ code: 400,
+ message: "Error: Invalid Content. Vendor release exceeds limit of %1 characters.",
+ messageId: "SVC4068"
+ }
+
+ #---------SVC4069------------------------------
+ # %1 - Service/Resource/Product
+ COMPONENT_INVALID_CONTACT: {
+ code: 400,
+ message: "Error: Invalid Content. %1 Contact Id should be in format 'mnnnnnn' or 'aannna' or 'aannnn', where m=m ,a=a-zA-Z and n=0-9. Max length: 50",
+ messageId: "SVC4069"
+ }
+ #---------SVC4070------------------------------
+ # %1 - Service/Resource
+ INVALID_COMPONENT_NAME: {
+ code: 400,
+ message: 'Error: Invalid Content. Value %1 for Component name is invalid. Only alphanumeric characters and regular spaces are allowed.',
+ messageId: "SVC4070"
+ }
+
+ #---------SVC4071------------------------------
+ INVALID_VENDOR_NAME: {
+ code: 400,
+ message: 'Error: Invalid Content. Value %1 for the field Vendor name is invalid. Only alphanumeric characters and regular spaces are allowed.',
+ messageId: "SVC4071"
+ }
+ #---------SVC4072------------------------------
+ INVALID_VENDOR_RELEASE: {
+ code: 400,
+ message: 'Error: Invalid Content. Value %1 for the field Vendor release is invalid. Only alphanumeric characters and regular spaces are allowed.',
+ messageId: "SVC4072"
+ }
+ #---------SVC4073------------------------------
+ # %1 - Service/Resource
+ # %2 - max resource/service name
+ COMPONENT_NAME_EXCEEDS_LIMIT: {
+ code: 400,
+ message: "Error: Invalid Content. %1 name exceeds limit of %2 characters.",
+ messageId: "SVC4073"
+ }
+ #---------SVC4080------------------------------
+ # %1 - resource/service name
+ # %2 - resource/service
+ # %3 - First name of last modifier
+ # %4 - Last name of last modifier
+ # %5 - USER_ID of last modifier
+ COMPONENT_IN_CHECKOUT_STATE: {
+ code: 403,
+ message: "Error: Requested '%1' %2 is locked for modification by %3 %4(%5).",
+ messageId: "SVC4080"
+ }
+ #---------SVC4081-----------------------------
+ # %1 - resource/service name
+ # %2 - resource/service
+ # %3 - First name of last modifier
+ # %4 - Last name of last modifier
+ # %5 - USER_ID of last modifier
+ COMPONENT_IN_CERT_IN_PROGRESS_STATE: {
+ code: 403,
+ message: "Error: Requested '%1' %2 is locked for certification by %3 %4(%5).",
+ messageId: "SVC4081"
+ }
+
+ #-----------SVC4082---------------------------
+ # %1 - resource/service name
+ # %2 - resource/service
+ # %3 - First name of last modifier
+ # %4 - Last name of last modifier
+ # %5 - USER_ID of last modifier
+ COMPONENT_SENT_FOR_CERTIFICATION: {
+ code: 403,
+ message: "Error: Requested '%1' %2 is sent for certification by %3 %4(%5).",
+ messageId: "SVC4082"
+ }
+ #-----------SVC4083---------------------------
+ COMPONENT_VERSION_ALREADY_EXIST: {
+ code: 409,
+ message: "Error: Version of this %1 was already promoted.",
+ messageId: "SVC4083"
+ }
+ #-----------SVC4084---------------------------
+ # %1 - resource/service/product name
+ # %2 - resource/service/product
+ # %3 - First name of last modifier
+ # %4 - Last name of last modifier
+ # %5 - USER_ID of last modifier
+ COMPONENT_ALREADY_CHECKED_IN: {
+ code: 409,
+ message: "Error: The current version of '%1' %2 was already checked-in by %3 %4(%5).",
+ messageId: "SVC4084"
+ }
+ #-----------SVC4085---------------------------
+ # %1 - resource/service/product name
+ # %2 - resource/service/product
+ # %3 - First name of last modifier
+ # %4 - Last name of last modifier
+ # %5 - USER_ID of last modifier
+ COMPONENT_CHECKOUT_BY_ANOTHER_USER: {
+ code: 403,
+ message: "Error: %1 %2 has already been checked out by %3 %4(%5).",
+ messageId: "SVC4085"
+ }
+ #-----------SVC4086---------------------------
+ # %1  - resource/service name
+ # %2  - resource/service
+ COMPONENT_IN_USE: {
+ code: 403,
+ message: "Error: '%1' %2 is still held by previous action. Please try again later.",
+ messageId: "SVC4086"
+ }
+ #-----------SVC4087---------------------------
+ # %1 - component name
+ # %2 - resource/service/product
+ COMPONENT_HAS_NEWER_VERSION: {
+ code: 409,
+ message: "Error: Checking out of the requested version of the '%1' %2 is not allowed as a newer version exists.",
+ messageId: "SVC4087"
+ }
+ #-----------SVC4088---------------------------
+ # %1 - resource/service name
+ # %2 - resource/service
+ # %3 - First name of last modifier
+ # %4 - Last name of last modifier
+ # %5 - USER_ID of last modifier
+ COMPONENT_ALREADY_CERTIFIED: {
+ code: 403,
+ message: "Error: Requested %1 %2 has already been certified by %3 %4(%5).",
+ messageId: "SVC4088"
+ }
+ #-----------SVC4089---------------------------
+ # %1 - resource/service name
+ # %2 - resource/service
+ COMPONENT_NOT_READY_FOR_CERTIFICATION: {
+ code: 403,
+ message: "Error: Requested '%1' %2 is not ready for certification.",
+ messageId: "SVC4089"
+ }
+ #-----------SVC4100---------------------------
+ #%1 - property name
+ PROPERTY_NOT_FOUND: {
+ code: 404,
+ message: "Error: Requested '%1' property was not found.",
+ messageId: "SVC4100"
+ }
+ #-----------SVC4101---------------------------
+ #%1 - property name
+ PROPERTY_ALREADY_EXIST: {
+ code: 409,
+ message: "Error: Property with '%1' name already exists.",
+ messageId: "SVC4101"
+ }
+
+ #-----------SVC4102---------------------------
+ # %1 - capability type name
+ CAPABILITY_TYPE_ALREADY_EXIST: {
+ code: 409,
+ message: "Error: Capability Type with name '%1' already exists.",
+ messageId: "SVC4102"
+ }
+ #-----------SVC4114---------------------------
+ AUTH_FAILED_INVALIDE_HEADER: {
+ code: 400,
+ message: "Error: Invalid Authorization header.",
+ messageId: "SVC4114"
+ }
+ #-----------SVC4115---------------------------
+ # %1 - capability type name
+ MISSING_CAPABILITY_TYPE: {
+ code: 400,
+ message: "Error: Invalid Content. Missing Capability Type '%1'.",
+ messageId: "SVC4115"
+ }
+ RESOURCE_INSTANCE_BAD_REQUEST: {
+ code: 400,
+ message: "Error: Invalid Content.",
+ messageId: "SVC4116"
+ }
+ #-----------SVC4117---------------------------
+ # %1 - resource instance name
+ # %2 - resource instance name
+ # %3 - requirement name
+ RESOURCE_INSTANCE_MATCH_NOT_FOUND: {
+ code: 404,
+ message: "Error: Match not found between resource instance '%1' and resource instance '%2' for requirement '%3'.",
+ messageId: "SVC4117"
+ }
+ #-----------SVC4118---------------------------
+ # %1 - resource instance name
+ # %2 - resource instance name
+ # %3 - requirement name
+ RESOURCE_INSTANCE_ALREADY_EXIST: {
+ code: 409,
+ message: "Error: Resource instances '%1' and '%2' are already associated with requirement '%3'.",
+ messageId: "SVC4118"
+ }
+ #-----------SVC4119---------------------------
+ # %1 - resource instance name
+ # %2 - resource instance name
+ # %3 - requirement name
+ RESOURCE_INSTANCE_RELATION_NOT_FOUND: {
+ code: 404,
+ message: "Error: No relation found between resource instances '%1' and '%2' for requirement '%3'.",
+ messageId: "SVC4119"
+ }
+ #-----------SVC4120---------------------------
+ # %1 - User's USER_ID
+ USER_INACTIVE: {
+ code: 404,
+ message: "Error: User %1 inactive.",
+ messageId: "SVC4120"
+ }
+ #-----------SVC4121---------------------------
+ # %1 - User's USER_ID
+ USER_HAS_ACTIVE_ELEMENTS: {
+ code: 403,
+ message: "Error: User with %1 ID can not be deleted since it has active elements(resources/services/artifacts).",
+ messageId: "SVC4121"
+ }
+ #-----------SVC4122---------------------------
+ # %1 - artifact type
+ ARTIFACT_TYPE_NOT_SUPPORTED: {
+ code: 400,
+ message: "Error: Invalid artifact type '%1'.",
+ messageId: "SVC4122"
+ }
+ #-----------SVC4123---------------------------
+ ARTIFACT_LOGICAL_NAME_CANNOT_BE_CHANGED: {
+ code: 400,
+ message: "Error: Artifact logical name cannot be changed.",
+ messageId: "SVC4123"
+ }
+ #-----------SVC4124---------------------------
+ MISSING_ARTIFACT_TYPE: {
+ code: 400,
+ message: "Error: Missing artifact type.",
+ messageId: "SVC4124"
+ }
+ #-----------SVC4125---------------------------
+ # %1-artifact name
+ ARTIFACT_EXIST: {
+ code: 400,
+ message: "Error: Artifact '%1' already exists.",
+ messageId: "SVC4125"
+ }
+ #---------SVC4126------------------------------
+ # %1 - resource/service/product/...
+ # %2 - field (tag, vendor name...)
+ INVALID_FIELD_FORMAT: {
+ code: 400,
+ message: "Error: Invalid %1 %2 format.",
+ messageId: "SVC4126"
+ }
+ #-----------SVC4127---------------------------
+ ARTIFACT_INVALID_MD5: {
+ code: 400,
+ message: "Error: Invalid artifact checksum.",
+ messageId: "SVC4127"
+ }
+ #-----------SVC4128---------------------------
+ MISSING_ARTIFACT_NAME: {
+ code: 400,
+ message: "Error: Invalid content. Missing artifact name.",
+ messageId: "SVC4128"
+ }
+ #-----------SVC4129---------------------------
+ MISSING_PROJECT_CODE: {
+ code: 400,
+ message: "Error: Invalid Content. Missing PROJECT_CODE number.",
+ messageId: "SVC4129"
+ }
+ #-----------SVC4130---------------------------
+ INVALID_PROJECT_CODE: {
+ code: 400,
+ message: "Error: Invalid Content. PROJECT_CODE must be from 5 up to 50 characters.",
+ messageId: "SVC4130"
+ }
+ #-----------SVC4131---------------------------
+ # %1-resource/service
+ # %2-srtifact/artifacts
+ # %3-semicolomn separated list of artifact
+ COMPONENT_MISSING_MANDATORY_ARTIFACTS: {
+ code: 403,
+ message: "Error: Missing mandatory informational %1 %2: [%3].",
+ messageId: "SVC4131"
+ }
+ #-----------SVC4132---------------------------
+ # %1 - lifecycle type name
+ LIFECYCLE_TYPE_ALREADY_EXIST: {
+ code: 409,
+ message: "Error: Lifecycle Type with name '%1' already exists.",
+ messageId: "SVC4132"
+ }
+ #-----------SVC4133---------------------------
+ # %1 - service version
+ # %2 - service name
+ SERVICE_NOT_AVAILABLE_FOR_DISTRIBUTION: {
+ code: 403,
+ message: "Error: Version %1 of '%2' service is not available for distribution.",
+ messageId: "SVC4133"
+ }
+ #-----------SVC4134---------------------------
+ MISSING_LIFECYCLE_TYPE: {
+ code: 400,
+ message: "Error: Invalid Content. Missing interface life-cycle type.",
+ messageId: "SVC4134"
+ }
+ #---------SVC4135------------------------------
+ SERVICE_CATEGORY_CANNOT_BE_CHANGED: {
+ code: 400,
+ message: "Error: Service category cannot be changed once the service is certified.",
+ messageId: "SVC4135"
+ }
+ #---------SVC4136------------------------------
+ # %1 - distribution environment name
+ DISTRIBUTION_ENVIRONMENT_NOT_AVAILABLE: {
+ code: 500,
+ message: "Error: Requested distribution environment '%1' is not available.",
+ messageId: "SVC4136"
+ }
+ #---------SVC4137------------------------------
+ # %1 - distribution environment name
+ DISTRIBUTION_ENVIRONMENT_NOT_FOUND: {
+ code: 400,
+ message: "Error: Requested distribution environment '%1' was not found.",
+ messageId: "SVC4137"
+ }
+ #---------SVC4138------------------------------
+ DISTRIBUTION_ENVIRONMENT_INVALID: {
+ code: 400,
+ message: "Error: Invalid distribution environment.",
+ messageId: "SVC4138"
+ }
+ #---------SVC4200------------------------------
+ # %1 - Service/Resource
+ # %2 - max icon name length
+ COMPONENT_ICON_EXCEEDS_LIMIT: {
+ code: 400,
+ message: "Error: Invalid Content. %1 icon name exceeds limit of %2 characters.",
+ messageId: "SVC4200"
+ }
+ #---------SVC4300------------------------------
+ RESTRICTED_ACCESS: {
+ code: 403,
+ message: "Error: Restricted access.",
+ messageId: "SVC4300"
+ }
+ #---------SVC4301------------------------------
+ RESTRICTED_OPERATION: {
+ code: 403,
+ message: "Error: Restricted operation.",
+ messageId: "SVC4301"
+ }
+ #---------SVC4500------------------------------
+ MISSING_BODY: {
+ code: 400 ,
+ message: "Error: Missing request body.",
+ messageId: "SVC4500"
+ }
+ #---------SVC4501------------------------------
+ MISSING_PUBLIC_KEY: {
+ code: 400 ,
+ message: "Error: Invalid Content. Missing mandatory parameter 'apiPublicKey'." ,
+ messageId: "SVC4501"
+ }
+ #---------SVC4502------------------------------
+ DISTRIBUTION_ENV_DOES_NOT_EXIST: {
+ code: 400 ,
+ message: "Error: Invalid Body : Missing mandatory parameter 'distrEnvName'." ,
+ messageId: "SVC4502"
+ }
+ #-----------SVC4503---------------------------
+ # %1 - service name
+ SERVICE_NOT_FOUND: {
+ code: 404,
+ message: "Error: Requested '%1' service was not found.",
+ messageId: "SVC4503"
+ }
+
+ #---------SVC4504------------------------------
+ # %1 - Service/Resource
+ # %2 - service/resource version
+ COMPONENT_VERSION_NOT_FOUND: {
+ code: 404,
+ message: "Error: %1 version %2 was not found.",
+ messageId: "SVC4504"
+ }
+ #-----------SVC4505---------------------------
+ #%1-artifact name
+
+ ARTIFACT_NOT_FOUND: {
+ code: 404,
+ message: "Error: Artifact '%1' was not found.",
+ messageId: "SVC4505"
+ }
+ #---------SVC4506------------------------------
+ MISSING_ENV_NAME: {
+ code: 400 ,
+ message: "Error: Invalid Content. Missing mandatory parameter 'distrEnvName'.",
+ messageId: "SVC4506"
+ }
+ #---------SVC4507------------------------------
+ COMPONENT_INVALID_TAGS_NO_COMP_NAME: {
+ code: 400,
+ message: "Error: Invalid Content. One of the tags should be the component name.",
+ messageId: "SVC4507"
+ }
+
+ #---------SVC4508------------------------------
+ SERVICE_NAME_CANNOT_BE_CHANGED: {
+ code: 400,
+ message: "Error: Service name cannot be changed once the service is certified.",
+ messageId: "SVC4508"
+ }
+
+ #---------SVC4509------------------------------
+ SERVICE_ICON_CANNOT_BE_CHANGED: {
+ code: 400,
+ message: "Error: Icon cannot be changed once the service is certified.",
+ messageId: "SVC4509"
+ }
+ #---------SVC4510------------------------------
+ # %1 - icon name max length
+ SERVICE_ICON_EXCEEDS_LIMIT: {
+ code: 400,
+ message: "Error: Invalid Content. Icon name exceeds limit of %1 characters.",
+ messageId: "SVC4510"
+ }
+ #---------SVC4511------------------------------
+ DISTRIBUTION_REQUESTED_NOT_FOUND: {
+ code: 404,
+ message: "Error: Requested distribution was not found.",
+ messageId: "SVC4511"
+ }
+ #---------SVC4512------------------------------
+ # %1 - Distribution ID
+ DISTRIBUTION_REQUESTED_FAILED: {
+ code: 403,
+ message: "Error: Requested distribution '%1' failed.",
+ messageId: "SVC4512"
+ }
+ #---------SVC4513------------------------------
+ RESOURCE_CATEGORY_CANNOT_BE_CHANGED: {
+ code: 400,
+ message: "Error: Resource category cannot be changed once the resource is certified.",
+ messageId: "SVC4513"
+ }
+ #---------SVC4514------------------------------
+ RESOURCE_NAME_CANNOT_BE_CHANGED: {
+ code: 400,
+ message: "Error: Resource name cannot be changed once the resource is certified.",
+ messageId: "SVC4514"
+ }
+ #---------SVC4515------------------------------
+ RESOURCE_ICON_CANNOT_BE_CHANGED: {
+ code: 400,
+ message: "Error: Icon cannot be changed once the resource is certified.",
+ messageId: "SVC4515"
+ }
+ #---------SVC4516------------------------------
+ RESOURCE_VENDOR_NAME_CANNOT_BE_CHANGED: {
+ code: 400,
+ message: "Error: Vendor name cannot be changed once the resource is certified.",
+ messageId: "SVC4516"
+ }
+ #---------SVC4517------------------------------
+ RESOURCE_DERIVED_FROM_CANNOT_BE_CHANGED: {
+ code: 400,
+ message: "Error: Derived from resource template cannot be changed once the resource is certified.",
+ messageId: "SVC4517"
+ }
+ #---------SVC4518------------------------------
+ # %1 - max length
+ COMPONENT_SINGLE_TAG_EXCEED_LIMIT: {
+ code: 400,
+ message: "Error: Invalid Content. Single tag exceeds limit of %1 characters.",
+ messageId: "SVC4518"
+ }
+ #---------SVC4519------------------------------
+ INVALID_DEFAULT_VALUE: {
+ code: 400,
+ message: "Error: mismatch in data-type occurred for property %1. data type is %2 and default value found is %3.",
+ messageId: "SVC4519"
+ }
+ #---------SVC4520------------------------------
+ # %1 - service or resource
+ ADDITIONAL_INFORMATION_MAX_NUMBER_REACHED: {
+ code: 409,
+ message: "Error: Maximal number of additional %1 parameters was reached.",
+ messageId: "SVC4520"
+ }
+ #---------SVC4521------------------------------
+ ADDITIONAL_INFORMATION_EMPTY_STRING_NOT_ALLOWED: {
+ code: 400,
+ message: "Error: Invalid Content. The Additional information label and value cannot be empty.",
+ messageId: "SVC4521"
+ }
+ #---------SVC4522------------------------------
+ # %1 - label/value
+ # %2 - Maximal length of %1
+ ADDITIONAL_INFORMATION_EXCEEDS_LIMIT: {
+ code: 400,
+ message: "Error: Invalid Content. Additional information %1 exceeds limit of %2 characters.",
+ messageId: "SVC4522"
+ }
+ #---------SVC4523------------------------------
+ ADDITIONAL_INFORMATION_KEY_NOT_ALLOWED_CHARACTERS: {
+ code: 400,
+ message: 'Error: Invalid Content. Additional information label is not allowed to contain characters like <>:"\/|?* and space characters other than regular space.',
+ messageId: "SVC4523"
+ }
+ #---------SVC4524------------------------------
+ ADDITIONAL_INFORMATION_NOT_FOUND: {
+ code: 409,
+ message: "Error: Requested additional information was not found.",
+ messageId: "SVC4524"
+ }
+ #---------SVC4525------------------------------
+ ADDITIONAL_INFORMATION_VALUE_NOT_ALLOWED_CHARACTERS: {
+ code: 400,
+ message: 'Error: Invalid Content. Additional information contains non-english characters.',
+ messageId: "SVC4525"
+ }
+ #---------SVC4526------------------------------
+ RESOURCE_INSTANCE_NOT_FOUND: {
+ code: 404,
+ message: "Error: Requested '%1' resource instance was not found.",
+ messageId: "SVC4526"
+ }
+ #---------SVC4527------------------------------
+ ASDC_VERSION_NOT_FOUND: {
+ code: 500,
+ message: 'Error: ASDC version cannot be displayed.',
+ messageId: "SVC4527"
+ }
+ #---------SVC4528------------------------------
+ # %1-artifact url/artifact label/artifact description/VNF Service Indicator
+ MISSING_DATA: {
+ code: 400,
+ message: "Error: Invalid content. Missing %1.",
+ messageId: "SVC4528"
+ }
+ #---------SVC4529------------------------------
+ # %1-artifact url/artifact label/artifact description/artifact name
+ # %2 - Maximal length of %1
+ EXCEEDS_LIMIT: {
+ code: 400,
+ message: "Error: Invalid Content. %1 exceeds limit of %2 characters.",
+ messageId: "SVC4529"
+ }
+ #---------SVC4530------------------------------
+ ARTIFACT_INVALID_TIMEOUT: {
+ code: 400,
+ message: "Error: Invalid Content. Artifact Timeout should be set to valid positive non-zero number of minutes.",
+ messageId: "SVC4530"
+ }
+ #---------SVC4531------------------------------
+ SERVICE_IS_VNF_CANNOT_BE_CHANGED: {
+ code: 400,
+ message: "Error: VNF Indicator cannot be updated for certified service.",
+ messageId: "SVC4531"
+ }
+ #---------SVC4532------------------------------
+ RESOURCE_INSTANCE_NOT_FOUND_ON_SERVICE: {
+ code: 404,
+ message: "Error: Requested '%1' resource instance was not found on the service '%2.",
+ messageId: "SVC4532"
+ }
+ #---------SVC4533------------------------------
+ # %1 - "HEAT"/"HEAT_ENV"/"MURANO_PKG"/"YANG_XML"
+ WRONG_ARTIFACT_FILE_EXTENSION: {
+ code: 400,
+ message: "Error: Invalid file extension for %1 artifact type.",
+ messageId: "SVC4533"
+ }
+
+ #---------SVC4534------------------------------
+ # %1 - "HEAT"/"HEAT_ENV"
+ INVALID_YAML: {
+ code: 400,
+ message: "Error: Uploaded YAML file for %1 artifact is invalid.",
+ messageId: "SVC4534"
+ }
+
+ #---------SVC4535------------------------------
+ # %1 - "HEAT"
+ INVALID_DEPLOYMENT_ARTIFACT_HEAT: {
+ code: 400,
+ message: "Error: Invalid %1 artifact.",
+ messageId: "SVC4535"
+ }
+ #---------SVC4536------------------------------
+ # %1 - "Resource"/"Service"
+ # %2 - resource/service name
+ # %3 - "HEAT"/"HEAT_ENV"/"MURANO_PKG"
+ # %4 - "HEAT"/"HEAT_ENV"/"MURANO_PKG
+ DEPLOYMENT_ARTIFACT_OF_TYPE_ALREADY_EXISTS: {
+ code: 400,
+ message: "Error: %1 '%2' already has a deployment artifact of %3 type .Please delete or update an existing %4 artifact.",
+ messageId: "SVC4536"
+ }
+
+ #---------SVC4537------------------------------
+ MISSING_HEAT: {
+ code: 400,
+ message: "Error: Missing HEAT artifact. HEAT_ENV artifact cannot be uploaded without corresponding HEAT template.",
+ messageId: "SVC4537"
+ }
+ #---------SVC4538------------------------------
+ MISMATCH_HEAT_VS_HEAT_ENV: {
+ code: 400,
+ message: "Error: Invalid artifact content. Parameter's set in HEAT_ENV '%1' artifact doesn't match the parameters in HEAT '%2' artifact.",
+ messageId: "SVC4538"
+ }
+ #---------SVC4539------------------------------
+ INVALID_RESOURCE_PAYLOAD: {
+ code: 400,
+ message: "Error: Invalid resource payload.",
+ messageId: "SVC4539"
+ }
+ #---------SVC4540------------------------------
+ INVALID_TOSCA_FILE_EXTENSION: {
+ code: 400,
+ message: "Error: Invalid file extension for TOSCA template.",
+ messageId: "SVC4540"
+ }
+ #---------SVC4541------------------------------
+ INVALID_YAML_FILE: {
+ code: 400,
+ message: "Error: Invalid YAML file.",
+ messageId: "SVC4541"
+ }
+ #---------SVC4542------------------------------
+ INVALID_TOSCA_TEMPLATE: {
+ code: 400,
+ message: "Error: Invalid TOSCA template.",
+ messageId: "SVC4542"
+ }
+ #---------SVC4543------------------------------
+ NOT_RESOURCE_TOSCA_TEMPLATE: {
+ code: 400,
+ message: "Error: Imported Service TOSCA template.",
+ messageId: "SVC4543"
+ }
+ #---------SVC4544------------------------------
+ NOT_SINGLE_RESOURCE: {
+ code: 400,
+ message: "Error: Imported TOSCA template should contain one resource definition.",
+ messageId: "SVC4544"
+ }
+ #---------SVC4545------------------------------
+ INVALID_RESOURCE_NAMESPACE: {
+ code: 400,
+ message: "Error: Invalid resource namespace.",
+ messageId: "SVC4545"
+ }
+ #---------SVC4546------------------------------
+ RESOURCE_ALREADY_EXISTS: {
+ code: 400,
+ message: "Error: Imported resource already exists in ASDC Catalog.",
+ messageId: "SVC4546"
+ }
+ #---------SVC4549------------------------------
+ INVALID_RESOURCE_CHECKSUM: {
+ code: 400,
+ message: "Error: Invalid resource checksum.",
+ messageId: "SVC4549"
+ }
+ #---------SVC4551------------------------------
+ # %1  -  ECOMP User name
+ ECOMP_USER_NOT_FOUND: {
+ code: 404,
+ message: "Error: ECOMP User '%1' was not found.",
+ messageId: "SVC4551"
+ }
+ #---------SVC4554------------------------------
+ # %1 - Artifact Id
+ # %2 - "Resource"/"Service"
+ COMPONENT_ARTIFACT_NOT_FOUND: {
+ code: 404,
+ message: "Error: Requested artifact %1 doesn't belong to specified %2.",
+ messageId: "SVC4554"
+ }
+ #---------SVC4554------------------------------
+ # %1 - "Service name"
+ SERVICE_DEPLOYMENT_ARTIFACT_NOT_FOUND: {
+ code: 403,
+ message: "Error: Requested '%1' service is not ready for certification. Service has to have at least one deployment artifact.",
+ messageId: "SVC4554"
+ }
+ #---------SVC4555------------------------------
+ # %1 - "Resource"/"Service"/"Product"
+ # %2 - "category"
+ COMPONENT_ELEMENT_INVALID_NAME_LENGTH: {
+ code: 400,
+ message: "Error: Invalid %1 %2 name length.",
+ messageId: "SVC4555"
+ }
+ #---------SVC4556------------------------------
+ # %1 - "Resource"/"Service"/"Product"
+ # %2 - "category"
+ COMPONENT_ELEMENT_INVALID_NAME_FORMAT: {
+ code: 400,
+ message: "Error: Invalid %1 %2 name format.",
+ messageId: "SVC4556"
+ }
+ #---------SVC4557------------------------------
+ # %1 - "Resource"/"Service"/"Product"
+ # %2 - "category name"
+ COMPONENT_CATEGORY_ALREADY_EXISTS: {
+ code: 409,
+ message: "Error: %1 category name '%2' already exists.",
+ messageId: "SVC4557"
+ }
+ #---------SVC4558------------------------------
+ # %1 - "service"/"VF"
+ # %2 - "Resource name"
+ VALIDATED_RESOURCE_NOT_FOUND: {
+ code: 403,
+ message: "Error: Submit for Testing is not permitted as your '%1' includes non-validated '%2' resource.",
+ messageId: "SVC4558"
+ }
+ #---------SVC4559------------------------------
+ # %1 - "service"/"VF"
+ # %2 - "Resource name"
+ FOUND_ALREADY_VALIDATED_RESOURCE: {
+ code: 403,
+ message: "Error: Submit for Testing is not permitted as your '%1' includes non-validated '%2' resource. Please use already available validated resource version.",
+ messageId: "SVC4559"
+ }
+ #---------SVC4560------------------------------
+ # %1 - "service"/"VF"
+ # %2 - "Resource name"
+ FOUND_LIST_VALIDATED_RESOURCES: {
+ code: 403,
+ message: "Error: Submit for Testing is not permitted as your '%1' includes non-validated '%2' resource. Please use one of available validated resource versions.",
+ messageId: "SVC4560"
+ }
+ #---------SVC4561------------------------------
+ # %1 - "resource"/"product"
+ # %2 - "category"
+ # %3 - "category name"
+ COMPONENT_CATEGORY_NOT_FOUND: {
+ code: 404,
+ message: "Error: Requested %1 %2 '%3' was not found.",
+ messageId: "SVC4561"
+ }
+ #---------SVC4562------------------------------
+ # %1 - "Resource"/"Product"
+ # %2 - "sub-category name"
+ # %3 - "category name"
+ COMPONENT_SUB_CATEGORY_EXISTS_FOR_CATEGORY: {
+ code: 409,
+ message: "Error: %1 sub-category '%2' already exists under '%3' category.",
+ messageId: "SVC4562"
+ }
+ #---------SVC4563------------------------------
+ # %1 - "Product"
+ # %2 - "grouping name"
+ # %3 - "sub-category name"
+ COMPONENT_GROUPING_EXISTS_FOR_SUB_CATEGORY: {
+ code: 409,
+ message: "Error: %1 grouping '%2' already exists under '%3' sub-category.",
+ messageId: "SVC4563"
+ }
+ #---------SVC4564------------------------------
+ # %1 - product name
+ PRODUCT_NOT_FOUND: {
+ code: 404,
+ message: "Error: Requested '%1' product was not found.",
+ messageId: "SVC4564"
+ }
+ #---------SVC4565------------------------------
+ # %1 - "HEAT"
+ # %2 - parameter type ("string" , "boolean" , "number")
+ # %3 - parameter name
+ INVALID_HEAT_PARAMETER_VALUE: {
+ code: 400,
+ message: "Error: Invalid %1 artifact. Invalid %2 value set for '%3' parameter.",
+ messageId: "SVC4565"
+ }
+ #---------SVC4566------------------------------
+ # %1 - "HEAT"
+ # %2 - parameter type ("string" , "boolean" , "number")
+ INVALID_HEAT_PARAMETER_TYPE: {
+ code: 400,
+ message: "Error: Invalid %1 artifact. Unsupported '%2' parameter type.",
+ messageId: "SVC4566"
+ }
+ #---------SVC4567------------------------------
+ # %1 - "YANG_XML"
+ INVALID_XML: {
+ code: 400,
+ message: "Error: Uploaded XML file for %1 artifact is invalid.",
+ messageId: "SVC4567"
+ }
+ #---------SVC4569------------------------------
+ # %1 - "User Name and UserId"
+ # %2 -"component names ot IDs"
+ CANNOT_DELETE_USER_WITH_ACTIVE_ELEMENTS: {
+ code: 412,
+ message: "Error: User cannot be deleted. User '%1' has projects that cannot be committed: %2.",
+ messageId: "SVC4569"
+ }
+ #---------SVC4568------------------------------
+ # %1 - "User Name and UserId"
+ # %2 -"checked-out"/"in-certification"
+ CANNOT_UPDATE_USER_WITH_ACTIVE_ELEMENTS: {
+ code: 409,
+ message: "Error: Role cannot be changed. User '%1' has %2 projects.",
+ messageId: "SVC4568"
+ }
+ #---------SVC4570------------------------------
+ UPDATE_USER_ADMIN_CONFLICT: {
+ code: 409,
+ message: "Error: An administrator is not allowed to change his/her role.",
+ messageId: "SVC4570"
+ }
+ #---------SVC4571------------------------------
+ SERVICE_CANNOT_CONTAIN_SUBCATEGORY: {
+ code: 400,
+ message: "Error: Sub category cannot be defined for service",
+ messageId: "SVC4571"
+ }
+ #---------SVC4572------------------------------
+ # %1 - "Resource"/"Service"
+ COMPONENT_TOO_MUCH_CATEGORIES: {
+ code: 400,
+ message: "Error: %1 must have only 1 category",
+ messageId: "SVC4572"
+ }
+ #---------SVC4574------------------------------
+ RESOURCE_TOO_MUCH_SUBCATEGORIES: {
+ code: 400,
+ message: "Error: Resource must have only 1 sub category",
+ messageId: "SVC4574"
+ }
+ #---------SVC4575------------------------------
+ COMPONENT_MISSING_SUBCATEGORY: {
+ code: 400,
+ message: "Error: Missing sub category",
+ messageId: "SVC4575"
+ }
+ #---------SVC4576------------------------------
+ # %1 - "component type"
+ UNSUPPORTED_ERROR: {
+ code: 400,
+ message: "Error : Requested component type %1 is unsupported.",
+ messageId: "SVC4576"
+ }
+ #---------SVC4577------------------------------
+ # %1 - "resource type"
+ RESOURCE_CANNOT_CONTAIN_RESOURCE_INSTANCES: {
+ code: 409,
+ message: "Error : Resource of type %1 cannot contain resource instances.",
+ messageId: "SVC4577"
+ }
+ #---------SVC4578------------------------------
+ # %1 - "Resource"/"Service"
+ # %2 - resource/service name
+ # %3 - "artifact name"
+ DEPLOYMENT_ARTIFACT_NAME_ALREADY_EXISTS: {
+ code: 400,
+ message: "Error: %1 '%2' already has a deployment artifact named '%3'.",
+ messageId: "SVC4578"
+ }
+ #---------SVC4579------------------------------
+ # %1 - "Category"/"Sub-Category"/"Group"
+ # %2 - category/sub-category/grouping name.
+ INVALID_GROUP_ASSOCIATION: {
+ code: 400,
+ message: "Error: Invalid group association. %1 '%2' was not found.",
+ messageId: "SVC4579"
+ }
+ #---------SVC4580------------------------------
+ EMPTY_PRODUCT_CONTACTS_LIST: {
+ code: 400,
+ message: "Error: Invalid content. At least one Product Contact has to be specified.",
+ messageId: "SVC4580"
+ }
+ #---------SVC4581------------------------------
+ # %1 - UserId
+ INVALID_PRODUCT_CONTACT: {
+ code: 400,
+ message: "Error: Invalid content. User '%1' cannot be set as Product Contact.",
+ messageId: "SVC4581"
+ }
+ #---------SVC4582------------------------------
+ # %1 - Product
+ # %2 - "abbreviated"/"full"
+ MISSING_ONE_OF_COMPONENT_NAMES: {
+ code: 400,
+ message: "Error: Invalid content. Missing %1 %2 name.",
+ messageId: "SVC4582"
+ }
+ #---------SVC4583------------------------------
+ # %1 - "Icon"
+ # %2 - "resource"/"service"/"product"
+ COMPONENT_PARAMETER_CANNOT_BE_CHANGED: {
+ code: 400,
+ message: "Error: %1 cannot be changed once the %2 is certified.",
+ messageId: "SVC4583"
+ }
+ #---------SVC4584------------------------------
+ # %1 - service/VF name
+ # %2 - "service" /"VF"
+ # %3 - resource instance origin type
+ # %4 - resource instance name
+ # %5 - requirement/capability
+ # %6 - requirement/capability name
+ # %7 - "fulfilled" (for req)/"consumed (for cap)"
+ REQ_CAP_NOT_SATISFIED_BEFORE_CERTIFICATION: {
+ code: 403,
+ message: "Error: Requested '%1' %2 is not ready for certification. %3 '%4' has to have %5 '%6' %7.",
+ messageId: "SVC4584"
+ }
+ #---------SVC4585------------------------------
+ INVALID_OCCURRENCES: {
+ code: 400,
+ message: "Error: Invalid occurrences format.",
+ messageId: "SVC4585"
+ }
+ #---------SVC4586------------------------------
+ #---------SVC4586------------------------------
+ INVALID_SERVICE_API_URL: {
+ code: 400,
+ message: 'Error: Invalid Service API URL. Please check whether your URL has a valid domain extension and does not contain the following characters - #?&@%+;,=$<>~^`\[]{}|"*!',
+ messageId: "SVC4586"
+ }
+ #---------SVC4587------------------------------
+ # %1 - Data type name
+ DATA_TYPE_ALREADY_EXIST: {
+ code: 409,
+ message: 'Error: Data type %1 already exists.',
+ messageId: "SVC4587"
+ }
+ #---------SVC4588------------------------------
+ # %1 - Data type name
+ DATA_TYPE_NOR_PROPERTIES_NEITHER_DERIVED_FROM: {
+ code: 400,
+ message: 'Error: Invalid Data type %1. Data type must have either a valid derived from declaration or at least one valid property',
+ messageId: "SVC4588"
+ }
+ #---------SVC4589------------------------------
+ # %1 - Data type name
+ DATA_TYPE_PROPERTIES_CANNOT_BE_EMPTY: {
+ code: 400,
+ message: "Error: Invalid Data type %1. 'properties' parameter cannot be empty if provided.",
+ messageId: "SVC4589"
+ }
+ #---------SVC4590------------------------------
+ # %1 - Property type name
+ # %2 - Property name
+ INVALID_PROPERTY_TYPE: {
+ code: 400,
+ message: "Error: Invalid Property type %1 in property %2.",
+ messageId: "SVC4590"
+ }
+ #---------SVC4591------------------------------
+ # %1 - Property inner type
+ # %2 - Property name
+ INVALID_PROPERTY_INNER_TYPE: {
+ code: 400,
+ message: "Error: Invalid property inner type %1, in property %2",
+ messageId: "SVC4591"
+ }
+ #---------SVC4592------------------------------
+ # %1 - component instance name
+ # %2 - "resource instance"/"service instance"
+ COMPONENT_INSTANCE_NOT_FOUND: {
+ code: 404,
+ message: "Error: Requested '%1' %2 was not found.",
+ messageId: "SVC4592"
+ }
+ #---------SVC4593------------------------------
+ # %1 - component instance name
+ # %2 - "resource instance"/"service instance"
+ # %3 - "resource/"service"/"product"
+ # %4 - container name
+ COMPONENT_INSTANCE_NOT_FOUND_ON_CONTAINER: {
+ code: 404,
+ message: "Error: Requested '%1' %2 was not found on the %3 '%4'.",
+ messageId: "SVC4593"
+ }
+ #---------SVC4594------------------------------
+ #%1 - requirement / capability
+ #%2 - requirement name
+ IMPORT_DUPLICATE_REQ_CAP_NAME: {
+ code: 400,
+ message: "Error: Imported TOSCA template contains more than one %1 named '%2'.",
+ messageId: "SVC4594"
+ }
+ #---------SVC4595------------------------------
+ #%1 - requirement / capability
+ #%2 - requirement name
+ #%3 - parent containing the requirement
+ IMPORT_REQ_CAP_NAME_EXISTS_IN_DERIVED: {
+ code: 400,
+ message: "Error: Imported TOSCA template contains %1 '%2' that is already defined by derived template %3.",
+ messageId: "SVC4595"
+ }
+ #---------SVC4596------------------------------
+ # %1 - Data type name
+ DATA_TYPE_DERIVED_IS_MISSING: {
+ code: 400,
+ message: "Error: Invalid Content. The ancestor data type %1 cannot be found in the system.",
+ messageId: "SVC4596"
+ }
+ #---------SVC4597------------------------------
+ # %1 - Data type name
+ # %2 - Property names
+ DATA_TYPE_PROPERTY_ALREADY_DEFINED_IN_ANCESTOR: {
+ code: 400,
+ message: "Error: Invalid Content. The data type %1 contains properties named %2 which are already defined in one of its ancestors.",
+ messageId: "SVC4597"
+ }
+ #---------SVC4598------------------------------
+ # %1 - Data type name
+ DATA_TYPE_DUPLICATE_PROPERTY: {
+ code: 400,
+ message: "Error: Invalid Content. The data type %1 contains duplicate property.",
+ messageId: "SVC4598"
+ }
+ #---------SVC4599------------------------------
+ # %1 - Data type name
+ # %2 - Property names
+ DATA_TYPE_PROEPRTY_CANNOT_HAVE_SAME_TYPE_OF_DATA_TYPE: {
+ code: 400,
+ message: "Error: Invalid Content. The data type %1 contains properties %2 which their type is this data type.",
+ messageId: "SVC4599"
+ }
+ #---------SVC4600------------------------------
+ # %1 - Data type name
+ DATA_TYPE_CANNOT_HAVE_PROPERTIES: {
+ code: 400,
+ message: "Error: Invalid Content. The data type %1 cannot have properties since it is of type scalar",
+ messageId: "SVC4600"
+ }
+ #---------SVC4601------------------------------
+ NOT_TOPOLOGY_TOSCA_TEMPLATE: {
+ code: 400,
+ message: "Error: TOSCA yaml file %1 cannot be modeled to VF as it does not contain 'topology_template.",
+ messageId: "SVC4601"
+ }
+ #---------SVC4602--------------------------------
+ # %1 - yaml file name
+ # %2 - node_template label
+ # %3 - node_template type
+ INVALID_NODE_TEMPLATE: {
+ code: 400,
+ message: "Error: TOSCA yaml file '%1' contains node_template '%2' of type '%3' that does not represent existing VFC/CP/VL",
+ messageId: "SVC4602"
+ }
+ #---------SVC4603------------------------------
+ # %1 - component type
+ # %2 - component name
+ # %3 - state
+ ILLEGAL_COMPONENT_STATE: {
+ code: 403,
+ message: "Error: Action is not allowed on %1 '%2' because it is in an illegal state %3.",
+ messageId: "SVC4603"
+ }
+ #---------SVC4604------------------------------
+ # %1 - csar file name
+ CSAR_INVALID: {
+ code: 400,
+ message: "Error: TOSCA CSAR '%1' is invalid. 'TOSCA-Metadata/Tosca.meta' file must be provided.",
+ messageId: "SVC4604"
+ }
+ #---------SVC4605------------------------------
+ # %1 - csar file name
+ CSAR_INVALID_FORMAT: {
+ code: 400,
+ message: "Error: TOSCA CSAR '%1' is invalid. Invalid 'TOSCA-Metadata/Tosca.meta' file format.",
+ messageId: "SVC4605"
+ }
+ #---------SVC4606------------------------------
+ # %1 - property name
+ # %2 - property type
+ # %3 - property innerType
+ # %4 - default value is
+ INVALID_COMPLEX_DEFAULT_VALUE: {
+ code: 400,
+ message: "Error: Invalid default value of property %1. Data type is %2 with inner type %3 and default value found is %4.",
+ messageId: "SVC4606"
+ }
+ #---------SVC4607------------------------------
+ # %1 - csar file name
+ CSAR_NOT_FOUND: {
+ code: 400,
+ message: "Error: TOSCA CSAR '%1' is not found.",
+ messageId: "SVC4607"
+ }
+ #---------SVC4608------------------------------
+ # %1 - artifact name
+ # %2 - component type
+ # %3 - actual component type
+ MISMATCH_BETWEEN_ARTIFACT_TYPE_AND_COMPONENT_TYPE: {
+ code: 400,
+ message: "Error: Artifact %1 is only compatible with component of type %2, but component type is %3.",
+ messageId: "SVC4608"
+ }
+
+ #---------SVC4609------------------------------
+ # %1 - "INVALID_JSON"
+ INVALID_JSON: {
+ code: 400,
+ message: "Error: Uploaded JSON file for %1 artifact is invalid.",
+ messageId: "SVC4609"
+ }
+ #---------SVC4610------------------------------
+ # %1 - csar file name
+ # %2 - missing file name
+ YAML_NOT_FOUND_IN_CSAR: {
+ code: 400,
+ message: "Error - TOSCA CSAR %1 is invalid. TOSCA-Metadata/Tosca.meta refers to file %2 that is not provided.",
+ messageId: "SVC4610"
+ }
+ #---------SVC4611------------------------------
+ # %1 - group name
+ GROUP_MEMBER_EMPTY: {
+ code: 400,
+ message: "Error: Invalid Content. Group %1 member list was provided but does not have values",
+ messageId: "SVC4611"
+ }
+ #---------SVC4612------------------------------
+ # %1 - group name
+ GROUP_TYPE_ALREADY_EXIST: {
+ code: 409,
+ message: 'Error: Group type %1 already exists.',
+ messageId: "SVC4612"
+ }
+ #---------SVC4613------------------------------
+ # %1 - group name
+ # %2 - VF name(component name)
+ # %3 - actual component type [VF]
+ GROUP_ALREADY_EXIST: {
+ code: 409,
+ message: "Error: Group with name '%1' already exists in %2 %3.",
+ messageId: "SVC4613"
+ }
+ #---------SVC4614------------------------------
+ # %1 - group type
+ GROUP_TYPE_IS_INVALID: {
+ code: 400,
+ message: "Error: Invalid content. Group type %1 does not exist",
+ messageId: "SVC4614"
+ }
+ #---------SVC4615------------------------------
+ # %1 - group name
+ GROUP_MISSING_GROUP_TYPE: {
+ code: 400,
+ message: "Error: Invalid Content. Missing Group Type for group '%1'",
+ messageId: "SVC4615"
+ }
+ #---------SVC4616------------------------------
+ # %1 - member name
+ # %2 - group name
+ # %3 - VF name
+ # %4 - component type [VF ]
+ GROUP_INVALID_COMPONENT_INSTANCE: {
+ code: 400,
+ message: "Error: Member '%1' listed in group '%2' is not part of '%3' %4.",
+ messageId: "SVC4616"
+ }
+ #---------SVC4617------------------------------
+ # %1 - member name
+ # %2 - group name
+ # %3 - group type
+ GROUP_INVALID_TOSCA_NAME_OF_COMPONENT_INSTANCE: {
+ code: 400,
+ message: "Error: member %1 listed in group %2 is not part of allowed members of group type %3.",
+ messageId: "SVC4617"
+ }
+ #---------SVC4618------------------------------
+ # %1 - missing file name
+ # %2 - csar file name
+ ARTIFACT_NOT_FOUND_IN_CSAR: {
+ code: 400,
+ message: "Error: artifact %1 is defined in CSAR %2 manifest but is not provided",
+ messageId: "SVC4618"
+ }
+#---------SVC4619------------------------------
+# %1 - artifact name
+# %2 - artifact type
+# %3 - existing artifact type
+ ARTIFACT_ALREADY_EXIST_IN_DIFFERENT_TYPE_IN_CSAR: {
+ code: 400,
+ message: "Error: artifact %1 in type %2 already exists in type %3.",
+ messageId: "SVC4619"
+ }
+ #---------SVC4620------------------------------
+ FAILED_RETRIVE_ARTIFACTS_TYPES: {
+ code: 400,
+ message: "Error: Failed to retrieve list of suported artifact types.",
+ messageId: "SVC4620"
+ }
+ #---------SVC4621------------------------------
+ # %1 - artifact name
+ # %2 - master
+ ARTIFACT_ALRADY_EXIST_IN_MASTER_IN_CSAR: {
+ code: 400,
+ message: "Error: artifact %1 already exists in master %2 .",
+ messageId: "SVC4621"
+ }
+ #---------SVC4622------------------------------
+ # %1 - artifact name
+ # %2 - artifact type
+ # %3 - master name
+ # %4 - master type
+ ARTIFACT_NOT_VALID_IN_MASTER: {
+ code: 400,
+ message: "Error: artifact %1 in type %2 can not be exists under master %3 in type %4.",
+ messageId: "SVC4622"
+ }
+ #---------SVC4623------------------------------
+ # %1 - artifact name
+ # %2 - artifact type
+ # %3 - env name
+ # %4 - existing env
+ ARTIFACT_NOT_VALID_ENV: {
+ code: 400,
+ message: "Error: Artifact %1 in type %2 with env %3 already exists with another env %4",
+ messageId: "SVC4623"
+ }
+ #---------SVC4624------------------------------
+ # %1 - groups names
+ # %2 - VF name
+ # %3 - component type [VF ]
+ GROUP_IS_MISSING: {
+ code: 400,
+ message: "Error: Invalid Content. The groups '%1' cannot be found under %2 %3.",
+ messageId: "SVC4624"
+ }
+ #---------SVC4625------------------------------
+ # %1 - groups name
+ GROUP_ARTIFACT_ALREADY_ASSOCIATED: {
+ code: 400,
+ message: "Error: Invalid Content. Artifact already associated to group '%1'.",
+ messageId: "SVC4625"
+ }
+ #---------SVC4626------------------------------
+ # %1 - groups name
+ GROUP_ARTIFACT_ALREADY_DISSOCIATED: {
+ code: 400,
+ message: "Error: Invalid Content. Artifact already dissociated from group '%1'.",
+ messageId: "SVC4626"
+ }
+ #---------SVC4627------------------------------
+ # %1 - property name
+ # %2 - group name
+ # %3 - group type name
+ GROUP_PROPERTY_NOT_FOUND: {
+ code: 400,
+ message: "Error: property %1 listed in group %2 is not exist in group type %3.",
+ messageId: "SVC4627"
+ }
+ #---------SVC4628------------------------------
+ # %1 - csarUUID
+ # %2 - VF name
+ VSP_ALREADY_EXISTS: {
+ code: 400,
+ message: "Error: The VSP with UUID %1 was already imported for VF %2. Please select another or update the existing VF.",
+ messageId: "SVC4628"
+ }
+ #---------SVC4629------------------------------
+ # %1 - VF name
+ MISSING_CSAR_UUID: {
+ code: 400,
+ message: "Error: The Csar UUID or payload name is missing for VF %1.",
+ messageId: "SVC4629"
+ }
+ #---------SVC4630------------------------------
+ # %1 - VF name
+ # %2 - new csarUUID
+ # %3 - old csarUUID
+ RESOURCE_LINKED_TO_DIFFERENT_VSP: {
+ code: 400,
+ message: "Error: Resource %1 cannot be updated using CsarUUID %2 since the resource is linked to a different VSP with csarUUID %3.",
+ messageId: "SVC4630"
+ }
+ #---------SVC4631------------------------------
+ # %1 - policy name
+ POLICY_TYPE_ALREADY_EXIST: {
+ code: 409,
+ message: "Error: Policy type %1 already exists.",
+ messageId: "SVC4631"
+ }
+ #---------SVC4632------------------------------
+ # %1 - target name
+ # %2 - policy type name
+ TARGETS_NON_VALID: {
+ code: 400,
+ message: "Error: target %1 listed in policy type %2 is not a group or resource.",
+ messageId: "SVC4632"
+ }
+ #---------SVC4633------------------------------
+ # %1 - policy name
+ TARGETS_EMPTY: {
+ code: 400,
+ message: "Error: Invalid Content. Policy %1 target list was provided but does not have values",
+ messageId: "SVC4633"
+ }
+ #---------SVC4634------------------------------
+ DATA_TYPE_CANNOT_BE_EMPTY: {
+ code: 500,
+ message: "Error: Data types are empty. Please import the data types.",
+ messageId: "SVC4634"
+ }
+ #---------SVC4635------------------------------
+ # %1 - csar uuid
+ RESOURCE_FROM_CSAR_NOT_FOUND: {
+ code: 400,
+ message: "Error: resource from csar uuid %1 not found",
+ messageId: "SVC4635"
+ }
+ #---------SVC4636------------------------------
+ # %1 - Data type name
+ DATA_TYPE_CANNOT_BE_UPDATED_BAD_REQUEST: {
+ code: 400,
+ message: 'Error: Data type %1 cannot be upgraded. The new data type does not contain old properties or the type of one of the properties has been changed.',
+ messageId: "SVC4636"
+ }
+ #-----------SVC4637---------------------------
+ #%1 - attribute name
+ ATTRIBUTE_NOT_FOUND: {
+ code: 404,
+ message: "Error: Requested '%1' attribute was not found.",
+ messageId: "SVC4637"
+ }
+ #-----------SVC4638---------------------------
+ #%1 - attribute name
+ ATTRIBUTE_ALREADY_EXIST: {
+ code: 409,
+ message: "Error: Attribute with '%1' name already exists.",
+ messageId: "SVC4638"
+ }
+ #-----------SVC4639---------------------------
+ #%1 - property name
+ PROPERTY_NAME_ALREADY_EXISTS: {
+ code: 409,
+ message: "Error: Property with '%1' name and different type already exists.",
+ messageId: "SVC4639"
+ }
+ #-----------SVC4640---------------------------
+ #%1 - property name
+ INVALID_PROPERTY: {
+ code: 409,
+ message: "Error: Invalid property received.",
+ messageId: "SVC4640"
+ }
+ #---------SVC4641-----------------------------
+ #%1 - invalid filter
+ #%2 - valid filters
+ INVALID_FILTER_KEY: {
+ code: 400,
+ message: "Error: The filter %1 is not applicable. Please use one of the following filters: %2",
+ messageId: "SVC4641"
+ }
+ #---------SVC4642-----------------------------
+ #%1 - asset type
+ #%2 - filter
+ NO_ASSETS_FOUND: {
+ code: 404,
+ message: "No %1 were found to match criteria %2",
+ messageId: "SVC4642"
+ }
+ #---------SVC4643------------------------------
+ # %1 - "Resource"/"Product"
+ # %2 - "sub-category name"
+ # %3 - "category name"
+ COMPONENT_SUB_CATEGORY_NOT_FOUND_FOR_CATEGORY: {
+ code: 404,
+ message: "Error: %1 sub-category '%2' not found under category '%3'.",
+ messageId: "SVC4643"
+ }
+ #---------SVC4644------------------------------
+ # %1 - Format
+ CORRUPTED_FORMAT: {
+ code: 400,
+ message: "Error: %1 format is corrupted.",
+ messageId: "SVC4644"
+ }
+ #---------SVC4645------------------------------
+ # %1 - "groupType"
+ INVALID_VF_MODULE_TYPE: {
+ code: 400,
+ message: "Error: Invalid group type '%1' (should be VfModule).",
+ messageId: "SVC4645"
+ }
+ #---------SVC4646------------------------------
+ # %1 - "groupName"
+ INVALID_VF_MODULE_NAME: {
+ code: 400,
+ message: "Error: Invalid Content. Group name '%1' contains invalid characters",
+ messageId: "SVC4646"
+ }
+
+ #---------SVC4647------------------------------
+ # %1 - "modifiedName"
+ INVALID_VF_MODULE_NAME_MODIFICATION: {
+ code: 400,
+ message: "Error: Invalid VF Module name modification, can not modify '%1'",
+ messageId: "SVC4647"
+ }
+ #---------SVC4648------------------------------
+ # %1 - "inputId"
+ # %2 - "componentId"
+ INPUT_IS_NOT_CHILD_OF_COMPONENT: {
+ code: 400,
+ message: "Error: Input id: '%1' is not child of component id: '%2'",
+ messageId: "SVC4648"
+ }
+ #---------SVC4649------------------------------
+ # %1 - "groupName"
+ GROUP_HAS_CYCLIC_DEPENDENCY: {
+ code: 400,
+ message: "Error: The group '%1' has cyclic dependency",
+ messageId: "SVC4649"
+ }
+ #---------SVC4650------------------------------
+ # %1 - "Component Type"
+ # %2 - <ServiceName>
+ # %3 - error description
+ AAI_ARTIFACT_GENERATION_FAILED: {
+ code: 500,
+ message: "Error: %1 %2 automatic generation of artifacts failed. Description: %3",
+ messageId: "SVC4650"
+ }
+ #---------SVC4651------------------------------
+ PARENT_RESOURCE_DOES_NOT_EXTEND: {
+ code: 400,
+ message: "Error: Once resource is certified, derived_from can be changed only to a sibling",
+ messageId: "SVC4651"
+ }
+ #---------SVC4652------------------------------
+ # %1 - resource/service
+ COMPONENT_INVALID_SUBCATEGORY: {
+ code: 400,
+ message: "Error: Invalid Content. Invalid %1 sub category.",
+ messageId: "SVC4652"
+ }
+ #---------SVC4653------------------------------
+ # %1 - group instance uniqueId
+ # %2 - service uniqueId
+ GROUP_INSTANCE_NOT_FOUND_ON_COMPONENT_INSTANCE: {
+ code: 404,
+ message: "Error: Requested group instance %1 was not found on component %2.",
+ messageId: "SVC4653"
+ }
+ #---------SVC4654------------------------------
+ # %1 - group property name
+ # %2 - valid min limit value
+ # %3 - valid max limit value
+ INVALID_GROUP_MIN_MAX_INSTANCES_PROPERTY_VALUE: {
+ code: 400,
+ message: "Error: Value of %1 must be not higher than %2, and not lower than %3.",
+ messageId: "SVC4654"
+ }
+ #---------SVC4655------------------------------
+ # %1 - group property name
+ # %2 - valid min limit value
+ # %3 - valid max limit value
+ INVALID_GROUP_INITIAL_COUNT_PROPERTY_VALUE: {
+ code: 400,
+ message: "Error: Value of %1 must be between %2 and %3.",
+ messageId: "SVC4655"
+ }
+ #---------SVC4656------------------------------
+ # %1 - group property name
+ # %2 - lower/higher
+ # %3 - valid max/min value
+ INVALID_GROUP_PROPERTY_VALUE_LOWER_HIGHER: {
+ code: 400,
+ message: "Error: Value of %1 must be %2 or equals to %3.",
+ messageId: "SVC4656"
+ }
+ #---------SVC4657------------------------------
+ # %1 - certificationRequest / startTesting
+ RESOURCE_VFCMT_LIFECYCLE_STATE_NOT_VALID: {
+ code: 400,
+ message: "Error - Lifecycle state %1 is not valid for resource of type VFCMT",
+ messageId: "SVC4657"
+ }
+ #---------SVC4658------------------------------
+ # %1 – asset type [service / resource ]
+ # %2 – main asset uuid
+ # %3 – not found asset type [service / resource]
+ # %4 – not found asset name
+ ASSET_NOT_FOUND_DURING_CSAR_CREATION: {
+ code: 400,
+ message: "Error: CSAR packaging failed for %1 %2. %3 %4 was not found",
+ messageId: "SVC4658"
+ }
+ #---------SVC4659------------------------------
+ # %1 – asset type [service / resource ]
+ # %2 – main asset uuid
+ # %3 – Artifact name
+ # %4 – Artifact uuid
+ ARTIFACT_PAYLOAD_NOT_FOUND_DURING_CSAR_CREATION: {
+ code: 400,
+ message: "Error: CSAR packaging failed for %1 %2. Artifact %3 [%4] was not found",
+ messageId: "SVC4659"
+ }
+ #---------SVC4660------------------------------
+ # %1 - assetType
+ # %2 - matching generic node type name
+ GENERIC_TYPE_NOT_FOUND: {
+ code: 404,
+ message: "Creation of %1 failed. Generic type %2 was not found",
+ messageId: "SVC4660"
+ }
+ #---------SVC4661------------------------------
+ # %1 - assetType
+ # %2 - matching generic node type name
+ TOSCA_SCHEMA_FILES_NOT_FOUND: {
+ code: 400,
+ message: "Error: CSAR packaging failed. TOSCA schema files for SDC-Version: %1 and Conformance-Level %2 were not found",
+ messageId: "SVC4661"
+ }
+ #---------SVC4662------------------------------
+ # %1 - file name
+ # %2 - parser error
+ TOSCA_PARSE_ERROR: {
+ code: 400,
+ message: "Error: Invalid TOSCA template in file %1. %2",
+ messageId: "SVC4662"
+ }
+ #---------SVC4663------------------------------
+ # %1 - max length
+ RESOURCE_VENDOR_MODEL_NUMBER_EXCEEDS_LIMIT: {
+ code: 400,
+ message: "Error: Invalid Content. Resource vendor model number exceeds limit of %1 characters.",
+ messageId: "SVC4663"
+ }
+ #---------SVC4664------------------------------
+ INVALID_RESOURCE_VENDOR_MODEL_NUMBER: {
+ code: 400,
+ message: 'Error: Invalid Content. Resource vendor model number is not allowed to contain characters like <>:"\/|?* and space characters other than regular space.',
+ messageId: "SVC4664"
+ }
+
+ #---------SVC4669-----------------------------
+ INVALID_RESOURCE_TYPE: {
+ code: 400,
+ message: "Error: Invalid resource type.",
+ messageId: "SVC4669"
+ }
+ #---------SVC4670------------------------------
+ ARTIFACT_NAME_INVALID: {
+ code: 400,
+ message: "Error: Artifact name is invalid.",
+ messageId: "SVC4670"
+ }
+ #---------SVC4671------------------------------
+ # %1 - VSP name
+ # %2 - VFC name
+ CFVC_LOOP_DETECTED: {
+ code: 400,
+ message: 'Error: VSP %1 cannot be imported. The VSP contains internal loop in VFC %2',
+ messageId: "SVC4671"
+ }
+ #---------SVC4672------------------------------
+ # %1 - capability uniqueId
+ # %2 - instance uniqueId
+ # %3 - container uniqueId
+ CAPABILITY_OF_INSTANCE_NOT_FOUND_ON_CONTAINER: {
+ code: 404,
+ message: "Error: Requested capability %1 of instance %2 was not found on the container %3.",
+ messageId: "SVC4672"
+ }
+ #---------SVC4673------------------------------
+ # %1 - requirement uniqueId
+ # %2 - instance uniqueId
+ # %3 - container uniqueId
+ REQUIREMENT_OF_INSTANCE_NOT_FOUND_ON_CONTAINER: {
+ code: 404,
+ message: "Error: Requested requirement %1 of instance %2 was not found on the container %3.",
+ messageId: "SVC4673"
+ }
+ #---------SVC4674-----------------------------
+ # %1 - relation Id
+ # %2 - container uniqueId
+ RELATION_NOT_FOUND: {
+ code: 404,
+ message: "Error: Requested relation %1 was not found on the container %2.",
+ messageId: "SVC4674"
+ }
+
+
+ #---------SVC4675------------------------------
+ INVALID_SERVICE_STATE: {
+ code: 409,
+ message: "Service state is invalid for this action",
+ messageId: "SVC4675"
+ }
+
+ #---------SVC4676------------------------------
+ INVALID_RESPONSE_FROM_PROXY: {
+ code: 502,
+ message: "Error: The server was acting as a gateway or proxy and received an invalid response from the upstream server",
+ messageId: "SVC4676"
+ }
+
+ #---------SVC4677------------------------------
+ API_RESOURCE_NOT_FOUND: {
+ code: 404,
+ message: "Error: Requested '%1' was not found.",
+ messageId: "SVC4677"
+ }
+
+ #---------SVC4678------------------------------
+ BAD_REQUEST_MISSING_RESOURCE: {
+ code: 400,
+ message: "Error: The required resource name/id is missing in the request",
+ messageId: "SVC4678"
+ }
+ #---------SVC4679------------------------------
+ # %1 forwarding path name maximum length
+ FORWARDING_PATH_NAME_MAXIMUM_LENGTH: {
+ code: 400,
+ message: "Forwarding path name too long, , maximum allowed 200 characters : '%1'.",
+ messageId: "SVC4679"
+ }
+ #---------SVC4680------------------------------
+ # %1 Forwarding path name already in use
+ FORWARDING_PATH_NAME_ALREADY_IN_USE: {
+ code: 400,
+ message: "Forwarding path name already in use : '%1'.",
+ messageId: "SVC4680"
+ }
+ #---------SVC4681------------------------------
+ # %1 Forwarding path name empty
+ FORWARDING_PATH_NAME_EMPTY: {
+ code: 400,
+ message: "Forwarding Path Name can't be empty .",
+ messageId: "SVC4681"
+ }
+ #---------SVC4682------------------------------
+ # %1 - resource uniqueId
+ # %2 - resource component type
+ RESOURCE_CANNOT_CONTAIN_POLICIES: {
+ code: 400,
+ message: "Error: The resource %1 type of %2 cannot contain policies.",
+ messageId: "SVC4682"
+ }
+ #---------SVC4683------------------------------
+ # %1 - policy uniqueId
+ # %2 - component uniqueId
+ POLICY_NOT_FOUND_ON_CONTAINER: {
+ code: 404,
+ message: "Error: Requested policy %1 was not found on the container %2.",
+ messageId: "SVC4683"
+ }
+ #---------SVC4684------------------------------
+ # %1 - policy name
+ INVALID_POLICY_NAME: {
+ code: 400,
+ message: "Error: Invalid policy name %1 received.",
+ messageId: "SVC4684"
+ }
+ #---------SVC4801------------------------------
+ # %1 - policy type
+ POLICY_TYPE_IS_INVALID: {
+ code: 400,
+ message: "Error: Invalid content. Policy type %1 does not exist",
+ messageId: "SVC4801"
+ }
+
+ #---------SVC4802------------------------------
+ # %1 - policy name
+ POLICY_MISSING_POLICY_TYPE: {
+ code: 400,
+ message: "Error: Invalid content. Type name is not defined for policy %1",
+ messageId: "SVC4802"
+ }
+
+ #---------SVC4685------------------------------
+ # %1 - policy name
+ POLICY_NAME_ALREADY_EXIST: {
+ code: 409,
+ message: "Error: The policy with the name %1 already exists.",
+ messageId: "SVC4685"
+ }
+ #---------SVC4686------------------------------
+ # %1 - policy name
+ POLICY_TARGET_DOES_NOT_EXIST: {
+ code: 400,
+ message: "Error: The targets %1 are not valid, all targets have to be on the topologyTemplate.",
+ messageId: "SVC4686"
+ }
+ #---------SVC4687------------------------------
+ # %1 - policy type
+ # %2 - component type
+ EXCLUDED_POLICY_TYPE: {
+ code: 400,
+ message: "Error: The policy of the type %1 excluded to add to a component of the type %2.",
+ messageId: "SVC4687"
+ }
+ #---------SVC4688------------------------------
+ # %1 - group type
+ # %2 - component type
+ GROUP_TYPE_ILLEGAL_PER_COMPONENT: {
+ code: 400,
+ message: "Error: group type %1 not permitted in component of type %2",
+ messageId: "SVC4688"
+ }
+ #---------SVC4689------------------------------
+ # %1 - group type
+ # %2 - component type
+ POLICY_TARGET_TYPE_DOES_NOT_EXIST: {
+ code: 400,
+ message: "Error: The target types %1 are not valid.",
+ messageId: "SVC4689"
+ }
+
+ #---------SVC4690------------------------------
+ # %1 forwarding path protocol maximum length
+ FORWARDING_PATH_PROTOCOL_MAXIMUM_LENGTH: {
+ code: 400,
+ message: "Forwarding path protocol too long, , maximum allowed 200 characters : '%1'.",
+ messageId: "SVC4690"
+ }
+
+ #---------SVC4691------------------------------
+ # %1 forwarding path destination port maximum length
+ FORWARDING_PATH_DESTINATION_PORT_MAXIMUM_LENGTH: {
+ code: 400,
+ message: "Forwarding path destination port too long, , maximum allowed 200 characters : '%1'.",
+ messageId: "SVC4691"
+ }
+
+ #---------POL4692------------------------------
+ MISSING_OLD_COMPONENT_INSTANCE: {
+ code: 400 ,
+ message: "Error: Missing 'componentInstanceId' HTTP param.",
+ messageId: "POL4692"
+ }
+
+ #---------POL4693------------------------------
+ MISSING_NEW_COMPONENT_INSTANCE: {
+ code: 400 ,
+ message: "Error: Missing 'newComponentInstanceId' HTTP param.",
+ messageId: "POL4693"
+ }
+
+ #---------SVC4694------------------------------
+ # %1 External Reference Value
+ EXT_REF_NOT_FOUND: {
+ code: 404,
+ message: "Error: External Reference '%1' was not found.",
+ messageId: "SVC4694"
+ }
+ #---------SVC4695-----------------------------
+ # %1 - Interface Operation Name
+ INTERFACE_OPERATION_NAME_ALREADY_IN_USE: {
+ code: 409,
+ message: "Error: Interface Operation name '%1' already in use, Your current changes will not be saved.",
+ messageId: "SVC4695"
+ }
+ #---------SVC4696-----------------------------
+ # %1 - Interface Operation Name
+ INTERFACE_OPERATION_NAME_INVALID: {
+ code: 400,
+ message: "Error: Interface Operation name '%1' is Invalid, Operation name should not contain special character, space and should not be greater than 200 characters.",
+ messageId: "SVC4696"
+ }
+ #---------SVC4697-----------------------------
+ INTERFACE_OPERATION_NAME_MANDATORY: {
+ code: 400,
+ message: "Error: Interface Operation name is mandatory, Operation name can't be empty.",
+ messageId: "SVC4697"
+ }
+#---------SVC4698-----------------------------
+# %1 - Interface type
+ INTERFACE_OPERATION_INVALID_FOR_LOCAL_TYPE: {
+ code: 400,
+ message: "Error: Invalid input, only one operation is allowed in local interface type '%1'.",
+ messageId: "SVC4698"
+ }
+ #---------SVC4699-----------------------------
+ # %1 - Interface Operation input parameter name
+ INTERFACE_OPERATION_INPUT_NAME_ALREADY_IN_USE: {
+ code: 400,
+ message: "Error: Interface Operation input parameter name '%1' already in use, Your current changes will not be saved.",
+ messageId: "SVC4699"
+ }
+ #---------SVC4700-----------------------------
+ INTERFACE_OPERATION_INPUT_NAME_MANDATORY: {
+ code: 400,
+ message: "Error: Interface operation input parameter name should not be empty.",
+ messageId: "SVC4700"
+ }
+#---------SVC4701-----------------------------
+# %1 - component Id
+ INTERFACE_OPERATION_NOT_FOUND: {
+ code: 404,
+ message: "Error: Interface operation not found in the component '%1'.",
+ messageId: "SVC4701"
+ }
+ #---------SVC4702-----------------------------
+ INTERFACE_OPERATION_NOT_DELETED: {
+ code: 400,
+ message: "Error: Failed to delete interface operation.",
+ messageId: "SVC4702"
+ }
+ #-----------SVC4692---------------------------
+ RESOURCE_LIFECYCLE_STATE_NOT_VALID: {
+ code: 400,
+ message: "Error: Lifecycle state %1 is not valid for resource",
+ messageId: "SVC4692"
+ }
+ #-----------SVC4693---------------------------
+ #%1 - component name
+ COMPONENT_IS_ARCHIVED: {
+ code: 400,
+ message: "Error: Component %1 is archived",
+ messageId: "SVC4693"
+ }
+ #-----------SVC4703---------------------------
+ #%1 - component name
+ COMPONENT_IS_NOT_HIHGEST_CERTIFIED: {
+ code: 400,
+ message: "Error: Component %1 is not highest certified",
+ messageId: "SVC4703"
+ }
+ #---------SVC4704------------------------------
+ # %1 - "service"/"VF"
+ # %2 - "Resource name"
+ ARCHIVED_ORIGINS_FOUND: {
+ code: 403,
+ message: "Error: Action is not permitted as your '%1' '%2' includes archived resources",
+ messageId: "SVC4704"
+ }
+ #---------SVC4705------------------------------
+ # %1-artifact name
+ ARTIFACT_PAYLOAD_EMPTY: {
+ code: 400,
+ message: "Error: Invalid content. Uploaded file %1 is empty. Please retry with the correct file.",
+ messageId: "SVC4705"
+ }
+ #---------SVC4800------------------------------
+ # %1 - "component id"
+ UPDATE_CATALOG_FAILED: {
+ code: 403,
+ message: "Error: update catalog for component '%1' failed.",
+ messageId: "SVC4800"
+ }
+ #---------SVC4706------------------------------
+ # %1-input(s) name(s) string
+ INPUTS_NOT_FOUND: {
+ code: 400,
+ message: "Error: missing input value(s) %1.",
+ messageId: "SVC4706"
+ }
+ #---------SVC4707-----------------------------
+ # %1 – asset type [service / resource ]
+ # %2 – main asset uuid
+ ERROR_DURING_CSAR_CREATION: {
+ code: 404,
+ message: "Error: CSAR packaging failed for %1 %2.",
+ messageId: "SVC4706"
+ }
+#---------SVC4708-----------------------------
+# %1 - Interface Operation input property name, component type
+ INTERFACE_OPERATION_INPUT_PROPERTY_NOT_FOUND_IN_COMPONENT: {
+ code: 404,
+ message: "Error: Interface operation input parameter property '%1' not found in '%2' input properties, capability properties or outputs of other operations.",
+ messageId: "SVC4708"
+ }
+#---------SVC4709-----------------------------
+# %1 - Interface Operation output parameter name
+ INTERFACE_OPERATION_OUTPUT_NAME_ALREADY_IN_USE: {
+ code: 400,
+ message: "Error: Interface Operation output parameter name '%1' already in use, Your current changes will not be saved.",
+ messageId: "SVC4708"
+ }
+#---------SVC4710-----------------------------
+ INTERFACE_OPERATION_OUTPUT_NAME_MANDATORY: {
+ code: 400,
+ message: "Error: Interface operation output parameter name should not be empty.",
+ messageId: "SVC4710"
+ }
+#---------SVC4711-----------------------------
+# %1 - interface Id
+ INTERFACE_NOT_FOUND_IN_COMPONENT: {
+ code: 404,
+ message: "Error: Interface not found in the component '%1'.",
+ messageId: "SVC4711"
+ }
+ #---------SVC4709-----------------------------
+ INVALID_PROPERTY_CONSTRAINTS: {
+ # %1 – property constraints type
+ # %2 – received property constraints value
+ # %3 – property type
+ code: 400,
+ message: "Error: Invalid %1 %2 for the type %3 have been received.",
+ messageId: "SVC4709"
+ }
+ #---------SVC4710-----------------------------
+ INVALID_PROPERTY_CONSTRAINTS_FORMAT: {
+ # %1 – received property constraints json section
+ code: 400,
+ message: "Error: Invalid format of the received property constraints section: %1. The property constraints section should be a list.",
+ messageId: "SVC4710"
+ }
+ #---------SVC4711-----------------------------
+ CANNOT_DELETE_VALID_VALUES: {
+ # %1 – property constraints type
+ # %2 – missing valid values
+ code: 400,
+ message: "Error: Deletion of existing %1 is not permitted on an update. Missing values: %2",
+ messageId: "SVC4711"
+ }
+ #---------SVC4712------------------------------
+ MISSING_PROPERTY_NAME: {
+ code: 400 ,
+ message: "Error: Invalid Content. Missing mandatory parameter 'name'." ,
+ messageId: "SVC4712"
+ }
+ #---------SVC4713------------------------------
+ MISSING_PROPERTY_VALUE: {
+ code: 400 ,
+ message: "Error: Invalid Content. Missing mandatory parameter 'value'." ,
+ messageId: "SVC4713"
+ }
+
+ #---------SVC4712---------------------------
+ INVALID_INSTANTIATION_TYPE: {
+ code: 400,
+ message: "Invalid instantiationType: %1",
+ messageId: "SVC4712"
+ }
+
+ #----------SVC4713---------------------------
+ MISSING_ECOMP_GENERATED_NAMING: {
+ code: 400,
+ message: "Missing ecompGeneratedNaming property",
+ messageId: "SVC4713"
+ }
+
+ #-----------SVC4714--------------------------
+ NAMING_POLICY_EXCEEDS_LIMIT: {
+ code: 400,
+ message: "Error: Invalid Content. Naming policy exceeds limit of %1 characters.",
+ messageId: "SVC4714"
+ }
+
+ #---------SVC4715------------------------------
+ INVALID_NAMING_POLICY: {
+ code: 400,
+ message: 'Error: Invalid Content. Naming policy is not allowed to contain characters like <>:"\/|?* and space characters other than regular space.',
+ messageId: "SVC4715"
+ }
+
+ #---------SVC4716------------------------------
+ INVALID_ENVIRONMENT_CONTEXT: {
+ code: 400,
+ message: 'Error: Invalid Environment context: %1',
+ messageId: "SVC4716"
+ }
+
+ #---------SVC4717------------------------------
+ UNSUPPORTED_DISTRIBUTION_STATUS: {
+ code: 400,
+ message: 'Error: Unsupported distribution action: %1',
+ messageId: "SVC4717"
+ }
+ #---------SVC4718------------------------------
+ CONTAINER_CANNOT_CONTAIN_INSTANCE: {
+ # %1 - "container type"
+ # %2- “component type”
+ code: 400 ,
+ message: "Error : %1 can’t contain component instance %2" ,
+ messageId: "SVC4718"
+ }
+ #---------SVC4719------------------------------
+ CONTAINER_CANNOT_CONTAIN_COMPONENT_IN_STATE: {
+ # %1 - "container type"
+ # %2- "lifecycle state"
+ code: 400 ,
+ message: "Error: Container %1 can’t contain component in state %2" ,
+ messageId: "SVC4719"
+ }
+
+ #---------SVC4720------------------------------
+ MISSING_MANDATORY_PROPERTY: {
+ # %1 - "property name"
+ code: 400 ,
+ message: "Error: Missing mandatory %1 property" ,
+ messageId: "SVC4720"
+ }
+
+ #---------SVC4721------------------------------
+ MANDATORY_PROPERTY_MISSING_VALUE: {
+ # %1 - "property name"
+ code: 400 ,
+ message: "Error: Missing value for the mandatory %1 property" ,
+ messageId: "SVC4721"
+ }
+#---------SVC4712-----------------------------
+ INTERFACE_LIFECYCLE_TYPES_NOT_FOUND: {
+ code: 404,
+ message: "Error: Interface Lifecycle types not found.",
+ messageId: "SVC4712"
+ }
+#---------SVC4713-----------------------------
+# %1 - Interface Operation Name
+ INTERFACE_OPERATION_INVALID_FOR_GLOBAL_TYPE: {
+ code: 400,
+ message: "Error: Invalid input, only pre-defined operation names are allowed in global interface type '%1'",
+ messageId: "SVC4713"
+ }
+
+ #---------SVC4714-----------------------------
+ NODE_FILTER_NOT_FOUND: {
+ code: 400,
+ message: "Error: Node Filter was not found",
+ messageId: "SVC4714"
+ }
+ #---------SVC4715----------------------------
+ UNSUPPORTED_VALUE_PROVIDED: {
+ code: 400,
+ message: "Error: Supported value type is %1 for %2 property. Provided Value: %3",
+ messageId: "SVC4715"
+ }
+ #---------SVC4716----------------------------
+ # %1 - Property Name
+ SELECTED_PROPERTY_NOT_PRESENT: {
+ code: 400,
+ message: "Error: %1 property does not exists in Service anymore.",
+ messageId: "SVC4716"
+ }
+
+ #---------SVC4717----------------------------
+ # %1 - Property Name
+ MAPPED_PROPERTY_NOT_FOUND: {
+ code: 400,
+ message: "Error: %1 property does not exist.",
+ messageId: "SVC4717"
+ }
+
+ #---------SVC4718----------------------------
+ # %1 - Property Name
+ # %2 - Operator Name
+ UNSUPPORTED_OPERATOR_PROVIDED: {
+ code: 400,
+ message: "Error: %1 property does not support %2 operator.",
+ messageId: "SVC4718"
+ }
+
+ #---------SVC4719----------------------------
+ CONSTRAINT_FORMAT_INCORRECT: {
+ code: 400,
+ message: "Error: Constraint provided does not contains expected values.",
+ messageId: "SVC4719"
+ }
+
+ #---------SVC4720----------------------------
+ # %1 - Property Name
+ # %2 - Operator Type
+ SOURCE_TARGET_PROPERTY_TYPE_MISMATCH: {
+ code: 400,
+ message: "Error: %1 property and %2 property type is not same.",
+ messageId: "SVC4720"
+ }
+
+ #---------SVC4721----------------------------
+ # %1 - Property Type
+ # %2 - Operator Type
+ UNSUPPORTED_PROPERTY_TYPE: {
+ code: 400,
+ message: "Error: Property type %1 provided against %2 is not supported for static value.",
+ messageId: "SVC4721"
+ }
+
+ #---------SVC4722------------------------------
+ # %1 Directive value set
+ DIRECTIVES_INVALID_VALUE: {
+ code: 404,
+ message: "Error: Invalid directive value : '%1' .",
+ messageId: "SVC4722"
+ }
+#---------SVC4723-----------------------------
+# %1 - Interface Operation output name
+ INTERFACE_OPERATION_MAPPED_OUTPUT_MODIFIED: {
+ code: 400,
+ message: "Error: Cannot update or delete interface operation output(s) '%1' mapped to an operation input",
+ messageId: "SVC4723"
+ }
+#---------SVC4724-----------------------------
+# %1 - Interface Operation output name
+ INTERFACE_OPERATION_DELETE_WITH_MAPPED_OUTPUT: {
+ code: 400,
+ message: "Error: Cannot delete interface operation with output(s) '%1' mapped to another operation input",
+ messageId: "SVC4724"
+ }
+#---------SVC4725-----------------------------
+ INVALID_CONSUMPTION_TYPE: {
+ code: 400,
+ message: "Error: Given value is different than input type. Needs to be %1",
+ messageId: "SVC4725"
+ }
+#---------SVC4726-----------------------------
+ INVALID_PROPERTY_VALUES: {
+ code: 400,
+ message: "Error: Invalid property values provided:\n %1",
+ messageId: "SVC4726"
+ }
+#---------SVC4727------------------------------
+ INVALID_PROPERTY_NAME: {
+ code: 400,
+ message: "Error: Property name contains invalid characters. It should have only letters, numbers and underscores.",
+ messageId: "SVC4727"
+ }
+
+#---------SVC4728------------------------------
+ FAILED_TO_CREATE_OR_UPDATE_CAPABILITY_PROPERTIES: {
+ code: 500,
+ message: "Error: Failed to create or update capabilities properties",
+ messageId: "SVC4728"
+ }
+
+#---------SVC4729------------------------------
+ # %1 - resource Id
+ CAPABILITY_PROPERTIES_NOT_FOUND: {
+ code: 400,
+ message: "Error: Capability properties not found in the resource '%1'.",
+ messageId: "SVC4729"
+ }
+#---------SVC4730------------------------------
+ # %1 - property name
+ PROPERTY_EXCEEDS_LIMIT: {
+ code: 400,
+ message: "Error: Invalid Content. %1 exceeds limit.",
+ messageId: "SVC4722"
+ }
+#---------SVC4731------------------------------
+ INVALID_PROPERY: {
+ # %1 - property name
+ code: 400,
+ message: 'Error: Invalid Content. %1 has invalid format.',
+ messageId: "SVC4723"
+ }
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/keyfile b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/keyfile
new file mode 100644
index 0000000000..43d20d4c05
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/keyfile
@@ -0,0 +1,4 @@
+#############################################################
+# This file should be replaced with jetty keyfile: #
+# /var/lib/jetty/base/be/etc/keyfile #
+#############################################################
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/logback.xml b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/logback.xml
new file mode 100644
index 0000000000..2098836dd3
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/logback.xml
@@ -0,0 +1,253 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration scan="true" scanPeriod="5 seconds">
+
+ <property scope="system" name="ECOMP-component-name" value="SDC"/>
+ <property scope="system" name="ECOMP-subcomponent-name" value="SDC-BE"/>
+ <property file="${config.home}/catalog-be/configuration.yaml"/>
+ <property scope="context" name="enable-all-log" value="false"/>
+ <property name="p_msg" value="%replace(%replace(%replace(%replace(%msg){'\t','\\\\t'}){'\n', '\\\\n'}){'\\\|', '-'}){'\r','\\\\r'}"/>
+ <property name="p_ex" value="%replace(%replace(%replace(%replace(%exception{full}){'\t','\\\\t'}){'\n', '\\\\n'}){'\\\|', '-'}){'\r','\\\\r'}"/>
+ <property name="p_debugInfo" value="%replace(%replace(%replace(%replace(%thread#%level#%logger{35}#%msg){'\t','\\\\t'}){'\n', '\\\\n'}){'\\\|', '-'}){'\r','\\\\r'}"/>
+
+ <property name="all-log-pattern"
+ value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{BeginTimestamp}|%X{EndTimestamp}|%X{uuid}|%X{serviceInstanceID}|%thread|%X{ServerName}|%X{ServiceName}|${ECOMP-subcomponent-name}|%X{userId}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceID}|%level|%X{alarmSeverity}|%X{localAddr}|%X{ElapsedTime}|${beFqdn}|%X{remoteAddr}|%logger{35}|%X{timer}|ActivityType=&lt;%M&gt;, Desc=&lt;${p_msg}&gt;%n"/>
+
+ <property name="debug-log-pattern"
+ value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestID}|${p_debugInfo} ${p_ex}|^\n%n%nopex"/>
+
+ <property name="error-log-pattern"
+ value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestID}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{ErrorCategory}|%X{ErrorCode}|${p_msg} ${p_ex}|%n%nopex"/>
+
+ <property name="audit-log-pattern"
+ value="%X{EntryTimestamp}|%X{LogTimestamp}|%X{RequestID}|%X{ServiceInstanceID}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{Severity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%logger{35}|%X{Unused}|%X{ProcessKey}|%marker|InvocationID=%X{InvocationID}|%X{CustomField3}|%X{CustomField4}|ActivityType=&lt;%M&gt;, Desc=&lt;${p_msg}&gt;%n"/>
+
+ <property name="metric-log-pattern"
+ value="%X{InvokeTimestamp}|%X{EndTimestamp}|%X{RequestID}|%X{ServiceInstanceID}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceID}|%.-5level|%X{Severity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|||%X{ClassName}|%X{Unused}|%X{ProcessKey}|%marker|InvocationID=%X{OutgoingInvocationId}|%X{CustomField3}|%X{CustomField4}|ActivityType=&lt;%M&gt;, Desc=&lt;%msg&gt;%n" />
+
+ <property name="supportability-log-pattern"
+ value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{SupportablityComponentName}|%X{SupportablityAction}|%thread|%X{SupportablityComponentUUID}|%X{SupportablityStatus}|ActivityType=&lt;%M&gt;, Desc=&lt;${p_msg}&gt;%n"/>
+
+
+ <!-- All log -->
+ <if condition='property("enable-all-log").equalsIgnoreCase("true")'>
+ <then>
+ <appender name="ALL_ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/all.log</file>
+
+ <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/all.log.%i
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>10</maxIndex>
+ </rollingPolicy>
+
+ <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>20MB</maxFileSize>
+ </triggeringPolicy>
+
+ <encoder>
+ <pattern>${all-log-pattern}</pattern>
+ </encoder>
+ </appender>
+ </then>
+ </if>
+
+
+ <!-- Debug log -->
+ <appender name="DEBUG_ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/debug.log</file>
+
+ <!-- Audit and Metric messages filter - deny audit and metric messages -->
+ <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+ <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
+ <marker>ENTRY</marker>
+ <marker>EXIT</marker>
+ <marker>INVOKE</marker>
+ <marker>INVOKE-RETURN</marker>
+ <marker>INVOKE-SYNCHRONOUS</marker>
+ </evaluator>
+ <onMismatch>NEUTRAL</onMismatch>
+ <onMatch>DENY</onMatch>
+ </filter>
+
+ <!-- accept INFO, DEBUG and TRACE level -->
+ <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+ <evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator">
+ <expression>
+ e.level.toInt() &lt;= INFO.toInt()
+ </expression>
+ </evaluator>
+ <OnMismatch>DENY</OnMismatch>
+ <OnMatch>ACCEPT</OnMatch>
+ </filter>
+
+ <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/debug.log.%i
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>10</maxIndex>
+ </rollingPolicy>
+
+ <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>20MB</maxFileSize>
+ </triggeringPolicy>
+
+ <encoder>
+ <pattern>${debug-log-pattern}</pattern>
+ </encoder>
+ </appender>
+
+
+ <!-- Error log -->
+ <appender name="ERROR_ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/error.log</file>
+
+ <!-- deny all events with a level below WARN, that is INFO TRACE and DEBUG -->
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>WARN</level>
+ </filter>
+
+ <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/error.log.%i
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>10</maxIndex>
+ </rollingPolicy>
+
+ <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>20MB</maxFileSize>
+ </triggeringPolicy>
+
+ <encoder>
+ <pattern>${error-log-pattern}</pattern>
+ </encoder>
+ </appender>
+
+
+ <!-- Audit log -->
+ <appender name="AUDIT_ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/audit.log</file>
+
+ <!-- Audit messages filter - accept audit messages -->
+ <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+ <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
+ <marker>ENTRY</marker>
+ <marker>EXIT</marker>
+ </evaluator>
+ <onMismatch>DENY</onMismatch>
+ <onMatch>ACCEPT</onMatch>
+ </filter>
+
+ <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/audit.log.%i
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>10</maxIndex>
+ </rollingPolicy>
+
+ <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>20MB</maxFileSize>
+ </triggeringPolicy>
+
+ <encoder>
+ <pattern>${audit-log-pattern}</pattern>
+ </encoder>
+ </appender>
+
+
+ <!-- Metrics log -->
+ <appender name="METRICS_ROLLING"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+
+ <file>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/metrics.log
+ </file>
+
+ <!-- Metric messages filter - accept metric messages -->
+ <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+ <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
+ <marker>INVOKE</marker>
+ <marker>INVOKE-RETURN</marker>
+ <marker>INVOKE-SYNCHRONOUS</marker>
+ </evaluator>
+ <onMismatch>DENY</onMismatch>
+ <onMatch>ACCEPT</onMatch>
+ </filter>
+
+ <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/metrics.log.%i
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>10</maxIndex>
+ </rollingPolicy>
+
+ <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>20MB</maxFileSize>
+ </triggeringPolicy>
+
+ <encoder>
+ <pattern>${metric-log-pattern}</pattern>
+ </encoder>
+ </appender>
+
+
+ <!-- Supporability log -->
+ <appender name="SUPPORTABILITY_ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
+
+ <file>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/supportability.log</file>
+
+ <!-- Supporability messages filter - accept suppportability messages -->
+ <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+ <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
+ <marker>SUPPORTABILITY_MARKER</marker>
+ </evaluator>
+ <onMismatch>DENY</onMismatch>
+ <onMatch>ACCEPT</onMatch>
+ </filter>
+
+ <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/supportability.log.%i
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>10</maxIndex>
+ </rollingPolicy>
+
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>20MB</maxFileSize>
+ </triggeringPolicy>
+
+ <encoder>
+ <pattern>${supportability-log-pattern}</pattern>
+ </encoder>
+ </appender>
+
+
+ <!-- Asynchronicity Configurations -->
+ <appender name="ASYNC_DEBUG" class="ch.qos.logback.classic.AsyncAppender">
+ <appender-ref ref="DEBUG_ROLLING"/>
+ </appender>
+
+ <appender name="ASYNC_ERROR" class="ch.qos.logback.classic.AsyncAppender">
+ <appender-ref ref="ERROR_ROLLING"/>
+ </appender>
+
+ <appender name="ASYNC_ALL" class="ch.qos.logback.classic.AsyncAppender">
+ <appender-ref ref="ALL_ROLLING"/>
+ </appender>
+
+
+ <root level="INFO">
+ <appender-ref ref="ASYNC_DEBUG"/>
+ <appender-ref ref="ASYNC_ERROR"/>
+ <appender-ref ref="AUDIT_ROLLING"/>
+ <appender-ref ref="METRICS_ROLLING"/>
+ <appender-ref ref="SUPPORTABILITY_ROLLING"/>
+ <if condition='property("enable-all-log").equalsIgnoreCase("true")'>
+ <then>
+ <appender-ref ref="ASYNC_ALL"/>
+ </then>
+ </if>
+ </root>
+
+ <logger name="org.openecomp.sdc" level="INFO"/>
+</configuration>
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/org.onap.sdc.p12 b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/org.onap.sdc.p12
new file mode 100644
index 0000000000..446856071b
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/org.onap.sdc.p12
Binary files differ
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/org.onap.sdc.trust.jks b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/org.onap.sdc.trust.jks
new file mode 100644
index 0000000000..e6686cc08c
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/files/default/org.onap.sdc.trust.jks
Binary files differ
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_10_setup_cadi.rb b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_10_setup_cadi.rb
new file mode 100644
index 0000000000..3a79cfc874
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_10_setup_cadi.rb
@@ -0,0 +1,37 @@
+jetty_base = "#{ENV['JETTY_BASE']}"
+
+
+directory "Jetty_etc_dir_creation" do
+ path "#{jetty_base}/etc"
+ owner 'jetty'
+ group 'jetty'
+ mode '0755'
+ action :create
+ not_if { ::File.directory?("#{jetty_base}/etc") }
+end
+
+
+cookbook_file "#{jetty_base}/etc/keyfile" do
+ source "keyfile"
+ owner "jetty"
+ group "jetty"
+ mode 0755
+end
+
+
+cookbook_file "#{jetty_base}/etc/cadi_truststore.jks" do
+ source "cadi_truststore.jks"
+ owner "jetty"
+ group "jetty"
+ mode 0755
+end
+
+
+template "#{jetty_base}/etc/cadi.properties" do
+ path "#{jetty_base}/etc/cadi.properties"
+ source "cadi.properties.erb"
+ owner "jetty"
+ group "jetty"
+ mode "0755"
+end
+
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_1_cleanup_jettydir.rb b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_1_cleanup_jettydir.rb
new file mode 100644
index 0000000000..7ca3db813f
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_1_cleanup_jettydir.rb
@@ -0,0 +1,29 @@
+unless Dir.exist? "#{ENV['JETTY_BASE']}/temp"
+ directory "BE_tempdir_creation" do
+ path "#{ENV['JETTY_BASE']}/temp"
+ owner 'jetty'
+ group 'jetty'
+ mode '0755'
+ action :create
+ end
+end
+
+unless Dir.exist? "#{ENV['JETTY_BASE']}/config"
+ directory "BE_create_config_dir" do
+ path "#{ENV['JETTY_BASE']}/config"
+ owner 'jetty'
+ group 'jetty'
+ mode '0755'
+ action :create
+ end
+end
+
+unless Dir.exist? "#{ENV['JETTY_BASE']}/config/catalog-be"
+ directory "BE_create_catalog-be" do
+ path "#{ENV['JETTY_BASE']}/config/catalog-be"
+ owner 'jetty'
+ group 'jetty'
+ mode '0755'
+ action :create
+ end
+end
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_2_setup_configuration.rb b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_2_setup_configuration.rb
new file mode 100644
index 0000000000..2e66e2da98
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_2_setup_configuration.rb
@@ -0,0 +1,73 @@
+# Set the cassandra replica number
+replication_factor = node['cassandra']['replication_factor']
+
+if node['Pair_EnvName'] == ""
+ janusgraph_dcname_with_rep = node['cassandra']['datacenter_name'] + "," + replication_factor.to_s
+ conf_dcname_with_rep = node['cassandra']['datacenter_name'] + "','" + replication_factor.to_s
+else
+ janusgraph_dcname_with_rep = node['cassandra']['datacenter_name'] + "," + replication_factor.to_s + "," + node['cassandra']['cluster_name'] + node['Pair_EnvName'] + "," + replication_factor.to_s
+ conf_dcname_with_rep = node['cassandra']['datacenter_name'] + "','" + replication_factor.to_s + "','" + node['cassandra']['cluster_name'] + node['Pair_EnvName'] + "','" + replication_factor.to_s
+end
+
+#Set random ID for DMaap configuration
+if node['DMAAP']['random_id'].nil?
+ node.default['DMAAP']['random_id'] = Time.now.getutc.to_i
+end
+
+template "janusgraph.properties" do
+ path "#{ENV['JETTY_BASE']}/config/catalog-be/janusgraph.properties"
+ source "BE-janusgraph.properties.erb"
+ owner "jetty"
+ group "jetty"
+ mode "0644"
+ action :create_if_missing
+ variables({
+ :cassandra_ip => node['Nodes']['CS'].join(",").gsub(/[|]/, ''),
+ :cassandra_cql_port => node['cassandra'][:cassandra_port],
+ :cassandra_pwd => node['cassandra'][:cassandra_password],
+ :cassandra_usr => node['cassandra'][:cassandra_user],
+ :rep_factor => replication_factor,
+ :DC_NAME => node['cassandra']['datacenter_name'],
+ :DC_NAME_WITH_REP => janusgraph_dcname_with_rep,
+ :janus_connection_timeout => node['cassandra']['janusgraph_connection_timeout'],
+ :cassandra_truststore_password => node['cassandra'][:truststore_password],
+ :cassandra_ssl_enabled => "#{ENV['cassandra_ssl_enabled']}"
+ })
+end
+
+template "catalog-be-config" do
+ path "#{ENV['JETTY_BASE']}/config/catalog-be/configuration.yaml"
+ source "BE-configuration.yaml.erb"
+ owner "jetty"
+ group "jetty"
+ mode "0644"
+ action :create_if_missing
+ variables({
+ :catalog_ip => node['Nodes']['BE'],
+ :catalog_port => node['BE'][:http_port],
+ :ssl_port => node['BE'][:https_port],
+ :cassandra_ip => node['Nodes']['CS'].join(",").gsub(/[|]/, ''),
+ :cassandra_port => node['cassandra']['cassandra_port'],
+ :rep_factor => replication_factor,
+ :DC_NAME => node['cassandra']['datacenter_name'],
+ :REP_STRING => conf_dcname_with_rep,
+ :janusgraph_Path => "/var/lib/jetty/config/catalog-be/",
+ :socket_connect_timeout => node['cassandra']['socket_connect_timeout'],
+ :socket_read_timeout => node['cassandra']['socket_read_timeout'],
+ :cassandra_pwd => node['cassandra'][:cassandra_password],
+ :cassandra_usr => node['cassandra'][:cassandra_user],
+ :cassandra_truststore_password => node['cassandra'][:truststore_password],
+ :cassandra_ssl_enabled => "#{ENV['cassandra_ssl_enabled']}",
+ :dcae_be_vip => node['DCAE_BE_VIP'],
+ :dmaap_active => node['DMAAP']['active']
+ })
+end
+
+template "distribution-engine-configuration" do
+ path "#{ENV['JETTY_BASE']}/config/catalog-be/distribution-engine-configuration.yaml"
+ source "BE-distribution-engine-configuration.yaml.erb"
+ owner "jetty"
+ group "jetty"
+ mode "0644"
+ action :create_if_missing
+end
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_3_locate_keystore.rb b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_3_locate_keystore.rb
new file mode 100644
index 0000000000..cb2ffc7154
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_3_locate_keystore.rb
@@ -0,0 +1,23 @@
+
+directory "Jetty_etcdir_creation" do
+ path "#{ENV['JETTY_BASE']}/etc"
+ owner 'jetty'
+ group 'jetty'
+ mode '0755'
+ action :create
+end
+
+cookbook_file "#{ENV['JETTY_BASE']}/etc/org.onap.sdc.p12" do
+ source "org.onap.sdc.p12"
+ owner "jetty"
+ group "jetty"
+ mode 0755
+end
+
+cookbook_file "#{ENV['JETTY_BASE']}/etc/org.onap.sdc.trust.jks" do
+ source "org.onap.sdc.trust.jks"
+ owner "jetty"
+ group "jetty"
+ mode 0755
+end
+
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_4_jetty_Modules.rb b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_4_jetty_Modules.rb
new file mode 100644
index 0000000000..34934a44af
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_4_jetty_Modules.rb
@@ -0,0 +1,55 @@
+#Set the http module option
+if node['disableHttp']
+ http_option = "#--module=http"
+else
+ http_option = "--module=http"
+end
+
+
+bash "create-jetty-modules" do
+cwd "#{ENV['JETTY_BASE']}"
+code <<-EOH
+ cd "#{ENV['JETTY_BASE']}"
+ java -jar "#{ENV['JETTY_HOME']}"/start.jar --add-to-start=deploy
+ java -jar "#{ENV['JETTY_HOME']}"/start.jar --create-startd --add-to-start=http,https,console-capture,setuid
+EOH
+end
+
+
+template "http-ini" do
+ path "#{ENV['JETTY_BASE']}/start.d/http.ini"
+ source "http-ini.erb"
+ owner "jetty"
+ group "jetty"
+ mode "0755"
+ variables ({
+ :http_option => http_option ,
+ :http_port => "#{node['BE'][:http_port]}"
+ })
+
+end
+
+
+template "https-ini" do
+ path "#{ENV['JETTY_BASE']}/start.d/https.ini"
+ source "https-ini.erb"
+ owner "jetty"
+ group "jetty"
+ mode "0755"
+ variables :https_port => "#{node['BE'][:https_port]}"
+end
+
+
+template "ssl-ini" do
+ path "#{ENV['JETTY_BASE']}/start.d/ssl.ini"
+ source "ssl-ini.erb"
+ owner "jetty"
+ group "jetty"
+ mode "0755"
+ variables ({
+ :https_port => "#{node['BE'][:https_port]}" ,
+ :jetty_keystore_pwd => "#{node['jetty'][:keystore_pwd]}" ,
+ :jetty_keymanager_pwd => "#{node['jetty'][:keymanager_pwd]}" ,
+ :jetty_truststore_pwd => "#{node['jetty'][:truststore_pwd]}"
+ })
+end
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_5_setup_elasticsearch.rb b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_5_setup_elasticsearch.rb
new file mode 100644
index 0000000000..7a2f24e57a
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_5_setup_elasticsearch.rb
@@ -0,0 +1,21 @@
+clusterName = node['elasticsearch'][:cluster_name]+node.chef_environment
+
+elasticsearch_list = ''
+
+node['Nodes']['ES'].each do |item|
+ elasticsearch_list += "- " + item + ":9300\n"
+end
+
+
+
+template "elasticsearch.yml-config" do
+ path "#{ENV['JETTY_BASE']}/config/elasticsearch.yml"
+ source "BE-elasticsearch.yml.erb"
+ owner "jetty"
+ group "jetty"
+ mode "0755"
+ variables ({
+ :cluster_name => "#{clusterName}",
+ :es_host_ip => "#{elasticsearch_list}"
+ })
+end
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_6_setup_portal_and_key_properties.rb b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_6_setup_portal_and_key_properties.rb
new file mode 100644
index 0000000000..4f9993848a
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_6_setup_portal_and_key_properties.rb
@@ -0,0 +1,25 @@
+template "template portal.properties" do
+ path "#{ENV['JETTY_BASE']}/resources/portal.properties"
+ source "BE-portal.properties.erb"
+ owner "jetty"
+ group "jetty"
+ mode "0755"
+ variables ({
+ :ecomp_rest_url => node['ECompP']['ecomp_rest_url'],
+ :ecomp_redirect_url => node['ECompP']['ecomp_redirect_url'],
+ :ecomp_portal_user => node['ECompP']['portal_user'],
+ :ecomp_portal_pass => node['ECompP']['portal_pass'],
+ :portal_app_name => node['ECompP']['portal_app_name'],
+ })
+end
+
+template "template key.properties" do
+ path "#{ENV['JETTY_BASE']}/resources/key.properties"
+ source "BE-key.properties.erb"
+ owner "jetty"
+ group "jetty"
+ mode "0755"
+ variables ({
+ :cipher_key => node['ECompP']['cipher_key']
+ })
+end \ No newline at end of file
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_7_logback.rb b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_7_logback.rb
new file mode 100644
index 0000000000..7d95d7448e
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_7_logback.rb
@@ -0,0 +1,8 @@
+cookbook_file "#{ENV['JETTY_BASE']}/config/catalog-be/logback.xml" do
+ source "logback.xml"
+ mode 0644
+ owner "jetty"
+ group "jetty"
+ action :create_if_missing
+end
+
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_8_errors_config.rb b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_8_errors_config.rb
new file mode 100644
index 0000000000..b100356d98
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_8_errors_config.rb
@@ -0,0 +1,16 @@
+cookbook_file "#{ENV['JETTY_BASE']}/config/catalog-be/ecomp-error-configuration.yaml" do
+ source "ecomp-error-configuration.yaml"
+ mode 0644
+ owner "jetty"
+ group "jetty"
+ action :create_if_missing
+end
+
+cookbook_file "#{ENV['JETTY_BASE']}/config/catalog-be/error-configuration.yaml" do
+ source "error-configuration.yaml"
+ mode 0644
+ owner "jetty"
+ group "jetty"
+ action :create_if_missing
+end
+
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_9_prepareProbeFile.rb b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_9_prepareProbeFile.rb
new file mode 100644
index 0000000000..81e1a855f4
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_9_prepareProbeFile.rb
@@ -0,0 +1,17 @@
+if node[:disableHttp]
+ protocol = "https"
+ port = "#{node['BE'][:https_port]}"
+else
+ protocol = "http"
+ port = "#{node['BE'][:http_port]}"
+end
+
+template "/var/lib/jetty/ready-probe.sh" do
+ source "ready-probe.sh.erb"
+ sensitive true
+ mode 0755
+ variables({
+ :protocol => protocol,
+ :port => port
+ })
+end
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-configuration.yaml.erb b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-configuration.yaml.erb
new file mode 100644
index 0000000000..20f00954e3
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-configuration.yaml.erb
@@ -0,0 +1,1259 @@
+identificationHeaderFields:
+ - HTTP_IV_USER
+ - HTTP_CSP_FIRSTNAME
+ - HTTP_CSP_LASTNAME
+ - HTTP_IV_REMOTE_ADDRESS
+ - HTTP_CSP_WSTYPE
+
+# catalog backend hostname
+beFqdn: <%= @catalog_ip %>
+
+# catalog backend http port
+beHttpPort: <%= @catalog_port %>
+
+# catalog backend http context
+beContext: /sdc/rest/config/get
+
+# catalog backend protocol
+<% if node[:disableHttp] -%>
+beProtocol: https
+<% else %>
+beProtocol: http
+<% end -%>
+
+# catalog backend ssl port
+beSslPort: <%= @ssl_port %>
+version: 1.1.0
+released: 2012-11-30
+toscaConformanceLevel: 11.0
+minToscaConformanceLevel: 3.0
+
+janusGraphCfgFile: /var/lib/jetty/config/catalog-be/janusgraph.properties
+janusGraphInMemoryGraph: false
+janusGraphLockTimeout: 1800
+# The interval to try and reconnect to JanusGraph DB when it is down during ASDC startup:
+janusGraphReconnectIntervalInSeconds: 3
+
+# The read timeout towards JanusGraph DB when health check is invoked:
+janusGraphHealthCheckReadTimeout: 1
+
+# The interval to try and reconnect to Elasticsearch when it is down during ASDC startup:
+
+uebHealthCheckReconnectIntervalInSeconds: 15
+uebHealthCheckReadTimeout: 4
+
+# Protocols
+protocols:
+ - http
+ - https
+
+# Default imports
+defaultImports:
+ - nodes:
+ file: nodes.yml
+ - datatypes:
+ file: data.yml
+ - capabilities:
+ file: capabilities.yml
+ - relationships:
+ file: relationships.yml
+ - groups:
+ file: groups.yml
+ - policies:
+ file: policies.yml
+ - annotations:
+ file: annotations.yml
+
+# Global CSAR Import Files
+globalCsarImports:
+ - annotations.yml
+ - artifacts.yml
+ - capabilities.yml
+ - data.yml
+ - groups.yml
+ - interfaces.yml
+ - nodes.yml
+ - policies.yml
+ - relationships.yml
+
+# Users
+users:
+ tom: passwd
+ bob: passwd
+
+# access restriction
+authCookie:
+ securityKey: "sdcaccessrestrictionsecureykey"
+ maxSessionTimeOut: 86400000
+ sessionIdleTimeOut: 3600000
+ cookieName: "AuthenticationCookie"
+ path: /
+ domain: ""
+ isHttpOnly: true
+ # redirect variable name from portal.properties file
+ redirectURL: ""
+ excludedUrls: [<%= node['access_restriction']['excluded_urls'] %>]
+ onboardingExcludedUrls: [<%= node['access_restriction']['excluded_urls_onboarding'] %>]
+
+
+
+cassandraConfig:
+ cassandraHosts: [<%= @cassandra_ip %>]
+ cassandraPort: <%= @cassandra_port %>
+ localDataCenter: <%= @DC_NAME %>
+ reconnectTimeout : 30000
+ socketReadTimeout: <%= @socket_read_timeout %>
+ socketConnectTimeout: <%= @socket_connect_timeout %>
+ authenticate: true
+ username: <%= @cassandra_usr %>
+ password: <%= @cassandra_pwd %>
+ ssl: <%= @cassandra_ssl_enabled %>
+ truststorePath : /var/lib/jetty/etc/truststore
+ truststorePassword : <%= @cassandra_truststore_password %>
+ keySpaces:
+ - { name: dox, replicationStrategy: NetworkTopologyStrategy, replicationInfo: ['<%= @REP_STRING %>']}
+ - { name: sdcaudit, replicationStrategy: NetworkTopologyStrategy, replicationInfo: ['<%= @REP_STRING %>']}
+ - { name: sdcartifact, replicationStrategy: NetworkTopologyStrategy, replicationInfo: ['<%= @REP_STRING %>']}
+ - { name: sdccomponent, replicationStrategy: NetworkTopologyStrategy, replicationInfo: ['<%= @REP_STRING %>']}
+ - { name: sdcrepository, replicationStrategy: NetworkTopologyStrategy, replicationInfo: ['<%= @REP_STRING %>']}
+
+
+licenseTypes:
+ - User
+ - Installation
+ - CPU
+
+#Deployment artifacts placeHolder
+resourceTypes: &allResourceTypes
+ - VFC
+ - CP
+ - VL
+ - VF
+ - CR
+ - VFCMT
+ - Abstract
+ - CVFC
+ - Configuration
+ - ServiceProxy
+ - PNF
+
+componentAllowedInstanceTypes:
+ Resource:
+ VF:
+ - VFC
+ - VF
+ - CR
+ - CP
+ - PNF
+ - CVFC
+ - VL
+ - Configuration
+ - ServiceProxy
+ - Abstract
+ CVFC:
+ - VFC
+ - VF
+ - CR
+ - CP
+ - PNF
+ - CVFC
+ - VL
+ - ServiceProxy
+ - Abstract
+ PNF:
+ - VF
+ - CR
+ - CP
+ - PNF
+ - CVFC
+ - VL
+ - Configuration
+ - ServiceProxy
+ - Abstract
+ CR:
+ - VF
+ - CR
+ - CP
+ - PNF
+ - CVFC
+ - VL
+ - Configuration
+ - ServiceProxy
+ - Abstract
+ VL:
+ - VL
+ Service:
+ "*":
+ - VF
+ - CR
+ - CP
+ - PNF
+ - CVFC
+ - VL
+ - Configuration
+ - ServiceProxy
+ - Abstract
+
+artifacts:
+ - type: CONTROLLER_BLUEPRINT_ARCHIVE
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - SERVICE
+ - RESOURCE
+ resourceTypes:
+ - VF
+ - PNF
+ acceptedTypes:
+ - zip
+ - type: HELM
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - SERVICE
+ - RESOURCE
+ resourceTypes: *allResourceTypes
+ acceptedTypes:
+ - tgz
+ - type: YANG_XML
+ categories:
+ - DEPLOYMENT
+ - INFORMATIONAL
+ componentTypes:
+ - SERVICE
+ - RESOURCE
+ resourceTypes: *allResourceTypes
+ acceptedTypes:
+ - xml
+ - type: VNF_CATALOG
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - SERVICE
+ resourceTypes:
+ acceptedTypes:
+ - xml
+ - type: MODEL_INVENTORY_PROFILE
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - SERVICE
+ resourceTypes:
+ acceptedTypes:
+ - xml
+ - type: MODEL_QUERY_SPEC
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - SERVICE
+ resourceTypes:
+ acceptedTypes:
+ - xml
+ - type: UCPE_LAYER_2_CONFIGURATION
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - SERVICE
+ resourceTypes:
+ acceptedTypes:
+ - xml
+ #AAI Artifacts
+ - type: AAI_SERVICE_MODEL
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - SERVICE
+ resourceTypes:
+ acceptedTypes:
+ - xml
+ - type: AAI_VF_MODULE_MODEL
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - SERVICE
+ resourceTypes:
+ acceptedTypes:
+ - xml
+ - type: AAI_VF_INSTANCE_MODEL
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - SERVICE
+ resourceTypes:
+ acceptedTypes:
+ - xml
+ #Plan
+ - type: PLAN
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - SERVICE
+ - RESOURCE
+ - RESOURCE_INSTANCE
+ resourceTypes:
+ - VF
+ - VFC
+ acceptedTypes:
+ - xml
+ - type: WORKFLOW
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - SERVICE
+ - RESOURCE
+ resourceTypes:
+ - VFC
+ - CP
+ - VL
+ - VF
+ - CR
+ - VFCMT
+ - Abstract
+ - CVFC
+ - PNF
+ acceptedTypes:
+ - type: HEAT
+ categories:
+ - DEPLOYMENT
+ - INFORMATIONAL
+ componentTypes:
+ - RESOURCE
+ resourceTypes: *allResourceTypes
+ acceptedTypes:
+ - yaml
+ - yml
+ - type: HEAT_VOL
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE
+ resourceTypes: *allResourceTypes
+ acceptedTypes:
+ - yaml
+ - yml
+ - type: HEAT_NET
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE
+ resourceTypes: *allResourceTypes
+ acceptedTypes:
+ - yaml
+ - yml
+ - type: HEAT_NESTED
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE
+ resourceTypes: *allResourceTypes
+ acceptedTypes:
+ - yaml
+ - yml
+ - type: HEAT_ARTIFACT
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE
+ resourceTypes: *allResourceTypes
+ acceptedTypes:
+ - type: CLOUD_TECHNOLOGY_SPECIFIC_ARTIFACT
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE
+ resourceTypes: *allResourceTypes
+ acceptedTypes:
+ - zip
+ - tgz
+ - csar
+ - type: VNF_CATALOG
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE
+ resourceTypes: *allResourceTypes
+ acceptedTypes:
+ - xml
+ - type: VF_LICENSE
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE
+ resourceTypes: *allResourceTypes
+ acceptedTypes:
+ - xml
+ - type: VENDOR_LICENSE
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE
+ resourceTypes: *allResourceTypes
+ acceptedTypes:
+ - xml
+ - type: MODEL_INVENTORY_PROFILE
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE
+ resourceTypes: *allResourceTypes
+ acceptedTypes:
+ - xml
+ - type: MODEL_QUERY_SPEC
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE
+ resourceTypes: *allResourceTypes
+ acceptedTypes:
+ - xml
+ - type: LIFECYCLE_OPERATIONS
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE
+ resourceTypes:
+ - VF
+ - VFC
+ acceptedTypes:
+ - yaml
+ - yml
+ - type: VES_EVENTS
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE
+ - RESOURCE_INSTANCE
+ resourceTypes:
+ - VFC
+ - CP
+ - VL
+ - VF
+ - CR
+ - VFCMT
+ - Abstract
+ - CVFC
+ - PNF
+ acceptedTypes:
+ - yaml
+ - yml
+ - type: PERFORMANCE_COUNTER
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE
+ - RESOURCE_INSTANCE
+ resourceTypes: *allResourceTypes
+ acceptedTypes:
+ - csv
+ - type: APPC_CONFIG
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE
+ resourceTypes:
+ - VF
+ acceptedTypes:
+ - type: DCAE_TOSCA
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE
+ resourceTypes:
+ - VF
+ - VFCMT
+ acceptedTypes:
+ - yml
+ - yaml
+ - type: DCAE_JSON
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE
+ resourceTypes:
+ - VF
+ - VFCMT
+ acceptedTypes:
+ - json
+ - type: DCAE_POLICY
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE
+ resourceTypes:
+ - VF
+ - VFCMT
+ acceptedTypes:
+ - emf
+ - type: DCAE_DOC
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE
+ resourceTypes:
+ - VF
+ - VFCMT
+ acceptedTypes:
+ - type: DCAE_EVENT
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE
+ resourceTypes:
+ - VF
+ - VFCMT
+ acceptedTypes:
+ - type: AAI_VF_MODEL
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE
+ resourceTypes:
+ - VF
+ acceptedTypes:
+ - xml
+ - type: AAI_VF_MODULE_MODEL
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE
+ resourceTypes:
+ - VF
+ acceptedTypes:
+ - xml
+ - type: OTHER
+ categories:
+ - DEPLOYMENT
+ - INFORMATIONAL
+ componentTypes:
+ - RESOURCE
+ resourceTypes:
+ - VFC
+ - CVFC
+ - CP
+ - VL
+ - VF
+ - VFCMT
+ - Abstract
+ - PNF
+ acceptedTypes:
+ - type: SNMP_POLL
+ categories:
+ - DEPLOYMENT
+ - INFORMATIONAL
+ componentTypes:
+ - RESOURCE
+ - RESOURCE_INSTANCE
+ resourceTypes: *allResourceTypes
+ acceptedTypes:
+ - type: SNMP_TRAP
+ categories:
+ - DEPLOYMENT
+ - INFORMATIONAL
+ componentTypes:
+ - RESOURCE
+ - RESOURCE_INSTANCE
+ resourceTypes: *allResourceTypes
+ acceptedTypes:
+ - type: PM_DICTIONARY
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE
+ resourceTypes:
+ - VF
+ - PNF
+ acceptedTypes:
+ - yaml
+ - yml
+ - type: YANG_MODULE
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE
+ resourceTypes:
+ - VF
+ - PNF
+ acceptedTypes:
+ - yang
+ - type: ANSIBLE_PLAYBOOK
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE
+ resourceTypes:
+ - VF
+ - PNF
+ acceptedTypes:
+ - yaml
+ - yml
+ - type: ONBOARDED_PACKAGE
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE
+ resourceTypes:
+ - VF
+ - PNF
+ acceptedTypes:
+ - csar
+ - zip
+ - type: ETSI_PACKAGE
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE
+ resourceTypes:
+ - VF
+ - PNF
+ acceptedTypes:
+ - csar
+ - zip
+ - type: HEAT_ENV
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE_INSTANCE
+ resourceTypes:
+ acceptedTypes:
+ - env
+ - type: VF_MODULES_METADATA
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE_INSTANCE
+ resourceTypes:
+ acceptedTypes:
+ - json
+ - type: DCAE_INVENTORY_TOSCA
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE_INSTANCE
+ resourceTypes:
+ acceptedTypes:
+ - yml
+ - yaml
+ - type: DCAE_INVENTORY_JSON
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE_INSTANCE
+ resourceTypes:
+ acceptedTypes:
+ - json
+ - type: DCAE_INVENTORY_POLICY
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE_INSTANCE
+ resourceTypes:
+ acceptedTypes:
+ - emf
+ - type: DCAE_INVENTORY_DOC
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE_INSTANCE
+ resourceTypes:
+ acceptedTypes:
+ - type: DCAE_INVENTORY_BLUEPRINT
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE_INSTANCE
+ resourceTypes:
+ acceptedTypes:
+ - type: DCAE_INVENTORY_EVENT
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - RESOURCE_INSTANCE
+ resourceTypes:
+ acceptedTypes:
+ - type: CHEF
+ categories:
+ - INFORMATIONAL
+ componentTypes:
+ - RESOURCE
+ resourceTypes: *allResourceTypes
+ acceptedTypes:
+ - type: PUPPET
+ categories:
+ - INFORMATIONAL
+ componentTypes:
+ - RESOURCE
+ resourceTypes: *allResourceTypes
+ acceptedTypes:
+ - type: SHELL
+ categories:
+ - INFORMATIONAL
+ componentTypes:
+ - RESOURCE
+ resourceTypes: *allResourceTypes
+ acceptedTypes:
+ - type: YANG
+ categories:
+ - INFORMATIONAL
+ componentTypes:
+ - RESOURCE
+ resourceTypes: *allResourceTypes
+ acceptedTypes:
+ - type: BPEL
+ categories:
+ - INFORMATIONAL
+ componentTypes:
+ - RESOURCE
+ resourceTypes: *allResourceTypes
+ acceptedTypes:
+ - type: DG_XML
+ categories:
+ - INFORMATIONAL
+ componentTypes:
+ - RESOURCE
+ resourceTypes: *allResourceTypes
+ acceptedTypes:
+ - type: MURANO_PKG
+ categories:
+ - INFORMATIONAL
+ componentTypes:
+ - RESOURCE
+ resourceTypes: *allResourceTypes
+ acceptedTypes:
+ - type: PNF_SW_INFORMATION
+ categories:
+ - INFORMATIONAL
+ componentTypes:
+ - RESOURCE
+ resourceTypes:
+ - PNF
+ acceptedTypes:
+ - yaml
+ - yml
+ - type: GUIDE
+ categories:
+ - INFORMATIONAL
+ componentTypes:
+ - RESOURCE
+ resourceTypes:
+ - VF
+ - VFC
+ - CVFC
+ - PNF
+ acceptedTypes:
+ - yaml
+ - yml
+ - type: FLOW
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - SERVICE
+ resourceTypes: *allResourceTypes
+ acceptedTypes:
+ - type: SHELL_SCRIPT
+ categories:
+ - DEPLOYMENT
+ componentTypes:
+ - SERVICE
+ - SERVICE_INSTANCE
+ - RESOURCE
+ - RESOURCE_INSTANCE
+ resourceTypes: *allResourceTypes
+ acceptedTypes:
+ - sh
+ - type: TOSCA_CSAR
+ categories:
+ - TOSCA
+ componentTypes:
+ resourceTypes:
+ acceptedTypes:
+ - csar
+ - type: TOSCA_TEMPLATE
+ categories:
+ - TOSCA
+ componentTypes:
+ resourceTypes:
+ acceptedTypes:
+ - yml
+ - yaml
+ - type: NETWORK_CALL_FLOW
+ categories:
+ componentTypes:
+ resourceTypes:
+ acceptedTypes:
+ - type: ICON
+ categories:
+ componentTypes:
+ resourceTypes:
+ acceptedTypes:
+
+deploymentResourceArtifacts:
+
+deploymentResourceInstanceArtifacts:
+ heatEnv:
+ displayName: "HEAT ENV"
+ type: HEAT_ENV
+ description: "Auto-generated HEAT Environment deployment artifact"
+ fileExtension: "env"
+ VfHeatEnv:
+ displayName: "VF HEAT ENV"
+ type: HEAT_ENV
+ description: "VF Auto-generated HEAT Environment deployment artifact"
+ fileExtension: "env"
+
+#tosca artifacts placeholders
+toscaArtifacts:
+ assetToscaTemplate:
+ artifactName: -template.yml
+ displayName: Tosca Template
+ type: TOSCA_TEMPLATE
+ description: TOSCA representation of the asset
+ assetToscaCsar:
+ artifactName: -csar.csar
+ displayName: Tosca Model
+ type: TOSCA_CSAR
+ description: TOSCA definition package of the asset
+
+#Informational artifacts placeHolder
+excludeResourceCategory:
+ - Generic
+excludeResourceType:
+ - PNF
+ - CR
+informationalResourceArtifacts:
+ features:
+ displayName: Features
+ type: OTHER
+ capacity:
+ displayName: Capacity
+ type: OTHER
+ vendorTestResult:
+ displayName: Vendor Test Result
+ type: OTHER
+ testScripts:
+ displayName: Test Scripts
+ type: OTHER
+ CloudQuestionnaire:
+ displayName: Cloud Questionnaire (completed)
+ type: OTHER
+ HEATTemplateFromVendor:
+ displayName: HEAT Template from Vendor
+ type: HEAT
+ resourceSecurityTemplate:
+ displayName: Resource Security Template
+ type: OTHER
+
+excludeServiceCategory:
+
+informationalServiceArtifacts:
+ serviceArtifactPlan:
+ displayName: Service Artifact Plan
+ type: OTHER
+ summaryOfImpactsToECOMPElements:
+ displayName: Summary of impacts to ECOMP elements,OSSs, BSSs
+ type: OTHER
+ controlLoopFunctions:
+ displayName: Control Loop Functions
+ type: OTHER
+ dimensioningInfo:
+ displayName: Dimensioning Info
+ type: OTHER
+ affinityRules:
+ displayName: Affinity Rules
+ type: OTHER
+ operationalPolicies:
+ displayName: Operational Policies
+ type: OTHER
+ serviceSpecificPolicies:
+ displayName: Service-specific Policies
+ type: OTHER
+ engineeringRules:
+ displayName: Engineering Rules (ERD)
+ type: OTHER
+ distributionInstructions:
+ displayName: Distribution Instructions
+ type: OTHER
+ certificationTestResults:
+ displayName: TD Certification Test Results
+ type: OTHER
+ deploymentVotingRecord:
+ displayName: Deployment Voting Record
+ type: OTHER
+ serviceQuestionnaire:
+ displayName: Service Questionnaire
+ type: OTHER
+ serviceSecurityTemplate:
+ displayName: Service Security Template
+ type: OTHER
+
+serviceApiArtifacts:
+ configuration:
+ displayName: Configuration
+ type: OTHER
+ instantiation:
+ displayName: Instantiation
+ type: OTHER
+ monitoring:
+ displayName: Monitoring
+ type: OTHER
+ reporting:
+ displayName: Reporting
+ type: OTHER
+ logging:
+ displayName: Logging
+ type: OTHER
+ testing:
+ displayName: Testing
+ type: OTHER
+
+
+additionalInformationMaxNumberOfKeys: 50
+
+systemMonitoring:
+ enabled: false
+ isProxy: false
+ probeIntervalInSeconds: 15
+heatArtifactDeploymentTimeout:
+ defaultMinutes: 30
+ minMinutes: 1
+ maxMinutes: 120
+
+unLoggedUrls:
+ - /sdc2/rest/monitoring
+ - /sdc2/rest/healthCheck
+
+cleanComponentsConfiguration:
+ cleanIntervalInMinutes: 1440
+ componentsToClean:
+ - Resource
+ - Service
+
+artifactsIndex: resources
+
+heatEnvArtifactHeader: ""
+heatEnvArtifactFooter: ""
+
+onboarding:
+ host: <%= node['ONBOARDING_BE_VIP'] %>
+ <% if node[:disableHttp] -%>
+ protocol: https
+ port: <%= node['ONBOARDING_BE'][:https_port] %>
+ <% else %>
+ protocol: http
+ port: <%= node['ONBOARDING_BE'][:http_port] %>
+ <% end -%>
+ downloadCsarUri: "/onboarding-api/v1.0/vendor-software-products/packages"
+ healthCheckUri: "/onboarding-api/v1.0/healthcheck"
+
+dcae:
+ host: <%= @dcae_be_vip %>
+ <% if node[:disableHttp] -%>
+ protocol: https
+ port: <%= node['DCAE']['BE'][:https_port] %>
+ <% else %>
+ protocol: http
+ port: <%= node['DCAE']['BE'][:http_port] %>
+ <% end -%>
+ healthCheckUri: "/dcae/healthCheck"
+
+# #GSS IDNS
+switchoverDetector:
+ gBeFqdn:
+ gFeFqdn:
+ beVip: 1.2.3.4
+ feVip: 1.2.3.4
+ beResolveAttempts: 3
+ feResolveAttempts: 3
+ enabled: false
+ interval: 60
+ changePriorityUser: ecompasdc
+ changePriorityPassword: ecompasdc123
+ publishNetworkUrl:
+ publishNetworkBody: '{"note":"comment"}'
+ groups:
+ beSet: { changePriorityUrl: "", changePriorityBody: '{"name":"","uri":"","no_ad_redirection":false,"v4groups":{"failover_groups":["","","failover_policy":["FAILALL"]},"comment":"","intended_app_proto":"DNS"}'}
+ feSet: { changePriorityUrl: "", changePriorityBody: '{"name":"","uri":"","no_ad_redirection":false,"v4groups":{"failover_groups":["",""],"failover_policy":["FAILALL"]},"comment":"","intended_app_proto":"DNS"}'}
+
+applicationL1Cache:
+ datatypes:
+ enabled: true
+ firstRunDelay: 10
+ pollIntervalInSec: 60
+
+applicationL2Cache:
+ enabled: false
+ catalogL1Cache:
+ enabled: false
+ resourcesSizeInCache: 300
+ servicesSizeInCache: 200
+ productsSizeInCache: 100
+ queue:
+ syncIntervalInSecondes: 43200
+ waitOnShutDownInMinutes: 10
+ numberOfCacheWorkers: 4
+
+toscaValidators:
+ stringMaxLength: 2500
+
+disableAudit: false
+
+consumerBusinessLogic: true
+
+vfModuleProperties:
+ min_vf_module_instances:
+ forBaseModule: 1
+ forNonBaseModule: 0
+ max_vf_module_instances:
+ forBaseModule: 1
+ forNonBaseModule:
+ initial_count:
+ forBaseModule: 1
+ forNonBaseModule: 0
+ vf_module_type:
+ forBaseModule: Base
+ forNonBaseModule: Expansion
+
+genericAssetNodeTypes:
+ VFC: org.openecomp.resource.abstract.nodes.VFC
+ CVFC: org.openecomp.resource.abstract.nodes.VFC
+ VF : org.openecomp.resource.abstract.nodes.VF
+ CR : org.openecomp.resource.abstract.nodes.CR
+ PNF: org.openecomp.resource.abstract.nodes.PNF
+ Service: org.openecomp.resource.abstract.nodes.service
+ ETSI Network Service: tosca.nodes.nfv.NS
+
+serviceNodeTypes:
+ ETSI Network Service: tosca.nodes.nfv.NS
+
+workloadContext: Production
+
+environmentContext:
+ defaultValue: General_Revenue-Bearing
+ validValues:
+ - Critical_Revenue-Bearing
+ - Vital_Revenue-Bearing
+ - Essential_Revenue-Bearing
+ - Important_Revenue-Bearing
+ - Needed_Revenue-Bearing
+ - Useful_Revenue-Bearing
+ - General_Revenue-Bearing
+ - Critical_Non-Revenue
+ - Vital_Non-Revenue
+ - Essential_Non-Revenue
+ - Important_Non-Revenue
+ - Needed_Non-Revenue
+ - Useful_Non-Revenue
+ - General_Non-Revenue
+
+gabConfig:
+ - artifactType: 'VES_EVENTS'
+ pathsAndNamesDefinitions:
+ -
+ friendlyName: "Action"
+ path: "event.action[2]"
+ searchable: true
+ -
+ friendlyName: "Comment"
+ path: "event.comment"
+ searchable: true
+ -
+ friendlyName: "Alarm Additional Information"
+ path: "event.structure.faultFields.structure.alarmAdditionalInformation.comment"
+ searchable: true
+ - artifactType: 'PM_DICTIONARY'
+ pathsAndNamesDefinitions:
+ -
+ friendlyName: "measType"
+ path: "pmMetaData.pmFields.measType"
+ searchable: true
+ -
+ friendlyName: "measDescription"
+ path: "pmMetaData.pmFields.measDescription"
+ searchable: true
+ -
+ friendlyName: "measCondition"
+ path: "pmMetaData.pmFields.measCondition"
+ searchable: false
+ -
+ friendlyName: "measResultUnits"
+ path: "pmMetaData.pmFields.measResultUnits"
+ searchable: false
+ -
+ friendlyName: "measResultRange"
+ path: "pmMetaData.pmFields.measResultRange"
+ searchable: false
+ -
+ friendlyName: "measObjClass"
+ path: "pmMetaData.pmFields.measObjClass"
+ searchable: true
+ -
+ friendlyName: "measCollectionMethod"
+ path: "pmMetaData.pmFields.measCollectionMethod"
+ searchable: false
+ -
+ friendlyName: "measInfoId"
+ path: "pmMetaData.pmFields.measInfoId"
+ searchable: true
+ -
+ friendlyName: "iMeasInfoId"
+ path: "pmMetaData.pmFields.iMeasInfoId"
+ searchable: false
+
+dmaapConsumerConfiguration:
+ active: <%= @dmaap_active %>
+ hosts: localhost:3905
+ consumerGroup: sdc
+ consumerId: mama
+ timeoutMs: 15000
+ limit: 1
+ pollingInterval: 2
+ topic: topic
+ latitude: 32.109333
+ longitude: 34.855499
+ version: 1.0
+ serviceName: localhost/events
+ environment: TEST
+ partner: BOT_R
+ routeOffer: MR1
+ protocol: https
+ contenttype: application/json
+ dme2TraceOn: true
+ aftEnvironment: AFTUAT
+ aftDme2ConnectionTimeoutMs: 15000
+ aftDme2RoundtripTimeoutMs: 240000
+ aftDme2ReadTimeoutMs: 50000
+ dme2preferredRouterFilePath: DME2preferredRouter.txt
+ timeLimitForNotificationHandleMs: 120000
+ credential:
+ username: user
+ password:
+ aftDme2SslEnable: true
+ aftDme2ClientKeystore: /var/lib/jetty/etc/truststore
+ aftDme2ClientKeystorePassword: ""
+ aftDme2ClientSslCertAlias: certman
+
+dmaapProducerConfiguration:
+ active: true
+ hosts: <%= node['DMAAP']['producer']['host']%>
+ consumerGroup: sdc-<%= node.chef_environment %>-<%= node['DMAAP']['random_id'] %>
+ consumerId: sdc-<%= node.chef_environment %>1-<%= node['DMAAP']['random_id'] %>
+ timeoutMs: 15000
+ limit: 1
+ pollingInterval: 2
+ topic: <%= node['DMAAP']['producer']['topic'] %>
+ latitude: 32.109333
+ longitude: 34.855499
+ version: 1.0
+ serviceName: <%= node['DMAAP']['producer']['serviceName'] %>
+ environment: <%= node['DMAAP']['producer']['environment'] %>
+ partner: BOT_R
+ routeOffer: MR1
+ protocol: <%= node['http_protocol'] %>
+ contenttype: application/json
+ dme2TraceOn: true
+ aftEnvironment: <%= node['DMAAP']['producer']['aftEnvironment']%>
+ aftDme2ConnectionTimeoutMs: 15000
+ aftDme2RoundtripTimeoutMs: 240000
+ aftDme2ReadTimeoutMs: 50000
+ dme2preferredRouterFilePath: <%= node['DMAAP']['producer']['dme2preferredRouterFilePath'] %>
+ timeLimitForNotificationHandleMs: 120000
+ credential:
+ username: <%= node['DMAAP']['producer']['username'] %>
+ password: <%= node['DMAAP']['producer']['password'] %>
+ aftDme2SslEnable: true
+ aftDme2ClientKeystore: /var/lib/jetty/etc/truststore
+ aftDme2ClientKeystorePassword: <%= node['jetty']['dmaap_truststore_pwd'] %>
+ aftDme2ClientSslCertAlias: certman
+
+
+# ToDo: AF - had to remove due to configuration laod class failure
+#dmeConfiguration:
+# lookupUriFormat: "http://DME2RESOLVE/service=%s/version=1.0.0/envContext=%s/routeOffer=DEFAULT"
+# dme2Search: DME2SEARCH
+# dme2Resolve: DME2RESOLVE
+
+excludedPolicyTypesMapping:
+ # VF:
+ # - a.b.c
+ # - c.d.e
+ #CR:
+ # - x.y.z
+
+excludedGroupTypesMapping:
+ CR:
+ - org.openecomp.groups.VfModule
+ - org.openecomp.groups.heat.HeatStack
+ - org.openecomp.groups.Group
+ - tosca.groups.Root
+ PNF:
+ - org.openecomp.groups.VfModule
+ - org.openecomp.groups.heat.HeatStack
+ - org.openecomp.groups.Group
+ - tosca.groups.Root
+ VF:
+ - org.openecomp.groups.VfModule
+ - org.openecomp.groups.heat.HeatStack
+ - org.openecomp.groups.Group
+ - tosca.groups.Root
+ Service:
+ - org.openecomp.groups.VfModule
+ - org.openecomp.groups.heat.HeatStack
+ - org.openecomp.groups.Group
+ - tosca.groups.Root
+
+healthStatusExclude:
+ - DE
+ - DMAAP
+ - DMAAP_PRODUCER
+ - ON_BOARDING
+ - DCAE
+ - PORTAL
+ - External API
+
+#Auto Healing
+enableAutoHealing: false
+appVersion: <%= @app_version %>
+
+artifactGeneratorConfig: Artifact-Generator.properties
+resourcesForUpgrade:
+ 8.0:
+ - org.openecomp.resource.cp.extCP
+ - tosca.nodes.network.Network
+ - tosca.nodes.network.Port
+ - org.openecomp.resource.cp.nodes.network.SubInterface
+skipUpgradeFailedVfs: true
+skipUpgradeVSPs: true
+autoHealingOwner: jh0003
+supportAllottedResourcesAndProxy: true
+deleteLockTimeoutInSeconds: 60
+maxDeleteComponents: 10
+
+# Cadi filter (access restriction) Parameters
+aafNamespace: <%= node['aafNamespace'] %>
+aafAuthNeeded: <%= node['access_restriction']['aafAuthNeeded'] %>
+
+cadiFilterParams:
+ AFT_LATITUDE: "32.780140"
+ AFT_LONGITUDE: "-96.800451"
+ hostname: <%= node['BE_VIP'] %>
+ aaf_id: <%= node['access_restriction']['aaf_id'] %>
+ aaf_env: <%= node['access_restriction']['aaf_env'] %>
+ aaf_url: <%= node['access_restriction']['aaf_url'] %>
+ csp_domain: <%= node['access_restriction']['csp_domain'] %>
+ cadi_keyfile: <%= node['access_restriction']['cadi_keyfile'] %>
+ aaf_password: <%= node['access_restriction']['aaf_password'] %>
+ cadi_loglevel: <%= node['access_restriction']['cadi_loglevel'] %>
+ AFT_ENVIRONMENT: <%= node['access_restriction']['AFT_ENVIRONMENT'] %>
+ cadiX509Issuers: <%= node['access_restriction']['cadiX509Issuers'] %>
+ cadi_truststore: <%= node['access_restriction']['cadi_truststore'] %>
+ cadi_truststore_password: <%= node['access_restriction']['cadi_truststore_password'] %>
+
+# This configuration entry lists all node type names prefix that shall be allowed on SDC.
+definedResourceNamespace:
+ - org.openecomp.resource.
+
+# This configuration entry lists all Directives values that shall be allowed on SDC.
+directives:
+ - select
+ - selectable
+ - substitute
+ - substitutable
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-distribution-engine-configuration.yaml.erb b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-distribution-engine-configuration.yaml.erb
new file mode 100644
index 0000000000..0fa6936f74
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-distribution-engine-configuration.yaml.erb
@@ -0,0 +1,82 @@
+uebServers:
+ <% node['UEB']['fqdn'].each do |conn| -%>
+ - <%= conn %>
+ <% end -%>
+
+uebPublicKey: <%= node['UEB']['PublicKey'] %>
+uebSecretKey: <%= node['UEB']['SecretKey'] %>
+
+distributionNotifTopicName: SDC-DISTR-NOTIF-TOPIC
+distributionStatusTopicName: SDC-DISTR-STATUS-TOPIC
+
+initRetryIntervalSec: 5
+initMaxIntervalSec: 60
+
+distribNotifServiceArtifactTypes:
+ info:
+ - MURANO-PKG
+
+distribNotifResourceArtifactTypes:
+ lifecycle:
+ - HEAT
+ - DG-XML
+
+environments:
+ - <%= node.chef_environment %>
+
+distributionStatusTopic:
+ pollingIntervalSec: 60
+ fetchTimeSec: 15
+ consumerGroup: sdc-<%= node.chef_environment %>
+ consumerId: sdc-<%= node.chef_environment %>1
+
+
+distributionNotificationTopic:
+ minThreadPoolSize: 0
+ maxThreadPoolSize: 10
+ maxWaitingAfterSendingSeconds: 5
+
+createTopic:
+ partitionCount: 1
+ replicationCount: 1
+
+startDistributionEngine: true
+
+#This is false by default, since ONAP Dmaap currently doesn't support https
+useHttpsWithDmaap: false
+opEnvRecoveryIntervalSec: 180
+allowedTimeBeforeStaleSec: 300
+
+aaiConfig:
+ httpRequestConfig:
+ serverRootUrl: https://localhost:8443
+ resourceNamespaces:
+ operationalEnvironments: /aai/v12/cloud-infrastructure/operational-environments
+
+ httpClientConfig:
+ timeouts:
+ readTimeoutMs: 5000
+ connectTimeoutMs: 1000
+ clientCertificate:
+ keyStore: /var/lib/jetty/base/be/etc/non-prod.jks
+ keyStorePassword: hmXYcznAljMSisdy8zgcag==
+ headers:
+ X-FromAppId: asdc
+ numOfRetries: 3
+
+msoConfig:
+ httpRequestConfig:
+ serverRootUrl: http://127.0.0.1:8080/onap/mso/infra/modelDistributions/v1
+ resourceNamespaces:
+ distributions: /distributions
+
+ httpClientConfig:
+ timeouts:
+ readTimeoutMs: 2000
+ connectTimeoutMs: 500
+ basicAuthorization:
+ userName: asdc
+ password: OTLEp5lfVhYdyw5EAtTUBQ==
+ numOfRetries: 3
+
+currentArtifactInstallationTimeout: 120
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-janusgraph.properties.erb b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-janusgraph.properties.erb
new file mode 100644
index 0000000000..0a9dd073c0
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-janusgraph.properties.erb
@@ -0,0 +1,27 @@
+storage.backend=cql
+storage.hostname=<%= @cassandra_ip %>
+storage.port=<%= @cassandra_cql_port %>
+storage.username=<%= @cassandra_usr %>
+storage.password=<%= @cassandra_pwd %>
+storage.connection-timeout=<%= @janus_connection_timeout %>
+storage.cql.keyspace=sdctitan
+
+storage.cql.ssl.enabled=<%= @cassandra_ssl_enabled %>
+storage.cql.ssl.truststore.location=<%= @cassandra_truststore_path %>
+storage.cql.ssl.truststore.password=<%= @cassandra_truststore_password %>
+
+storage.cql.read-consistency-level=LOCAL_QUORUM
+storage.cql.write-consistency-level=LOCAL_QUORUM
+storage.cql.replication-strategy-class=NetworkTopologyStrategy
+storage.cql.replication-strategy-options=<%= @DC_NAME_WITH_REP %>
+storage.cql.local-datacenter=<%= @DC_NAME %>
+
+
+cache.db-cache = false
+cache.db-cache-clean-wait = 20
+cache.db-cache-time = 180000
+cache.db-cache-size = 0.5
+
+cache.tx-cache-size = 1000000
+
+storage.lock.retries=5 \ No newline at end of file
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-key.properties.erb b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-key.properties.erb
new file mode 100644
index 0000000000..007a36e350
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-key.properties.erb
@@ -0,0 +1,41 @@
+###
+# ============LICENSE_START==========================================
+# ONAP Portal SDK
+# ===================================================================
+# Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+# ===================================================================
+#
+# Unless otherwise specified, all software contained herein is licensed
+# under the Apache License, Version 2.0 (the “License”);
+# you may not use this software except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# Unless otherwise specified, all documentation contained herein is licensed
+# under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
+# you may not use this documentation except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://creativecommons.org/licenses/by/4.0/
+#
+# Unless required by applicable law or agreed to in writing, documentation
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# ============LICENSE_END============================================
+#
+#
+###
+
+# Properties read by the ECOMP Framework library (epsdk-fw)
+
+cipher.enc.key = <%= @cipher_key %> \ No newline at end of file
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-onboarding-configuration.yaml.erb b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-onboarding-configuration.yaml.erb
new file mode 100644
index 0000000000..4646661dfb
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-onboarding-configuration.yaml.erb
@@ -0,0 +1,5 @@
+notifications:
+ pollingIntervalMsec: 2000
+ selectionSize: 100
+ beHost: <%= @catalog_ip %>
+ beHttpPort: <%= @catalog_port %> \ No newline at end of file
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-portal.properties.erb b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-portal.properties.erb
new file mode 100644
index 0000000000..159a6cce15
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-portal.properties.erb
@@ -0,0 +1,89 @@
+###
+# ============LICENSE_START==========================================
+# ONAP Portal SDK
+# ===================================================================
+# Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+# ===================================================================
+#
+# Unless otherwise specified, all software contained herein is licensed
+# under the Apache License, Version 2.0 (the “License”);
+# you may not use this software except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# Unless otherwise specified, all documentation contained herein is licensed
+# under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
+# you may not use this documentation except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://creativecommons.org/licenses/by/4.0/
+#
+# Unless required by applicable law or agreed to in writing, documentation
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# ============LICENSE_END============================================
+#
+#
+###
+# Properties read by ECOMP Framework library, ecompFW.jar
+
+##########################################################################
+# The following properties should NOT be changed by partner applications.
+##########################################################################
+
+portal.api.prefix = /api
+max.idle.time = 5
+user.attribute.name = user_attribute
+
+#Use REST API instead of UEB to fetch the functional menu data
+use_rest_for_functional_menu=true
+
+
+##########################################################################
+# The following properties MUST be changed by partner applications.
+##########################################################################
+
+# Name of java class that implements the OnBoardingApiService interface.
+portal.api.impl.class = org.openecomp.sdc.be.ecomp.PortalRestApiCentralServiceImpl
+role_access_centralized = remote
+
+# Cookie set by CSP-SSO
+#csp_cookie_name = onapCsp
+
+# CSP setting, most use PROD; DEV also recognized
+csp_gate_keeper_prod_key = PROD
+
+# URL of the Portal where this app is onboarded
+ecomp_redirect_url = <%= @ecomp_redirect_url %>
+
+# URL of the ECOMP Portal REST API
+ecomp_rest_url = <%= @ecomp_rest_url %>
+
+# Connection and Read timeout values
+ext_req_connection_timeout = 15000
+ext_req_read_timeout = 20000
+
+# Name of java class that implements the OnBoardingApiService interface.
+portal.api.impl.class = org.openecomp.sdc.be.ecomp.PortalRestApiCentralServiceImpl
+
+#Portal user & key
+portal_app_name = <%= @portal_app_name %>
+portal_pass = <%= @ecomp_portal_pass %>
+portal_user = <%= @ecomp_portal_user %>
+
+
+# UEB key generated while on-boarding
+ueb_app_key = ""
+
+# Applications do not need to run a UEB listener after 1607.
+ueb_listeners_enable = false
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/cadi.properties.erb b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/cadi.properties.erb
new file mode 100644
index 0000000000..66654310e0
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/cadi.properties.erb
@@ -0,0 +1,54 @@
+# Configure AAF
+aaf_locate_url=<%= node['access_restriction']['aaf_locate_url'] %>
+
+aaf_url=<%= node['access_restriction']['aaf_url'] %>
+
+#if you are running aaf service from a docker image you have to use aaf service IP and port number
+aaf_id=<%= node['access_restriction']['aaf_id'] %>
+#Encrypt the password using AAF Jar
+aaf_password=<%= node['access_restriction']['aaf_password'] %>
+# Sample CADI Properties, from CADI 1.4.2
+hostname=<%= node['BE_VIP'] %>
+csp_domain=<%= node['access_restriction']['csp_domain'] %>
+
+# Add Absolute path to Keyfile
+cadi_keyfile=<%= node['access_restriction']['cadi_keyfile'] %>
+
+
+# This is required to accept Certificate Authentication from Certman certificates.
+# can be TEST, IST or PROD
+aaf_env=<%= node['access_restriction']['aaf_env'] %>
+
+# DEBUG prints off all the properties. Use to get started.
+cadi_loglevel=<%= node['access_restriction']['cadi_loglevel'] %>
+
+
+# Become CSO Poodle Compliant by only allowing sanctioned TLS versions
+# The following is the default
+# cadi_protocols=TLSv1.1,TLSv1.2
+
+# Default TrustStore - REQUIRED for changing PROTOCOL Defaults for DME2
+# Read https://wiki.web.att.com/pages/viewpage.action?pageId=574623569#URGENT:SolvingSSL2-3/TLSv1removalissues-Up-to-dateTruststore
+# Add Absolute path to truststore2020.jks
+cadi_truststore=<%= node['access_restriction']['cadi_truststore'] %>
+# Note: This is the ONLY password that doesn't have to be encrypted. All Java's TrustStores are this passcode by default, because they are public certs
+cadi_truststore_password=<%= node['access_restriction']['cadi_truststore_password'] %>
+
+# how to turn on SSL Logging
+#javax.net.debug=ssl
+
+##
+# Hint
+# Use "maps.bing.com" to get Lat and Long for an Address
+AFT_LATITUDE=32.780140
+AFT_LONGITUDE=-96.800451
+AFT_ENVIRONMENT=<%= node['access_restriction']['AFT_ENVIRONMENT'] %>
+AFT_DME2_CLIENT_IGNORE_SSL_CONFIG=<%= node['access_restriction']['AFT_DME2_CLIENT_IGNORE_SSL_CONFIG'] %>
+DME2.DEBUG=true
+AFT_DME2_HTTP_EXCHANGE_TRACE_ON=<%= node['access_restriction']['AFT_DME2_HTTP_EXCHANGE_TRACE_ON'] %>
+
+cadi_latitude=32.780140
+cadi_longitude=-96.800451
+
+aaf_root_ns=<%= node['aafNamespace'] %>
+aaf_api_version=2.0
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/http-ini.erb b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/http-ini.erb
new file mode 100644
index 0000000000..8f2669032b
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/http-ini.erb
@@ -0,0 +1,29 @@
+# ---------------------------------------
+# Module: http
+<%= @http_option %>
+
+### HTTP Connector Configuration
+
+## Connector host/address to bind to
+# jetty.http.host=0.0.0.0
+
+## Connector port to listen on
+jetty.http.port=<%= @http_port %>
+
+## Connector idle timeout in milliseconds
+jetty.http.idleTimeout=30000
+
+## Connector socket linger time in seconds (-1 to disable)
+# jetty.http.soLingerTime=-1
+
+## Number of acceptors (-1 picks default based on number of cores)
+# jetty.http.acceptors=-1
+
+## Number of selectors (-1 picks default based on number of cores)
+# jetty.http.selectors=-1
+
+## ServerSocketChannel backlog (0 picks platform default)
+# jetty.http.acceptorQueueSize=0
+
+## Thread priority delta to give to acceptor threads
+# jetty.http.acceptorPriorityDelta=0
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/https-ini.erb b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/https-ini.erb
new file mode 100644
index 0000000000..9999a4109b
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/https-ini.erb
@@ -0,0 +1,29 @@
+# ---------------------------------------
+# Module: https
+--module=https
+
+### HTTPS Connector Configuration
+
+## Connector host/address to bind to
+# jetty.https.host=0.0.0.0
+
+## Connector port to listen on
+jetty.https.port=<%= @https_port %>
+
+## Connector idle timeout in milliseconds
+jetty.https.idleTimeout=30000
+
+## Connector socket linger time in seconds (-1 to disable)
+# jetty.https.soLingerTime=-1
+
+## Number of acceptors (-1 picks default based on number of cores)
+# jetty.https.acceptors=-1
+
+## Number of selectors (-1 picks default based on number of cores)
+# jetty.https.selectors=-1
+
+## ServerSocketChannel backlog (0 picks platform default)
+# jetty.https.acceptorQueueSize=0
+
+## Thread priority delta to give to acceptor threads
+# jetty.https.acceptorPriorityDelta=0
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/ready-probe.sh.erb b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/ready-probe.sh.erb
new file mode 100644
index 0000000000..9f6646d63d
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/ready-probe.sh.erb
@@ -0,0 +1,9 @@
+#!/bin/bash
+health_check_http_code=$(curl -k --max-time 5 -o /dev/null -w '%{http_code}' <%= @protocol %>://127.0.0.1:<%= @port %>/sdc2/rest/healthCheck)
+
+if [[ "$health_check_http_code" -eq 200 ]]; then
+ exit 0
+else
+ echo "Health check http status: $health_check_http_code"
+ exit 1
+fi
diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/ssl-ini.erb b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/ssl-ini.erb
new file mode 100644
index 0000000000..278fdea2ae
--- /dev/null
+++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/ssl-ini.erb
@@ -0,0 +1,90 @@
+# ---------------------------------------
+# Module: ssl
+--module=ssl
+
+### TLS(SSL) Connector Configuration
+
+## Connector host/address to bind to
+# jetty.ssl.host=0.0.0.0
+
+## Connector port to listen on
+jetty.ssl.port=<%= @https_port %>
+
+## Connector idle timeout in milliseconds
+# jetty.ssl.idleTimeout=30000
+
+## Connector socket linger time in seconds (-1 to disable)
+# jetty.ssl.soLingerTime=-1
+
+## Number of acceptors (-1 picks default based on number of cores)
+# jetty.ssl.acceptors=-1
+
+## Number of selectors (-1 picks default based on number of cores)
+# jetty.ssl.selectors=-1
+
+## ServerSocketChannel backlog (0 picks platform default)
+# jetty.ssl.acceptorQueueSize=0
+
+## Thread priority delta to give to acceptor threads
+# jetty.ssl.acceptorPriorityDelta=0
+
+## Whether request host names are checked to match any SNI names
+# jetty.ssl.sniHostCheck=true
+
+## max age in seconds for a Strict-Transport-Security response header (default -1)
+# jetty.ssl.stsMaxAgeSeconds=31536000
+
+## include subdomain property in any Strict-Transport-Security header (default false)
+# jetty.ssl.stsIncludeSubdomains=true
+
+### SslContextFactory Configuration
+## Note that OBF passwords are not secure, just protected from casual observation
+## See http://www.eclipse.org/jetty/documentation/current/configuring-security-secure-passwords.html
+
+## Keystore file path (relative to $jetty.base)
+jetty.sslContext.keyStorePath=etc/org.onap.sdc.p12
+
+## Truststore file path (relative to $jetty.base)
+jetty.sslContext.trustStorePath=etc/org.onap.sdc.trust.jks
+
+## Keystore password
+# jetty.sslContext.keyStorePassword=OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4
+jetty.sslContext.keyStorePassword=<%= @jetty_keystore_pwd %>
+
+## Keystore type and provider
+# jetty.sslContext.keyStoreType=JKS
+# jetty.sslContext.keyStoreProvider=
+
+## KeyManager password
+# jetty.sslContext.keyManagerPassword=OBF:1u2u1wml1z7s1z7a1wnl1u2g
+jetty.sslContext.keyManagerPassword=<%= @jetty_keymanager_pwd %>
+
+## Truststore password
+# jetty.sslContext.trustStorePassword=OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4
+jetty.sslContext.trustStorePassword=<%= @jetty_truststore_pwd %>
+
+## Truststore type and provider
+# jetty.sslContext.trustStoreType=JKS
+# jetty.sslContext.trustStoreProvider=
+
+## whether client certificate authentication is required
+# jetty.sslContext.needClientAuth=false
+
+## Whether client certificate authentication is desired
+# jetty.sslContext.wantClientAuth=false
+
+## Whether cipher order is significant (since java 8 only)
+# jetty.sslContext.useCipherSuitesOrder=true
+
+## To configure Includes / Excludes for Cipher Suites or Protocols see tweak-ssl.xml example at
+## https://www.eclipse.org/jetty/documentation/current/configuring-ssl.html#configuring-sslcontextfactory-cipherSuites
+
+## Set the size of the SslSession cache
+# jetty.sslContext.sslSessionCacheSize=-1
+
+## Set the timeout (in seconds) of the SslSession cache timeout
+# jetty.sslContext.sslSessionTimeout=-1
+
+## Allow SSL renegotiation
+# jetty.sslContext.renegotiationAllowed=true
+# jetty.sslContext.renegotiationLimit=5