Skip to main content

azure_bastion_hosts_resources resource

Use the azure_bastion_hosts_resources InSpec audit resource to test the properties of Azure Bastion hosts for a resource group or the entire subscription.

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_bastion_hosts_resource resource block returns all Azure Bastion hosts within a resource group (if provided).

describe azure_bastion_hosts_resources(resource_group: 'RESOURCE_GROUP') do
  ..
end

Parameters

resource_group (optional)

The name of the resource group.

Properties

name
A list of the unique resource names.

Field: name

ids
A list of Bastion hosts IDs.

Field: id

tags
A list of tag:value pairs defined on the resources.

Field: tags

provisioning_states
State of Bastion hosts creation.

Field: provisioningState

types
Types of all the Bastion hosts.

Field: type

properties
Properties of all the Bastion hosts.

Field: properties

Note

For information on using filter criteria on plural resources, see the documentation on FilterTable

Examples

Test to ensure that the Bastion hosts resource is from the same type:

describe azure_bastion_hosts_resources(resource_group: 'RESOURCE_GROUP') do
  its('type') { should eq 'Microsoft.Network/bastionHosts' }
end

Test to ensure that the Bastion hosts resource is in a successful state:

describe azure_bastion_hosts_resources(resource_group: 'RESOURCE_GROUP') do
  its('provisioning_states') { should include('Succeeded') }
end

Test to ensure that the Bastion hosts resource is from the same location:

describe azure_bastion_hosts_resources(resource_group: 'RESOURCE_GROUP') do
  its('location') { should include df_location }
end

Test if any Bastion hosts exist in the resource group:

describe azure_bastion_hosts_resources(resource_group: 'RESOURCE_GROUP') 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 Bastion hots are in the resource group.

describe azure_bastion_hosts_resources(resource_group: 'RESOURCE_GROUP') 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!

×