модуль google.cloud.gcp_compute_subnetwork — создание подсети GCP
Примечание
Этот модуль входит в коллекцию google.cloud (версия 1.13.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install google.cloud. Для использования этого модуля необходимы дополнительные компоненты. Подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: google.cloud.gcp_compute_subnetwork.
Обзор
- Сеть VPC — это виртуальная версия традиционных физических сетей, существующих внутри физических центров обработки данных и между ними. Сеть VPC обеспечивает подключение виртуальных машин Compute Engine (ВМ), контейнеров Container Engine, сервисов App Engine Flex и других сетевых ресурсов.
- Каждый проект GCP содержит одну или несколько сетей VPC. Каждая сеть VPC — это глобальная сущность, охватывающая все регионы GCP. Эта глобальная сеть VPC позволяет экземплярам ВМ и другим ресурсам взаимодействовать друг с другом с помощью внутренних частных IP-адресов.
- Каждая сеть VPC разделена на подсети, и каждая подсеть находится в одном регионе. В одном регионе для данной сети VPC может быть несколько подсетей. Каждая подсеть имеет непрерывное пространство частных IP-адресов RFC1918. Экземпляры, контейнеры и другие ресурсы создаются в этих подсетях.
- При создании экземпляра необходимо указать подсеть, а внутренний IP-адрес экземпляра выделяется из этой подсети.
- Экземпляры виртуальных машин (ВМ) в сети VPC могут взаимодействовать с экземплярами во всех остальных подсетях той же сети VPC независимо от региона, используя частные IP-адреса RFC1918. Части сети, вплоть до целых подсетей, можно изолировать с помощью правил брандмауэра.
Требования
На узле, выполняющем этот модуль, должны быть установлены следующие компоненты.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
Параметр | Комментарии |
|---|---|
access_token строка | Токен доступа OAuth2, если тип учетных данных — accesstoken. |
auth_kind строка / обязательный | Тип используемых учетных данных. Варианты:
|
description строка | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. Это поле можно задать только во время создания ресурса. |
env_type строка | Указывает, в какой среде Ansible выполняется этот модуль. Не задавайте это значение, если не знаете, что делаете. Этот параметр изменяет только строку User Agent для запросов к API. |
ip_cidr_range строка / обязательный | Диапазон внутренних адресов, принадлежащих этой подсети. Укажите это свойство при создании подсети. Например, 10.0.0.0/8 или 192.168.0.0/16. Диапазоны в пределах сети должны быть уникальными и не должны пересекаться. Поддерживается только IPv4. |
name строка / обязательный | Имя ресурса, задаваемое клиентом при первоначальном создании ресурса. Имя должно содержать от 1 до 63 символов и соответствовать RFC1035. В частности, имя должно содержать от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`: первый символ должен быть строчной буквой, а все последующие символы — дефисом, строчной буквой или цифрой, за исключением последнего символа, которым не может быть дефис. |
network словарь / обязательный | Сеть, к которой относится эта подсеть. Подсети могут иметь только сети, работающие в распределенном режиме. Это поле представляет ссылку на ресурс Network в GCP. Его можно указать двумя способами. Во-первых, можно поместить словарь с ключом ‘selfLink’ и значением selfLink вашего ресурса. Также можно добавить `register: name-of-resource` в задачу gcp_compute_network, а затем задать для этого поля network значение “{{ name-of-resource }}” |
private_ip_google_access логическое значение | Если параметр включен, ВМ в этой подсети без внешних IP-адресов могут получать доступ к API и сервисам Google с помощью Private Google Access. Варианты:
|
private_ipv6_google_access строка | Тип частного доступа Google по IPv6 для ВМ в этой подсети. |
project строка | Проект Google Cloud Platform, который следует использовать. |
region строка / обязательный | Регион GCP для этой подсети. |
scopes список / элементы=строка | Массив используемых областей действия |
secondary_ip_ranges список / элементы=словарь | Массив конфигураций дополнительных диапазонов IP-адресов для экземпляров ВМ в этой подсети. Основной IP-адрес такой ВМ должен принадлежать основному диапазону ipCidrRange подсети. Псевдонимные IP-адреса могут принадлежать как основным, так и дополнительным диапазонам. |
|
ip_cidr_range строка / обязательный |
Диапазон IP-адресов, относящихся к дополнительному диапазону этой подсети. Укажите это свойство при создании подсети. Диапазоны должны быть уникальными и не должны пересекаться с основными и дополнительными диапазонами IP-адресов в пределах сети. Поддерживается только IPv4. |
|
range_name строка / обязательный |
Имя, связанное с дополнительным диапазоном этой подсети; оно используется при добавлении диапазона псевдонимных IP-адресов к экземпляру ВМ. Имя должно содержать от 1 до 63 символов и соответствовать RFC1035. Имя должно быть уникальным в пределах подсети. |
service_account_contents аргумент JSON | Содержимое JSON-файла учетной записи службы в виде словаря или JSON-строки, представляющей это содержимое. |
service_account_email строка | Необязательный адрес электронной почты учетной записи службы, если выбрано значение machineaccount и пользователь не хочет использовать адрес по умолчанию. |
service_account_file путь | Путь к JSON-файлу учетной записи службы, если в качестве типа выбрано serviceaccount. |
state строка | Должен ли указанный объект существовать в GCP Варианты:
|
Примечания
Примечание
- Справочник API: https://cloud.google.com/compute/docs/reference/rest/v1/subnetworks
- Private Google Access: https://cloud.google.com/vpc/docs/configure-private-google-access
- Сетевые технологии Cloud: https://cloud.google.com/vpc/docs/using-vpc
- для аутентификации можно задать 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-subnetwork
auto_create_subnetworks: 'true'
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
state: present
register: network
- name: create a subnetwork
google.cloud.gcp_compute_subnetwork:
name: ansiblenet
region: us-west1
network: "{{ network }}"
ip_cidr_range: 172.16.0.0/16
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
creationTimestamp строка | Временная метка создания в текстовом формате RFC3339. Возвращается: при успехе |
description строка | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. Это поле можно задать только во время создания ресурса. Возвращается: при успехе |
gatewayAddress строка | Адрес шлюза для маршрутов по умолчанию, используемых для достижения адресов назначения за пределами этой подсети. Возвращается: при успехе |
id целое число | Уникальный идентификатор ресурса. Возвращается: при успехе |
ipCidrRange строка | Диапазон внутренних адресов, принадлежащих этой подсети. Укажите это свойство при создании подсети. Например, 10.0.0.0/8 или 192.168.0.0/16. Диапазоны в пределах сети должны быть уникальными и не должны пересекаться. Поддерживается только IPv4. Возвращается: при успехе |
name строка | Имя ресурса, задаваемое клиентом при первоначальном создании ресурса. Имя должно содержать от 1 до 63 символов и соответствовать RFC1035. В частности, имя должно содержать от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`: первый символ должен быть строчной буквой, а все последующие символы — дефисом, строчной буквой или цифрой, за исключением последнего символа, которым не может быть дефис. Возвращается: при успехе |
network словарь | Сеть, к которой относится эта подсеть. Подсети могут иметь только сети, работающие в распределенном режиме. Возвращается: при успехе |
privateIpGoogleAccess логическое значение | Если параметр включен, ВМ в этой подсети без внешних IP-адресов могут получать доступ к API и сервисам Google с помощью Private Google Access. Возвращается: при успехе |
privateIpv6GoogleAccess строка | Тип частного доступа Google по IPv6 для ВМ в этой подсети. Возвращается: при успехе |
region строка | Регион GCP для этой подсети. Возвращается: при успехе |
secondaryIpRanges составной тип | Массив конфигураций дополнительных диапазонов IP-адресов для экземпляров ВМ в этой подсети. Основной IP-адрес такой ВМ должен принадлежать основному диапазону ipCidrRange подсети. Псевдонимные IP-адреса могут принадлежать как основным, так и дополнительным диапазонам. Возвращается: при успехе |
|
ipCidrRange строка |
Диапазон IP-адресов, относящихся к дополнительному диапазону этой подсети. Укажите это свойство при создании подсети. Диапазоны должны быть уникальными и не должны пересекаться с основными и дополнительными диапазонами IP-адресов в пределах сети. Поддерживается только IPv4. Возвращается: при успехе |
|
rangeName строка |
Имя, связанное с дополнительным диапазоном этой подсети; оно используется при добавлении диапазона псевдонимных IP-адресов к экземпляру ВМ. Имя должно содержать от 1 до 63 символов и соответствовать RFC1035. Имя должно быть уникальным в пределах подсети. Возвращается: при успехе |
Ссылки на коллекцию
© 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_subnetwork_module.html