heat_template_version: rocky

description: "
  A fake OS::Neutron::Port stack which outputs fixed_ips and subnets based on
  the input from the DeployedServerPortMap (set via parameter_defaults). This
  lookup requires the use of port naming conventions. In order for this to work
  with deployed-server the keys should be <hostname>-<network>.
  Example:
    parameter_defaults:
      DeployedServerPortMap:
        gatsby-ctlplane:
          fixed_ips:
            - ip_address: 127.0.0.1
          subnets:
            - cidr: 127.0.0.0/24
          network:
            tags:
              - 127.0.0.0/24"

parameters:
  name:
    default: ''
    type: string
  dns_name:
    default: ''
    type: string
  network:
    default: ''
    type: string
  fixed_ips:
    default: ''
    type: comma_delimited_list
  replacement_policy:
    default: ''
    type: string
  tags:
    default: []
    type: comma_delimited_list
  DeployedServerPortMap:
    default: {}
    type: json


outputs:
  fixed_ips:
    value:
      {get_param: [DeployedServerPortMap, {get_param: name}, fixed_ips]}
  subnets:
    value:
      {get_param: [DeployedServerPortMap, {get_param: name}, subnets]}
  network:
    value:
      {get_param: [DeployedServerPortMap, {get_param: name}, network]}
  name:
    value: {get_param: name}
  status:
    value: DOWN
  allowed_address_pairs:
    value: {}
  device_id:
    value: ''
  device_owner:
    value: {get_param: network}
  dns_assignment:
    value: ''
  port_security_enabled:
    value: False
  admin_state_up:
    value: False
  security_groups:
    value: {}
  network_id:
    value: ''
  tenant_id:
    value: ''
  qos_policy_id:
    value: ''
  mac_address:
    value: ''