Модуль google.cloud.gcp_compute_subnetwork — Создает подсеть GCP
Примечание
Этот модуль входит в коллекцию google.cloud (версия 1.4.1).
У вас, возможно, уже установлена эта коллекция, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install google.cloud. Для использования этого модуля необходимы дополнительные требования, см. Требования для подробностей.
Чтобы использовать его в playbook, укажите: 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 словарь / обязательно | Сеть, к которой принадлежит эта подсеть. Подсети могут принадлежать только сетям в режиме распределения. Это поле представляет собой ссылку на ресурс сети в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом ‘selfLink’ и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: name-of-resource` в задачу gcp_compute_network, а затем установить это поле network на «{{ name-of-resource }}» |
private_ip_google_access булево | При включении машины в этой подсети без внешних IP-адресов могут получить доступ к Google API и службам с помощью Private Google Access. Варианты:
|
private_ipv6_google_access строка | Тип доступа к частному IPv6 Google для виртуальных машин в этой подсети. |
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 jsonarg | Содержимое файла JSON учетной записи службы, либо в виде словаря, либо в виде JSON-строки, которая его представляет. |
service_account_email строка | Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию. |
service_account_file путь | Путь к файлу JSON учетной записи службы, если тип serviceaccount выбран в качестве типа. |
state строка | Необходимо ли существование данного объекта в GCP Варианты:
|
Примечания
Примечание
- Ссылка на API: https://cloud.google.com/compute/docs/reference/rest/v1/subnetworks
- Приватный доступ к Google: https://cloud.google.com/vpc/docs/configure-private-google-access
- Сеть Google 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. Возвращается: success |
description строка | Необязательное описание данного ресурса. Укажите это свойство при создании ресурса. Это поле может быть установлено только во время создания ресурса. Возвращается: success |
gatewayAddress строка | Адрес шлюза для маршрутов по умолчанию для достижения адресов назначения за пределами этой подсети. Возвращается: success |
id целое число | Уникальный идентификатор ресурса. Возвращается: success |
ipCidrRange строка | Диапазон внутренних адресов, принадлежащих этой подсети. Укажите это свойство при создании подсети. Например, 10.0.0.0/8 или 192.168.0.0/16. Диапазоны должны быть уникальными и не перекрывающимися в пределах сети. Поддерживается только IPv4. Возвращается: success |
name строка | Имя ресурса, предоставленное клиентом при первоначальном создании ресурса. Длина имени должна составлять от 1 до 63 символов и соответствовать RFC1035. То есть длина имени должна быть от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом. Возвращается: success |
network словарь | Сеть, к которой принадлежит эта подсеть. Только сети, которые находятся в распределенном режиме, могут иметь подсети. Возвращается: success |
privateIpGoogleAccess логическое значение | При включенном значении ВМ в этой подсети без внешних IP-адресов могут получить доступ к Google API и сервисам, используя Private Google Access. Возвращается: success |
privateIpv6GoogleAccess строка | Тип приватного доступа IPv6 Google для ВМ в этой подсети. Возвращается: success |
region строка | Регион GCP для этой подсети. Возвращается: success |
secondaryIpRanges сложный тип | Массив конфигураций для вторичных диапазонов IP-адресов для ВМ, содержащихся в этой подсети. Основной IP такой ВМ должен принадлежать основному диапазону ipCidrRange подсети. Alias IP могут принадлежать как основным, так и вторичным диапазонам. Возвращается: success |
|
ipCidrRange строка |
Диапазон IP-адресов, принадлежащих вторичному диапазону этой подсети. Укажите это свойство при создании подсети. Диапазоны должны быть уникальными и не перекрывающимися со всеми основными и вторичными диапазонами IP в пределах сети. Поддерживается только IPv4. Возвращается: success |
|
rangeName строка |
Имя, связанное со вторичным диапазоном этой подсети, используемое при добавлении диапазона alias IP к ВМ. Длина имени должна составлять от 1 до 63 символов и соответствовать RFC1035. Имя должно быть уникальным в пределах подсети. Возвращается: success |
Ссылки на коллекцию
© 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_subnetwork_module.html