Project: Chef InSpec (Provisioning / Security & Compliance)
File: azurerm_sql_databases.md

+++ title = "azurermsqldatabases resource" draft = false gh_repo = "inspec" platform = "azure" [menu] [menu.inspec] title = "azurermsqldatabases" identifier = "inspec/resources/azure/azurermsqldatabases.md azurermsqldatabases resource" parent = "inspec/resources/azure" +++ {{< inspec/azurermdeprecated resource="azuresql_databases" >}} Use the `azurermsqldatabases` InSpec audit resource to test properties and configuration of Azure SQL Databases. This resource interacts with version `2017-10-01-preview` of the Azure Management API. For more information see the . At the moment, there doesn't appear to be a way to select the version of the Azure API docs. If you notice a newer version being referenced in the official documentation please open an issue or submit a pull request using the updated version. This resource is available in the `inspec-azure` [resource pack](/inspec/glossary/#resource-pack). To use it, add the following to your `inspec.yml` in your top-level profile: depends: name: inspec-azure git: https://github.com/inspec/inspec-azure.git You'll also need to setup your Azure credentials; see the resource pack . This resource first became available in 1.2.0 of the inspec-azure resource pack. An `azurermsqldatabases` resource block returns all SQL Databases on a SQL Server, within a resource group. describe azurermsqldatabases(resourcegroup: ..., servername: ...) do ... end The following examples show how to use this InSpec audit resource. describe azurermsqldatabases(resourcegroup: 'resource-group-1', servername: 'production') do it { should exist } its('names') { should include 'my-database-name' } end `azuresqldatabases` resources are filterable on all available properties. Below are some examples. Filters the results to include only those databases that match the given name. This is a string value. describe azurermsqldatabases(resourcegroup: 'rg', servername: 'server').where{ name.eql?('production-database') } do it { should exist } end Filters the results to include only those resource groups that reside ina given location. This is a string value. describe azurermsqldatabases(resourcegroup: 'rg', servername: 'server').where{ location.eql?('eastus') } do it { should exist } end `id` `name` `kind` `location` `type` `sku` `properties` Azure resource ID. SQL Database name, e.g. `my-sql-database`. its('names') { should include 'my-sql-database' } Kind of sql database. This is metadata used for the Azure portal experience. Resource location, e.g. `eastus`. its('locations') { should_not include 'eastus' } The type of Resource, typically `Microsoft.Sql/servers/databases`. The name and tier of the SKU. A collection of additional configuration properties related to the SQL Database, e.g. `collation`. {{< readfile file="content/inspec/reusable/md/inspecmatcherslink.md" >}} This resource has the following special matchers. The control will pass if the filter returns at least one result. Use `should_not` if you expect zero matches. describe azurermsqldatabases do it { should exist } end Your [Service Principal](https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-service-principal-portal) must be setup with a `contributor` role on the subscription you wish to test.