Использование метаданных GCE в качестве фактов или переменных - PullRequest
0 голосов
/ 24 мая 2018

Мне нужен доступ к метаданным экземпляра Google Compute Engine (имя экземпляра, зона, имя проекта, тип компьютера, пользовательские метаданные, external-ip и т. Д.) В форме доступных фактов / переменных.Например, я надеюсь, что смогу использовать переменную / факт, например: {{gce_fact_instance_name}}, который будет получен из экземпляра, когда ansible собирает факты с каждого хоста (поскольку все экземпляры имеют доступ к своим собственным метаданным).

Я нашел этот модуль, но в данный момент он не разработан и выдает ошибку при попытке его использования.https://github.com/br0ziliy/ansible-module-gce-facts

1 Ответ

0 голосов
/ 26 мая 2018

Автор указанного выше модуля исправил ошибку, и его модуль невероятно полезен, и делает именно то, что мне нужно.Пример кода ниже:

- name: Gather instance GCE facts
  action: gce_facts

- name: Update GCE labels
  local_action:
    module: gce_labels
    project_id: "{{ ansible_gce.project.projectId }}"
    resource_type: instances
    resource_name: "{{ ansible_gce.instance.name }}"
    resource_location: "{{ ansible_gce.instance.zone }}"
    #ld_ variables are custom variables we use for system management
    labels:
      env: "{{ ld_env }}"
      product: "{{ ld_product }}"
      role: "{{ ld_role }}"
...