google.cloud.gcp_compute_target_ssl_proxy – Создаёт GCP TargetSslProxy
Примечание
Этот плагин входит в коллекцию google.cloud (версия 1.0.2).
Для его установки используйте: 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: name-of-resource` к задаче gcp_compute_backend_service, а затем установить это поле service в "{{ name-of-resource }}" | |
| 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–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_target_ssl_proxy_module.html