Модуль google.cloud.gcp_compute_address – Создает адрес GCP
Примечание
Этот модуль является частью коллекции google.cloud (версия 1.4.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install google.cloud. Для использования этого модуля требуются дополнительные компоненты, см. Требования для получения подробной информации.
Для использования в playbook, укажите: google.cloud.gcp_compute_address.
Краткое описание
- Представляет ресурс Address.
- Каждый экземпляр виртуальной машины имеет эфемерный внутренний IP-адрес и, необязательно, внешний IP-адрес. Для связи между экземплярами в одной сети можно использовать внутренний IP-адрес экземпляра. Для связи с Интернетом и экземплярами за пределами одной сети необходимо указать внешний IP-адрес экземпляра.
- Внутренние IP-адреса являются эфемерными и принадлежат экземпляру только в течение срока его существования; если экземпляр удаляется и создается заново, ему назначается новый внутренний IP-адрес, либо Compute Engine, либо вами. Внешние IP-адреса могут быть либо эфемерными, либо статическими.
Требования
Указанные ниже требования необходимы на хосте, который выполняет этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
Параметр | Комментарии |
|---|---|
access_token string | Токен доступа OAuth2, если тип учетных данных — accesstoken. |
address string | Статический внешний IP-адрес, представленный этим ресурсом. Поддерживается только IPv4. Адрес может быть указан только для типов адресов INTERNAL. IP-адрес должен находиться внутри указанной подсети, если таковая имеется. |
address_type string | Тип адреса для резервирования. Некоторые допустимые варианты: “INTERNAL”, “EXTERNAL” Значение по умолчанию: |
auth_kind string / required | Тип используемых учетных данных. Варианты:
|
description string | Необязательное описание этого ресурса. |
env_type string | Указывает, в какой среде Ansible вы запускаете этот модуль. Это не должно устанавливаться, если вы не знаете, что делаете. Это только изменяет строку User Agent для любых запросов API. |
name string / required | Имя ресурса. Имя должно иметь длину от 1 до 63 символов и соответствовать RFC1035. В частности, имя должно иметь длину от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом. |
network dictionary | URL сети, в которой необходимо зарезервировать адрес. Это поле может использоваться только с типом INTERNAL с целями VPC_PEERING и IPSEC_INTERCONNECT. Это поле представляет ссылку на ресурс Network в GCP. Его можно указать двумя способами. Во-первых, вы можете разместить словарь с ключом ‘selfLink’ и значением selfLink вашего ресурса. В качестве альтернативы вы можете добавить `register: name-of-resource` к задаче gcp_compute_network, а затем установить это поле network на «{{ name-of-resource }}» |
network_tier string | Уровень сети, используемый для настройки этого адреса. Если это поле не указано, предполагается, что оно равно PREMIUM. Некоторые допустимые варианты: “PREMIUM”, “STANDARD” |
prefix_length integer | Длина префикса, если ресурс представляет диапазон IP-адресов. |
project string | Проект Google Cloud Platform для использования. |
purpose string | Назначение этого ресурса, которое может быть одним из следующих значений: * GCE_ENDPOINT для адресов, используемых экземплярами виртуальных машин, псевдонимами диапазонов IP-адресов, внутренними балансировщиками нагрузки и аналогичными ресурсами. * SHARED_LOADBALANCER_VIP для адреса, который может использоваться несколькими внутренними балансировщиками нагрузки. * VPC_PEERING для адресов, зарезервированных для сетей пиринга VPC. * IPSEC_INTERCONNECT для адресов, созданных из частного диапазона IP-адресов, зарезервированных для подключения VLAN в конфигурации Cloud Interconnect с шифрованием IPsec. Эти адреса являются региональными ресурсами. Это следует устанавливать только при использовании внутреннего адреса. |
region string / required | URL региона, где находится региональный адрес. Это поле не применимо к глобальным адресам. |
scopes list / elements=string | Массив областей для использования |
service_account_contents jsonarg | Содержимое файла Service Account JSON, либо в виде словаря, либо в виде JSON-строки, которая его представляет. |
service_account_email string | Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount, и пользователь не хочет использовать адрес электронной почты по умолчанию. |
service_account_file path | Путь к файлу Service Account JSON, если в качестве типа выбран serviceaccount. |
state string | Должен ли данный объект существовать в GCP Варианты:
|
subnetwork dictionary | URL подсети, в которой необходимо зарезервировать адрес. Если указан IP-адрес, он должен находиться в диапазоне IP-адресов подсети. Это поле может использоваться только с типом INTERNAL с целями GCE_ENDPOINT/DNS_RESOLVER. Это поле представляет ссылку на ресурс Subnetwork в GCP. Его можно указать двумя способами. Во-первых, вы можете разместить словарь с ключом ‘selfLink’ и значением selfLink вашего ресурса. В качестве альтернативы вы можете добавить `register: name-of-resource` к задаче gcp_compute_subnetwork, а затем установить это поле subnetwork на «{{ name-of-resource }}» |
Примечания
Примечание
- API Reference: https://cloud.google.com/compute/docs/reference/beta/addresses
- Резервирование статического внешнего IP-адреса: https://cloud.google.com/compute/docs/instances-and-network
- Резервирование статического внутреннего IP-адреса: https://cloud.google.com/compute/docs/ip-addresses/reserve-static-internal-ip-address
- для аутентификации вы можете установить 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. - Значения переменных окружения будут использоваться только в том случае, если значения в playbook не установлены.
- Параметры service_account_email и service_account_file являются взаимоисключающими.
Примеры
- name: create a address
google.cloud.gcp_compute_address:
name: test-address1
region: us-west1
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
Ключ | Описание |
|---|---|
address string | Статический внешний IP-адрес, представленный этим ресурсом. Поддерживается только IPv4. Адрес может быть указан только для типов адресов INTERNAL. IP-адрес должен находиться внутри указанной подсети, если таковая имеется. Возвращается: успех |
addressType string | Тип адреса для резервирования. Возвращается: успех |
creationTimestamp string | Метка времени создания в текстовом формате RFC3339. Возвращается: успех |
description string | Необязательное описание этого ресурса. Возвращается: успех |
id integer | Уникальный идентификатор ресурса. Возвращается: успех |
name string | Имя ресурса. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. В частности, имя должно быть длиной от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом. Возвращается: успех |
network dictionary | URL сети, в которой необходимо зарезервировать адрес. Это поле может использоваться только с типом INTERNAL с целями VPC_PEERING и IPSEC_INTERCONNECT. Возвращается: успех |
networkTier string | Уровень сети, используемый для настройки этого адреса. Если это поле не указано, предполагается, что оно равно PREMIUM. Возвращается: успех |
prefixLength integer | Длина префикса, если ресурс представляет диапазон IP-адресов. Возвращается: успех |
purpose string | Цель этого ресурса, которая может быть одним из следующих значений: * GCE_ENDPOINT для адресов, используемых виртуальными машинами, псевдонимами диапазонов IP-адресов, внутренними балансировщиками нагрузки и аналогичными ресурсами. * SHARED_LOADBALANCER_VIP для адреса, который может использоваться несколькими внутренними балансировщиками нагрузки. * VPC_PEERING для адресов, зарезервированных для виртуальных сетей VPC. * IPSEC_INTERCONNECT для адресов, созданных из частного диапазона IP-адресов, которые зарезервированы для подключения VLAN в конфигурации Cloud Interconnect с шифрованием IPsec. Эти адреса являются региональными ресурсами. Это должно быть установлено только при использовании внутреннего адреса. Возвращается: успех |
region string | URL региона, где находится региональный адрес. Это поле не применимо к глобальным адресам. Возвращается: успех |
status string | Статус адреса, который может быть одним из RESERVING, RESERVED или IN_USE. Адрес, находящийся в состоянии RESERVING, в настоящее время находится в процессе резервирования. Зарезервированный адрес (RESERVED) в настоящее время зарезервирован и доступен для использования. Адрес IN_USE в настоящее время используется другим ресурсом и недоступен. Возвращается: успех |
subnetwork dictionary | URL подсети, в которой необходимо зарезервировать адрес. Если указан IP-адрес, он должен находиться в диапазоне IP-адресов подсети. Это поле может использоваться только с типом INTERNAL с целями GCE_ENDPOINT/DNS_RESOLVER. Возвращается: успех |
users list / elements=string | URL ресурсов, использующих этот адрес. Возвращается: успех |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/google/cloud/gcp_compute_address_module.html