Spec-Zone.ru › Ansible 2.9

gcp_compute_global_forwarding_rule – Создаёт GCP GlobalForwardingRule

Новая версия с 2.6.

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

Описание

  • Представляет ресурс GlobalForwardingRule. Глобальные правила переадресации используются для переадресации трафика на правильный балансировщик нагрузки для HTTP-балансировки нагрузки. Глобальные правила переадресации могут использоваться только для HTTP-балансировки нагрузки.
  • Дополнительную информацию можно найти на странице https://cloud.google.com/compute/docs/load-balancing/http/ .

Требования

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

  • 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_address
строка
IP-адрес, по которому это правило переадресации обслуживает трафик.
Адреса ограничены в зависимости от схемы балансировки нагрузки правила переадресации (EXTERNAL или INTERNAL) и области (глобальной или региональной).
При схеме балансировки EXTERNAL для глобальных правил переадресации адрес должен быть глобальным IP-адресом, а для региональных правил переадресации — адресом в том же регионе, что и правило переадресации. Если это поле пустое, будет назначен временный IPv4-адрес из той же области (глобальной или региональной). Региональное правило переадресации поддерживает только IPv4. Глобальное правило переадресации поддерживает IPv4 или IPv6.
При схеме балансировки INTERNAL это может быть только IP-адрес RFC 1918, принадлежащий сети/подсети, настроенной для правила переадресации. По умолчанию, если это поле пустое, будет автоматически выделен временный внутренний IP-адрес из диапазона IP-адресов подсети или сети, настроенных для этого правила переадресации.
Адрес можно указать либо в виде литерального IP-адреса, либо в виде ссылки на URL существующего ресурса Address. Следующие примеры являются допустимыми: * 100.1.2.3 * https://www.googleapis.com/compute/v1/projects/project/regions/region/addresses/address * projects/project/regions/region/addresses/address * regions/region/addresses/address * global/addresses/address * address .
ip_protocol
строка
IP-протокол, к которому применяется это правило. Допустимые значения: TCP, UDP, ESP, AH, SCTP или ICMP. При схеме балансировки INTERNAL_SELF_MANAGED допустимо только TCP.
Некоторые допустимые значения: "TCP", "UDP", "ESP", "AH", "SCTP", "ICMP"
ip_version
строка
Версия IP, которая будет использоваться этим глобальным правилом переадресации.
Допустимые значения: IPV4 или IPV6.
Некоторые допустимые значения: "IPV4", "IPV6"
load_balancing_scheme
строка
По умолчанию:
"EXTERNAL"
Указывает, для чего используется GlobalForwardingRule.
Значение INTERNAL_SELF_MANAGED означает, что это будет использоваться для внутренней глобальной HTTP(S) балансировки нагрузки. Значение EXTERNAL означает, что это будет использоваться для внешней глобальной балансировки нагрузки (HTTP(S) LB, внешняя TCP/UDP балансировка нагрузки, SSL-прокси) ПРИМЕЧАНИЕ: В настоящее время глобальные правила переадресации не могут использоваться для внутренней балансировки нагрузки.
Некоторые допустимые значения: "INTERNAL_SELF_MANAGED", "EXTERNAL"
name
строка / обязательно
Имя ресурса; предоставляется клиентом при создании ресурса. Длина имени должна быть от 1 до 63 символов и соответствовать RFC1035. То есть, длина имени должна быть от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом.
network
словарь
Это поле не используется для внешней балансировки нагрузки.
Для балансировки нагрузки INTERNAL_SELF_MANAGED это поле идентифицирует сеть, к которой должен принадлежать IP-адрес балансировки нагрузки для этого глобального правила переадресации. Если это поле не указано, будет использоваться сеть по умолчанию.
Это поле представляет ссылку на ресурс сети в GCP. Его можно указать двумя способами. Во-первых, можно поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, можно добавить `register: имя_ресурса` в задачу gcp_compute_network, а затем установить это поле network в "{{ имя_ресурса }}"
port_range
строка
Это поле используется вместе с полем target для TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance.
Применимо только тогда, когда IPProtocol — TCP, UDP или SCTP; только пакеты, адресованные портам в указанном диапазоне, будут перенаправлены на целевой объект.
Правила переадресации с одинаковой парой [IPAddress, IPProtocol] должны иметь непересекающиеся диапазоны портов.
Некоторые типы целевого объекта имеют ограничения на допустимые порты: * TargetHttpProxy: 80, 8080 * TargetHttpsProxy: 443 * TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222 * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222 * TargetVpnGateway: 500, 4500 .
project
строка
Проект Google Cloud Platform, который нужно использовать.
scopes
список
Массив областей, которые нужно использовать.
service_account_contents
jsonarg
Содержание файла JSON учетной записи службы, либо в словаре, либо в виде JSON-строки, представляющей его.
service_account_email
строка
Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию.
service_account_file
путь
Путь к файлу JSON учетной записи службы, если в качестве типа выбран serviceaccount.
state
строка
    Варианты:
  • present ←
  • absent
Указывает, должен ли данный объект существовать в GCP.
target
строка / обязательно
URL целевого ресурса, который должен получать соответствующий трафик.
Перенаправляемый трафик должен быть подходящего типа для целевого объекта.

Примечания

