Spec-Zone.ru › Ansible

Модуль google.cloud.gcp_compute_global_forwarding_rule – Создает GCP GlobalForwardingRule

Примечание

Этот модуль является частью коллекции google.cloud (версия 1.4.1).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install google.cloud. Для использования этого модуля потребуются дополнительные требования. Подробности см. в разделе Требования.

Для использования в playbook укажите: google.cloud.gcp_compute_global_forwarding_rule.

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

Обзор

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

Требования

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

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

Параметры

Параметр

Комментарии

access_token

строка

Токен доступа OAuth2, если тип аутентификации accesstoken.

auth_kind

строка / обязательно

Тип используемых учетных данных.

Выбираемые значения:

  • "application"
  • "machineaccount"
  • "serviceaccount"
  • "accesstoken"

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-протокол, к которому применяется это правило. Если схема балансировки нагрузки INTERNAL_SELF_MANAGED, допустим только TCP. Это поле не должно быть установлено, если глобальный адрес настроен как цель PRIVATE_SERVICE_CONNECT и addressType равна INTERNAL.

Некоторые допустимые значения включают: «TCP», «UDP», «ESP», «AH», «SCTP», «ICMP»

ip_version

строка

Версия IP, которая будет использоваться этим глобальным правилом переадресации.

Некоторые допустимые значения включают: «IPV4», «IPV6»

load_balancing_scheme

строка

Указывает, для чего будет использоваться GlobalForwardingRule.

