azure_service_bus_topics resource
Use the azure_service_bus_topics
InSpec audit resource to test the properties related to all Azure Service Bus topics within a project.
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
An azure_service_bus_topics
resource block returns all Azure Service Bus topics within a project.
name
, namespace_name
, and resource_group
are the required parameters.
describe azure_service_bus_topics(resource_group: 'RESOURCE_GROUP', namespace_name: 'SERVICE_BUS_NAMESPACE_NAME') do
#...
end
Parameters
resource_group
(required)- Azure resource group where the targeted resource resides.
MyResourceGroup
. namespace_name
(required)- Name of the namespace where the topic resides.
Properties
ids
- A list of resource IDs.
Field:
id
names
- A list of resource names.
Field:
name
types
- A list of the resource types.
Field:
type
properties
- A list of properties for all the Service Bus topics.
Field:
properties
maxSizeInMegabytes
- A list of maximum sizes of the topics.
Field:
maxSizeInMegabytes
sizeInBytes
- A list of sizes of the topics.
Field:
sizeInBytes
statuses
- A list of the status of a messaging entity.
Field:
status
countDetails
- A list of message count details.
Field:
countDetails
Note
Examples
Loop through Service Bus topics by their names:
azure_service_bus_topics(resource_group: 'RESOURCE_GROUP', namespace_name: 'SERVICE_BUS_NAMESPACE_NAME').names.each do |name|
describe azure_service_bus_topic(resource_group: 'RESOURCE_GROUP', namespace_name: 'SERVICE_BUS_NAMESPACE_NAME', name: name) do
it { should exist }
end
end
Test that there are Service Bus topics that are successfully provisioned:
describe azure_service_bus_topics(resource_group: 'RESOURCE_GROUP', namespace_name: 'SERVICE_BUS_NAMESPACE_NAME').where(status: 'Active') do
it { should exist }
end
Matchers
For a full list of available matchers, see our Universal Matchers page.This resource has the following special matchers.
exists
# Should not exist if no Service Bus topics are present.
describe azure_service_bus_topics(resource_group: 'RESOURCE_GROUP', namespace_name: 'SERVICE_BUS_NAMESPACE_NAME') do
it { should_not exist }
end
not_exists
# Should exist if the filter returns at least one Service Bus topic.
describe azure_service_bus_topics(resource_group: 'RESOURCE_GROUP', namespace_name: 'SERVICE_BUS_NAMESPACE_NAME') do
it { should exist }
end
Azure permissions
Your Service Principal must be set up with at least a reader
role on the subscription you wish to test.