########################################################################## # #==================LICENSE_START========================================== # # # Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # #==================LICENSE_END============================================ # # ECOMP is a trademark and service mark of AT&T Intellectual Property. # ########################################################################## heat_template_version: 2013-05-23 description: Heat template that deploys a private network for ONAP VNFs ############## # # # PARAMETERS # # # ############## parameters: int_private1_net_cidr: type: string label: Unprotected private network CIDR description: The CIDR of the unprotected private network int_private2_net_cidr: type: string label: Protected private network CIDR description: The CIDR of the protected private network pub_key: type: string label: Public key description: Public key to be installed on the compute instance vnf_name: type: string description: VNF_NAME vnf_software_version: type: string label: VNF software version description: VNF software version default: 1.0.0 ############# # # # RESOURCES # # # ############# resources: my_keypair: type: OS::Nova::KeyPair properties: name: str_replace: template: vnfname_key_name params: vnfname: { get_param: vnf_name } public_key: { get_param: pub_key } save_private_key: false int_private1_network: type: OS::Neutron::Net properties: name: str_replace: template: vnfname_int_private1_net params: vnfname: { get_param: vnf_name } int_private1_subnet: type: OS::Neutron::Subnet properties: name: str_replace: template: vnfname_int_private1_subnet params: vnfname: { get_param: vnf_name } network: { get_resource: int_private1_network } cidr: { get_param: int_private1_net_cidr } int_private2_network: type: OS::Neutron::Net properties: name: str_replace: template: vnfname_int_private2_net params: vnfname: { get_param: vnf_name } int_private2_subnet: type: OS::Neutron::Subnet properties: name: str_replace: template: vnfname_int_private2_subnet params: vnfname: { get_param: vnf_name } network: { get_resource: int_private2_network } cidr: { get_param: int_private2_net_cidr } outputs: int_private1_net_id: value: { get_resource: int_private1_network } int_private1_subnet_id: value: { get_resource: int_private1_subnet } int_private2_net_id: value: { get_resource: int_private2_network } int_private2_subnet_id: value: { get_resource: int_private2_subnet } int_private2_net_cidr: value: { get_param: int_private2_net_cidr } int_private1_net_cidr: value: { get_param: int_private1_net_cidr } key_name: value: { get_resource: my_keypair }