Значение INTERNAL_SELF_MANAGED означает, что это будет использоваться для внутреннего глобального HTTP(S) LB. Значение EXTERNAL означает, что это будет использоваться для внешней глобальной балансировки нагрузки (HTTP(S) LB, внешняя TCP/UDP балансировка, SSL прокси) ([Beta](https://terraform.io/docs/providers/google/guides/provider_versions.html) только) Примечание: это поле должно быть установлено «» если глобальный адрес настроен как цель PRIVATE_SERVICE_CONNECT и addressType равна INTERNAL.

Некоторые допустимые значения включают: «EXTERNAL», «INTERNAL_SELF_MANAGED»

Значение по умолчанию: "EXTERNAL"

metadata_filters

список / элементы=словарь

Непрозрачные критерии фильтрации, используемые Loadbalancer для ограничения конфигурации маршрутизации ограниченным набором клиентов, совместимых с xDS. В своих запросах xDS к Loadbalancer клиенты xDS предоставляют метаданные узла. Если совпадение происходит, соответствующая конфигурация маршрутизации становится доступной для этих прокси.

Для каждого metadataFilter в этом списке, если его filterMatchCriteria установлено в MATCH_ANY, по крайней мере одно из filterLabels должно соответствовать соответствующей метке, указанной в метаданных. Если его filterMatchCriteria установлено в MATCH_ALL, все его filterLabels должны соответствовать соответствующим меткам в предоставленных метаданных.

metadataFilters, указанные здесь, могут быть переопределены теми, которые указаны в UrlMap, на который ссылается это ForwardingRule.

metadataFilters применяются только к Loadbalancers, у которых loadBalancingScheme установлено в INTERNAL_SELF_MANAGED.

filter_labels

список / элементы=словарь / обязательно

Список пар значений меток, которые должны соответствовать меткам в предоставленных метаданных на основе filterMatchCriteria. Этот список не должен быть пустым и может содержать не более 64 элементов.

name

строка / обязательно

Имя метки метаданных. Длина должна быть от 1 до 1024 символов включительно.

value

строка / обязательно

Значение, которому должна соответствовать метка. Значение имеет максимальную длину 1024 символа.

filter_match_criteria

строка / обязательно

Указывает, как отдельные совпадения filterLabel в списке filterLabels вносят вклад в общее соответствие metadataFilter.

MATCH_ANY - по крайней мере одна из меток filterLabels должна иметь соответствующую метку в предоставленных метаданных.

MATCH_ALL - все filterLabels должны иметь соответствующие метки в предоставленных метаданных.

Некоторые допустимые значения включают: «MATCH_ANY», «MATCH_ALL»

name

строка / обязательно

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

network

dictionary

Это поле не используется для внешнего балансирования нагрузки.

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

Это поле представляет собой ссылку на ресурс сети в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом ‘selfLink’ и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: имя-ресурса` к задаче gcp_compute_network, а затем установить это поле сети на «{{ имя-ресурса }}»

port_range

string

Это поле используется вместе с полем 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

string

Используемый проект Google Cloud Platform.

scopes

list / elements=string

Массив используемых областей.

service_account_contents

jsonarg

Содержимое файла JSON учетной записи службы, либо в виде словаря, либо как строка JSON, его представляющая.

service_account_email

string

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

service_account_file

path

Путь к файлу JSON учетной записи службы, если тип serviceaccount выбран.

state

string

Необходимо ли существование данного объекта в GCP

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

target

string / обязательно

URL целевого ресурса для получения соответствующего трафика.

Переадресованный трафик должен соответствовать типу целевого объекта.

Для балансирования нагрузки INTERNAL_SELF_MANAGED допустимы только целевые ресурсы HTTP и HTTPS.

([Бета](https://terraform.io/docs/providers/google/guides/provider_versions.html) только) Для глобального адреса с целью PRIVATE_SERVICE_CONNECT и addressType INTERNAL допустимы только «all-apis» и «vpc-sc».

Примеры

- name: create a global address
  google.cloud.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
  google.cloud.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
  google.cloud.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
  google.cloud.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
  google.cloud.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
  google.cloud.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
  google.cloud.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-адресом, либо 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 .

Возвращается: успешно

IPProtocol

строка

IP-протокол, к которому применяется это правило. При схеме балансировки INTERNAL_SELF_MANAGED допустим только TCP. Это поле не должно быть задано, если глобальный адрес настроен как цель PRIVATE_SERVICE_CONNECT и addressType — INTERNAL.

Возвращается: успешно

ipVersion

строка

Версия IP, которая будет использоваться этим глобальным правилом переадресации.

Возвращается: успешно

loadBalancingScheme

строка

Определяет назначение GlobalForwardingRule.

Значение INTERNAL_SELF_MANAGED означает, что это будет использоваться для внутреннего глобального HTTP(S) LB. Значение EXTERNAL означает, что это будет использоваться для внешнего глобального балансирования нагрузки (HTTP(S) LB, внешний TCP/UDP LB, SSL Proxy) ([Бета](https://terraform.io/docs/providers/google/guides/provider_versions.html) только) Примечание: Это поле должно быть пустым, если глобальный адрес настроен как цель PRIVATE_SERVICE_CONNECT и addressType — INTERNAL.

Возвращается: успешно

metadataFilters

сложное

Непрозрачные критерии фильтрации, используемые Loadbalancer для ограничения конфигурации маршрутизации до ограниченного набора клиентов, совместимых с xDS. В своих запросах xDS к Loadbalancer клиенты xDS предоставляют метаданные узла. Если произойдет совпадение, соответствующая конфигурация маршрутизации будет доступна этим прокси.

Для каждого metadataFilter в этом списке, если его filterMatchCriteria установлено в MATCH_ANY, по крайней мере одно из filterLabels должно совпадать с соответствующим меткой, предоставленной в метаданных. Если его filterMatchCriteria установлено в MATCH_ALL, то все его filterLabels должны совпадать с соответствующими метками в предоставленных метаданных.

metadataFilters, указанные здесь, могут быть переопределены теми, которые указаны в UrlMap, на который ссылается это ForwardingRule.

metadataFilters применимы только к Loadbalancers, у которых loadBalancingScheme установлено в INTERNAL_SELF_MANAGED.

Возвращается: успешно

filterLabels

сложное

Список пар значений меток, которые должны совпадать с метками в предоставленных метаданных, на основе filterMatchCriteria. Этот список не должен быть пустым и может содержать не более 64 записей.

Возвращается: успешно

name

строка

Имя метки метаданных. Длина должна быть от 1 до 1024 символов включительно.

Возвращается: успешно

value

строка

Значение, с которым должна совпадать метка. Максимальная длина значения — 1024 символа.

Возвращается: успешно

filterMatchCriteria

строка

Указывает, как отдельные совпадения filterLabel в списке filterLabels вносят вклад в общее соответствие metadataFilter.

MATCH_ANY — по крайней мере одна из filterLabels должна иметь соответствующую метку в предоставленных метаданных.

MATCH_ALL — все filterLabels должны иметь соответствующие метки в предоставленных метаданных.

Возвращается: успешно

name

строка

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

Возвращается: успешно

network

словарь

Это поле не используется для внешнего балансирования нагрузки.

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

Возвращается: успешно

Диапазон портов

строка

Это поле используется вместе с полем target для TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance.

Применимо только для протоколов IP 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 .

Возвращаемое значение: success

Целевой объект

строка

URL целевого ресурса, который получит соответствующий трафик.

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

Для балансировки нагрузки INTERNAL_SELF_MANAGED допустимы только целевые объекты HTTP и HTTPS.

([Beta](https://terraform.io/docs/providers/google/guides/provider_versions.html) только) Для глобального адреса с целью PRIVATE_SERVICE_CONNECT и типом адреса INTERNAL, допустимы только «all-apis» и «vpc-sc».

Возвращаемое значение: success

Авторы

  • Google Inc. (@googlecloudplatform)

Ссылки на коллекции

  • Система отслеживания ошибок
  • Главная страница
  • Репозиторий (исходные коды)

© 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_global_forwarding_rule_module.html

Spec-Zone.ru

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