Spec-Zone.ru › Ansible 2.11

google.cloud.gcp_compute_subnetwork – Создаёт GCP подсеть

Примечание

Этот плагин является частью коллекции google.cloud (версия 1.0.2).

Для его установки используйте: ansible-galaxy collection install google.cloud.

Чтобы использовать его в playbook, укажите: google.cloud.gcp_compute_subnetwork.

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Обзор

  • Сеть VPC представляет собой виртуальную версию традиционных физических сетей, существующих внутри и между физическими дата-центрами. Сеть VPC обеспечивает подключение для ваших виртуальных машин Compute Engine (VM), контейнеров Container Engine, служб App Engine Flex и других сетевых ресурсов.
  • Каждый проект GCP содержит одну или несколько сетей VPC. Каждая сеть VPC является глобальным объектом, охватывающим все регионы GCP. Эта глобальная сеть VPC позволяет виртуальным машинам и другим ресурсам взаимодействовать друг с другом через внутренние, частные IP-адреса.
  • Каждая сеть VPC подразделяется на подсети, и каждая подсеть находится в одном регионе. Для данной сети VPC в одном регионе может быть несколько подсетей. Каждая подсеть имеет непрерывное частное пространство IP-адресов RFC1918. В этих подсетях создаются виртуальные машины, контейнеры и т.п.
  • При создании виртуальной машины (VM) её необходимо создать в подсети, и виртуальная машина получает свой внутренний IP-адрес из этой подсети.
  • Виртуальные машины (VM) в сети VPC могут взаимодействовать с виртуальными машинами в других подсетях той же сети VPC, независимо от региона, используя свои частные IP-адреса RFC1918. Вы можете изолировать части сети, даже целые подсети, используя правила брандмауэра.

Требования

Ниже перечислены требования, необходимые на хосте, который выполняет этот модуль.

  • python >= 2.6
  • requests >= 2.18.4
  • google-auth >= 1.3.0

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
auth_kind
строка / обязательно
    Варианты:
  • application
  • machineaccount
  • serviceaccount
Тип используемых учетных данных.
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
логическое
    Варианты:
  • no
  • yes
При включенном режиме, виртуальные машины в этой подсети без внешних 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
строка
    Варианты:
  • present ←
  • absent
Указывает, должен ли данный объект существовать в 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
  • Сеть облака: 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.
  • для аутентификации можно установить auth_kind, используя переменную среды GCP_AUTH_KIND.
  • для аутентификации можно установить scopes, используя переменную среды GCP_SCOPES.
  • Значения переменных среды будут использоваться только в том случае, если значения в playbook не заданы.
  • Параметры 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-адресов могут получать доступ к Google API и сервисам, используя Private Google Access.

privateIpv6GoogleAccess
строка
успех
Тип доступа к частному IPv6 Google для виртуальных машин в этой подсети.

region
строка
успех
Регион GCP для этой подсети.

secondaryIpRanges
сложный тип
успех
Массив конфигураций для вторичных диапазонов IP-адресов для виртуальных машин, содержащихся в этой подсети. Основной IP такой виртуальной машины должен принадлежать основному диапазону ipCidrRange подсети. IP-адреса-алиасы могут принадлежать как основному, так и вторичным диапазонам.

ipCidrRange
строка
успех
Диапазон IP-адресов, принадлежащих вторичному диапазону этой подсети. Укажите это свойство при создании подсети.
Диапазоны должны быть уникальными и не перекрываться со всеми основными и вторичными IP-диапазонами в рамках сети. Поддерживается только IPv4.

rangeName
строка
успех
Имя, связанное со вторичным диапазоном этой подсети, используемое при добавлении диапазона IP-адресов-алиасов к виртуальной машине. Длина имени должна быть от 1 до 63 символов и соответствовать RFC1035. Имя должно быть уникальным в рамках подсети.



Авторы

  • Google Inc. (@googlecloudplatform)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/google/cloud/gcp_compute_subnetwork_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API