summaryrefslogtreecommitdiffstats
path: root/LICENSE
blob: f4346f82c46562f01eb5b9eccb7f8eb0ad8aee47 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
Copyright 2015 Open Platform for NFV Project, Inc. and its contributors

   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.
ariable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
heat_template_version: 2015-04-30

description: >
  External network. Public traffic, Neutron l3router for floating IPs/SNAT, etc.

parameters:
  # the defaults here work for static IP assignment (IPAM) only
  ExternalNetCidr:
    # OpenStack uses the EUI-64 address format, which requires a /64 prefix
    default: '2001:db8:fd00:1000::/64'
    description: Cidr for the external network.
    type: string
  ExternalNetValueSpecs:
    default: {'provider:physical_network': 'external', 'provider:network_type': 'flat'}
    description: Value specs for the external network.
    type: json
  ExternalNetAdminStateUp:
    default: false
    description: This admin state of of the network.
    type: boolean
  ExternalNetShared:
    default: false
    description: Whether this network is shared across all tenants.
    type: boolean
  ExternalNetName:
    default: external
    description: The name of the external network.
    type: string
  ExternalSubnetName:
    default: external_subnet
    description: The name of the external subnet in Neutron.
    type: string
  ExternalAllocationPools:
    default: [{'start': '2001:db8:fd00:1000::10', 'end': '2001:db8:fd00:1000:ffff:ffff:ffff:fffe'}]
    description: Ip allocation pool range for the external network.
    type: json
  IPv6AddressMode:
    default: dhcpv6-stateful
    description: Neutron subnet IPv6 address mode
    type: string
  IPv6RAMode:
    default: dhcpv6-stateful
    description: Neutron subnet IPv6 router advertisement mode
    type: string

resources:
  ExternalNetwork:
    type: OS::Neutron::Net
    properties:
      admin_state_up: {get_param: ExternalNetAdminStateUp}
      name: {get_param: ExternalNetName}
      shared: {get_param: ExternalNetShared}
      value_specs: {get_param: ExternalNetValueSpecs}

  ExternalSubnet:
    type: OS::Neutron::Subnet
    properties:
      ip_version: 6
      ipv6_address_mode: {get_param: IPv6AddressMode}
      ipv6_ra_mode: {get_param: IPv6RAMode}
      cidr: {get_param: ExternalNetCidr}
      name: {get_param: ExternalSubnetName}
      network: {get_resource: ExternalNetwork}
      allocation_pools: {get_param: ExternalAllocationPools}

outputs:
  OS::stack_id:
    description: Neutron external network
    value: {get_resource: ExternalNetwork}