Spec-Zone.ru › Ansible 2.10

google.cloud.gcp_compute_target_https_proxy – Создаёт GCP TargetHttpsProxy

Примечание

Этот плагин входит в коллекцию google.cloud (версия 1.0.1).

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

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

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

Обзор

  • Представляет ресурс TargetHttpsProxy, используемый одним или несколькими глобальными правилами переадресации для перенаправления входящих запросов HTTPS к URL-карте.

Требования

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

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
auth_kind
строка / обязательно
    Варианты:
  • application
  • machineaccount
  • serviceaccount
Тип используемых учетных данных.
description
строка
Необязательное описание этого ресурса.
env_type
строка
Указывает, в какой среде Ansible выполняется этот модуль.
Не устанавливайте это значение, если вы не знаете, что делаете.
Это изменяет только строку User Agent для всех запросов к API.
name
строка / обязательно
Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. Точнее, имя должно иметь длину от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы — дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом.
project
строка
Используемый проект Google Cloud Platform.
quic_override
строка
Указывает политику переопределения QUIC для данного ресурса. Это определяет, будет ли балансировщик нагрузки пытаться договориться о QUIC с клиентами или нет. Можно указать одно из значений: NONE, ENABLE или DISABLE. Если указано NONE, используется политика QUIC без пользовательских переопределений, что эквивалентно DISABLE.
Некоторые допустимые значения включают: "NONE", "ENABLE", "DISABLE"
scopes
список / элементы=строка
Массив используемых областей видимости
service_account_contents
jsonarg
Содержимое файла JSON учетной записи службы, либо в виде словаря, либо в виде строки JSON, представляющей его.
service_account_email
строка
Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию.
service_account_file
путь
Путь к файлу JSON учетной записи службы, если в качестве типа выбран serviceaccount.
ssl_certificates
список / элементы=словарь / обязательно
Список ресурсов SslCertificate, используемых для аутентификации соединений между пользователями и балансировщиком нагрузки. Необходимо указать хотя бы один сертификат SSL.
ssl_policy
словарь
Ссылка на ресурс SslPolicy, который будет связан с ресурсом TargetHttpsProxy. Если не задано, ресурс TargetHttpsProxy не будет иметь какой-либо политики SSL.
Это поле представляет собой ссылку на ресурс SslPolicy в GCP. Его можно указать двумя способами. Во-первых, можно поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, можно добавить `register: имя-ресурса` к задаче gcp_compute_ssl_policy, а затем установить это поле ssl_policy в "{{ имя-ресурса }}"
state
строка
    Варианты:
  • present ←
  • absent
Определяет, должен ли данный объект существовать в GCP
url_map
словарь / обязательно
Ссылка на ресурс UrlMap, определяющий сопоставление URL с BackendService.
Это поле представляет собой ссылку на ресурс UrlMap в GCP. Его можно указать двумя способами. Во-первых, можно поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, можно добавить `register: имя-ресурса` к задаче gcp_compute_url_map, а затем установить это поле url_map в "{{ имя-ресурса }}"

Примечания

Примечание

  • Ссылка на API: https://cloud.google.com/compute/docs/reference/v1/targetHttpsProxies
  • Официальная документация: https://cloud.google.com/compute/docs/load-balancing/http/target-proxies
  • для аутентификации можно установить 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 instance group
  google.cloud.gcp_compute_instance_group:
    name: instancegroup-targethttpsproxy
    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-targethttpsproxy
    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-targethttpsproxy
    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-targethttpsproxy
    default_service: "{{ backendservice }}"
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: urlmap

