azure_postgresql_database resource
Use the azure_postgresql_database
InSpec audit resource to test the properties and configuration of an Azure PostgreSQL database on a PostgreSQL server.
Azure REST API version, endpoint, and HTTP client parameters
This resource interacts with API versions supported by the resource provider.
You can specify the api_version
as a resource parameter to use a specific version of the Azure REST API.
If you don’t specify an API version, this resource uses the latest version available.
For more information about API versioning, see the azure_generic_resource
.
By default, this resource uses the azure_cloud
global endpoint and default HTTP client settings.
You can override these settings if you need to connect to a different Azure environment (such as Azure Government or Azure China).
For more information about configuration options, see the resource pack README.
Syntax
resource_group
, server_name
and name
, or the resource_id
are required parameters.
describe azure_postgresql_database(resource_group: 'RESOURCE_GROUP', server_name: 'SERVER_NAME', name: 'DATABASE_NAME') do
it { should exist }
end
describe azure_postgresql_database(resource_id: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases/{databaseName}') do
it { should exist }
end
Parameters
resource_group
- Azure resource group where the targeted resource resides.
server_name
- The name of the server on which the database resides.
name
- The unique name of the database.
database_name
- Alias for the
name
parameter. resource_id
- The unique resource ID.
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases/{databaseName}
.
Either one of the parameter sets can be provided for a valid query:
resource_id
resource_group
,server_name
, andname
resource_group
,server_name
, anddatabase_name
Properties
properties.charset
- The charset of the database.
For properties applicable to all resources, such as type
, tags
, id
, and properties
, refer to azure_generic_resource
.
Also, see the Azure documentation for other available properties.
You can access any attribute in the response with the key names separated by dots (.
).
Examples
Test the resource name:
describe azure_postgresql_database(resource_group: 'RESOURCE_GROUP', server_name: 'SERVER_NAME', name: 'DATABASE_NAME') do
its('name') { should be 'order-db' }
end
describe azure_postgresql_database(resource_id: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases/order-db') do
its('name') { should be 'order-db' }
end
Matchers
This InSpec audit resource has the following special matchers. For a full list of available matchers, please visit our Universal Matchers page.
exists
# If we expect the resource to always exist.
describe azure_postgresql_database(resource_group: 'RESOURCE_GROUP', server_name: 'SERVER_NAME', name: 'DATABASE_NAME') do
it { should exist }
end
not_exists
# If we expect the resource to never exist.
describe azure_postgresql_database(resource_group: 'RESOURCE_GROUP', server_name: 'SERVER_NAME', name: 'DATABASE_NAME') do
it { should_not exist }
end
Azure permissions
Your Service Principal must be set up with at least a contributor
role on the subscription you wish to test.