Возможно ли иметь «условие» внутри создания порта? - PullRequest
0 голосов
/ 03 февраля 2019

Мы создаем порт, от которого зависит сервер.Пользователь может указать либо network_id, либо network, а также fixed_ips.Мы хотим разрешить обе конфигурации.

Очевидно, что я вижу, когда я не даю фиксированные ips и у меня есть условие при создании порта, я получаю ошибку в get_resource.Если я не даю условия, создание успешно.Заблокировано с тем же ..

conditions:
       ccess_ip_input:
         equals:
         - get_param: ccess_ip
         - yes

resources:   g_server:
    type: OS::Nova::Server
    depends_on:
    - am_port
    - ccess_port
    - ore_port_1
    - ore_port_2
    - dm_port
    properties:
      name:
        str_replace:
          template: $instance_name
          params:
            $instance_name: {get_param: instance_name}
      key_name: {get_param: key_name}
      image: {get_param: image}
      flavor: {get_param: flavor}
      scheduler_hints:
        group: {get_param: ng_cluster}
      networks:
      - port: {get_resource: am_port}
      - port: {get_resource: ccess_port}

  ccess_port:
    type: OS::Neutron::Port
    properties:
      name:
        str_replace:
          template: $instance_name-ccess-port
          params:
            $instance_name: { get_param: instance_name }
      network_id: { get_param: ccess_network_id }
      port_security_enabled: False
    condition: ccess_ip_input
    properties:
      fixed_ips:
      - ip_address: { get_param: ccess_ip }

Ошибка получения ниже: ОШИБКА: InvalidTemplateReference:: resources.hng_1:: Указанная ссылка "ccess_port" (в ng_server.Properties.networks [1] .port) неверна.

...