ресурс azurerm_sql_databases
Используйте ресурс проверки InSpec для проверки свойств и конфигурации баз данных Azure SQL.
Версия Azure REST API
Этот ресурс взаимодействует с версией 2017-10-01-preview API управления Azure. Дополнительную информацию см. в официальной документации Azure.
В настоящее время, похоже, нет способа выбрать версию документации Azure API. Если вы заметите упоминание более новой версии в официальной документации, откройте проблему или отправьте запрос на вытягивание с обновленной версией.
Доступность
Установка
Этот ресурс доступен в inspec-azure пакете ресурсов. Чтобы использовать его, добавьте следующее в свой inspec.yml в вашем профиле верхнего уровня:
depends:
- name: inspec-azure
git: https://github.com/inspec/inspec-azure.git
Вам также потребуется настроить свои учетные данные Azure; см. README пакета ресурсов.
Версия
Этот ресурс впервые стал доступен в версии 1.2.0 пакета ресурсов inspec-azure.
Синтаксис
Блок ресурса azurerm_sql_databases возвращает все базы данных SQL на SQL-сервере в пределах группы ресурсов.
describe azurerm_sql_databases(resource_group: ..., server_name: ...) do
...
end
Примеры
В следующих примерах показано, как использовать этот ресурс проверки InSpec.
Проверка наличия баз данных SQL
describe azurerm_sql_databases(resource_group: 'resource-group-1', server_name: 'production') do
it { should exist }
its('names') { should include 'my-database-name' }
end
Критерии фильтрации
-
azure_sql_databasesресурсы могут быть отфильтрованы по всем доступным свойствам. Ниже приведены некоторые примеры.
names
Фильтры результаты, чтобы включить только те базы данных, которые соответствуют заданному имени. Это строковое значение.
describe azurerm_sql_databases(resource_group: 'rg', server_name: 'server').where{ name.eql?('production-database') } do
it { should exist }
end
location
Фильтры результаты, чтобы включить только те группы ресурсов, которые находятся в заданном расположении. Это строковое значение.
describe azurerm_sql_databases(resource_group: 'rg', server_name: 'server').where{ location.eql?('eastus') } do
it { should exist }
end
Атрибуты
idnamekindlocationtypeskuproperties
ids
Идентификатор ресурса Azure.
names
Имя базы данных SQL, например, my-sql-database.
its('names') { should include 'my-sql-database' }
kinds
Тип базы данных SQL. Это метаданные, используемые для взаимодействия с порталом Azure.
locations
Расположение ресурса, например, eastus.
its('locations') { should_not include 'eastus' }
type
Тип ресурса, обычно Microsoft.Sql/servers/databases.
sku
Имя и уровень SKU.
properties
Коллекция дополнительных свойств конфигурации, связанных с базой данных SQL, например, collation.
Сопоставители
Этот ресурс проверки InSpec имеет следующие специальные сопоставители. Полный список доступных сопоставителей можно найти на нашей странице Универсальные сопоставители.
exists
Контроль пройдёт, если фильтр вернёт хотя бы один результат. Используйте should_not если ожидается ноль совпадений.
describe azurerm_sql_databases 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_sql_databases/