Merge "Deploy Loadbalancer as a composable role"
[apex-tripleo-heat-templates.git] / net-config-static.yaml
1 heat_template_version: 2015-04-30
2
3 description: >
4   Software Config to drive os-net-config for a simple bridge.
5
6 parameters:
7   ControlPlaneIp:
8     default: ''
9     description: IP address/subnet on the ctlplane network
10     type: string
11   ExternalIpSubnet:
12     default: ''
13     description: IP address/subnet on the external network
14     type: string
15   InternalApiIpSubnet:
16     default: ''
17     description: IP address/subnet on the internal API network
18     type: string
19   StorageIpSubnet:
20     default: ''
21     description: IP address/subnet on the storage network
22     type: string
23   StorageMgmtIpSubnet:
24     default: ''
25     description: IP address/subnet on the storage mgmt network
26     type: string
27   TenantIpSubnet:
28     default: ''
29     description: IP address/subnet on the tenant network
30     type: string
31   ManagementIpSubnet:
32     default: ''
33     description: IP address/subnet on the management network
34     type: string
35   ControlPlaneSubnetCidr: # Override this via parameter_defaults
36     default: '24'
37     description: The subnet CIDR of the control plane network.
38     type: string
39   ControlPlaneDefaultRoute: # Override this via parameter_defaults
40     description: The default route of the control plane network.
41     type: string
42   DnsServers: # Override this via parameter_defaults
43     default: []
44     description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
45     type: comma_delimited_list
46   EC2MetadataIp: # Override this via parameter_defaults
47     description: The IP address of the EC2 metadata server.
48     type: string
49
50
51 resources:
52   OsNetConfigImpl:
53     type: OS::Heat::StructuredConfig
54     properties:
55       group: os-apply-config
56       config:
57         os_net_config:
58           network_config:
59             -
60               type: interface
61               name: {get_input: interface_name}
62               use_dhcp: false
63               dns_servers: {get_param: DnsServers}
64               addresses:
65                 -
66                   ip_netmask:
67                     list_join:
68                       - '/'
69                       - - {get_param: ControlPlaneIp}
70                         - {get_param: ControlPlaneSubnetCidr}
71               routes:
72                 -
73                   ip_netmask: 169.254.169.254/32
74                   next_hop: {get_param: EC2MetadataIp}
75                 -
76                   default: true
77                   next_hop: {get_param: ControlPlaneDefaultRoute}
78
79 outputs:
80   OS::stack_id:
81     description: The OsNetConfigImpl resource.
82     value: {get_resource: OsNetConfigImpl}