- name: create a SSL certificate
  google.cloud.gcp_compute_ssl_certificate:
    name: sslcert-targethttpsproxy
    description: A certificate for testing. Do not use this certificate in production
    certificate: |-
      -----BEGIN CERTIFICATE-----
      MIICqjCCAk+gAwIBAgIJAIuJ+0352Kq4MAoGCCqGSM49BAMCMIGwMQswCQYDVQQG
      EwJVUzETMBEGA1UECAwKV2FzaGluZ3RvbjERMA8GA1UEBwwIS2lya2xhbmQxFTAT
      BgNVBAoMDEdvb2dsZSwgSW5jLjEeMBwGA1UECwwVR29vZ2xlIENsb3VkIFBsYXRm
      b3JtMR8wHQYDVQQDDBZ3d3cubXktc2VjdXJlLXNpdGUuY29tMSEwHwYJKoZIhvcN
      AQkBFhJuZWxzb25hQGdvb2dsZS5jb20wHhcNMTcwNjI4MDQ1NjI2WhcNMjcwNjI2
      MDQ1NjI2WjCBsDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCldhc2hpbmd0b24xETAP
      BgNVBAcMCEtpcmtsYW5kMRUwEwYDVQQKDAxHb29nbGUsIEluYy4xHjAcBgNVBAsM
      FUdvb2dsZSBDbG91ZCBQbGF0Zm9ybTEfMB0GA1UEAwwWd3d3Lm15LXNlY3VyZS1z
      aXRlLmNvbTEhMB8GCSqGSIb3DQEJARYSbmVsc29uYUBnb29nbGUuY29tMFkwEwYH
      KoZIzj0CAQYIKoZIzj0DAQcDQgAEHGzpcRJ4XzfBJCCPMQeXQpTXwlblimODQCuQ
      4mzkzTv0dXyB750fOGN02HtkpBOZzzvUARTR10JQoSe2/5PIwaNQME4wHQYDVR0O
      BBYEFKIQC3A2SDpxcdfn0YLKineDNq/BMB8GA1UdIwQYMBaAFKIQC3A2SDpxcdfn
      0YLKineDNq/BMAwGA1UdEwQFMAMBAf8wCgYIKoZIzj0EAwIDSQAwRgIhALs4vy+O
      M3jcqgA4fSW/oKw6UJxp+M6a+nGMX+UJR3YgAiEAvvl39QRVAiv84hdoCuyON0lJ
      zqGNhIPGq2ULqXKK8BY=
      -----END CERTIFICATE-----
    private_key: |-
      -----BEGIN EC PRIVATE KEY-----
      MHcCAQEEIObtRo8tkUqoMjeHhsOh2ouPpXCgBcP+EDxZCB/tws15oAoGCCqGSM49
      AwEHoUQDQgAEHGzpcRJ4XzfBJCCPMQeXQpTXwlblimODQCuQ4mzkzTv0dXyB750f
      OGN02HtkpBOZzzvUARTR10JQoSe2/5PIwQ==
      -----END EC PRIVATE KEY-----
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: sslcert

- name: create a target HTTPS proxy
  google.cloud.gcp_compute_target_https_proxy:
    name: test_object
    ssl_certificates:
    - "{{ sslcert }}"
    url_map: "{{ urlmap }}"
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

Значения возврата

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

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

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

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

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

quicOverride
строка
успех
Указывает политику переопределения QUIC для данного ресурса. Это определяет, будет ли балансировщик нагрузки пытаться договориться с клиентами о QUIC или нет. Можно указать одно из значений NONE, ENABLE или DISABLE. Если указано NONE, используется политика QUIC без пользовательских переопределений, что эквивалентно DISABLE.

sslCertificates
список / элементы=строка
успех
Список ресурсов SslCertificate, используемых для аутентификации соединений между пользователями и балансировщиком нагрузки. Необходимо указать хотя бы один сертификат SSL.

sslPolicy
словарь
успех
Ссылка на ресурс SslPolicy, который будет связан с ресурсом TargetHttpsProxy. Если не указано, у ресурса TargetHttpsProxy не будет настроена политика SSL.

urlMap
словарь
успех
Ссылка на ресурс UrlMap, определяющий отображение URL на BackendService.



Авторы

  • 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.10/collections/google/cloud/gcp_compute_target_https_proxy_module.html

Spec-Zone.ru

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