azurerm_sql_database ресурс
Используйте azurerm_sql_database ресурс проверки InSpec для тестирования свойств и конфигурации базы данных Azure SQL на SQL Server.
Версия Azure REST API
Этот ресурс взаимодействует с версией 2017-10-01-preview API управления Azure. Дополнительную информацию можно найти в официальной документации Azure.
В настоящее время не представляется возможным выбрать версию документации Azure API. Если вы обнаружите упоминание новой версии в официальной документации, пожалуйста, создайте задачу или отправьте запрос на добавление pull запроса с обновленной версией.
Доступность
Установка
Этот ресурс доступен в inspec-azure пакете ресурсов. Чтобы использовать его, добавьте следующее в ваш inspec.yml в вашем профиле верхнего уровня:
depends:
- name: inspec-azure
git: https://github.com/inspec/inspec-azure.git
Также вам необходимо настроить свои учетные данные Azure; см. в README пакета ресурсов.
Версия
Этот ресурс впервые стал доступен в версии 1.2.0 пакета ресурсов inspec-azure.
Синтаксис
resource_group, server_name и database_name должны быть заданы в качестве параметра.
describe azurerm_sql_database(resource_group: 'inspec-rg', server_name: 'customer_server', database_name: 'order-db') do
it { should exist }
end
Примеры
Если база данных SQL ссылается на допустимые Resource Group, Server Name и Database name
describe azurerm_sql_database(resource_group: 'inspec-rg', server_name: 'customer_server', database_name: 'order-db') do
it { should exist }
its('name') { should be 'order-db'}
end
Если база данных SQL ссылается на недопустимые Resource Group, Server Name или Database Name
describe azurerm_sql_database(resource_group: 'inspec-rg', server_name: 'customer_server', database_name: 'invalid-db-name') do
it { should_not exist }
end
Параметры
-
resource_group- Группа ресурсов, к которой принадлежит SQL Server. -
server_name- Уникальное имя SQL Server. -
database_name- Уникальное имя базы данных SQL.
Атрибуты
idnamekindlocationtypeskuproperties
id
Идентификатор ресурса Azure.
name
Имя SQL Server, например customer-database.
kind
Тип базы данных SQL. Это метаданные, используемые для интерфейса портала Azure.
location
Расположение ресурса, например eastus.
type
Тип ресурса, как правило, Microsoft.Sql/servers/databases.
sku
Имя и уровень SKU.
properties
Коллекция дополнительных свойств конфигурации, связанных с базой данных SQL, например collation.
Другие атрибуты
Есть дополнительные атрибуты, к которым можно получить доступ, которые мы не документировали. Пожалуйста, обратитесь к документации Azure. Любой атрибут в ответе можно получить, используя имена ключей, разделенные точками (.).
API может не всегда возвращать ключи, у которых нет связанных данных. В некоторых случаях у глубоко вложенного свойства может не быть нужного атрибута в цепочке вызовов. Если вы обнаруживаете необходимость создания тестов на свойства, которые могут быть nil, создайте форк этого пакета ресурсов и добавьте обработчик доступа к ресурсу. В этом обработчике вы сможете защититься от nil-ключей. Запросы на добавление pull приветствуются.
Matchers
Этот ресурс проверки InSpec имеет следующие специальные matchers. Полный список доступных matchers можно найти на нашей странице Universal Matchers.
exists
describe azurerm_sql_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_sql_database/