heat_template_version: rocky

parameters:
  network:
    type: string
    default: ctlplane
  fixed_ips:
    default: []
    type: json
  name:
    type: string
  replacement_policy:
    type: string
    default: AUTO
  ControlPlaneSubnet:
    default: ctlplane-subnet
    description: The name of the undercloud Neutron control plane subnet
    type: string

resources:

  ControlPlanePort:
    type: OS::Neutron::Port
    properties:
      network: ctlplane
      fixed_ips: [{subnet: {get_param: ControlPlaneSubnet}}]
      name:
        list_join:
          - '-'
          - - {get_param: name}
            - port
      replacement_policy: AUTO

outputs:
  fixed_ips:
    value: {get_attr: [ControlPlanePort, fixed_ips]}
