google.cloud.gcp_compute_target_ssl_proxy – Создаёт GCP TargetSslProxy
Примечание
Этот плагин входит в коллекцию google.cloud (версия 1.0.1).
Для его установки используйте: ansible-galaxy collection install google.cloud.
Для использования в книге задач, укажите: google.cloud.gcp_compute_target_ssl_proxy.
Описание
- Представляет ресурс TargetSslProxy, который используется одним или несколькими глобальными правилами переадресации для маршрутизации входящих запросов SSL на службу обратного вызова.
Требования
Ниже перечислены требования, необходимые на узле, на котором выполняется данный модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| auth_kind строка / обязательный |
| Тип используемых учетных данных. |
| 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 для использования. | |
| proxy_header строка | Указывает тип заголовка прокси, который нужно добавить перед отправкой данных на бэкенд. Некоторые допустимые значения: «NONE», «PROXY_V1» | |
| scopes список / элементы=строка | Массив используемых областей. | |
| service словарь / обязательный | Ссылка на ресурс BackendService. Это поле представляет собой ссылку на ресурс BackendService в GCP. Его можно указать двумя способами. Во-первых, можно поместить словарь с ключом «selfLink» и значением selfLink вашего ресурса. Во-вторых, можно добавить `register: имя-ресурса` в задачу gcp_compute_backend_service, а затем установить это поле service на «{{ имя-ресурса }}» | |
| service_account_contents jsonarg | Содержимое файла JSON учетной записи службы, либо в виде словаря, либо в виде JSON-строки, которая его представляет. | |
| service_account_email строка | Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию. | |
| service_account_file путь | Путь к файлу JSON учетной записи службы, если тип выбран как serviceaccount. | |
| ssl_certificates список / элементы=словарь / обязательный | Список ресурсов SslCertificate, которые используются для аутентификации подключений между пользователями и балансировщиком нагрузки. В настоящее время необходимо указать ровно один сертификат SSL. | |
| ssl_policy словарь | Ссылка на ресурс SslPolicy, который будет связан с ресурсом TargetSslProxy. Если не задано, у ресурса TargetSslProxy не будет настроенного SSL-политики. Это поле представляет ссылку на ресурс SslPolicy в GCP. Его можно указать двумя способами. Во-первых, можно поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, можно добавить `register: name-of-resource` в задачу gcp_compute_ssl_policy и установить это поле ssl_policy на "{{ name-of-resource }}" | |
| state строка |
| Указывает, должен ли данный объект существовать в GCP. |
Примечания
Примечание
- Ссылка на API: https://cloud.google.com/compute/docs/reference/v1/targetSslProxies
- Настройка SSL-прокси для балансировки нагрузки Google Cloud: https://cloud.google.com/compute/docs/load-balancing/tcp-ssl/
- для аутентификации можно установить 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. - Значения переменных среды будут использоваться только в том случае, если значения в книге задач не заданы.
- Параметры service_account_email и service_account_file взаимоисключают друг друга.
Примеры
- name: create a instance group
google.cloud.gcp_compute_instance_group:
name: instancegroup-targetsslproxy
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 health check
google.cloud.gcp_compute_health_check:
name: healthcheck-targetsslproxy
type: TCP
tcp_health_check:
port_name: service-health
request: ping
response: pong
healthy_threshold: 10
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-targetsslproxy
backends:
- group: "{{ instancegroup.selfLink }}"
health_checks:
- "{{ healthcheck.selfLink }}"
protocol: SSL
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
state: present
register: backendservice
- name: create a SSL certificate
google.cloud.gcp_compute_ssl_certificate:
name: sslcert-targetsslproxy
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 SSL proxy
google.cloud.gcp_compute_target_ssl_proxy:
name: test_object
ssl_certificates:
- "{{ sslcert }}"
service: "{{ backendservice }}"
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])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчными буквами или цифрами, за исключением последнего символа, который не может быть тире. |
| proxyHeader строка | успех | Указывает тип заголовка прокси, который нужно добавить перед отправкой данных на бэкенд. |
| service словарь | успех | Ссылка на ресурс BackendService. |
| sslCertificates список / элементы=строка | успех | Список ресурсов SslCertificate, которые используются для аутентификации подключений между пользователями и балансировщиком нагрузки. В настоящее время необходимо указать ровно один сертификат SSL. |
| sslPolicy словарь | успех | Ссылка на ресурс SslPolicy, который будет связан с ресурсом TargetSslProxy. Если не задано, у ресурса TargetSslProxy не будет настроенного SSL-политики. |
Авторы
- 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_ssl_proxy_module.html