Merge "Containerize virtlogd"
[apex-tripleo-heat-templates.git] / network / network.network.j2.yaml
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     default: {{network.ip_subnet|default("")}}
10     description: Cidr for the {{network.name_lower}} network.
11     type: string
12   {{network.name}}NetValueSpecs:
13     default: {'provider:physical_network': '{{network.name_lower}}', 'provider:network_type': 'flat'}
14     description: Value specs for the {{network.name_lower}} network.
15     type: json
16   {{network.name}}NetAdminStateUp:
17     default: false
18     description: The admin state of the network.
19     type: boolean
20   {{network.name}}NetEnableDHCP:
21     default: false
22     description: Whether to enable DHCP on the associated subnet.
23     type: boolean
24   {{network.name}}NetShared:
25     default: false
26     description: Whether this network is shared across all tenants.
27     type: boolean
28   {{network.name}}NetName:
29     default: {{network.name_lower}}
30     description: The name of the {{network.name_lower}} network.
31     type: string
32   {{network.name}}SubnetName:
33     default: {{network.name_lower}}_subnet
34     description: The name of the {{network.name_lower}} subnet in Neutron.
35     type: string
36   {{network.name}}AllocationPools:
37     default: {{network.allocation_pools|default([])}}
38     description: Ip allocation pool range for the {{network.name_lower}} network.
39     type: json
40   {{network.name}}InterfaceDefaultRoute:
41     default: {{network.gateway_ip|default('""')}}
42     description: default route for the {{network.name_lower}} network
43     type: string
44 {%- if network.vlan %}
45   {{network.name}}NetworkVlanID:
46     default: {{network.vlan}}
47     description: Vlan ID for the {{network.name}} network traffic.
48     type: number
49 {%- endif %}
50 {%- if network.ipv6 %}
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
61 resources:
62   {{network.name}}Network:
63     type: OS::Neutron::Net
64     properties:
65       admin_state_up: {get_param: {{network.name}}NetAdminStateUp}
66       name: {get_param: {{network.name}}NetName}
67       shared: {get_param: {{network.name}}NetShared}
68       value_specs: {get_param: {{network.name}}NetValueSpecs}
69
70   {{network.name}}Subnet:
71     type: OS::Neutron::Subnet
72     properties:
73       cidr: {get_param: {{network.name}}NetCidr}
74       name: {get_param: {{network.name}}SubnetName}
75       network: {get_resource: {{network.name}}Network}
76       allocation_pools: {get_param: {{network.name}}AllocationPools}
77       gateway_ip: {get_param: {{network.name}}InterfaceDefaultRoute}
78 {%-  if network.ipv6 %}
79       ip_version: 6
80       ipv6_address_mode: {get_param: IPv6AddressMode}
81       ipv6_ra_mode: {get_param: IPv6RAMode}
82 {%- else %}
83       enable_dhcp: {get_param: {{network.name}}NetEnableDHCP}
84 {%- endif %}
85
86 outputs:
87   OS::stack_id:
88     description: {{network.name_lower}} network
89     value: {get_resource: {{network.name}}Network}
90   subnet_cidr:
91     value: {get_attr: [{{network.name}}Subnet, cidr]}