Модуль google.cloud.gcp_compute_target_instance — создание TargetInstance в GCP
Примечание
Этот модуль входит в коллекцию google.cloud (версия 1.13.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install google.cloud. Для использования этого модуля требуются дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать модуль в сценарии, укажите: google.cloud.gcp_compute_target_instance.
Краткое описание
- Представляет ресурс TargetInstance, который определяет конечный экземпляр, завершающий обработку трафика определённых протоколов. В частности, такие экземпляры используются при перенаправлении протоколов, когда правила перенаправления могут отправлять пакеты на целевой экземпляр, не использующий NAT. Каждый целевой экземпляр содержит один экземпляр виртуальной машины, который получает трафик от соответствующих правил перенаправления и обрабатывает его.
Требования
На узле, на котором выполняется этот модуль, необходимы следующие компоненты.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
Параметр | Комментарии |
|---|---|
access_token string | Токен доступа OAuth2, если тип учётных данных — accesstoken. |
auth_kind string / обязательный | Тип используемых учётных данных. Варианты:
|
description string | Необязательное описание этого ресурса. |
env_type string | Указывает среду Ansible, в которой выполняется этот модуль. Не задавайте это значение, если не знаете, что делаете. Это влияет только на строку User Agent в запросах API. |
instance dictionary / обязательный | URL экземпляра виртуальной машины, который обрабатывает трафик для этого целевого экземпляра. Принимаются self-link или неполные пути формата `projects/project/zones/zone/instances/instance’ или `zones/zone/instances/instance` . Это поле представляет ссылку на ресурс Instance в GCP. Его можно задать двумя способами. Во-первых, можно указать словарь с ключом ‘selfLink’ и значением selfLink ресурса. В качестве альтернативы можно добавить `register: name-of-resource` в задачу gcp_compute_instance, а затем задать для этого поля instance значение “{{ name-of-resource }}” |
name string / обязательный | Имя ресурса. Указывается клиентом при создании ресурса. Имя должно содержать от 1 до 63 символов и соответствовать RFC1035. В частности, имя должно содержать от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`: первый символ должен быть строчной буквой, а все последующие символы — дефисом, строчной буквой или цифрой, за исключением последнего символа, которым не может быть дефис. |
nat_policy string | Параметр NAT, определяющий, как для экземпляра выполняется преобразование IP-адресов. В настоящее время поддерживается только NO_NAT (значение по умолчанию). Допустимый вариант: «NO_NAT» По умолчанию: |
project string | Проект Google Cloud Platform, который будет использоваться. |
scopes list / elements=string | Массив используемых областей доступа |
service_account_contents jsonarg | Содержимое JSON-файла учётной записи службы: словарь или представляющая его строка JSON. |
service_account_email string | Необязательный адрес электронной почты учётной записи службы, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию. |
service_account_file path | Путь к JSON-файлу учётной записи службы, если в качестве типа выбрано serviceaccount. |
state string | Должен ли указанный объект существовать в GCP Варианты:
|
zone string / обязательный | URL зоны, в которой находится целевой экземпляр. |
Примечания
Примечание
- Справочник API: https://cloud.google.com/compute/docs/reference/v1/targetInstances
- Использование перенаправления протоколов: https://cloud.google.com/compute/docs/protocol-forwarding
- Для аутентификации можно задать service_account_file с помощью переменной среды
GCP_SERVICE_ACCOUNT_FILE. - Для аутентификации можно задать service_account_contents с помощью переменной среды
GCP_SERVICE_ACCOUNT_CONTENTS. - Для аутентификации можно задать service_account_email с помощью переменной среды
GCP_SERVICE_ACCOUNT_EMAIL. - Для аутентификации можно задать access_token с помощью переменной среды
GCP_ACCESS_TOKEN. - Для аутентификации можно задать auth_kind с помощью переменной среды
GCP_AUTH_KIND. - Для аутентификации можно задать scopes с помощью переменной среды
GCP_SCOPES. - Значения переменных среды используются, только если значения не заданы в сценарии.
- Параметры service_account_email и service_account_file являются взаимоисключающими.
Примеры
- name: create a network
google.cloud.gcp_compute_network:
name: network-instance
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
state: present
register: network
- name: create a instance
google.cloud.gcp_compute_instance:
name: "{{ resource_name }}"
machine_type: n1-standard-1
disks:
- auto_delete: 'true'
boot: 'true'
initialize_params:
source_image: projects/ubuntu-os-cloud/global/images/family/ubuntu-1604-lts
labels:
environment: production
network_interfaces:
- network: "{{ network }}"
zone: us-central1-a
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
state: present
register: instance
- name: create a target instance
google.cloud.gcp_compute_target_instance:
name: target
instance: "{{ instance }}"
zone: us-central1-a
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
creationTimestamp string | Временная метка создания в текстовом формате RFC3339. Возвращается: success |
description string | Необязательное описание этого ресурса. Возвращается: success |
instance dictionary | URL экземпляра виртуальной машины, который обрабатывает трафик для этого целевого экземпляра. Принимаются self-link или неполные пути формата `projects/project/zones/zone/instances/instance’ или `zones/zone/instances/instance` . Возвращается: success |
name string | Имя ресурса. Указывается клиентом при создании ресурса. Имя должно содержать от 1 до 63 символов и соответствовать RFC1035. В частности, имя должно содержать от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`: первый символ должен быть строчной буквой, а все последующие символы — дефисом, строчной буквой или цифрой, за исключением последнего символа, которым не может быть дефис. Возвращается: success |
natPolicy string | Параметр NAT, определяющий, как для экземпляра выполняется преобразование IP-адресов. В настоящее время поддерживается только NO_NAT (значение по умолчанию). Возвращается: success |
zone string | URL зоны, в которой находится целевой экземпляр. Возвращается: success |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/google/cloud/gcp_compute_target_instance_module.html