Openstack HEAT условие для свойств ресурса - PullRequest
0 голосов
/ 21 ноября 2018

"Условия (..) Они могут быть связаны с ресурсами и свойствами ресурсов в разделе ресурсов (..)" - как сказали официальные документы openstack, я могу это сделать.Но прикрепленные примеры не содержат их со «свойствами ресурса».

У меня есть мой пример, когда пользователь может установить параметр НЕ создавать порт 2 И не подключать порт 2 (потому что порт 2 не существует):

parameters:
  global_port2_create:
    description: Do you want eth1 (port2)
    type: string
    default: true

conditions:
  create_port2: {equals : [{get_param: global_port2_create}, "true"]}

resources:
  node_port1:
    type: OS::Neutron::Port
    properties:
      network_id: {get_param: global_port1_net_id }
      fixed_ips:
        - subnet_id: {get_param: global_port1_net_id }
        - ip_address: {get_param: node_port1_ip }
      security_groups: {get_param: global_port1_security_groups_ids}
  node_port2:
    type: OS::Neutron::Port
    condition: create_port2
    properties:
      network_id: {get_param: global_port_net_id }
      fixed_ips:
        - subnet_id: {get_param: global_port2_net_id }
        - ip_address: {get_param: node5_port2_ip }
      security_groups: {get_param: global_port2_security_groups_ids}
  node5_server:
    type: OS::Nova::Server
    depends_on: [ node5_port1, node5_port2 ]
    properties:
      name: some_name
      image: { get_param: global_image }
      availability_zone: some_az
      networks:
        - port: { get_resource: node5_port1 }
        - port: { get_resource: node5_port2 }  #How to use a condition here?

Я знаю, я могу создать ResourceGroup с обоими портами и итерировать их, но я не хочу это разрешение.Может быть, так?

      networks:
        - port: { get_resource: node5_port1 }
        - port:
          condition: create_port2
          get_resource: node5_port2

У кого-нибудь есть идеи, как этого добиться?

...