Merge "Update panko port in env ssl yaml files to correct one" into stable/pike
[apex-tripleo-heat-templates.git] / network / network.j2
1 heat_template_version: pike
2
3 description: >
4   {{network.name}} network definition (automatically generated).
5
6 parameters:
7   # the defaults here work for static IP assignment (IPAM) only
8   {{network.name}}NetCidr:
9 {%- if network.ipv6 or ipv6_override %}
10     default: "{{network.ipv6_subnet|default(network.ip_subnet|default(""))}}"
11 {%- else %}
12     default: "{{network.ip_subnet|default("")}}"
13 {%- endif %}
14     description: Cidr for the {{network.name_lower}} network.
15     type: string
16   {{network.name}}NetValueSpecs:
17     default: {'provider:physical_network': '{{network.name_lower}}', 'provider:network_type': 'flat'}
18     description: Value specs for the {{network.name_lower}} network.
19     type: json
20 {%- if not ":" in network.ip_subnet and not network.ipv6 and not ipv6_override %}
21   {{network.name}}NetEnableDHCP:
22     default: false
23     description: Whether to enable DHCP on the associated subnet (IPv4 only).
24     type: boolean
25 {%- endif %}
26   {{network.name}}NetAdminStateUp:
27     default: false
28     description: The admin state of the network.
29     type: boolean
30   {{network.name}}NetShared:
31     default: false
32     description: Whether this network is shared across all tenants.
33     type: boolean
34   {{network.name}}NetName:
35     default: {{network.name_lower}}
36     description: The name of the {{network.name_lower}} network.
37     type: string
38   {{network.name}}SubnetName:
39     default: {{network.name_lower}}_subnet
40     description: The name of the {{network.name_lower}} subnet in Neutron.
41     type: string
42   {{network.name}}AllocationPools:
43 {%- if ":" in network.ip_subnet or network.ipv6 or ipv6_override %}
44     default: {{network.ipv6_allocation_pools|default(network.allocation_pools|default([]))}}
45 {%- else %}
46     default: {{network.allocation_pools|default([])}}
47 {%- endif %}
48     description: Ip allocation pool range for the {{network.name_lower}} network.
49     type: json
50 {%- if ":" in network.ip_subnet or network.ipv6 or ipv6_override %}
51   IPv6AddressMode:
52     default: dhcpv6-stateful
53     description: Neutron subnet IPv6 address mode
54     type: string
55   IPv6RAMode:
56     default: dhcpv6-stateful
57     description: Neutron subnet IPv6 router advertisement mode
58     type: string
59 {%- endif %}
60   {{network.name}}InterfaceDefaultRoute:
61 {%- if network.ipv6 or ipv6_override %}
62     default: "{{network.gateway_ipv6|default(network.gateway_ip|default(''))}}"
63 {%- else %}
64     default: "{{network.gateway_ip|default('')}}"
65 {%- endif %}
66     description: default route for the {{network.name_lower}} network
67     type: string
68 {%- if network.vlan %}
69   {{network.name}}NetworkVlanID:
70     default: {{network.vlan}}
71     description: Vlan ID for the {{network.name}} network traffic.
72     type: number
73 {%- endif %}
74
75 resources:
76   {{network.name}}Network:
77     type: OS::Neutron::Net
78     properties:
79       admin_state_up: {get_param: {{network.name}}NetAdminStateUp}
80       name: {get_param: {{network.name}}NetName}
81       shared: {get_param: {{network.name}}NetShared}
82       value_specs: {get_param: {{network.name}}NetValueSpecs}
83
84   {{network.name}}Subnet:
85     type: OS::Neutron::Subnet
86     properties:
87 {%- if ":" in network.ip_subnet or network.ipv6 or ipv6_override %}
88       ip_version: 6
89       ipv6_address_mode: {get_param: IPv6AddressMode}
90       ipv6_ra_mode: {get_param: IPv6RAMode}
91 {%- else %}
92       enable_dhcp: {get_param: {{network.name}}NetEnableDHCP}
93 {%- endif %}
94       cidr: {get_param: {{network.name}}NetCidr}
95       name: {get_param: {{network.name}}SubnetName}
96       network: {get_resource: {{network.name}}Network}
97       allocation_pools: {get_param: {{network.name}}AllocationPools}
98       gateway_ip: {get_param: {{network.name}}InterfaceDefaultRoute}
99
100 outputs:
101   OS::stack_id:
102     description: {{network.name_lower}} network
103     value: {get_resource: {{network.name}}Network}
104   subnet_cidr:
105     value: {get_attr: [{{network.name}}Subnet, cidr]}