azurerm_postgresql_database ресурс
Используйте ресурс проверки InSpec azurerm_postgresql_database, чтобы проверить свойства и конфигурацию базы данных Azure PostgreSQL на сервере PostgreSQL.
Версия Azure REST API
Этот ресурс взаимодействует с версией 2017-12-01 API управления Azure. Дополнительную информацию см. в официальной документации Azure.
В настоящее время, похоже, нет способа выбрать версию документации API Azure. Если вы заметите, что в официальной документации упоминается более новая версия, откройте вопрос или отправьте запрос на включение с использованием обновлённой версии.
Доступность
Установка
Этот ресурс доступен в inspec-azure пакете ресурсов. Для его использования добавьте следующее в свой inspec.yml в профиле верхнего уровня:
depends:
inspec-azure:
git: https://github.com/inspec/inspec-azure.git
Вам также потребуется настроить свои учетные данные Azure; см. README пакета ресурсов.
Версия
Этот ресурс впервые стал доступен в версии 1.7.0 пакета ресурсов inspec-azure.
Синтаксис
resource_group, server_name и database_name должны быть указаны в качестве параметра.
describe azurerm_postgresql_database(resource_group: 'inspec-rg', server_name: 'customer_server', database_name: 'order-db') do
it { should exist }
end
Примеры
Если база данных PostgreSQL указана с корректными Resource Group, Server Name и Database name
describe azurerm_postgresql_database(resource_group: 'inspec-rg', server_name: 'customer_server', database_name: 'order-db') do
it { should exist }
its('name') { should be 'order-db' }
end
Если база данных PostgreSQL указана с некорректными Resource Group, Server Name или Database Name
describe azurerm_postgresql_database(resource_group: 'inspec-rg', server_name: 'customer_server', database_name: 'invalid-db-name') do
it { should_not exist }
end
Параметры
-
resource_group— группа ресурсов, к которой принадлежит сервер PostgreSQL. -
server_name— уникальное имя сервера PostgreSQL. -
database_name— уникальное имя базы данных PostgreSQL.
Атрибуты
idnametypeproperties
id
Идентификатор ресурса Azure.
name
Имя SQL-сервера, например, customer-database.
type
Тип ресурса, обычно Microsoft.DBforPostgreSQL/servers/databases.
properties
Коллекция дополнительных свойств конфигурации, связанных с базой данных PostgreSQL, например, collation.
Другие атрибуты
Существуют дополнительные атрибуты, к которым можно получить доступ, которые мы не задокументировали. Пожалуйста, ознакомьтесь с документацией Azure. Любой атрибут в ответе можно получить, используя имена ключей, разделенные точками (.).
API может не всегда возвращать ключи, не имеющие связанных данных. Возможны случаи, когда глубоко вложенное свойство может не содержать желаемого атрибута в вашем цепочке вызовов. Если вы обнаружите, что пишете тесты на свойства, которые могут быть nil, разделите этот пакет ресурсов и добавьте accessor к ресурсу. В этом accessor вы сможете защититься от nil-ключей. Запросы на включение всегда приветствуются.
Матчеры
Этот ресурс проверки InSpec имеет следующие специальные матчеры. Полный список доступных матчеров см. на нашей странице Универсальных матчеров.
exists
describe azurerm_postgresql_database(resource_group: 'my-rg', server_name: 'server-name-1', database_name: 'customer-db') do
it { should exist }
end
Разрешения Azure
Ваш сервисный принцип должен быть настроен с ролью contributor на подписке, которую вы хотите протестировать.
© 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/azurerm_postgresql_database/