Примечание

  • для аутентификации можно установить service_account_file, используя переменную среды c(gcp_service_account_file).
  • для аутентификации можно установить service_account_contents, используя переменную среды c(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 global address
  gcp_compute_global_address:
    name: globaladdress-globalforwardingrule
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: globaladdress

- name: create a instance group
  gcp_compute_instance_group:
    name: instancegroup-globalforwardingrule
    zone: us-central1-a
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: instancegroup

- name: create a HTTP health check
  gcp_compute_http_health_check:
    name: httphealthcheck-globalforwardingrule
    healthy_threshold: 10
    port: 8080
    timeout_sec: 2
    unhealthy_threshold: 5
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: healthcheck

- name: create a backend service
  gcp_compute_backend_service:
    name: backendservice-globalforwardingrule
    backends:
    - group: "{{ instancegroup.selfLink }}"
    health_checks:
    - "{{ healthcheck.selfLink }}"
    enable_cdn: 'true'
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: backendservice

- name: create a URL map
  gcp_compute_url_map:
    name: urlmap-globalforwardingrule
    default_service: "{{ backendservice }}"
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: urlmap

- name: create a target HTTP proxy
  gcp_compute_target_http_proxy:
    name: targethttpproxy-globalforwardingrule
    url_map: "{{ urlmap }}"
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: httpproxy

- name: create a global forwarding rule
  gcp_compute_global_forwarding_rule:
    name: test_object
    ip_address: "{{ globaladdress.address }}"
    ip_protocol: TCP
    port_range: 80-80
    target: "{{ httpproxy.selfLink }}"
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

Возвращаемые значения

Общие возвращаемые значения описаны в разделе здесь, следующие поля уникальны для этого модуля:

Ключ Возвращаемое значение Описание
creationTimestamp
строка
успех
Маркер создания в формате RFC3339.

description
строка
успех
Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.

id
целое число
успех
Уникальный идентификатор ресурса.

IPAddress
строка
успех
IP-адрес, по которому работает данное правило переадресации.
Адреса ограничены в зависимости от схемы балансировки нагрузки правила переадресации (EXTERNAL или INTERNAL) и области (глобальной или региональной).
Если схема балансировки EXTERNAL, то для глобальных правил переадресации адрес должен быть глобальным IP-адресом, а для региональных правил переадресации — адресом в том же регионе, что и правило переадресации. Если этот параметр пуст, будет назначен временный IPv4-адрес из той же области (глобальной или региональной). Региональное правило переадресации поддерживает только IPv4. Глобальное правило переадресации поддерживает IPv4 или IPv6.
Если схема балансировки INTERNAL, то это может быть только IP-адрес RFC 1918, принадлежащий сети/подсети, настроенной для правила переадресации. По умолчанию, если этот параметр пуст, будет автоматически назначен временный внутренний IP-адрес из диапазона IP-адресов подсети или сети, настроенной для этого правила переадресации.
Адрес можно указать как в виде литерального IP-адреса, так и в виде ссылки на существующий ресурс Address. Следующие примеры допустимы: * 100.1.2.3 * https://www.googleapis.com/compute/v1/projects/project/regions/region/addresses/address * projects/project/regions/region/addresses/address * regions/region/addresses/address * global/addresses/address * address .

IPProtocol
строка
успех
IP-протокол, на который распространяется это правило. Допустимые значения: TCP, UDP, ESP, AH, SCTP или ICMP. При схеме балансировки INTERNAL_SELF_MANAGED допустимо только TCP.

ipVersion
строка
успех
Версия IP, которая будет использоваться этим глобальным правилом переадресации.
Допустимые значения: IPV4 или IPV6.

loadBalancingScheme
строка
успех
Указывает назначение GlobalForwardingRule.
Значение INTERNAL_SELF_MANAGED означает, что это будет использоваться для внутренней глобальной HTTP(S) LB. Значение EXTERNAL означает, что это будет использоваться для внешней глобальной балансировки нагрузки (HTTP(S) LB, внешняя TCP/UDP LB, SSL-прокси) ПРИМЕЧАНИЕ: в настоящее время глобальные правила переадресации не могут использоваться для внутренней балансировки нагрузки.

name
строка
успех
Имя ресурса; предоставляется клиентом при создании ресурса. Имя должно иметь длину от 1 до 63 символов и соответствовать RFC1035. То есть, имя должно иметь длину от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом.

network
словарь
успех
Этот параметр не используется для внешней балансировки нагрузки.
Для балансировки нагрузки INTERNAL_SELF_MANAGED этот параметр указывает сеть, к которой должен принадлежать IP-адрес, сбалансированный нагрузкой, для этого глобального правила переадресации. Если этот параметр не указан, будет использоваться сеть по умолчанию.

portRange
строка
успех
Этот параметр используется вместе с параметром target для TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance.
Применимо только в том случае, если IPProtocol — TCP, UDP или SCTP; будут перенаправляться только пакеты, адресованные портам в указанном диапазоне, целевому объекту.
Правила переадресации с одинаковой парой [IPAddress, IPProtocol] должны иметь непересекающиеся диапазоны портов.
Некоторые типы целевых объектов имеют ограничения на допустимые порты: * TargetHttpProxy: 80, 8080 * TargetHttpsProxy: 443 * TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222 * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222 * TargetVpnGateway: 500, 4500 .

target
строка
успех
URL целевого ресурса для получения соответствующего трафика.
Перенаправляемый трафик должен соответствовать типу целевого объекта.



Состояние

  • Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
  • Этот модуль поддерживается сообществом Ansible. [community]

Авторы

  • Google Inc. (@googlecloudplatform)

Подсказка

Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/gcp_compute_global_forwarding_rule_module.html

Spec-Zone.ru

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