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

+++ title = "azurermpostgresqlservers resource" draft = false gh_repo = "inspec" platform = "azure" [menu] [menu.inspec] title = "azurermpostgresqlservers" identifier = "inspec/resources/azure/azurermpostgresqlservers.md azurermpostgresqlservers resource" parent = "inspec/resources/azure" +++ {{< inspec/azurermdeprecated resource="azurepostgresql_servers" >}} Use the `azurermpostgresqlservers` InSpec audit resource to test properties and configuration of multiple Azure PostgreSQL Servers. This resource interacts with version `2017-12-01` of the Azure Management API. For more information see the /servers/list). 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: 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.7.0 of the inspec-azure resource pack. An `azurermpostgresqlservers` resource block returns all Azure PostgreSQL Servers, either within a Resource Group (if provided), or within an entire Subscription. describe azurermpostgresqlservers do ... end or describe azurermpostgresqlservers(resource_group: 'my-rg') do ... end The following examples show how to use this InSpec audit resource. describe azurermpostgresqlservers do it { should exist } its('names') { should include 'my-server-name' } end Filters the results to include only those servers which match the given name. This is a string value. describe azurermpostgresqlservers.where{ name.eql?('production-server-5') } do it { should exist } end Filters the results to include only those servers which reside in a given location. This is a string value. describe azurermpostgresqlservers.where{ location.eql?('eastus') } do it { should exist } end `id` `name` `sku` `location` `properties` `type` Azure resource ID. SQL Server name, e.g. `my-sql-server`. its('names') { should include 'my-sql-database' } SKU of the server. This is billing information related properties of a server. Resource location, e.g. `eastus`. its('locations') { should_not include 'eastus' } A collection of additional configuration properties related to the PostgreSQL Server, e.g. `administratorLogin`. The type of Resource, typically `Microsoft.DBforPostgreSQL/servers`. {{< 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 azurermpostgresqlservers 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.