gcp_sql_instance – Создаёт экземпляр GCP
Новая версия с 2.7.
Описание
- Представляет экземпляр Cloud SQL. Экземпляры Cloud SQL — это SQL-базы данных, размещённые в облаке Google. Ресурс Instances предоставляет методы для общих задач конфигурирования и управления.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |||
|---|---|---|---|---|---|
| auth_kind строка / обязательно |
| Тип используемых учетных данных. | |||
| backend_type строка | * FIRST_GEN: Экземпляр первого поколения. Только MySQL. * SECOND_GEN: Экземпляр второго поколения или экземпляр PostgreSQL. * EXTERNAL: Сервер базы данных, не управляемый Google. Некоторые допустимые значения: "FIRST_GEN", "SECOND_GEN", "EXTERNAL" | ||||
| connection_name строка | Имя подключения экземпляра Cloud SQL, используемого в строках подключения. | ||||
| database_version строка | Тип и версия движка базы данных. Для экземпляров первого поколения — MYSQL_5_5 или MYSQL_5_6. Для экземпляров второго поколения — MYSQL_5_6 или MYSQL_5_7. Значение по умолчанию — MYSQL_5_6. Для экземпляров PostgreSQL: POSTGRES_9_6. Свойство databaseVersion нельзя изменить после создания экземпляра. Некоторые допустимые значения: "MYSQL_5_5", "MYSQL_5_6", "MYSQL_5_7", "POSTGRES_9_6" | ||||
| env_type строка | Указывает, в какой среде Ansible выполняется данный модуль. Не устанавливайте это значение, если вы не знаете, что делаете. Это меняет только строку User Agent для запросов к API. | ||||
| failover_replica словарь | Имя и статус резервного реплики. Это свойство применимо только к экземплярам второго поколения. | ||||
| name строка | Имя резервного реплики. Если указано при создании экземпляра, для него создается резервный реплика. Имя не включает идентификатор проекта. Это свойство применимо только к экземплярам второго поколения. | ||||
| instance_type строка | Тип экземпляра. Может быть одним из следующих. * CLOUD_SQL_INSTANCE: Экземпляр Cloud SQL, который не дублирует данные с основного. * ON_PREMISES_INSTANCE: Экземпляр, работающий на локальном оборудовании клиента. * READ_REPLICA_INSTANCE: Экземпляр Cloud SQL, настроенный как реплика для чтения. Некоторые допустимые значения: "CLOUD_SQL_INSTANCE", "ON_PREMISES_INSTANCE", "READ_REPLICA_INSTANCE" | ||||
| ipv6_address строка | Адрес IPv6, назначенный экземпляру. Это свойство применимо только к экземплярам первого поколения. | ||||
| master_instance_name строка | Имя экземпляра, который будет работать как основной в настройке репликации. | ||||
| max_disk_size целое число | Максимальный размер диска экземпляра в байтах. | ||||
| name строка / обязательно | Имя экземпляра Cloud SQL. Не включает идентификатор проекта. | ||||
| project строка | Проект Google Cloud Platform, который использовать. | ||||
| region строка | Географический регион. По умолчанию — us-central или us-central1, в зависимости от типа экземпляра (первого поколения или второго поколения/PostgreSQL). | ||||
| replica_configuration словарь | Настройка, специфичная для резервных и читаемых реплик. | ||||
| failover_target логическое значение |
| Указывает, является ли реплика целевой резервной репликой. Если поле установлено в true, реплика будет назначена резервной репликой. В случае сбоя основного экземпляра, экземпляр реплики будет повышен до нового основного экземпляра. Только одна реплика может быть указана как целевая резервная реплика, и реплика должна находиться в другой зоне с основным экземпляром. | |||
| mysql_replica_configuration словарь | Конфигурация, специфичная для MySQL, при дублировании с локального сервера MySQL. Информация о конфигурации репликации, такая как имя пользователя, пароль, сертификаты и ключи, не хранится в метаданных экземпляра. Информация о конфигурации используется только для настройки подключения репликации и хранится MySQL в файле master.info в каталоге данных. | ||||
| ca_certificate строка | Представление PEM доверенного сертификата CA x509. | ||||
| client_certificate строка | Представление PEM сертификата x509 сервера. | ||||
| client_key строка | Представление PEM закрытого ключа сервера. Соответствующий открытый ключ закодирован в сертификате сервера. | ||||
| connect_retry_interval целое число | Секунды ожидания между повторными попытками подключения. По умолчанию в MySQL — 60 секунд. | ||||
| dump_file_path строка | Путь к файлу дампа SQL в Google Cloud Storage, из которого должен быть создан экземпляр реплики. URI имеет вид gs://bucketName/fileName. Также поддерживаются сжатые файлы gzip (.gz). Дампы должны содержать координаты binlog, с которых должна начинаться репликация. Это можно сделать, установив --master-data в 1 при использовании mysqldump. | ||||
| master_heartbeat_period целое число | Интервал в миллисекундах между ударами сердца репликации. | ||||
| password строка | Пароль для подключения репликации. | ||||
| ssl_cipher строка | Список разрешенных шифров для шифрования SSL. | ||||
| username строка | Имя пользователя для подключения репликации. | ||||
| verify_server_certificate логическое значение |
| Проверять или нет значение Common Name в сертификате, которое отправляет мастер во время рукопожатия SSL. | |||
| replica_names список | Реплики экземпляра. | ||||
| service_account_email_address строка | Адрес электронной почты учетной записи сервиса, назначенной экземпляру. Это свойство применимо только к экземплярам второго поколения. | ||||
| scopes список | Массив используемых областей. | ||||
| service_account_contents jsonarg | Содержимое файла JSON учетной записи сервиса, либо в виде словаря, либо в виде строки JSON, которая его представляет. | ||||
| service_account_email строка | Необязательный адрес электронной почты учетной записи сервиса, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию. | ||||
| service_account_file путь | Путь к файлу JSON учетной записи сервиса, если в качестве типа выбран serviceaccount. | ||||
| settings словарь | Настройки пользователя. | ||||
| availability_type string | Тип доступности определяет, работает ли ваш экземпляр PostgreSQL в зональном или региональном режиме. Некоторые допустимые значения включают: «ZONAL», «REGIONAL» | ||||
| backup_configuration dictionary | Настройка ежедневного резервного копирования для экземпляра. | ||||
| binary_log_enabled boolean |
| Включен ли двоичный журнал. Если настройка резервного копирования отключена, двоичный журнал также должен быть отключен. Только MySQL. | |||
| enabled boolean |
| Включить автоматическое резервное копирование для вашего экземпляра. | |||
| start_time string | Определите время начала резервного копирования в UTC (ЧЧ:ММ). | ||||
| database_flags list добавлено в 2.9 | Флаги базы данных, передаваемые экземпляру при запуске. | ||||
| name string | Имя флага. Эти флаги передаются при запуске экземпляра, поэтому включайте как параметры сервера, так и системные переменные для MySQL. Флаги должны быть указаны с символом подчеркивания, а не дефисом. | ||||
| value string | Значение флага. Булевы значения должны быть установлены на «on» для true и «off» для false. Этот параметр должен быть опущен, если флаг не принимает значения. | ||||
| ip_configuration dictionary | Настройки IP-управления. Это позволяет включить или отключить IP-адрес экземпляра и управлять внешними сетями, которые могут подключаться к экземпляру. IPv4-адрес нельзя отключить для экземпляров второго поколения. | ||||
| authorized_networks list | Список внешних сетей, которым разрешен доступ к экземпляру с использованием IP. В нотации CIDR, также известной как «штриховая» нотация (например, 192.168.100.0/24). | ||||
| expiration_time string | Время истечения срока действия этой записи управления доступом в формате RFC 3339, например 2012-11-15T16:19:00.094Z. | ||||
| name string | Необязательная метка для идентификации этой записи. | ||||
| value string | Разрешенное значение для списка управления доступом. Например, чтобы предоставить доступ клиенту с внешнего IP-адреса (IPv4 или IPv6) или подсети, используйте этот адрес или подсеть здесь. | ||||
| ipv4_enabled boolean |
| Должен ли экземпляру быть назначен IP-адрес? | |||
| require_ssl boolean |
| Должен ли mysqld по умолчанию использовать «REQUIRE X509» для пользователей, подключающихся по IP? | |||
| tier string | Уровень или тип машины для этого экземпляра, например db-n1-standard-1. Для экземпляров MySQL этот параметр определяет, является ли экземпляр второго поколения (рекомендуется) или первого поколения. | ||||
| state string |
| Должен ли данный объект существовать в GCP | |||
Примечания
Примечание
- для аутентификации вы можете установить 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 instance
gcp_sql_instance:
name: "{{resource_name}}-2"
settings:
ip_configuration:
authorized_networks:
- name: google dns server
value: 8.8.8.8/32
tier: db-n1-standard-1
region: us-central1
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
Значения возврата
Общие значения возврата описаны здесь, следующие — поля, уникальные для этого модуля:
| Ключ | Возвращаемое значение | Описание | |||
|---|---|---|---|---|---|
| backendType string | success | * FIRST_GEN: Экземпляр первого поколения. Только MySQL. * SECOND_GEN: Экземпляр второго поколения или экземпляр PostgreSQL. * EXTERNAL: Сервер базы данных, не управляемый Google. | |||
| connectionName string | success | Имя подключения к экземпляру Cloud SQL, используемому в строках подключения. | |||
| databaseVersion string | success | Тип и версия движка базы данных. Для экземпляров первого поколения может быть MYSQL_5_5 или MYSQL_5_6. Для экземпляров второго поколения может быть MYSQL_5_6 или MYSQL_5_7. По умолчанию MYSQL_5_6. Для экземпляров PostgreSQL: POSTGRES_9_6. Свойство databaseVersion нельзя изменить после создания экземпляра. | |||
| failoverReplica complex | success | Имя и состояние резервного реплики. Это свойство применимо только к экземплярам второго поколения. | |||
| available boolean | success | Статус доступности резервного реплики. Значение false указывает, что резервный реплика не синхронизирован. Мастер может переключиться только на резервный реплика, когда статус равен true. | |||
| name string | success | Имя резервного реплики. Если указано при создании экземпляра, для экземпляра создается резервный реплика. Имя не включает идентификатор проекта. Это свойство применимо только к экземплярам второго поколения. | |||
| instanceType string | success | Тип экземпляра. Может быть одним из следующих. * CLOUD_SQL_INSTANCE: Экземпляр Cloud SQL, который не выполняет репликацию с мастера. * ON_PREMISES_INSTANCE: Экземпляр, работающий на оборудовании клиента. * READ_REPLICA_INSTANCE: Экземпляр Cloud SQL, настроенный как реплика для чтения. | |||
| ipAddresses complex | success | Назначенные IP-адреса для экземпляра. | |||
| ipAddress string | success | Назначенный IP-адрес. | |||
| timeToRetire string | success | Дата и время снятия с эксплуатации этого IP-адреса в формате RFC 3339, например 2012-11-15T16:19:00.094Z. Это поле доступно только при планировании снятия с эксплуатации IP-адреса. | |||
| type string | success | Тип этого IP-адреса. Адрес PRIMARY — это адрес, принимающий входящие подключения. Адрес OUTGOING — это исходный адрес подключений, исходящих из экземпляра, если поддерживается. | |||
| ipv6Address string | success | Назначенный IPv6-адрес экземпляра. Это свойство применимо только к экземплярам первого поколения. | |||
| masterInstanceName string | success | Имя экземпляра, который будет выполнять роль мастера в конфигурации репликации. | |||
| maxDiskSize integer | success | Максимальный размер диска экземпляра в байтах. | |||
| name string | success | Имя экземпляра Cloud SQL. Не включает идентификатор проекта. | |||
| region string | success | Географический регион. По умолчанию us-central или us-central1 в зависимости от типа экземпляра (первого поколения или второго поколения/PostgreSQL). | |||
| replicaConfiguration complex | success | Настройка, специфичная для резервных и читающих реплик. | |||
| failoverTarget boolean | success | Указывает, является ли реплика целевым экземпляром для переключения. Если поле установлено в значение true, реплика будет обозначена как резервный реплика. В случае сбоя экземпляра-мастера экземпляр-реплика будет повышен до статуса нового экземпляра-мастера. Только одна реплика может быть указана как целевой экземпляр для переключения, и реплика должна находиться в другой зоне, чем экземпляр-мастер. | |||
| mysqlReplicaConfiguration complex | success | Настройка, специфичная для MySQL, при репликации с MySQL-мастером на локальном оборудовании. Информация о конфигурации репликации, такая как имя пользователя, пароль, сертификаты и ключи, не хранится в метаданных экземпляра. Эта информация используется только для настройки подключения к репликации и хранится MySQL в файле master.info в каталоге данных. | |||
| caCertificate string | success | Представление в формате PEM доверенного сертификата CA x509. | |||
| clientCertificate string | success | Представление в формате PEM сертификата x509 узла-клиента. | |||
| clientKey string | success | Представление в формате PEM закрытого ключа узла-клиента. Соответствующий открытый ключ закодирован в сертификате клиента. | |||
| connectRetryInterval integer | success | Секунды ожидания между повторными попытками подключения. Значение по умолчанию в MySQL — 60 секунд. | |||
| dumpFilePath string | success | Путь к файлу дамповой копии SQL в Google Cloud Storage, из которого должен быть создан экземпляр-реплика. URI имеет вид gs://имя_ведра/имя_файла. Поддерживаются также сжатые файлы gzip (.gz). Дампы должны содержать координаты бинарного журнала, с которых должна начаться репликация. Это можно сделать, установив --master-data в 1 при использовании mysqldump. | |||
| masterHeartbeatPeriod integer | success | Интервал в миллисекундах между ударами сердца репликации. | |||
| password string | success | Пароль для подключения к репликации. | |||
| sslCipher string | success | Список разрешенных шифров для SSL-шифрования. | |||
| username string | success | Имя пользователя для подключения к репликации. | |||
| verifyServerCertificate boolean | success | Необходимо ли проверять значение Common Name в сертификате, которое мастер отправляет во время рукопожатия SSL. | |||
| replicaNames list | success | Реплики экземпляра. | |||
| serviceAccountEmailAddress string | success | Электронный адрес учетной записи службы, назначенной экземпляру. Это свойство применимо только к экземплярам второго поколения. | |||
| settings complex | success | Настройки пользователя. | |||
| availabilityType string | success | Свойство availabilityType определяет, работает ли ваш экземпляр PostgreSQL в зональной или региональной конфигурации. | |||
| backupConfiguration complex | success | Настройка ежедневного резервного копирования экземпляра. | |||
| binaryLogEnabled boolean | success | Включён ли двоичный журнал. Если конфигурация резервного копирования отключена, двоичный журнал также должен быть отключен. Только MySQL. | |||
| enabled boolean | success | Включить Авторезервное копирование для вашего экземпляра. | |||
| startTime string | success | Определите время начала резервного копирования в UTC (ЧЧ:ММ). | |||
| databaseFlags complex | success | Флаги базы данных, передаваемые экземпляру при запуске. | |||
| name string | success | Название флага. Эти флаги передаются при запуске экземпляра, поэтому включайте как параметры сервера, так и системные переменные для MySQL. Флаги должны быть указаны с нижним подчёркиванием, а не дефисом. | |||
| value string | success | Значение флага. Булевы значения должны быть установлены на on для true и off для false. Этот поле должно быть опущено, если флаг не принимает значение. | |||
| ipConfiguration complex | success | Настройки IP-управления. Это позволяет включить или отключить IP-адрес экземпляра и управлять тем, какие внешние сети могут подключаться к экземпляру. IP-адрес IPv4 нельзя отключить для экземпляров второго поколения. | |||
| authorizedNetworks complex | success | Список внешних сетей, которым разрешено подключаться к экземпляру с использованием IP. В CIDR-нотации, также известной как нотация «с косой чертой» (например, 192.168.100.0/24). | |||
| expirationTime string | success | Время истечения действия этой записи контроля доступа в формате RFC 3339, например 2012-11-15T16:19:00.094Z. | |||
| name string | success | Необязательная метка для идентификации этой записи. | |||
| value string | success | Разрешенное значение для списка контроля доступа. Например, для предоставления доступа клиенту с внешнего IP-адреса (IPv4 или IPv6) или подсети, используйте этот адрес или подсеть здесь. | |||
| ipv4Enabled boolean | success | Должен ли экземпляру быть назначен IP-адрес. | |||
| requireSsl boolean | success | Должен ли mysqld по умолчанию использовать «REQUIRE X509» для пользователей, подключающихся по IP. | |||
| settingsVersion integer | success | Версия настроек экземпляра. Это обязательное поле для метода обновления, чтобы убедиться, что одновременные обновления обрабатываются правильно. Во время обновления используйте последнее значение settingsVersion для этого экземпляра и не пытайтесь обновить это значение. | |||
| tier string | success | Уровень или тип машины для этого экземпляра, например db-n1-standard-1. Для MySQL-экземпляров это поле определяет, является ли экземпляр второго поколения (рекомендуется) или первого поколения. | |||
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
- Этот модуль поддерживается сообществом 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_sql_instance_module.html