e0736ab7aea5d7dd77340256a065060b4de0e46b
[apex-tripleo-heat-templates.git] / network / external_v6.yaml
1 heat_template_version: 2015-04-30
2
3 description: >
4   External network. Public traffic, Neutron l3router for floating IPs/SNAT, etc.
5
6 parameters:
7   # the defaults here work for static IP assignment (IPAM) only
8   ExternalNetCidr:
9     # OpenStack uses the EUI-64 address format, which requires a /64 prefix
10     default: '2001:db8:fd00:1000::/64'
11     description: Cidr for the external network.
12     type: string
13   ExternalNetValueSpecs:
14     default: {'provider:physical_network': 'external', 'provider:network_type': 'flat'}
15     description: Value specs for the external network.
16     type: json
17   ExternalNetAdminStateUp:
18     default: false
19     description: This admin state of of the network.
20     type: boolean
21   ExternalNetShared:
22     default: false
23     description: Whether this network is shared across all tenants.
24     type: boolean
25   ExternalNetName:
26     default: external
27     description: The name of the external network.
28     type: string
29   ExternalSubnetName:
30     default: external_subnet
31     description: The name of the external subnet in Neutron.
32     type: string
33   ExternalAllocationPools:
34     default: [{'start': '2001:db8:fd00:1000::10', 'end': '2001:db8:fd00:1000:ffff:ffff:ffff:fffe'}]
35     description: Ip allocation pool range for the external network.
36     type: json
37   IPv6AddressMode:
38     default: dhcpv6-stateful
39     description: Neutron subnet IPv6 address mode
40     type: string
41   IPv6RAMode:
42     default: dhcpv6-stateful
43     description: Neutron subnet IPv6 router advertisement mode
44     type: string
45   ExternalInterfaceDefaultRoute:
46     default: '2001:db8:fd00:1000::1'
47     description: default route for the external network
48     type: string
49
50 resources:
51   ExternalNetwork:
52     type: OS::Neutron::Net
53     properties:
54       admin_state_up: {get_param: ExternalNetAdminStateUp}
55       name: {get_param: ExternalNetName}
56       shared: {get_param: ExternalNetShared}
57       value_specs: {get_param: ExternalNetValueSpecs}
58
59   ExternalSubnet:
60     type: OS::Neutron::Subnet
61     properties:
62       ip_version: 6
63       ipv6_address_mode: {get_param: IPv6AddressMode}
64       ipv6_ra_mode: {get_param: IPv6RAMode}
65       cidr: {get_param: ExternalNetCidr}
66       name: {get_param: ExternalSubnetName}
67       network: {get_resource: ExternalNetwork}
68       allocation_pools: {get_param: ExternalAllocationPools}
69       gateway_ip: {get_param: ExternalInterfaceDefaultRoute}
70
71 outputs:
72   OS::stack_id:
73     description: Neutron external network
74     value: {get_resource: ExternalNetwork}