Loops 带_序列循环的可解嵌套变量

Loops 带_序列循环的可解嵌套变量,loops,variables,ansible,Loops,Variables,Ansible,我试图通过将机器数量设置为一个变量来创建多个VM,然后使用with_序列对该数量进行迭代。问题是,我想手动将静态IP地址分配给我的虚拟机,因此我必须使用嵌套变量进行迭代 我的主文件: - name: Create Azure VM hosts: localhost connection: local vars_files: - vault.yml pre_tasks: - set_fact: cluster: "testvm"

我试图通过将机器数量设置为一个变量来创建多个VM,然后使用with_序列对该数量进行迭代。问题是,我想手动将静态IP地址分配给我的虚拟机,因此我必须使用嵌套变量进行迭代

我的主文件:

- name: Create Azure VM
  hosts: localhost
  connection: local
  vars_files:
      - vault.yml
  pre_tasks:

   - set_fact:
        cluster: "testvm"

   - set_fact:
        subnetName: "default"

   - set_fact:
        instancesCount: 2

   - set_fact:
        IP1: "172.16.32.83"

   - set_fact:
        IP2: "172.16.32.84"

   - set_fact:
        vmSize: "Standard_DS1_v2"

   - set_fact:
        osDiskType: "Standard_LRS"

   - set_fact:
        dataDiskType: "Premium_LRS"

   - set_fact:
        diskSize: "4"

  roles:

   - azure
上面使用的
azure
角色的代码片段存在问题:

  - name: Create virtual network interface cards
    azure_rm_networkinterface:
      resource_group: "{{ envir }}-emp-{{ cluster }}"
      name: "{{ envir }}-emp-{{ cluster }}-nic-{{ item }}"
      virtual_network: "/subscriptions/{{ subscriptionId }}/resourceGroups/{{ vnetResourceGroup }}/providers/Microsoft.Network/virtualNetworks/{{ virtualNetworkName }}"
      subnet: "{{ subnetName }}"
      public_ip: no
      create_with_security_group: False
      ip_configurations:
        - name: ipconfig1
          primary: yes
          private_ip_address: "{{vars[IP].instancesCount}}" --->> here lies the question
          private_ip_allocation_method: Static
          primary: True
    with_sequence: "count={{ instancesCount }}"

with_sequence
块下的循环中,如何调用
IP1
IP2
的值?

您可能需要尝试以下方法:

"{{ lookup('vars', 'IP{}'.format(instancesCount)) }}"