Skip to main content

azure_mysql_database resource

Use the azure_mysql_database InSpec audit resource to test the properties and configuration of an Azure MySQL Database on a MySQL 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_mysql_database(resource_group: 'RESOURCE_GROUP', server_name: 'SERVER_NAME', name: 'NAME') do
  it { should exist }
end
describe azure_mysql_database(resource_id: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/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.

Either one of the parameter sets can be provided for a valid query:

  • resource_id
  • resource_group, server_name, and name
  • resource_group, server_name, and database_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_mysql_database(resource_group: 'RESOURCE_GROUP', server_name: 'SERVER_NAME', name: 'NAME') do
  its('name')   { should be 'order-db' }
end
describe azure_mysql_database(resource_id: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/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_mysql_database(resource_group: 'RESOURCE_GROUP', server_name: 'SERVER_NAME', name: 'NAME') do
  it { should exist }
end

not_exists

# If we expect the resource to never exist.

describe azure_mysql_database(resource_group: 'RESOURCE_GROUP', server_name: 'SERVER_NAME', name: '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.

Thank you for your feedback!

×