ресурс google_sql_database_instance
Синтаксис
Для проверки ресурса Google DatabaseInstance используется google_sql_database_instance
Примеры
describe google_sql_database_instance(project: 'chef-gcp-inspec', database: 'my-database') do
it { should exist }
its('state') { should eq 'RUNNABLE' }
its('backend_type') { should eq 'SECOND_GEN' }
its('database_version') { should eq 'MYSQL_5_7' }
end
Проверка, что экземпляр базы данных GCP Cloud SQL находится в ожидаемом состоянии
describe google_sql_database_instance(project: 'chef-inspec-gcp', database: 'my-database') do
its('state') { should eq 'RUNNABLE' }
end
Проверка типа генерации экземпляра базы данных GCP Cloud SQL
describe google_sql_database_instance(project: 'chef-inspec-gcp', database: 'my-database') do
its('backend_type') { should eq "SECOND_GEN" }
end
Проверка, что имя подключения экземпляра базы данных GCP Cloud SQL соответствует ожидаемому
describe google_sql_database_instance(project: 'spaterson-project', database: 'gcp-inspec-db-instance') do
its('connection_name') { should eq "spaterson-project:europe-west2:gcp-inspec-db-instance" }
end
Подтверждение, что экземпляр базы данных GCP Cloud SQL имеет правильную версию
describe google_sql_database_instance(project: 'spaterson-project', database: 'gcp-inspec-db-instance') do
its('database_version') { should eq "MYSQL_5_7" }
end
Подтверждение, что экземпляр базы данных GCP Cloud SQL работает в требуемом регионе и зоне
describe google_sql_database_instance(project: 'spaterson-project', database: 'gcp-inspec-db-instance') do
its('gce_zone') { should eq "europe-west2-a" }
its('region') { should eq "europe-west2" }
end
Свойства
Свойства, к которым можно получить доступ из ресурса google_sql_database_instance:
backend_type- Возможные значения:
- FIRST_GEN: Экземпляр первого поколения. Только для MySQL.
- SECOND_GEN: Экземпляр второго поколения или экземпляр PostgreSQL.
- EXTERNAL: Сервер базы данных, не управляемый Google.
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
failover_replica- Имя и состояние резервного реплики. Это свойство применимо только к экземплярам второго поколения.
available- Статус доступности резервного реплики. Значение false указывает, что резервный реплика не синхронизирован. Мастер может выполнить резервное копирование только до резервного реплики, когда состояние равно true.
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
ip_addresses- Присвоенные IP-адреса для экземпляра.
ip_address- Присвоенный IP-адрес.
time_to_retire- Время, когда этот IP-адрес должен быть удален в формате RFC 3339, например 2012-11-15T16:19:00.094Z. Это поле доступно только в том случае, если IP-адрес запланирован на удаление.
type- Тип этого IP-адреса. PRIMARY – адрес, который может принимать входящие подключения. OUTGOING – исходный адрес подключений, исходящих из экземпляра, если поддерживается.
Возможные значения:
- PRIMARY
- OUTGOING
ipv6_address- Присвоенный IPv6-адрес для экземпляра. Это свойство применимо только к экземплярам первого поколения.
master_instance_name- Имя экземпляра, который будет действовать как мастер в настройке репликации.
max_disk_size- Максимальный размер диска экземпляра в байтах.
name- Имя экземпляра Cloud SQL. Не включает идентификатор проекта.
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- Электронный адрес учетной записи службы, назначенный экземпляру. Это свойство применимо только к экземплярам второго поколения.
settingsdatabase_flags- Флаги базы данных, передаваемые экземпляру при запуске
name- Имя флага. Эти флаги передаются при запуске экземпляра, поэтому включают как параметры сервера, так и системные переменные для MySQL. Флаги должны быть указаны с подчеркиваниями, а не дефисами.
value- Значение флага. Булевы значения должны быть установлены в on для true и off для false. Это поле должно быть опущено, если флаг не принимает значение.
ip_configuration- Настройки управления IP-адресами. Это позволяет включить или отключить IP-адрес экземпляра и управлять внешними сетями, которые могут подключаться к экземпляру. IPv4-адрес нельзя отключить для экземпляров второго поколения.
ipv4_enabled- Должен ли экземпляру быть присвоен IP-адрес.
authorized_networks- Список внешних сетей, которым разрешено подключаться к экземпляру с помощью IP. В формате CIDR, также известном как «формат с косой чертой» (например, 192.168.100.0/24).
expiration_time- Время истечения срока действия этого элемента управления доступом в формате RFC 3339, например 2012-11-15T16:19:00.094Z.
name- Дополнительная метка для идентификации этого элемента.
value- Разрешенное значение для списка управления доступом. Например, для предоставления доступа клиенту из внешнего IP-адреса (IPv4 или IPv6) или подсети используйте этот адрес или подсеть.
require_ssl- Должен ли mysqld по умолчанию использовать «REQUIRE X509» для пользователей, подключающихся по IP.
tier- Уровень или тип машины для этого экземпляра, например db-n1-standard-1. Для MySQL-экземпляров это поле определяет, является ли экземпляр второго поколения (рекомендуется) или первого поколения.
availability_type- availabilityType определяет, запущен ли ваш экземпляр PostgreSQL в зоне или в регионе. Возможные значения:
- ZONAL
- REGIONAL
backup_configuration- Настройка ежедневного резервного копирования экземпляра.
enabled- Включить автоматическое резервное копирование для вашего экземпляра.
binary_log_enabled- Включена ли бинарная регистрация. Если настройка резервного копирования отключена, бинарная регистрация также должна быть отключена. Только MySQL.
start_time- Укажите время начала резервного копирования в UTC (ЧЧ:ММ)
settings_version- Версия настроек экземпляра. Это обязательное поле для метода обновления, чтобы убедиться в правильном обработке одновременных обновлений. Во время обновления используйте последнее значение settingsVersion для этого экземпляра и не пытайтесь обновить это значение.
user_labels- Метки, предоставленные пользователем, представленные в виде словаря, где каждая метка – это пара ключ-значение.
gce_zonestateВозможные значения:
- SQL_INSTANCE_STATE_UNSPECIFIED
- RUNNABLE
- SUSPENDED
- PENDING_DELETE
- PENDING_CREATE
- MAINTENANCE
- FAILED
Разрешения GCP
Убедитесь, что для текущего проекта включен API Cloud SQL Admin .
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/google_sql_database_instance/