Provides a list of per-service ctlplane IPs to the workflows env
[apex-tripleo-heat-templates.git] / network / ports / external_v6.yaml
1 heat_template_version: pike
2
3 description: >
4   Creates a port on the external network. The IP address will be chosen
5   automatically if FixedIPs is empty.
6
7 parameters:
8   ExternalNetName:
9     description: Name of the external neutron network
10     default: external
11     type: string
12   PortName:
13     description: Name of the port
14     default: ''
15     type: string
16   ControlPlaneIP: # Here for compatability with noop.yaml
17     description: IP address on the control plane
18     default: ''
19     type: string
20   ControlPlaneNetwork: # Here for compatibility with ctlplane_vip.yaml
21     description: The name of the undercloud Neutron control plane
22     default: ctlplane
23     type: string
24   FixedIPs:
25     description: >
26         Control the IP allocation for the VIP port. E.g.
27         [{'ip_address':'1.2.3.4'}]
28     default: []
29     type: json
30   IPPool: # Here for compatibility with from_pool.yaml
31     default: {}
32     type: json
33   NodeIndex: # Here for compatibility with from_pool.yaml
34     default: 0
35     type: number
36
37 resources:
38
39   ExternalPort:
40     type: OS::Neutron::Port
41     properties:
42       network: {get_param: ExternalNetName}
43       name: {get_param: PortName}
44       fixed_ips: {get_param: FixedIPs}
45       replacement_policy: AUTO
46
47 outputs:
48   ip_address:
49     description: external network IP
50     value: {get_attr: [ExternalPort, fixed_ips, 0, ip_address]}
51   ip_address_uri:
52     description: external network IP with brackets suitable for a URL
53     value:
54           list_join:
55           - ''
56           - - '['
57             - {get_attr: [ExternalPort, fixed_ips, 0, ip_address]}
58             - ']'
59   ip_subnet:
60     description: IP/Subnet CIDR for the external network IP
61     value:
62           list_join:
63             - ''
64             - - {get_attr: [ExternalPort, fixed_ips, 0, ip_address]}
65               - '/'
66               - {str_split: ['/', {get_attr: [ExternalPort, subnets, 0, cidr]}, 1]}