summaryrefslogtreecommitdiffstats
path: root/adapters/mso-openstack-adapters/src/test/resources/data.sql
diff options
context:
space:
mode:
Diffstat (limited to 'adapters/mso-openstack-adapters/src/test/resources/data.sql')
-rw-r--r--adapters/mso-openstack-adapters/src/test/resources/data.sql145
1 files changed, 145 insertions, 0 deletions
diff --git a/adapters/mso-openstack-adapters/src/test/resources/data.sql b/adapters/mso-openstack-adapters/src/test/resources/data.sql
new file mode 100644
index 0000000000..5fabec6c8a
--- /dev/null
+++ b/adapters/mso-openstack-adapters/src/test/resources/data.sql
@@ -0,0 +1,145 @@
+
+insert into heat_files(artifact_uuid, name, version, description, body, artifact_checksum, creation_timestamp) values
+('00535bdd-0878-4478-b95a-c575c742bfb0', 'nimbus-ethernet-gw', '1', 'created from csar', 'DEVICE=$dev\nBOOTPROTO=none\nNM_CONTROLLED=no\nIPADDR=$ip\nNETMASK=$netmask\nGATEWAY=$gateway\n', 'MANUAL RECORD', '2017-01-21 23:56:43');
+
+
+insert into tosca_csar(artifact_uuid, name, version, description, artifact_checksum, url, creation_timestamp) values
+('0513f839-459d-46b6-aa3d-2edfef89a079', 'service-Ciservicee3756aea561a-csar.csar', '1', 'TOSCA definition package of the asset', 'YTk1MmY2MGVlNzVhYTU4YjgzYjliMjNjMmM3NzU1NDc=', '/sdc/v1/catalog/services/Ciservicee3756aea561a/1.0/artifacts/service-Ciservicee3756aea561a-csar.csar', '2017-11-27 11:38:27');
+
+insert into service(model_uuid, model_name, model_invariant_uuid, model_version, description, creation_timestamp, tosca_csar_artifact_uuid, service_type, service_role, environment_context, workload_context) values
+('5df8b6de-2083-11e7-93ae-92361f002671', 'MSOTADevInfra_vSAMP10a_Service', '9647dfc4-2083-11e7-93ae-92361f002671', '1.0', 'MSO aLaCarte Vfmodule with addon', '2017-04-14 13:42:39', '0513f839-459d-46b6-aa3d-2edfef89a079', 'NA', 'NA', 'Luna', 'Oxygen');
+
+insert into service(model_uuid, model_name, model_invariant_uuid, model_version, description, creation_timestamp, tosca_csar_artifact_uuid, service_type, service_role, environment_context, workload_context) values
+('5df8b6de-2083-11e7-93ae-92361f002672', 'MSOTADevInfra_vSAMP10a_Service', '9647dfc4-2083-11e7-93ae-92361f002671', '2.0', 'MSO aLaCarte Vfmodule with addon', '2017-04-14 13:42:39', null, 'NA', 'NA', 'Luna', 'Oxygen');
+
+INSERT INTO `heat_template` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `TIMEOUT_MINUTES`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('aa874603-4222-11e7-9252-005056850d2e', 'module_mns_zrdm3frwl01exn_01_rgvm_1.yml', '1', 'created from csar', 'heat_template_version: 2013-05-23 description: heat template that creates TEST VNF parameters: TEST_server_name: type: string label: TEST server name description: TEST server name TEST_image_name: type: string label: image name description: TEST image name TEST_flavor_name: type: string label: TEST flavor name description: flavor name of TEST instance TEST_Role_net_name: type: string label: TEST network name description: TEST network name TEST_vnf_id: type: string label: TEST VNF Id description: TEST VNF Id resources:TEST: type: OS::Nova::Server properties: name: { get_param: TEST_server_name } image: { get_param: TEST_image_name } flavor: { get_param: TEST_flavor_name } networks: - port: { get_resource: TEST_port_0} metadata: vnf_id: {get_param: TEST_vnf_id} TEST_port_0: type: OS::Neutron::Port properties: network: { get_param: TEST_Role_net_name }', 60, 'MANUAL RECORD', '2017-01-21 23:26:56');
+INSERT INTO `heat_template` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `TIMEOUT_MINUTES`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('ff874603-4222-11e7-9252-005056850d2e', 'module_mns_zrdm3frwl01exn_01_rgvm_1.yml', '1', 'created from csar', 'heat_template_version: 2013-05-23 description: heat template that creates TEST VNF parameters: TEST_server_name: type: string label: TEST server name description: TEST server name TEST_image_name: type: string label: image name description: TEST image name TEST_flavor_name: type: string label: TEST flavor name description: flavor name of TEST instance TEST_Role_net_name: type: string label: TEST network name description: TEST network name TEST_vnf_id: type: string label: TEST VNF Id description: TEST VNF Id resources:TEST: type: OS::Nova::Server properties: name: { get_param: TEST_server_name } image: { get_param: TEST_image_name } flavor: { get_param: TEST_flavor_name } networks: - port: { get_resource: TEST_port_0} metadata: vnf_id: {get_param: TEST_vnf_id} TEST_port_0: type: OS::Neutron::Port properties: network: { get_param: TEST_Role_net_name }', 60, 'MANUAL RECORD', '2017-01-21 23:26:56');
+INSERT INTO `heat_template` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `TIMEOUT_MINUTES`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('ff87482f-4222-11e7-9252-005056850d2e', 'module_mns_zrdm3frwl01exn_01_rgvm_1.yml', '1', 'created from csar', 'heat_template_version: 2013-05-23 description: heat template that creates TEST VNF parameters: TEST_server_name: type: string label: TEST server name description: TEST server name TEST_image_name: type: string label: image name description: TEST image name TEST_flavor_name: type: string label: TEST flavor name description: flavor name of TEST instance TEST_Role_net_name: type: string label: TEST network name description: TEST network name TEST_vnf_id: type: string label: TEST VNF Id description: TEST VNF Id resources:TEST: type: OS::Nova::Server properties: name: { get_param: TEST_server_name } image: { get_param: TEST_image_name } flavor: { get_param: TEST_flavor_name } networks: - port: { get_resource: TEST_port_0} metadata: vnf_id: {get_param: TEST_vnf_id} TEST_port_0: type: OS::Neutron::Port properties: network: { get_param: TEST_Role_net_name }', 60, 'MANUAL RECORD', '2017-01-21 23:26:56');
+
+
+insert into heat_template_params(heat_template_artifact_uuid, param_name, is_required, param_type, param_alias) values
+('ff874603-4222-11e7-9252-005056850d2e', 'availability_zone_0', 1, 'string', ''),
+('ff874603-4222-11e7-9252-005056850d2e', 'exn_direct_net_fqdn',1, 'string', ''),
+('ff874603-4222-11e7-9252-005056850d2e', 'exn_hsl_net_fqdn', 1, 'string', '');
+
+insert into heat_environment(artifact_uuid, name, version, description, body, artifact_checksum, creation_timestamp) values
+('fefb1601-4222-11e7-9252-005056850d2e', 'module_nso.env', '2', 'Auto-generated HEAT Environment deployment artifact', 'parameters:\n availability_zone_0: \"alln-zone-1\"\n nso_flavor_name: \"citeis.1vCPUx2GB\"\n nso_image_name: \"RHEL-6.8-BASE-20160912\"\n nso_name_0: \"zrdm3vamp01nso001\"\n nso_oam_ip_0: \"172.18.25.175\"\n nso_oam_net_gw: \"172.18.25.1\"\n nso_oam_net_mask: \"255.255.255.0\"\n nso_sec_grp_id: \"36f48d82-f099-4437-bfbc-70d9e5d420d1\"\n nso_srv_grp_id: \"e431c477-5bd1-476a-bfa9-e4ce16b8356b\"\n oam_net_id: \"nso_oam\"\n vf_module_id: \"145cd730797234b4a40aa99335abc143\"\n vnf_id: \"730797234b4a40aa99335157b02871cd\"\n vnf_name: \"Mobisupport\"\n', 'MWI2ODY0Yjc1NDJjNWU1NjdkMTAyMjVkNzFmZDU0MzA=', '2017-11-27 08:42:58'),
+('fefb1751-4333-11e7-9252-005056850d2e', 'module_nso.env', '2', 'Auto-generated HEAT Environment deployment artifact', 'parameters:\n availability_zone_0: \"alln-zone-1\"\n nso_flavor_name: \"citeis.1vCPUx2GB\"\n nso_image_name: \"RHEL-6.8-BASE-20160912\"\n nso_name_0: \"zrdm3vamp01nso001\"\n nso_oam_ip_0: \"172.18.25.175\"\n nso_oam_net_gw: \"172.18.25.1\"\n nso_oam_net_mask: \"255.255.255.0\"\n nso_sec_grp_id: \"36f48d82-f099-4437-bfbc-70d9e5d420d1\"\n nso_srv_grp_id: \"e431c477-5bd1-476a-bfa9-e4ce16b8356b\"\n oam_net_id: \"nso_oam\"\n vf_module_id: \"145cd730797234b4a40aa99335abc143\"\n vnf_id: \"730797234b4a40aa99335157b02871cd\"\n vnf_name: \"Mobisupport\"\n', 'MWI2ODY0Yjc1NDJjNWU1NjdkMTAyMjVkNzFmZDU0MzA=', '2017-11-27 08:42:58');
+
+insert into vnf_resource(orchestration_mode, description, creation_timestamp, model_uuid, aic_version_min, aic_version_max, model_invariant_uuid, model_version, model_name, tosca_node_type, heat_template_artifact_uuid) values
+('HEAT', '1607 vSAMP10a - inherent network', '2017-04-14 21:46:28', 'ff2ae348-214a-11e7-93ae-92361f002671', '', '', '2fff5b20-214b-11e7-93ae-92361f002671', '1.0', 'vSAMP10a', 'VF', null);
+
+insert into vnf_resource_customization(model_customization_uuid, model_instance_name, min_instances, max_instances, availability_zone_max_count, nf_type, nf_role, nf_function, nf_naming_code, creation_timestamp, vnf_resource_model_uuid, multi_stage_design) values
+('68dc9a92-214c-11e7-93ae-92361f002671', 'vSAMP10a 1', '0', '0', '0', 'vSAMP', 'vSAMP', 'vSAMP', 'vSAMP', '2017-05-26 15:08:24', 'ff2ae348-214a-11e7-93ae-92361f002671', null);
+
+
+insert into vf_module(model_uuid, model_invariant_uuid, model_version, model_name, description, is_base, heat_template_artifact_uuid, vol_heat_template_artifact_uuid, creation_timestamp, vnf_resource_model_uuid) values
+
+('20c4431c-246d-11e7-93ae-92361f002671', '78ca26d0-246d-11e7-93ae-92361f002671', '2', 'vSAMP10aDEV::base::module-0', 'vSAMP10a DEV Base', '1', 'ff874603-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671'),
+('066de97e-253e-11e7-93ae-92361f002671', '64efd51a-2544-11e7-93ae-92361f002671', '2', 'vSAMP10aDEV::PCM::module-1', 'vSAMP10a DEV PCM', '0', 'ff87482f-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671');
+
+insert into vf_module_customization(model_customization_uuid, label, initial_count, min_instances, max_instances, availability_zone_count, heat_environment_artifact_uuid, vol_environment_artifact_uuid, creation_timestamp, vf_module_model_uuid) values
+('cb82ffd8-252a-11e7-93ae-92361f002671', 'base', '1', '0', '0', '0', 'fefb1601-4222-11e7-9252-005056850d2e', null, '2017-05-26 15:08:23', '20c4431c-246d-11e7-93ae-92361f002671'),
+('b4ea86b4-253f-11e7-93ae-92361f002671', 'PCM', '0', '0', '0', '0', 'fefb1751-4333-11e7-9252-005056850d2e', null, '2017-05-26 15:08:23', '066de97e-253e-11e7-93ae-92361f002671');
+
+
+insert into vnf_res_custom_to_vf_module_custom(vnf_resource_cust_model_customization_uuid, vf_module_cust_model_customization_uuid, creation_timestamp) values
+('68dc9a92-214c-11e7-93ae-92361f002671', 'cb82ffd8-252a-11e7-93ae-92361f002671', '2017-05-26 15:08:24'),
+('68dc9a92-214c-11e7-93ae-92361f002671', 'b4ea86b4-253f-11e7-93ae-92361f002671', '2017-05-26 15:08:24');
+
+insert into allotted_resource(model_uuid, model_invariant_uuid, model_version, model_name, tosca_node_type, subcategory, description, creation_timestamp) values
+('f6b7d4c6-e8a4-46e2-81bc-31cad5072842', 'b7a1b78e-6b6b-4b36-9698-8c9530da14af', '1.0', 'Tunnel_Xconn', '', '', '', '2017-05-26 15:08:24');
+
+insert into allotted_resource_customization(model_customization_uuid, model_instance_name, providing_service_model_invariant_uuid, target_network_role, nf_type, nf_role, nf_function, nf_naming_code, min_instances, max_instances, ar_model_uuid, creation_timestamp) values
+('367a8ba9-057a-4506-b106-fbae818597c6', 'Sec_Tunnel_Xconn 11', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'f6b7d4c6-e8a4-46e2-81bc-31cad5072842', TIMESTAMP '2017-01-20 16:14:20.0');
+
+
+insert into temp_network_heat_template_lookup(network_resource_model_name, heat_template_artifact_uuid, aic_version_min, aic_version_max) values
+('CONTRAIL30_GNDIRECT', 'ff874603-4222-11e7-9252-005056850d2e', '3', '3'),
+('CONTRAIL30_BASIC', 'ff874603-4222-11e7-9252-005056850d2e', '3', '3'),
+('CONTRAIL31_BASIC', 'ff874603-4222-11e7-9252-005056850d2e', '3', '3'),
+('CONTRAIL31_GNDIRECT', 'ff874603-4222-11e7-9252-005056850d2e', '3', '3');
+
+insert into network_resource(model_uuid, model_name, model_invariant_uuid, description, heat_template_artifact_uuid, neutron_network_type, model_version, tosca_node_type, aic_version_min, aic_version_max, orchestration_mode, creation_timestamp) values
+('10b36f65-f4e6-4be6-ae49-9596dc1c47fc', 'CONTRAIL30_GNDIRECT', 'ce4ff476-9641-4e60-b4d5-b4abbec1271d', 'Contrail 30 GNDIRECT NW', 'aa874603-4222-11e7-9252-005056850d2e', 'BASIC', '1.0', '', '3.0', '', 'HEAT', '2017-01-17 20:35:05'),
+('10b36f65-f4e6-4be6-ae49-9596dc1c47fd', 'CONTRAIL31_GNDIRECT', 'ce4ff476-9641-4e60-b4d5-b4abbec1271d', 'Contrail 31 GNDIRECT NW', 'aa874603-4222-11e7-9252-005056850d2e', 'PROVIDER', '1.0', '', '3.0', '', 'NEUTRON', '2017-01-17 20:35:05'),
+('10b36f65-f4e6-4be6-ae49-9596dc1c4789', 'CONTRAIL30_BASIC', 'ce4ff476-9641-4e60-b4d5-b4abbec1271d', 'Contrail 30 GNDIRECT NW', 'aa874603-4222-11e7-9252-005056850d2e', 'BASIC', '1.0', '', '3.0', '', 'HEAT', '2017-01-17 20:35:05'),
+('10b36f65-f4e6-4be6-ae49-9596dc1c4790', 'CONTRAIL31_BASIC', 'ce4ff476-9641-4e60-b4d5-b4abbec1271d', 'Contrail 30 GNDIRECT NW', 'aa874603-4222-11e7-9252-005056850d2e', 'BASIC', '2.0', '', '3.0', '', 'HEAT', '2017-01-17 20:35:05');
+
+insert into network_resource_customization(model_customization_uuid, model_instance_name, network_technology, network_type, network_role, network_scope, creation_timestamp, network_resource_model_uuid) values
+('3bdbb104-476c-483e-9f8b-c095b3d308ac', 'CONTRAIL30_GNDIRECT 9', '', '', '', '', '2017-04-19 14:28:32', '10b36f65-f4e6-4be6-ae49-9596dc1c47fc'),
+('3bdbb104-476c-483e-9f8b-c095b3d30844', 'CONTRAIL30_BASIC', '', 'CONTRAIL30_BASIC', '', '', '2017-04-19 14:28:32', '10b36f65-f4e6-4be6-ae49-9596dc1c4789'),
+('3bdbb104-476c-483e-9f8b-c095b3d3068c', 'CONTRAIL31_BASIC', '', 'CONTRAIL31_BASIC', '', '', '2017-04-19 14:28:32', '10b36f65-f4e6-4be6-ae49-9596dc1c4790');
+
+insert into vnf_resource(orchestration_mode, description, creation_timestamp, model_uuid, aic_version_min, aic_version_max, model_invariant_uuid, model_version, model_name, tosca_node_type, heat_template_artifact_uuid) values
+('HEAT', '1607 vSAMP10a - inherent network', '2017-04-14 21:46:28', 'ff2ae348-214a-11e7-93ae-92361f002672', '', '', '2fff5b20-214b-11e7-93ae-92361f002671', '2.0', 'vSAMP10a', 'VF', null);
+
+insert into vnf_resource_customization(model_customization_uuid, model_instance_name, min_instances, max_instances, availability_zone_max_count, nf_type, nf_role, nf_function, nf_naming_code, creation_timestamp, vnf_resource_model_uuid, multi_stage_design) values
+('68dc9a92-214c-11e7-93ae-92361f002672', 'vSAMP10a 2', '0', '0', '0', 'vSAMP', 'vSAMP', 'vSAMP', 'vSAMP', '2017-05-26 15:08:24', 'ff2ae348-214a-11e7-93ae-92361f002672', null);
+
+insert into vf_module(model_uuid, model_invariant_uuid, model_version, model_name, description, is_base, heat_template_artifact_uuid, vol_heat_template_artifact_uuid, creation_timestamp, vnf_resource_model_uuid) values
+
+('20c4431c-246d-11e7-93ae-92361f002672', '78ca26d0-246d-11e7-93ae-92361f002671', '2', 'vSAMP10aDEV::base::module-0', 'vSAMP10a DEV Base', '1', 'ff874603-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671'),
+('066de97e-253e-11e7-93ae-92361f002672', '64efd51a-2544-11e7-93ae-92361f002671', '2', 'vSAMP10aDEV::PCM::module-1', 'vSAMP10a DEV PCM', '0', 'ff87482f-4222-11e7-9252-005056850d2e', null, '2016-09-14 18:19:56', 'ff2ae348-214a-11e7-93ae-92361f002671');
+
+insert into vf_module_customization(model_customization_uuid, label, initial_count, min_instances, max_instances, availability_zone_count, heat_environment_artifact_uuid, vol_environment_artifact_uuid, creation_timestamp, vf_module_model_uuid) values
+('cb82ffd8-252a-11e7-93ae-92361f002672', 'base', '1', '0', '0', '0', 'fefb1601-4222-11e7-9252-005056850d2e', null, '2017-05-26 15:08:23', '20c4431c-246d-11e7-93ae-92361f002672'),
+('b4ea86b4-253f-11e7-93ae-92361f002672', 'PCM', '0', '0', '0', '0', 'fefb1751-4333-11e7-9252-005056850d2e', null, '2017-05-26 15:08:23', '066de97e-253e-11e7-93ae-92361f002672');
+
+
+insert into vnf_res_custom_to_vf_module_custom(vnf_resource_cust_model_customization_uuid, vf_module_cust_model_customization_uuid, creation_timestamp) values
+('68dc9a92-214c-11e7-93ae-92361f002672', 'cb82ffd8-252a-11e7-93ae-92361f002672', '2017-05-26 15:08:24'),
+('68dc9a92-214c-11e7-93ae-92361f002672', 'b4ea86b4-253f-11e7-93ae-92361f002672', '2017-05-26 15:08:24');
+
+
+insert into vf_module_to_heat_files(vf_module_model_uuid, heat_files_artifact_uuid) values
+('20c4431c-246d-11e7-93ae-92361f002671', '00535bdd-0878-4478-b95a-c575c742bfb0'),
+('066de97e-253e-11e7-93ae-92361f002671', '00535bdd-0878-4478-b95a-c575c742bfb0');
+
+
+insert into network_resource_customization_to_service(service_model_uuid, resource_model_customization_uuid) values
+('5df8b6de-2083-11e7-93ae-92361f002671', '3bdbb104-476c-483e-9f8b-c095b3d308ac'),
+('5df8b6de-2083-11e7-93ae-92361f002672', '3bdbb104-476c-483e-9f8b-c095b3d308ac');
+
+
+insert into vnf_resource_customization_to_service(service_model_uuid, resource_model_customization_uuid) values
+('5df8b6de-2083-11e7-93ae-92361f002671', '68dc9a92-214c-11e7-93ae-92361f002671'),
+('5df8b6de-2083-11e7-93ae-92361f002672', '68dc9a92-214c-11e7-93ae-92361f002672');
+
+insert into allotted_resource_customization_to_service(service_model_uuid, resource_model_customization_uuid) values
+('5df8b6de-2083-11e7-93ae-92361f002671', '367a8ba9-057a-4506-b106-fbae818597c6' ),
+('5df8b6de-2083-11e7-93ae-92361f002672', '367a8ba9-057a-4506-b106-fbae818597c6');
+
+
+ INSERT INTO `vnf_resource` (`ORCHESTRATION_MODE`, `DESCRIPTION`, `CREATION_TIMESTAMP`, `MODEL_UUID`, `AIC_VERSION_MIN`, `AIC_VERSION_MAX`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `MODEL_NAME`, `TOSCA_NODE_TYPE`, `HEAT_TEMPLATE_ARTIFACT_UUID`, `resource_category`, `resource_sub_category`)
+ VALUES ('HEAT', '0513_vsp_Lital', '2018-05-13 12:12:09', 'c5efeb55-4ade-49b8-815c-6a6391f6c46b', NULL, NULL, 'cc6f0156-dad5-4ea3-949e-74473742baf2', '2.0', '0513_vsp_Lital1', 'org.openecomp.resource.vf.0513VspLital1', NULL, NULL, NULL);
+
+INSERT INTO `heat_template` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `TIMEOUT_MINUTES`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('d187c228-71c6-4c6d-8f33-cd1243442d0a', 'base_vmme.yml', '2', 'created from csar', 'heat_template_version: 2015-04-30\n\ndescription: >\n Base HOT template to create vmme 2 fsb 2 ncb\n\nparameters:\n vnf_name:\n type: string\n description: Unique name of this VNF instance\n domain_name:\n type: string\n description: Unique name of vMME contrail domain\n vf_module_id:\n type: string\n description: the vf_module_id for this instance. UUID provided by ECOMP\n vnf_id:\n type: string\n description: the vf_id for this instance. UUID provided by ECOMP\n fsb_volume_id_0:\n type: string\n description: ID of Ubuntu Cinder Volume for FSB1\n fsb_volume_id_1:\n type: string\n description: ID of Ubuntu Cinder Volume for FSB2\n fsb_oam_ip_0:\n type: string\n description: IP address of OAM vNIC for FSB1\n fsb_oam_ip_1:\n type: string\n description: IP address of OAM vNIC for FSB2\n fsb_name_0:\n type: string\n description: Name of fsb1\n fsb_name_1:\n type: string\n description: Name of fsb1\n ncb_name_0:\n type: string\n description: Name of ncb1\n ncb_name_1:\n type: string\n description: Name of ncb2\n availability_zone_0:\n type: string\n description: cluster for spawnning fsb instances\n availability_zone_1:\n type: string\n description: cluster for spawnning ncb instances\n availability_zone_2:\n type: string\n description: cluster for spawnning vlc instances\n availability_zone_3:\n type: string\n description: cluster for spawnning gpb instances\n fsb_flavor_name:\n type: string\n description: Flavor to use for servers fsb1\n oam_net_fqdn:\n type: string\n description: FQDN for OAM network\n gtp_net_fqdn:\n type: string\n description: FQDN for GTP network\n sctp_a_net_fqdn:\n type: string\n description: FQDN for SCTPA network\n sctp_b_net_fqdn:\n type: string\n description: FQDN for SCTPB network\n fsb1_Internal1_mac:\n type: string\n description: static mac address assigned to fsb1_Internal1\n fsb1_Internal2_mac:\n type: string\n description: static mac address assigned to fsb1_Internal2\n fsb2_Internal1_mac:\n type: string\n description: static mac address assigned to fsb2_Internal1\n fsb2_Internal2_mac:\n type: string\n description: static mac address assigned to fsb2_Internal2\n pxe_image_name:\n type: string\n description: Name of image to use for server ncb\n ncb_flavor_name:\n type: string\n description: Flavor to use for servers ncb\n ncb1_Internal1_mac:\n type: string\n description: static mac address assigned to ncb1_Internal1\n ncb1_Internal2_mac:\n type: string\n description: static mac address assigned to ncb1_Internal2\n ncb2_Internal1_mac:\n type: string\n description: static mac address assigned to ncb2_Internal1\n ncb2_Internal2_mac:\n type: string\n description: static mac address assigned to ncb2_Internal2\n oam_net_name:\n type: string\n description: name of oam network\n gtp_net_name:\n type: string\n description: name of GTP network\n sctp_a_net_name:\n type: string\n description: name of SCTPA network\n sctp_b_net_name:\n type: string\n description: name of SCTPB network\n Internal1_net_cidr: \n type: string\n description: CIDR for internal-1 network\n Internal1_net_cidr_len: \n type: string\n description: CIDR length for internal-1 network\n Internal1_net_gateway:\n type: string\n description: gateway for internal-1 network\n Internal1_allow_transit:\n type: string\n description: Allow/disallow transit internal-1 network\n Internal1_forwarding_mode:\n type: string\n description: L2 or L3 forwarding mode for internal-1 network\n Internal1_shared: \n type: string\n description: Whether Shared or private internal-1 network\n Internal1_dhcp: \n type: string\n description: Whether DHCP/static IP addressing on internal-1 network\n Internal1_rpf:\n type: string \n description: Reverse Path Forwarding Enabled/Disabled internal-1 network\n Internal2_net_cidr:\n type: string\n description: CIDR for internal-2 network\n Internal2_net_cidr_len:\n type: string\n description: CIDR length for internal-2 network\n Internal2_net_gateway:\n type: string\n description: gateway for internal-2 network\n Internal2_allow_transit:\n type: string\n description: Allow/disallow transit internal-2 network\n Internal2_forwarding_mode:\n type: string\n description: L2 or L3 forwarding mode for internal-2 network\n Internal2_shared:\n type: string\n description: Whether Shared or private internal-2 network\n Internal2_dhcp:\n type: string\n description: Whether DHCP/static IP addressing on internal-2 network\n Internal2_rpf:\n type: string\n description: Reverse Path Forwarding Enabled/Disabled internal-2 network\n vlc_st_version:\n type: string\n description: Indicates service version\n vlc_st_service_mode:\n type: string\n description: service mode\n vlc_st_service_type:\n type: string\n description: service type\n vlc_st_interface_type_oam:\n type: string\n description: service_interface_type for the ServiceTemplate\n vlc_st_interface_type_sctp_a:\n type: string\n description: service_interface_type for the ServiceTemplate\n vlc_st_interface_type_sctp_b:\n type: string\n description: service_interface_type for the ServiceTemplate\n vlc_st_interface_type_gtp:\n type: string\n description: service_interface_type for the ServiceTemplate\n vlc_st_interface_type_int1:\n type: string \n description: service_interface_type for the ServiceTemplate\n vlc_st_interface_type_int2:\n type: string\n description: service_interface_type for the ServiceTemplate\n vlc_st_availability_zone:\n type: string\n description: Indicates availability zone is enabled\n vlc_st_virtualization_type:\n type: string\n description: Indicates virtualization type\n\n# Interface Static Prefix\n vlc_sctp_a_route_prefixes: \n type: json\n description: Route prefixes for static routing on SCTPA\n vlc_sctp_b_route_prefixes:\n type: json\n description: Route prefixes for static routing on SCTPB\n vlc_gtp_route_prefixes: \n type: json\n description: Route prefixes for static routing on GTP\n vlc_oam_route_prefixes:\n type: json\n description: Route prefixes for static routing on OAM\n\n# Security Groups\n gtp_sec_group_name:\n type: string\n description: SecurityGroup name for GTP\n int1_sec_group_name:\n type: string\n description: SecurityGroup name for internal-1\n int2_sec_group_name:\n type: string\n description: SecurityGroup name for internal-2\n oam_sec_group_name:\n type: string\n description: SecurityGroup name for OAM\n sctp-a-ingress_rule_protocol:\n type: string\n description: protocol for the SecurityGroup\n sctp_rule_protocol:\n type: string\n description: protocol for the SecurityGroup\n sctp-a-ingress-src_start_port:\n type: number\n description: start_port for the SecurityGroup\n sctp-a-ingress-src_end_port:\n type: number\n description: end_port for the SecurityGroup\n sctp-a-ingress_rule_application:\n type: string\n description: application for the SecurityGroup\n sctp-a-ingress-dst_start_port:\n type: number\n description: start_port for the SecurityGroup\n sctp-a-ingress-dst_end_port:\n type: number\n description: end_port for the SecurityGroup\n sctp-a-ingress_ethertype:\n type: string\n description: ethertype for the SecurityGroup\n sctp-a-ingress_dst_addresses:\n type: string\n description: security_group for the SecurityGroup\n sctp-a-ingress-src_subnet_prefix:\n type: string\n description: ip_prefix for the SecurityGroup\n sctp-a-src_subnet_prefix_v6:\n type: string\n description: ip_prefix for the SecurityGroup\n sctp-a-ingress-src_subnet_prefix_len:\n type: number\n description: ip_prefix_len for the SecurityGroup\n sctp-a-ingress_action:\n type: string\n description: simple_action for the SecurityGroup\n\n# sctp-a-egress Rule\n\n sctp-a-egress_rule_protocol:\n type: string\n description: protocol for the SecurityGroup\n sctp-a-egress-src_start_port:\n type: number\n description: start_port for the SecurityGroup\n sctp-a-egress-src_end_port:\n type: number\n description: end_port for the SecurityGroup\n sctp-a-egress_rule_application:\n type: string\n description: application for the SecurityGroup\n sctp-a-egress-dst_start_port:\n type: number\n description: start_port for the SecurityGroup\n sctp-a-egress-dst_end_port:\n type: number\n description: end_port for the SecurityGroup\n sctp-a-egress_dst_subnet_prefix:\n type: string\n description: ip_prefix for the SecurityGroup\n sctp-a-dst_subnet_prefix_v6:\n type: string\n description: ip_prefix for the SecurityGroup\n sctp-a-egress_dst_subnet_prefix_len:\n type: number\n description: ip_prefix_len for the SecurityGroup\n sctp-a-egress_ethertype:\n type: string\n description: ethertype for the SecurityGroup\n sctp-a-egress_src_addresses:\n type: string\n description: security_group for the SecurityGroup\n sctp-a-egress_action:\n type: string\n description: simple_action for the SecurityGroup\n# IPv6 Rule\n sctp-a-ipv6-ingress_rule_protocol:\n type: string\n description: IPV6 Rule-protocol\n sctp-a-ipv6-ingress_rule_application:\n type: string\n description: IPV6 Rule-application\n sctp-a-ipv6-ingress-dst_start_port:\n type: string \n description: IPV6 starting port for destination\n sctp-a-ipv6-ingress_ethertype:\n type: string\n description: IPV6 ethertype\n sctp-a-ipv6-ingress_dst_addresses:\n type: string\n description: IPV6 destination\n sctp-a-ipv6-ingress_action: \n type: string\n description: IPV6 action \n sctp-a-ipv6-egress_rule_protocol:\n type: string\n description: IPV6 Rule-protocol\n sctp-a-ipv6-ingress-src_start_port: \n type: number\n description: IPV6 start port\n sctp-a-ipv6-ingress-src_end_port:\n type: number\n description: IPV6 ending port for destination\n sctp-a-ipv6-egress_rule_application:\n type: string\n description: IPV6 Rule-application\n sctp-a-ipv6-egress_dst_subnet_prefix:\n type: string\n description: IPV6 subnet prefix\n sctp-a-ipv6-egress_dst_subnet_prefix_len:\n type: string\n description: IPV6 subnet prefix\n sctp-a-ipv6-egress_ethertype:\n type: string\n description: IPV6 ethertype\n sctp-a-ipv6-egress_src_addresses:\n type: string\n description: IPV6 source\n sctp-a-ipv6-egress_action:\n type: string\n description: IPV6 action \n# sctp-a-dst_subnet_prefix_v6:\n# type: string\n# description: IPV6 subnet prefix\n sctp-a-ipv6-egress_src_start_port:\n type: string\n description: IPV6 subnet prefix\n sctp-a-ipv6-ingress_src_subnet_prefix_len: \n type: string\n description: IPV6 subnet prefix length\n sctp-a-IPv6_ethertype:\n type: string\n description: IPV6 ethertype\n sctp-a-ipv6-egress_src_end_port:\n type: string\n description: IPV6 end port\n sctp-a-ipv6-ingress-dst_end_port: \n type: string\n description: IPV6 end port\n sctp-a-ipv6-ingress_src_subnet_prefix:\n type: string\n description: IPV6 subnet prefix\n sctp-a-ipv6-egress_dst_end_port:\n type: string\n description: IPV6 end port\n sctp-a-ipv6-egress-dst_start_port:\n type: string\n description: IPV6 start port\n# Ingress Rule\n\n sctp-b-ingress_rule_protocol:\n type: string\n description: protocol for the SecurityGroup\n# sctp_rule_protocol:\n# type: string\n# description: protocol for the SecurityGroup\n sctp-b-ingress-src_start_port:\n type: number\n description: start_port for the SecurityGroup\n sctp-b-ingress-src_end_port:\n type: number\n description: end_port for the SecurityGroup\n sctp-b-ingress_rule_application:\n type: string\n description: application for the SecurityGroup\n sctp-b-ingress-dst_start_port:\n type: number\n description: start_port for the SecurityGroup\n sctp-b-ingress-dst_end_port:\n type: number\n description: end_port for the SecurityGroup\n sctp-b-ingress_ethertype:\n type: string\n description: ethertype for the SecurityGroup\n sctp-b-ingress_dst_addresses:\n type: string\n description: security_group for the SecurityGroup\n sctp-b-ingress-src_subnet_prefix:\n type: string\n description: ip_prefix for the SecurityGroup\n sctp-b-src_subnet_prefix_v6:\n type: string\n description: ip_prefix for the SecurityGroup\n sctp-b-ingress-src_subnet_prefix_len:\n type: number\n description: ip_prefix_len for the SecurityGroup\n sctp-b-ingress_action:\n type: string\n description: simple_action for the SecurityGroup\n\n# sctp-b-egress Rule\n\n sctp-b-egress_rule_protocol:\n type: string\n description: protocol for the SecurityGroup\n sctp-b-egress-src_start_port:\n type: number\n description: start_port for the SecurityGroup\n sctp-b-egress-src_end_port:\n type: number\n description: end_port for the SecurityGroup\n sctp-b-egress_rule_application:\n type: string\n description: application for the SecurityGroup\n sctp-b-egress-dst_start_port:\n type: number\n description: start_port for the SecurityGroup\n sctp-b-egress-dst_end_port:\n type: number\n description: end_port for the SecurityGroup\n sctp-b-egress_dst_subnet_prefix:\n type: string\n description: ip_prefix for the SecurityGroup\n sctp-b-dst_subnet_prefix_v6:\n type: string\n description: ip_prefix for the SecurityGroup\n sctp-b-egress_dst_subnet_prefix_len:\n type: number\n description: ip_prefix_len for the SecurityGroup\n sctp-b-egress_ethertype:\n type: string\n description: ethertype for the SecurityGroup\n sctp-b-egress_src_addresses:\n type: string\n description: security_group for the SecurityGroup\n sctp-b-egress_action:\n type: string\n description: simple_action for the SecurityGroup\n# IPv6 Rule\n sctp-b-ipv6-ingress_rule_protocol:\n type: string\n description: IPV6 Rule-protocol\n sctp-b-ipv6-ingress_rule_application:\n type: string\n description: IPV6 Rule-application\n sctp-b-ipv6-ingress-dst_start_port:\n type: string \n description: IPV6 starting port for destination\n sctp-b-ipv6-ingress_ethertype:\n type: string\n description: IPV6 ethertype\n sctp-b-ipv6-ingress_dst_addresses:\n type: string\n description: IPV6 destination\n sctp-b-ipv6-ingress_action: \n type: string\n description: IPV6 action \n sctp-b-ipv6-egress_rule_protocol:\n type: string\n description: IPV6 Rule-protocol\n sctp-b-ipv6-ingress-src_start_port: \n type: number\n description: IPV6 start port\n sctp-b-ipv6-ingress-src_end_port:\n type: number\n description: IPV6 ending port for destination\n sctp-b-ipv6-egress_rule_application:\n type: string\n description: IPV6 Rule-application\n sctp-b-ipv6-egress_dst_subnet_prefix:\n type: string\n description: IPV6 subnet prefix\n sctp-b-ipv6-egress_dst_subnet_prefix_len:\n type: string\n description: IPV6 subnet prefix\n sctp-b-ipv6-egress_ethertype:\n type: string\n description: IPV6 ethertype\n sctp-b-ipv6-egress_src_addresses:\n type: string\n description: IPV6 source\n sctp-b-ipv6-egress_action:\n type: string\n description: IPV6 action \n# sctp-b-dst_subnet_prefix_v6:\n# type: string\n# description: IPV6 subnet prefix\n sctp-b-ipv6-egress_src_start_port:\n type: string\n description: IPV6 subnet prefix\n sctp-b-ipv6-ingress_src_subnet_prefix_len: \n type: string\n description: IPV6 subnet prefix length\n sctp-b-IPv6_ethertype:\n type: string\n description: IPV6 ethertype\n sctp-b-ipv6-egress_src_end_port:\n type: string\n description: IPV6 end port\n sctp-b-ipv6-ingress-dst_end_port: \n type: string\n description: IPV6 end port\n sctp-b-ipv6-ingress_src_subnet_prefix:\n type: string\n description: IPV6 subnet prefix\n sctp-b-ipv6-egress_dst_end_port:\n type: string\n description: IPV6 end port\n sctp-b-ipv6-egress-dst_start_port:\n type: string\n description: IPV6 start port\n sctp-b-name:\n type: string\n description: name for the SecurityGroup\n sctp-b-display_name:\n type: string\n description: display_name for the SecurityGroup\n sctp-a-name:\n type: string\n description: name for the SecurityGroup\n sctp-a-display_name:\n type: string\n description: display_name for the SecurityGroup\n \n\nresources:\n \n\n# VM_Affinity:\n# type: OS::Nova::ServerGroup\n# properties:\n# policies: ["anti-affinity"]\n\n# Security Groups\n gtp_security_group:\n type: OS::Neutron::SecurityGroup\n properties:\n name:\n str_replace:\n template: $VNF_NAME_$SECGROUPNAME\n params: \n $VNF_NAME: {get_param: vnf_name}\n $SECGROUPNAME: {get_param: gtp_sec_group_name}\n rules: \n - {"direction": egress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": tcp, "remote_ip_prefix": 0.0.0.0/0}\n - {"direction": egress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": udp, "remote_ip_prefix": 0.0.0.0/0}\n - {"direction": egress, "ethertype": IPv4, "protocol": icmp, "remote_ip_prefix": 0.0.0.0/0}\n - {"direction": ingress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": tcp, "remote_ip_prefix": 0.0.0.0/0}\n - {"direction": ingress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": udp, "remote_ip_prefix": 0.0.0.0/0}\n - {"direction": ingress, "ethertype": IPv4, "protocol": icmp, "remote_ip_prefix": 0.0.0.0/0}\n\n oam_security_group:\n type: OS::Neutron::SecurityGroup\n properties:\n name:\n str_replace:\n template: $VNF_NAME_$SECGROUPNAME\n params: \n $VNF_NAME: {get_param: vnf_name}\n $SECGROUPNAME: {get_param: oam_sec_group_name}\n rules: \n - {"direction": egress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": tcp, "remote_ip_prefix": 0.0.0.0/0}\n - {"direction": egress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": udp, "remote_ip_prefix": 0.0.0.0/0}\n - {"direction": egress, "ethertype": IPv4, "protocol": icmp, "remote_ip_prefix": 0.0.0.0/0}\n - {"direction": ingress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": tcp, "remote_ip_prefix": 0.0.0.0/0}\n - {"direction": ingress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": udp, "remote_ip_prefix": 0.0.0.0/0}\n - {"direction": ingress, "ethertype": IPv4, "protocol": icmp, "remote_ip_prefix": 0.0.0.0/0}\n\n int1_sec_group:\n type: OS::Neutron::SecurityGroup\n properties:\n name:\n str_replace:\n template: $VNF_NAME_$SECGROUPNAME\n params: \n $VNF_NAME: {get_param: vnf_name}\n $SECGROUPNAME: {get_param: int1_sec_group_name}\n rules: \n - {"direction": egress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": tcp, "remote_ip_prefix": 0.0.0.0/0}\n - {"direction": egress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": udp, "remote_ip_prefix": 0.0.0.0/0}\n - {"direction": egress, "ethertype": IPv4, "protocol": icmp, "remote_ip_prefix": 0.0.0.0/0}\n - {"direction": ingress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": tcp, "remote_ip_prefix": 0.0.0.0/0}\n - {"direction": ingress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": udp, "remote_ip_prefix": 0.0.0.0/0}\n - {"direction": ingress, "ethertype": IPv4, "protocol": icmp, "remote_ip_prefix": 0.0.0.0/0}\n\n int2_sec_group:\n type: OS::Neutron::SecurityGroup\n properties:\n name:\n str_replace:\n template: $VNF_NAME_$SECGROUPNAME\n params: \n $VNF_NAME: {get_param: vnf_name}\n $SECGROUPNAME: {get_param: int2_sec_group_name}\n rules: \n - {"direction": egress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": tcp, "remote_ip_prefix": 0.0.0.0/0}\n - {"direction": egress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": udp, "remote_ip_prefix": 0.0.0.0/0}\n - {"direction": egress, "ethertype": IPv4, "protocol": icmp, "remote_ip_prefix": 0.0.0.0/0}\n - {"direction": ingress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": tcp, "remote_ip_prefix": 0.0.0.0/0}\n - {"direction": ingress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": udp, "remote_ip_prefix": 0.0.0.0/0}\n - {"direction": ingress, "ethertype": IPv4, "protocol": icmp, "remote_ip_prefix": 0.0.0.0/0}\n\n SCTP_A_SecurityGroup:\n type: OS::ContrailV2::SecurityGroup\n properties:\n name:\n str_replace:\n template: $VNF_NAME_$SECGROUPNAME\n params: \n $VNF_NAME: {get_param: vnf_name}\n $SECGROUPNAME: {get_param: sctp-a-name}\n display_name:\n str_replace:\n template: $VNF_NAME_$SECGROUPNAME\n params: \n $VNF_NAME: {get_param: vnf_name}\n $SECGROUPNAME: {get_param: sctp-a-display_name}\n security_group_entries:\n {\n security_group_entries_policy_rule:\n [{\n security_group_entries_policy_rule_protocol: { get_param: sctp-a-ingress_rule_protocol },\n security_group_entries_policy_rule_src_addresses:\n [{\n security_group_entries_policy_rule_src_addresses_subnet:\n {\n security_group_entries_policy_rule_src_addresses_subnet_ip_prefix: { get_param: sctp-a-ingress-src_subnet_prefix },\n security_group_entries_policy_rule_src_addresses_subnet_ip_prefix_len: { get_param: sctp-a-ingress-src_subnet_prefix_len },\n },\n }],\n security_group_entries_policy_rule_src_ports:\n [{\n security_group_entries_policy_rule_src_ports_start_port: { get_param: sctp-a-ingress-src_start_port },\n security_group_entries_policy_rule_src_ports_end_port: { get_param: sctp-a-ingress-src_end_port },\n }],\n security_group_entries_policy_rule_application: [{ get_param: sctp-a-ingress_rule_application }],\n security_group_entries_policy_rule_dst_addresses:\n [{\n security_group_entries_policy_rule_dst_addresses_security_group: { get_param: sctp-a-ingress_dst_addresses },\n }],\n security_group_entries_policy_rule_dst_ports:\n [{\n security_group_entries_policy_rule_dst_ports_start_port: { get_param: sctp-a-ingress-dst_start_port },\n security_group_entries_policy_rule_dst_ports_end_port: { get_param: sctp-a-ingress-dst_end_port },\n }],\n security_group_entries_policy_rule_action_list:\n {\n security_group_entries_policy_rule_action_list_simple_action: { get_param: sctp-a-ingress_action },\n },\n security_group_entries_policy_rule_ethertype: { get_param: sctp-a-ingress_ethertype },\n },\n {\n security_group_entries_policy_rule_protocol: { get_param: sctp-a-egress_rule_protocol },\n security_group_entries_policy_rule_src_addresses:\n [{\n security_group_entries_policy_rule_src_addresses_security_group: { get_param: sctp-a-egress_src_addresses },\n }],\n security_group_entries_policy_rule_src_ports:\n [{\n security_group_entries_policy_rule_src_ports_start_port: { get_param: sctp-a-egress-src_start_port },\n security_group_entries_policy_rule_src_ports_end_port: { get_param: sctp-a-egress-src_end_port },\n }],\n security_group_entries_policy_rule_application: [{ get_param: sctp-a-egress_rule_application }],\n security_group_entries_policy_rule_dst_addresses:\n [{\n security_group_entries_policy_rule_dst_addresses_subnet:\n {\n security_group_entries_policy_rule_dst_addresses_subnet_ip_prefix: { get_param: sctp-a-egress_dst_subnet_prefix },\n security_group_entries_policy_rule_dst_addresses_subnet_ip_prefix_len: { get_param: sctp-a-egress_dst_subnet_prefix_len },\n },\n }],\n security_group_entries_policy_rule_dst_ports:\n [{\n security_group_entries_policy_rule_dst_ports_start_port: { get_param: sctp-a-egress-dst_start_port },\n security_group_entries_policy_rule_dst_ports_end_port: { get_param: sctp-a-egress-dst_end_port },\n }],\n security_group_entries_policy_rule_action_list:\n {\n security_group_entries_policy_rule_action_list_simple_action: { get_param: sctp-a-egress_action },\n },\n security_group_entries_policy_rule_ethertype: { get_param: sctp-a-egress_ethertype },\n },\n# SCTP Rule\n {\n security_group_entries_policy_rule_protocol: { get_param: sctp_rule_protocol },\n security_group_entries_policy_rule_src_addresses:\n [{\n security_group_entries_policy_rule_src_addresses_subnet:\n {\n security_group_entries_policy_rule_src_addresses_subnet_ip_prefix: { get_param: sctp-a-ingress-src_subnet_prefix },\n security_group_entries_policy_rule_src_addresses_subnet_ip_prefix_len: { get_param: sctp-a-ingress-src_subnet_prefix_len },\n },\n }],\n security_group_entries_policy_rule_src_ports:\n [{\n security_group_entries_policy_rule_src_ports_start_port: { get_param: sctp-a-ingress-src_start_port },\n security_group_entries_policy_rule_src_ports_end_port: { get_param: sctp-a-ingress-src_end_port },\n }],\n security_group_entries_policy_rule_application: [{ get_param: sctp-a-ingress_rule_application }],\n security_group_entries_policy_rule_dst_addresses:\n [{\n security_group_entries_policy_rule_dst_addresses_security_group: { get_param: sctp-a-ingress_dst_addresses },\n }],\n security_group_entries_policy_rule_dst_ports:\n [{\n security_group_entries_policy_rule_dst_ports_start_port: { get_param: sctp-a-ingress-dst_start_port },\n security_group_entries_policy_rule_dst_ports_end_port: { get_param: sctp-a-ingress-dst_end_port },\n }],\n security_group_entries_policy_rule_action_list:\n {\n security_group_entries_policy_rule_action_list_simple_action: { get_param: sctp-a-ingress_action },\n },\n security_group_entries_policy_rule_ethertype: { get_param: sctp-a-ingress_ethertype },\n },\n {\n security_group_entries_policy_rule_protocol: { get_param: sctp_rule_protocol },\n security_group_entries_policy_rule_src_addresses:\n [{\n security_group_entries_policy_rule_src_addresses_security_group: { get_param: sctp-a-egress_src_addresses },\n }],\n security_group_entries_policy_rule_src_ports:\n [{\n security_group_entries_policy_rule_src_ports_start_port: { get_param: sctp-a-egress-src_start_port },\n security_group_entries_policy_rule_src_ports_end_port: { get_param: sctp-a-egress-src_end_port },\n }],\n security_group_entries_policy_rule_application: [{ get_param: sctp-a-egress_rule_application }],\n security_group_entries_policy_rule_dst_addresses:\n [{\n security_group_entries_policy_rule_dst_addresses_subnet:\n {\n security_group_entries_policy_rule_dst_addresses_subnet_ip_prefix: { get_param: sctp-a-egress_dst_subnet_prefix },\n security_group_entries_policy_rule_dst_addresses_subnet_ip_prefix_len: { get_param: sctp-a-egress_dst_subnet_prefix_len },\n },\n }],\n security_group_entries_policy_rule_dst_ports:\n [{\n security_group_entries_policy_rule_dst_ports_start_port: { get_param: sctp-a-egress-dst_start_port },\n security_group_entries_policy_rule_dst_ports_end_port: { get_param: sctp-a-egress-dst_end_port },\n }],\n security_group_entries_policy_rule_action_list:\n {\n security_group_entries_policy_rule_action_list_simple_action: { get_param: sctp-a-egress_action },\n },\n security_group_entries_policy_rule_ethertype: { get_param: sctp-a-egress_ethertype },\n },\n#IPv6 Rule\n {\n security_group_entries_policy_rule_protocol: { get_param: sctp-a-ipv6-ingress_rule_protocol },\n security_group_entries_policy_rule_src_addresses:\n [{\n security_group_entries_policy_rule_src_addresses_subnet:\n {\n security_group_entries_policy_rule_src_addresses_subnet_ip_prefix: { get_param: sctp-a-src_subnet_prefix_v6 },\n security_group_entries_policy_rule_src_addresses_subnet_ip_prefix_len: { get_param: sctp-a-ipv6-ingress_src_subnet_prefix_len },\n },\n }],\n security_group_entries_policy_rule_src_ports:\n [{\n security_group_entries_policy_rule_src_ports_start_port: { get_param: sctp-a-ipv6-ingress-src_start_port},\n security_group_entries_policy_rule_src_ports_end_port: { get_param: sctp-a-ipv6-ingress-src_end_port },\n }],\n security_group_entries_policy_rule_application: [{ get_param: sctp-a-ipv6-ingress_rule_application }],\n security_group_entries_policy_rule_dst_addresses:\n [{\n security_group_entries_policy_rule_dst_addresses_security_group: { get_param: sctp-a-ipv6-ingress_dst_addresses },\n }],\n security_group_entries_policy_rule_dst_ports:\n [{\n security_group_entries_policy_rule_dst_ports_start_port: { get_param: sctp-a-ipv6-ingress-dst_start_port },\n security_group_entries_policy_rule_dst_ports_end_port: { get_param: sctp-a-ipv6-ingress-dst_end_port },\n }],\n security_group_entries_policy_rule_action_list:\n {\n security_group_entries_policy_rule_action_list_simple_action: { get_param: sctp-a-ipv6-ingress_action },\n },\n security_group_entries_policy_rule_ethertype: { get_param: sctp-a-IPv6_ethertype },\n },\n {\n security_group_entries_policy_rule_protocol: { get_param: sctp-a-ipv6-egress_rule_protocol },\n security_group_entries_policy_rule_src_addresses:\n [{\n security_group_entries_policy_rule_src_addresses_security_group: { get_param: sctp-a-ipv6-egress_src_addresses },\n }],\n security_group_entries_policy_rule_src_ports:\n [{\n security_group_entries_policy_rule_src_ports_start_port: { get_param: sctp-a-ipv6-egress_src_start_port },\n security_group_entries_policy_rule_src_ports_end_port: { get_param: sctp-a-ipv6-egress_src_end_port },\n }],\n security_group_entries_policy_rule_application: [{ get_param: sctp-a-ipv6-egress_rule_application }],\n security_group_entries_policy_rule_dst_addresses:\n [{\n security_group_entries_policy_rule_dst_addresses_subnet:\n {\n security_group_entries_policy_rule_dst_addresses_subnet_ip_prefix: { get_param: sctp-a-dst_subnet_prefix_v6 },\n security_group_entries_policy_rule_dst_addresses_subnet_ip_prefix_len: { get_param: sctp-a-ipv6-egress_dst_subnet_prefix_len },\n },\n }],\n security_group_entries_policy_rule_dst_ports:\n [{\n security_group_entries_policy_rule_dst_ports_start_port: { get_param: sctp-a-ipv6-egress-dst_start_port },\n security_group_entries_policy_rule_dst_ports_end_port: { get_param: sctp-a-ipv6-egress_dst_end_port },\n }],\n security_group_entries_policy_rule_action_list:\n {\n security_group_entries_policy_rule_action_list_simple_action: { get_param: sctp-a-ipv6-egress_action },\n },\n security_group_entries_policy_rule_ethertype: { get_param: sctp-a-IPv6_ethertype },\n }],\n }\n\n\n SCTP_B_SecurityGroup:\n type: OS::ContrailV2::SecurityGroup\n properties:\n name:\n str_replace:\n template: $VNF_NAME_$SECGROUPNAME\n params: \n $VNF_NAME: {get_param: vnf_name}\n $SECGROUPNAME: {get_param: sctp-b-name}\n display_name:\n str_replace:\n template: $VNF_NAME_$SECGROUPNAME\n params: \n $VNF_NAME: {get_param: vnf_name}\n $SECGROUPNAME: {get_param: sctp-b-display_name}\n security_group_entries:\n {\n security_group_entries_policy_rule:\n [{\n security_group_entries_policy_rule_protocol: { get_param: sctp-b-ingress_rule_protocol },\n security_group_entries_policy_rule_src_addresses:\n [{\n security_group_entries_policy_rule_src_addresses_subnet:\n {\n security_group_entries_policy_rule_src_addresses_subnet_ip_prefix: { get_param: sctp-b-ingress-src_subnet_prefix },\n security_group_entries_policy_rule_src_addresses_subnet_ip_prefix_len: { get_param: sctp-b-ingress-src_subnet_prefix_len },\n },\n }],\n security_group_entries_policy_rule_src_ports:\n [{\n security_group_entries_policy_rule_src_ports_start_port: { get_param: sctp-b-ingress-src_start_port },\n security_group_entries_policy_rule_src_ports_end_port: { get_param: sctp-b-ingress-src_end_port },\n }],\n security_group_entries_policy_rule_application: [{ get_param: sctp-b-ingress_rule_application }],\n security_group_entries_policy_rule_dst_addresses:\n [{\n security_group_entries_policy_rule_dst_addresses_security_group: { get_param: sctp-b-ingress_dst_addresses },\n }],\n security_group_entries_policy_rule_dst_ports:\n [{\n security_group_entries_policy_rule_dst_ports_start_port: { get_param: sctp-b-ingress-dst_start_port },\n security_group_entries_policy_rule_dst_ports_end_port: { get_param: sctp-b-ingress-dst_end_port },\n }],\n security_group_entries_policy_rule_action_list:\n {\n security_group_entries_policy_rule_action_list_simple_action: { get_param: sctp-b-ingress_action },\n },\n security_group_entries_policy_rule_ethertype: { get_param: sctp-b-ingress_ethertype },\n },\n {\n security_group_entries_policy_rule_protocol: { get_param: sctp-b-egress_rule_protocol },\n security_group_entries_policy_rule_src_addresses:\n [{\n security_group_entries_policy_rule_src_addresses_security_group: { get_param: sctp-b-egress_src_addresses },\n }],\n security_group_entries_policy_rule_src_ports:\n [{\n security_group_entries_policy_rule_src_ports_start_port: { get_param: sctp-b-egress-src_start_port },\n security_group_entries_policy_rule_src_ports_end_port: { get_param: sctp-b-egress-src_end_port },\n }],\n security_group_entries_policy_rule_application: [{ get_param: sctp-b-egress_rule_application }],\n security_group_entries_policy_rule_dst_addresses:\n [{\n security_group_entries_policy_rule_dst_addresses_subnet:\n {\n security_group_entries_policy_rule_dst_addresses_subnet_ip_prefix: { get_param: sctp-b-egress_dst_subnet_prefix },\n security_group_entries_policy_rule_dst_addresses_subnet_ip_prefix_len: { get_param: sctp-b-egress_dst_subnet_prefix_len },\n },\n }],\n security_group_entries_policy_rule_dst_ports:\n [{\n security_group_entries_policy_rule_dst_ports_start_port: { get_param: sctp-b-egress-dst_start_port },\n security_group_entries_policy_rule_dst_ports_end_port: { get_param: sctp-b-egress-dst_end_port },\n }],\n security_group_entries_policy_rule_action_list:\n {\n security_group_entries_policy_rule_action_list_simple_action: { get_param: sctp-b-egress_action },\n },\n security_group_entries_policy_rule_ethertype: { get_param: sctp-b-egress_ethertype },\n },\n# SCTP Rule\n {\n security_group_entries_policy_rule_protocol: { get_param: sctp_rule_protocol },\n security_group_entries_policy_rule_src_addresses:\n [{\n security_group_entries_policy_rule_src_addresses_subnet:\n {\n security_group_entries_policy_rule_src_addresses_subnet_ip_prefix: { get_param: sctp-b-ingress-src_subnet_prefix },\n security_group_entries_policy_rule_src_addresses_subnet_ip_prefix_len: { get_param: sctp-b-ingress-src_subnet_prefix_len },\n },\n }],\n security_group_entries_policy_rule_src_ports:\n [{\n security_group_entries_policy_rule_src_ports_start_port: { get_param: sctp-b-ingress-src_start_port },\n security_group_entries_policy_rule_src_ports_end_port: { get_param: sctp-b-ingress-src_end_port },\n }],\n security_group_entries_policy_rule_application: [{ get_param: sctp-b-ingress_rule_application }],\n security_group_entries_policy_rule_dst_addresses:\n [{\n security_group_entries_policy_rule_dst_addresses_security_group: { get_param: sctp-b-ingress_dst_addresses },\n }],\n security_group_entries_policy_rule_dst_ports:\n [{\n security_group_entries_policy_rule_dst_ports_start_port: { get_param: sctp-b-ingress-dst_start_port },\n security_group_entries_policy_rule_dst_ports_end_port: { get_param: sctp-b-ingress-dst_end_port },\n }],\n security_group_entries_policy_rule_action_list:\n {\n security_group_entries_policy_rule_action_list_simple_action: { get_param: sctp-b-ingress_action },\n },\n security_group_entries_policy_rule_ethertype: { get_param: sctp-b-ingress_ethertype },\n },\n {\n security_group_entries_policy_rule_protocol: { get_param: sctp_rule_protocol },\n security_group_entries_policy_rule_src_addresses:\n [{\n security_group_entries_policy_rule_src_addresses_security_group: { get_param: sctp-b-egress_src_addresses },\n }],\n security_group_entries_policy_rule_src_ports:\n [{\n security_group_entries_policy_rule_src_ports_start_port: { get_param: sctp-b-egress-src_start_port },\n security_group_entries_policy_rule_src_ports_end_port: { get_param: sctp-b-egress-src_end_port },\n }],\n security_group_entries_policy_rule_application: [{ get_param: sctp-b-egress_rule_application }],\n security_group_entries_policy_rule_dst_addresses:\n [{\n security_group_entries_policy_rule_dst_addresses_subnet:\n {\n security_group_entries_policy_rule_dst_addresses_subnet_ip_prefix: { get_param: sctp-b-egress_dst_subnet_prefix },\n security_group_entries_policy_rule_dst_addresses_subnet_ip_prefix_len: { get_param: sctp-b-egress_dst_subnet_prefix_len },\n },\n }],\n security_group_entries_policy_rule_dst_ports:\n [{\n security_group_entries_policy_rule_dst_ports_start_port: { get_param: sctp-b-egress-dst_start_port },\n security_group_entries_policy_rule_dst_ports_end_port: { get_param: sctp-b-egress-dst_end_port },\n }],\n security_group_entries_policy_rule_action_list:\n {\n security_group_entries_policy_rule_action_list_simple_action: { get_param: sctp-b-egress_action },\n },\n security_group_entries_policy_rule_ethertype: { get_param: sctp-b-egress_ethertype },\n },\n#IPv6 Rule\n {\n security_group_entries_policy_rule_protocol: { get_param: sctp-b-ipv6-ingress_rule_protocol },\n security_group_entries_policy_rule_src_addresses:\n [{\n security_group_entries_policy_rule_src_addresses_subnet:\n {\n security_group_entries_policy_rule_src_addresses_subnet_ip_prefix: { get_param: sctp-b-src_subnet_prefix_v6 },\n security_group_entries_policy_rule_src_addresses_subnet_ip_prefix_len: { get_param: sctp-b-ipv6-ingress_src_subnet_prefix_len },\n },\n }],\n security_group_entries_policy_rule_src_ports:\n [{\n security_group_entries_policy_rule_src_ports_start_port: { get_param: sctp-b-ipv6-ingress-src_start_port},\n security_group_entries_policy_rule_src_ports_end_port: { get_param: sctp-b-ipv6-ingress-src_end_port },\n }],\n security_group_entries_policy_rule_application: [{ get_param: sctp-b-ipv6-ingress_rule_application }],\n security_group_entries_policy_rule_dst_addresses:\n [{\n security_group_entries_policy_rule_dst_addresses_security_group: { get_param: sctp-b-ipv6-ingress_dst_addresses },\n }],\n security_group_entries_policy_rule_dst_ports:\n [{\n security_group_entries_policy_rule_dst_ports_start_port: { get_param: sctp-b-ipv6-ingress-dst_start_port },\n security_group_entries_policy_rule_dst_ports_end_port: { get_param: sctp-b-ipv6-ingress-dst_end_port },\n }],\n security_group_entries_policy_rule_action_list:\n {\n security_group_entries_policy_rule_action_list_simple_action: { get_param: sctp-b-ipv6-ingress_action },\n },\n security_group_entries_policy_rule_ethertype: { get_param: sctp-b-IPv6_ethertype },\n },\n {\n security_group_entries_policy_rule_protocol: { get_param: sctp-b-ipv6-egress_rule_protocol },\n security_group_entries_policy_rule_src_addresses:\n [{\n security_group_entries_policy_rule_src_addresses_security_group: { get_param: sctp-b-ipv6-egress_src_addresses },\n }],\n security_group_entries_policy_rule_src_ports:\n [{\n security_group_entries_policy_rule_src_ports_start_port: { get_param: sctp-b-ipv6-egress_src_start_port },\n security_group_entries_policy_rule_src_ports_end_port: { get_param: sctp-b-ipv6-egress_src_end_port },\n }],\n security_group_entries_policy_rule_application: [{ get_param: sctp-b-ipv6-egress_rule_application }],\n security_group_entries_policy_rule_dst_addresses:\n [{\n security_group_entries_policy_rule_dst_addresses_subnet:\n {\n security_group_entries_policy_rule_dst_addresses_subnet_ip_prefix: { get_param: sctp-b-dst_subnet_prefix_v6 },\n security_group_entries_policy_rule_dst_addresses_subnet_ip_prefix_len: { get_param: sctp-b-ipv6-egress_dst_subnet_prefix_len },\n },\n }],\n security_group_entries_policy_rule_dst_ports:\n [{\n security_group_entries_policy_rule_dst_ports_start_port: { get_param: sctp-b-ipv6-egress-dst_start_port },\n security_group_entries_policy_rule_dst_ports_end_port: { get_param: sctp-b-ipv6-egress_dst_end_port },\n }],\n security_group_entries_policy_rule_action_list:\n {\n security_group_entries_policy_rule_action_list_simple_action: { get_param: sctp-b-ipv6-egress_action },\n },\n security_group_entries_policy_rule_ethertype: { get_param: sctp-b-IPv6_ethertype },\n }],\n } \n\n# VMs and Networks \n\n template_NetworkIpam_Internal1:\n type: OS::ContrailV2::NetworkIpam\n properties:\n name:\n str_replace:\n template: $VNF_NAME_int_net_1\n params: \n $VNF_NAME: {get_param: vnf_name}\n\n Internal1_net:\n type: OS::ContrailV2::VirtualNetwork\n depends_on: [ template_NetworkIpam_Internal1 ]\n properties:\n name:\n str_replace:\n template: $VNF_NAME_int_net_1\n params: \n $VNF_NAME: {get_param: vnf_name}\n virtual_network_properties:\n {\n virtual_network_properties_allow_transit: { get_param: Internal1_allow_transit },\n virtual_network_properties_forwarding_mode: { get_param: Internal1_forwarding_mode },\n virtual_network_properties_rpf: { get_param: Internal1_rpf }\n }\n is_shared: { get_param: Internal1_shared }\n network_ipam_refs: [{ get_resource: template_NetworkIpam_Internal1 }]\n network_ipam_refs_data:\n [{\n network_ipam_refs_data_ipam_subnets:\n [{\n network_ipam_refs_data_ipam_subnets_subnet:\n {\n network_ipam_refs_data_ipam_subnets_subnet_ip_prefix: { get_param: Internal1_net_cidr },\n network_ipam_refs_data_ipam_subnets_subnet_ip_prefix_len: { get_param: Internal1_net_cidr_len }\n },\n network_ipam_refs_data_ipam_subnets_default_gateway: { get_param: Internal1_net_gateway },\n network_ipam_refs_data_ipam_subnets_enable_dhcp: { get_param: Internal1_dhcp },\n }]\n }]\n\n template_NetworkIpam_Internal2:\n type: OS::ContrailV2::NetworkIpam\n properties:\n name:\n str_replace:\n template: $VNF_NAME_int_net_2\n params: \n $VNF_NAME: {get_param: vnf_name}\n\n Internal2_net:\n type: OS::ContrailV2::VirtualNetwork\n depends_on: [ template_NetworkIpam_Internal2 ]\n properties:\n name:\n str_replace:\n template: $VNF_NAME_int_net_2\n params: \n $VNF_NAME: {get_param: vnf_name}\n virtual_network_properties:\n {\n virtual_network_properties_allow_transit: { get_param: Internal2_allow_transit },\n virtual_network_properties_forwarding_mode: { get_param: Internal2_forwarding_mode },\n virtual_network_properties_rpf: { get_param: Internal2_rpf }\n }\n is_shared: { get_param: Internal2_shared }\n network_ipam_refs: [{ get_resource: template_NetworkIpam_Internal2 }]\n network_ipam_refs_data:\n [{\n network_ipam_refs_data_ipam_subnets:\n [{\n network_ipam_refs_data_ipam_subnets_subnet:\n {\n network_ipam_refs_data_ipam_subnets_subnet_ip_prefix: { get_param: Internal2_net_cidr },\n network_ipam_refs_data_ipam_subnets_subnet_ip_prefix_len: { get_param: Internal2_net_cidr_len }\n },\n network_ipam_refs_data_ipam_subnets_default_gateway: { get_param: Internal2_net_gateway },\n network_ipam_refs_data_ipam_subnets_enable_dhcp: { get_param: Internal2_dhcp },\n }]\n }]\n\n template_ServiceTemplate_VLC:\n type: OS::ContrailV2::ServiceTemplate\n properties:\n name:\n str_replace:\n template: $VNF_NAME_ServiceTemplate\n params: \n $VNF_NAME: {get_param: vnf_name}\n service_template_properties:\n {\n service_template_properties_version: { get_param: vlc_st_version },\n service_template_properties_service_mode: { get_param: vlc_st_service_mode },\n service_template_properties_service_type: { get_param: vlc_st_service_type },\n service_template_properties_interface_type:\n [\n {\n service_template_properties_interface_type_service_interface_type: { get_param: vlc_st_interface_type_int1 }\n },\n {\n service_template_properties_interface_type_service_interface_type: { get_param: vlc_st_interface_type_int2 }\n },\n {\n service_template_properties_interface_type_service_interface_type: { get_param: vlc_st_interface_type_oam}\n },\n {\n service_template_properties_interface_type_service_interface_type: { get_param: vlc_st_interface_type_sctp_a }\n },\n {\n service_template_properties_interface_type_service_interface_type: { get_param: vlc_st_interface_type_sctp_b }\n },\n {\n service_template_properties_interface_type_service_interface_type: { get_param: vlc_st_interface_type_gtp }\n }\n ],\n service_template_properties_service_virtualization_type: { get_param: vlc_st_virtualization_type }\n }\n domain: { get_param: domain_name }\n\n template_ServiceInstance_VLC:\n type: OS::ContrailV2::ServiceInstance\n depends_on: [ template_ServiceTemplate_VLC ]\n properties:\n name:\n str_replace:\n template: $VNF_NAME_ServiceTemplate\n params: \n $VNF_NAME: {get_param: vnf_name}\n service_instance_properties:\n {\n service_instance_properties_interface_list:\n [\n {\n service_instance_properties_interface_list_virtual_network: { get_resource: Internal1_net }\n },\n {\n service_instance_properties_interface_list_virtual_network: { get_resource: Internal2_net }\n },\n {\n service_instance_properties_interface_list_virtual_network: {get_param: oam_net_fqdn}\n },\n {\n service_instance_properties_interface_list_virtual_network: {get_param: sctp_a_net_fqdn}\n },\n {\n service_instance_properties_interface_list_virtual_network: {get_param: sctp_b_net_fqdn}\n },\n {\n service_instance_properties_interface_list_virtual_network: {get_param: gtp_net_fqdn}\n }\n ]\n }\n service_template_refs: [{ get_resource: template_ServiceTemplate_VLC }]\n\n template_InterfaceRouteTable_GTP:\n type: OS::ContrailV2::InterfaceRouteTable\n depends_on: [ template_ServiceInstance_VLC ]\n properties:\n name:\n str_replace:\n template: $VNF_NAME_GTP\n params: \n $VNF_NAME: {get_param: vnf_name}\n display_name: \n str_replace:\n template: $VNF_NAME_GTP\n params: \n $VNF_NAME: {get_param: vnf_name}\n interface_route_table_routes:\n {\n interface_route_table_routes_route: { get_param: vlc_gtp_route_prefixes }\n }\n service_instance_refs: \n value: { get_attr: [ template_ServiceInstance_VLC, fq_name ] } \n service_instance_refs_data:\n [{\n service_instance_refs_data_interface_type: { get_param: vlc_st_interface_type_gtp }\n }]\n\n template_InterfaceRouteTable_SCTP_A:\n type: OS::ContrailV2::InterfaceRouteTable\n depends_on: [ template_ServiceInstance_VLC ]\n properties:\n name:\n str_replace:\n template: $VNF_NAME_SCTP-A\n params: \n $VNF_NAME: {get_param: vnf_name}\n display_name: \n str_replace:\n template: $VNF_NAME_SCTP-A\n params: \n $VNF_NAME: {get_param: vnf_name}\n interface_route_table_routes:\n {\n interface_route_table_routes_route: { get_param: vlc_sctp_a_route_prefixes }\n }\n service_instance_refs: \n value: { get_attr: [ template_ServiceInstance_VLC, fq_name ] } \n service_instance_refs_data:\n [{\n service_instance_refs_data_interface_type: { get_param: vlc_st_interface_type_sctp_a }\n }]\n\n template_InterfaceRouteTable_SCTP_B:\n type: OS::ContrailV2::InterfaceRouteTable\n depends_on: [ template_ServiceInstance_VLC ]\n properties:\n name:\n str_replace:\n template: $VNF_NAME_SCTP-B\n params: \n $VNF_NAME: {get_param: vnf_name}\n display_name: \n str_replace:\n template: $VNF_NAME_SCTP-B\n params: \n $VNF_NAME: {get_param: vnf_name}\n interface_route_table_routes:\n {\n interface_route_table_routes_route: { get_param: vlc_sctp_b_route_prefixes }\n }\n service_instance_refs: \n value: { get_attr: [ template_ServiceInstance_VLC, fq_name ] } \n service_instance_refs_data:\n [{\n service_instance_refs_data_interface_type: { get_param: vlc_st_interface_type_sctp_b }\n }]\n\n template_InterfaceRouteTable_OAM:\n type: OS::ContrailV2::InterfaceRouteTable\n depends_on: [ template_ServiceInstance_VLC ]\n properties:\n name:\n str_replace:\n template: $VNF_NAME_OAM\n params: \n $VNF_NAME: {get_param: vnf_name}\n display_name: \n str_replace:\n template: $VNF_NAME_OAM\n params: \n $VNF_NAME: {get_param: vnf_name}\n interface_route_table_routes:\n {\n interface_route_table_routes_route: { get_param: vlc_oam_route_prefixes }\n }\n service_instance_refs: \n value: { get_attr: [ template_ServiceInstance_VLC, fq_name ] } \n service_instance_refs_data:\n [{\n service_instance_refs_data_interface_type: { get_param: vlc_st_interface_type_oam }\n }]\n\n FSB_1:\n type: OS::Nova::Server\n properties:\n name: { get_param: fsb_name_0 }\n block_device_mapping: [\n { delete_on_termination: "false",\n device_name: "vda",\n volume_id: { get_param: fsb_volume_id_0 } }\n ]\n flavor: { get_param: fsb_flavor_name }\n #scheduler_hints: { group: { get_resource: VM_Affinity } }\n availability_zone: { get_param: availability_zone_0}\n networks:\n - port: { get_resource: FSB1_Internal1 }\n - port: { get_resource: FSB1_Internal2 }\n - port: { get_resource: FSB1_OAM }\n metadata:\n vnf_id: { get_param: vnf_id }\n vf_module_id: { get_param: vf_module_id }\n\n FSB1_Internal1:\n type: OS::Neutron::Port\n properties:\n network_id: { get_resource: Internal1_net }\n mac_address: { get_param: fsb1_Internal1_mac }\n replacement_policy: AUTO\n\n FSB1_Internal2:\n type: OS::Neutron::Port\n properties:\n network_id: { get_resource: Internal2_net }\n mac_address: { get_param: fsb1_Internal2_mac }\n replacement_policy: AUTO\n\n FSB1_OAM:\n type: OS::Neutron::Port\n properties:\n network: { get_param: oam_net_name }\n fixed_ips:\n - ip_address: { get_param: fsb_oam_ip_0 }\n replacement_policy: AUTO\n\n FSB_2:\n type: OS::Nova::Server\n properties:\n name: { get_param: fsb_name_1 }\n block_device_mapping: [\n { delete_on_termination: "false",\n device_name: "vda",\n volume_id: { get_param: fsb_volume_id_1 } }\n ]\n flavor: { get_param: fsb_flavor_name }\n #scheduler_hints: { group: { get_resource: VM_Affinity } }\n availability_zone: { get_param: availability_zone_0}\n networks:\n - port: { get_resource: FSB2_Internal1 }\n - port: { get_resource: FSB2_Internal2 }\n - port: { get_resource: FSB2_OAM }\n metadata:\n vnf_id: { get_param: vnf_id }\n vf_module_id: { get_param: vf_module_id }\n\n FSB2_Internal1:\n type: OS::Neutron::Port\n properties:\n network_id: { get_resource: Internal1_net }\n mac_address: { get_param: fsb2_Internal1_mac }\n replacement_policy: AUTO\n\n FSB2_Internal2:\n type: OS::Neutron::Port\n properties:\n network_id: { get_resource: Internal2_net }\n mac_address: { get_param: fsb2_Internal2_mac }\n replacement_policy: AUTO\n\n FSB2_OAM:\n type: OS::Neutron::Port\n properties:\n network: { get_param: oam_net_name }\n fixed_ips:\n - ip_address: { get_param: fsb_oam_ip_1 }\n replacement_policy: AUTO\n\n NCB_1:\n type: OS::Nova::Server\n properties:\n name: { get_param: ncb_name_0 }\n image: { get_param: pxe_image_name }\n flavor: { get_param: ncb_flavor_name }\n# scheduler_hints: { group: { get_resource: VM_Affinity } }\n availability_zone: { get_param: availability_zone_1}\n networks:\n - port: { get_resource: NCB1_Internal1 }\n - port: { get_resource: NCB1_Internal2 }\n metadata:\n vnf_id: { get_param: vnf_id }\n vf_module_id: { get_param: vf_module_id }\n\n NCB1_Internal1:\n type: OS::Neutron::Port\n properties:\n network_id: { get_resource: Internal1_net }\n mac_address: { get_param: ncb1_Internal1_mac }\n replacement_policy: AUTO\n\n NCB1_Internal2:\n type: OS::Neutron::Port\n properties:\n network_id: { get_resource: Internal2_net }\n mac_address: { get_param: ncb1_Internal2_mac }\n replacement_policy: AUTO\n\n NCB_2:\n type: OS::Nova::Server\n properties:\n name: { get_param: ncb_name_1 }\n image: { get_param: pxe_image_name }\n flavor: { get_param: ncb_flavor_name }\n availability_zone: { get_param: availability_zone_1 }\n networks:\n - port: { get_resource: NCB2_Internal1 }\n - port: { get_resource: NCB2_Internal2 }\n metadata:\n vnf_id: { get_param: vnf_id }\n vf_module_id: { get_param: vf_module_id }\n\n NCB2_Internal1:\n type: OS::Neutron::Port\n properties:\n network_id: { get_resource: Internal1_net }\n mac_address: { get_param: ncb2_Internal1_mac }\n replacement_policy: AUTO\n\n NCB2_Internal2:\n type: OS::Neutron::Port\n properties:\n network_id: { get_resource: Internal2_net }\n mac_address: { get_param: ncb2_Internal2_mac }\n replacement_policy: AUTO\n\noutputs:\n internal_net_id_0: \n description: ID of Internal1_net\n value: {get_resource: Internal1_net}\n\n internal_net_id_1: \n description: ID of Internal2_net\n value: {get_resource: Internal2_net}\n \n service_instance_id_0: \n description: ID of Service Instance used for vLCs\n value: {get_resource: template_ServiceInstance_VLC}\n\n security_group_gtp_id:\n description: ID of GTP security group\n value: {get_resource: gtp_security_group}\n\n security_group_sctp_a_id:\n description: ID of SCTP_A security group\n value: {get_resource: SCTP_A_SecurityGroup}\n\n security_group_sctp_b_id:\n description: ID of SCTP_B security group\n value: {get_resource: SCTP_B_SecurityGroup}\n\n security_group_oam_id:\n description: ID of OAM security group\n value: {get_resource: oam_security_group}\n\n security_group_int1_id:\n description: ID of Internal1_net security group\n value: {get_resource: int1_sec_group}\n\n security_group_int2_id:\n description: ID of Internal2_net security group\n value: {get_resource: int2_sec_group} \n', 120, 'MjFlYTY5MGRiOWFiODczODFhOWRiYTM0MWQyZmI4Y2E=', '2018-05-13 12:12:09');
+
+
+ INSERT INTO `heat_template` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `TIMEOUT_MINUTES`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES
+ ('97b73b0f-2860-49e5-b9c5-b6f91e4ee4a8', 'base_vmme_volume.yml', '2', 'created from csar', 'heat_template_version: 2013-05-23\r\n\r\ndescription: HOT template for vMME Cinder Volumes\r\n\r\nparameters:\r\n\r\n fsb_volume_type_0:\r\n type: string\r\n label: volume type\r\n description: volume type SolidFire\r\n\r\n fsb_volume_size_0:\r\n type: number\r\n label: volume size\r\n description: my volume size 320GB\r\n\r\n fsb_volume_image_name_0:\r\n type: string\r\n label: MME_FSB1\r\n description: MME_FSB1_16ACP04_GA\r\n\r\n fsb_volume_image_name_1:\r\n type: string\r\n label: MME_FSB2\r\n description: MME_FSB2_16ACP04_GA\r\n\r\nresources:\r\n\r\n fsb_volume_type_0:\r\n type: OS::Cinder::Volume\r\n properties:\r\n size: {get_param: fsb_volume_size_0}\r\n volume_type: {get_param: fsb_volume_type_0}\r\n name: \r\n list_join: [\'_\', [{get_param: \'OS::stack_name\'}, \'FSB1_Vol_1\']]\r\n image: {get_param: fsb_volume_image_name_0}\r\n\r\n fsb_volume_type_1:\r\n type: OS::Cinder::Volume\r\n properties:\r\n size: {get_param: fsb_volume_size_0}\r\n volume_type: {get_param: fsb_volume_type_0}\r\n name: \r\n list_join: [\'_\', [{get_param: \'OS::stack_name\'}, \'FSB2_Vol_1\']]\r\n image: {get_param: fsb_volume_type_0}\r\n\r\noutputs:\r\n fsb_volume_id_0: \r\n description: ID of Cinder Volume for FSB1\r\n value: {get_resource: fsb_volume_type_0}\r\n\r\n fsb_volume_id_1: \r\n description: ID of Cinder Volume for FSB2\r\n value: {get_resource: fsb_volume_type_1}\r\n', 120, 'NzYyMWYxY2NjODFiNTYxNjVhYmM3NjdhMTdiZDExMGY=', '2018-05-13 12:12:09');
+
+INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`)
+VALUES ('97b73b0f-2860-49e5-b9c5-b6f91e4ee4a8', 'fsb_volume_image_name_0', b'1', 'string', NULL),
+('97b73b0f-2860-49e5-b9c5-b6f91e4ee4a8', 'fsb_volume_image_name_1', b'1', 'string', NULL),
+('97b73b0f-2860-49e5-b9c5-b6f91e4ee4a8', 'fsb_volume_size_0', b'1', 'number', NULL),
+ ('97b73b0f-2860-49e5-b9c5-b6f91e4ee4a8', 'fsb_volume_type_0', b'1', 'string', NULL);
+
+ INSERT INTO `vf_module` (`MODEL_UUID`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `MODEL_NAME`, `DESCRIPTION`, `IS_BASE`, `HEAT_TEMPLATE_ARTIFACT_UUID`, `VOL_HEAT_TEMPLATE_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VNF_RESOURCE_MODEL_UUID`)
+ VALUES ('207fe0dc-4c89-4e5d-9a78-345e99ef7fbe', '547e9ac6-0489-41b6-8289-a7705f6e5c9d', '1', 'TestVnfType::TestModule-0', NULL, 1, 'd187c228-71c6-4c6d-8f33-cd1243442d0a', '97b73b0f-2860-49e5-b9c5-b6f91e4ee4a8', '2018-05-13 12:12:09', 'c5efeb55-4ade-49b8-815c-6a6391f6c46b');
+INSERT INTO `heat_environment` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('f4a21b58-5654-4cf6-9c50-de42004fe2b4', 'base_vmme.env', '2', 'Auto-generated HEAT Environment deployment artifact', 'parameters:\n Internal1_allow_transit: "True"\n Internal1_dhcp: "False"\n Internal1_forwarding_mode: "l2"\n Internal1_net_cidr: "169.253.0.0"\n Internal1_net_cidr_len: "17"\n Internal1_net_gateway: "169.253.0.3"\n Internal1_rpf: "disable"\n Internal1_shared: "False"\n Internal2_allow_transit: "True"\n Internal2_dhcp: "False"\n Internal2_forwarding_mode: "l2"\n Internal2_net_cidr: "169.255.0.0"\n Internal2_net_cidr_len: "17"\n Internal2_net_gateway: "169.255.0.3"\n Internal2_rpf: "disable"\n Internal2_shared: "False"\n domain_name: "default-domain"\n fsb1_Internal1_mac: "00:80:37:0E:0B:12"\n fsb1_Internal2_mac: "00:80:37:0E:0B:12"\n fsb2_Internal1_mac: "00:80:37:0E:0D:12"\n fsb2_Internal2_mac: "00:80:37:0E:0D:12"\n fsb_flavor_name: "nv.c20r64d1"\n gtp_sec_group_name: "gtp-sec-group"\n int1_sec_group_name: "int1-sec-group"\n int2_sec_group_name: "int2-sec-group"\n ncb1_Internal1_mac: "00:80:37:0E:09:12"\n ncb1_Internal2_mac: "00:80:37:0E:09:12"\n ncb2_Internal1_mac: "00:80:37:0E:0F:12"\n ncb2_Internal2_mac: "00:80:37:0E:0F:12"\n ncb_flavor_name: "nv.c20r64d1"\n oam_sec_group_name: "oam-sec-group"\n pxe_image_name: "MME_PXE-Boot_16ACP04_GA.qcow2"\n sctp-a-IPv6_ethertype: "IPv6"\n sctp-a-display_name: "epc-sctp-a-ipv4v6-sec-group"\n sctp-a-dst_subnet_prefix_v6: "::"\n sctp-a-egress-dst_end_port: 65535\n sctp-a-egress-dst_start_port: 0\n sctp-a-egress-src_end_port: 65535\n sctp-a-egress-src_start_port: 0\n sctp-a-egress_action: "pass"\n sctp-a-egress_dst_subnet_prefix: "0.0.0.0"\n sctp-a-egress_dst_subnet_prefix_len: 0\n sctp-a-egress_ethertype: "IPv4"\n sctp-a-egress_rule_application: "any"\n sctp-a-egress_rule_protocol: "icmp"\n sctp-a-egress_src_addresses: "local"\n sctp-a-ingress-dst_end_port: 65535\n sctp-a-ingress-dst_start_port: 0\n sctp-a-ingress-src_end_port: 65535\n sctp-a-ingress-src_start_port: 0\n sctp-a-ingress-src_subnet_prefix: "0.0.0.0"\n sctp-a-ingress-src_subnet_prefix_len: 0\n sctp-a-ingress_action: "pass"\n sctp-a-ingress_dst_addresses: "local"\n sctp-a-ingress_ethertype: "IPv4"\n sctp-a-ingress_rule_application: "any"\n sctp-a-ingress_rule_protocol: "icmp"\n sctp-a-ipv6-egress-dst_start_port: "0"\n sctp-a-ipv6-egress_action: "pass"\n sctp-a-ipv6-egress_dst_end_port: "65535"\n sctp-a-ipv6-egress_dst_subnet_prefix: "0.0.0.0"\n sctp-a-ipv6-egress_dst_subnet_prefix_len: "0"\n sctp-a-ipv6-egress_ethertype: "IPv4"\n sctp-a-ipv6-egress_rule_application: "any"\n sctp-a-ipv6-egress_rule_protocol: "any"\n sctp-a-ipv6-egress_src_addresses: "local"\n sctp-a-ipv6-egress_src_end_port: "65535"\n sctp-a-ipv6-egress_src_start_port: "0"\n sctp-a-ipv6-ingress-dst_end_port: "65535"\n sctp-a-ipv6-ingress-dst_start_port: "0"\n sctp-a-ipv6-ingress-src_end_port: 65535\n sctp-a-ipv6-ingress-src_start_port: 0\n sctp-a-ipv6-ingress_action: "pass"\n sctp-a-ipv6-ingress_dst_addresses: "local"\n sctp-a-ipv6-ingress_ethertype: "IPv4"\n sctp-a-ipv6-ingress_rule_application: "any"\n sctp-a-ipv6-ingress_rule_protocol: "any"\n sctp-a-ipv6-ingress_src_subnet_prefix: "0.0.0.0"\n sctp-a-ipv6-ingress_src_subnet_prefix_len: "0"\n sctp-a-name: "epc-sctp-a-ipv4v6-sec-group"\n sctp-a-src_subnet_prefix_v6: "::"\n sctp-b-IPv6_ethertype: "IPv6"\n sctp-b-display_name: "epc-sctp-b-ipv4v6-sec-group"\n sctp-b-dst_subnet_prefix_v6: "::"\n sctp-b-egress-dst_end_port: 65535\n sctp-b-egress-dst_start_port: 0\n sctp-b-egress-src_end_port: 65535\n sctp-b-egress-src_start_port: 0\n sctp-b-egress_action: "pass"\n sctp-b-egress_dst_subnet_prefix: "0.0.0.0"\n sctp-b-egress_dst_subnet_prefix_len: 0\n sctp-b-egress_ethertype: "IPv4"\n sctp-b-egress_rule_application: "any"\n sctp-b-egress_rule_protocol: "icmp"\n sctp-b-egress_src_addresses: "local"\n sctp-b-ingress-dst_end_port: 65535\n sctp-b-ingress-dst_start_port: 0\n sctp-b-ingress-src_end_port: 65535\n sctp-b-ingress-src_start_port: 0\n sctp-b-ingress-src_subnet_prefix: "0.0.0.0"\n sctp-b-ingress-src_subnet_prefix_len: 0\n sctp-b-ingress_action: "pass"\n sctp-b-ingress_dst_addresses: "local"\n sctp-b-ingress_ethertype: "IPv4"\n sctp-b-ingress_rule_application: "any"\n sctp-b-ingress_rule_protocol: "icmp"\n sctp-b-ipv6-egress-dst_start_port: "0"\n sctp-b-ipv6-egress_action: "pass"\n sctp-b-ipv6-egress_dst_end_port: "65535"\n sctp-b-ipv6-egress_dst_subnet_prefix: "0.0.0.0"\n sctp-b-ipv6-egress_dst_subnet_prefix_len: "0"\n sctp-b-ipv6-egress_ethertype: "IPv4"\n sctp-b-ipv6-egress_rule_application: "any"\n sctp-b-ipv6-egress_rule_protocol: "any"\n sctp-b-ipv6-egress_src_addresses: "local"\n sctp-b-ipv6-egress_src_end_port: "65535"\n sctp-b-ipv6-egress_src_start_port: "0"\n sctp-b-ipv6-ingress-dst_end_port: "65535"\n sctp-b-ipv6-ingress-dst_start_port: "0"\n sctp-b-ipv6-ingress-src_end_port: 65535\n sctp-b-ipv6-ingress-src_start_port: 0\n sctp-b-ipv6-ingress_action: "pass"\n sctp-b-ipv6-ingress_dst_addresses: "local"\n sctp-b-ipv6-ingress_ethertype: "IPv4"\n sctp-b-ipv6-ingress_rule_application: "any"\n sctp-b-ipv6-ingress_rule_protocol: "any"\n sctp-b-ipv6-ingress_src_subnet_prefix: "0.0.0.0"\n sctp-b-ipv6-ingress_src_subnet_prefix_len: "0"\n sctp-b-name: "epc-sctp-b-ipv4v6-sec-group"\n sctp-b-src_subnet_prefix_v6: "::"\n sctp_rule_protocol: "132"\n vlc_st_availability_zone: "True"\n vlc_st_interface_type_gtp: "other0"\n vlc_st_interface_type_int1: "other1"\n vlc_st_interface_type_int2: "other2"\n vlc_st_interface_type_oam: "management"\n vlc_st_interface_type_sctp_a: "left"\n vlc_st_interface_type_sctp_b: "right"\n vlc_st_service_mode: "in-network-nat"\n vlc_st_service_type: "firewall"\n vlc_st_version: "2"\n vlc_st_virtualization_type: "virtual-machine"\n availability_zone_0: \n availability_zone_1: \n availability_zone_2: \n availability_zone_3: \n fsb_name_0: \n fsb_name_1: \n fsb_oam_ip_0: \n fsb_oam_ip_1: \n fsb_volume_id_0: \n fsb_volume_id_1: \n gtp_net_fqdn: \n gtp_net_name: \n ncb_name_0: \n ncb_name_1: \n oam_net_fqdn: \n oam_net_name: \n sctp_a_net_fqdn: \n sctp_a_net_name: \n sctp_b_net_fqdn: \n sctp_b_net_name: \n vf_module_id: \n vlc_gtp_route_prefixes: \n vlc_oam_route_prefixes: \n vlc_sctp_a_route_prefixes: \n vlc_sctp_b_route_prefixes: \n vnf_id: \n vnf_name: \n', 'MGJjYzM2ZWY1ODBjYzc1MzBiMGQxZmI4N2MyZmFkY2E=', '2018-05-13 12:12:09');
+
+INSERT INTO `heat_environment` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('3375f64b-4709-4802-8713-7a164763f9cd', 'base_vDB_11032016_volume.env', '1', 'Auto-generated HEAT Environment deployment artifact', '#_______________________________________________________________________________________________________________________________________\n #| AT&T Proprietary (Restricted) |\n #| Only for use by authorized individuals or any above-designated team(s) |\n #| within the AT&T companies and not for general distribution |\n #|_______________________________________________________________________________________________________________________________________|\nparameters:\n oam_volume_size: "10"\n prx_volume_size: "10"\n rdn_volume_size: "10"\n#_______________________________________________________________________________________________________________________________________\n #| AT&T Proprietary (Restricted) |\n #| Only for use by authorized individuals or any above-designated team(s) |\n #| within the AT&T companies and not for general distribution |\n #|_______________________________________________________________________________________________________________________________________|\n', 'NGE2YTZjM2YzZDkyNWEzNTljMjQwYzkyNTIyMDU3ZDQ=', '2017-01-26 16:01:40');
+
+
+
+ INSERT INTO `vf_module_customization` (`MODEL_CUSTOMIZATION_UUID`, `LABEL`, `INITIAL_COUNT`, `MIN_INSTANCES`, `MAX_INSTANCES`, `AVAILABILITY_ZONE_COUNT`, `HEAT_ENVIRONMENT_ARTIFACT_UUID`, `VOL_ENVIRONMENT_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VF_MODULE_MODEL_UUID`) VALUES ('9b339a61-69ca-465f-86b8-1c72c582b8e8', 'base_vmme', 1, 1, 1, NULL, 'f4a21b58-5654-4cf6-9c50-de42004fe2b4', '3375f64b-4709-4802-8713-7a164763f9cd', '2018-05-13 12:12:09', '207fe0dc-4c89-4e5d-9a78-345e99ef7fbe');
+
+
+
+
+
+
+
+