# azure_rm_servicebus_info – Get servicebus facts

New in version 2.9.

- Synopsis

- Requirements

- Parameters

- Notes

- See Also

- Examples

- Return Values

- Status

## Synopsis

- Get facts for a specific servicebus or all servicebus in a resource group or subscription.

Aliases: azure_rm_servicebus_facts

## Requirements

The below requirements are needed on the host that executes this module.

- python >= 2.7

- azure >= 2.0.0

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
ad_user string |  | Active Directory username. Use when authenticating with an Active Directory user rather than service principal.
adfs_authority_url string added in 2.6 |  | Azure AD authority url. Use when authenticating with Username/password, and has your own ADFS authority.
api_profile string added in 2.5 | Default: "latest" | Selects an API profile to use when communicating with Azure services. Default value of `latest` is appropriate for public clouds; future values will allow use with Azure Stack.

auth_source
string
added in 2.5

Choices:
- auto
- cli
- credential_file
- env
- msi

Controls the source of the credentials to use for authentication.
If not specified, ANSIBLE_AZURE_AUTH_SOURCE environment variable will be used and default to `auto` if variable is not defined.
`auto` will follow the default precedence of module parameters -> environment variables -> default profile in credential file `~/.azure/credentials`.
When set to `cli`, the credentials will be sources from the default Azure CLI profile.
Can also be set via the `ANSIBLE_AZURE_AUTH_SOURCE` environment variable.
When set to `msi`, the host machine must be an azure resource with an enabled MSI extension. `subscription_id` or the environment variable `AZURE_SUBSCRIPTION_ID` can be used to identify the subscription ID if the resource is granted access to more than one subscription, otherwise the first subscription is chosen.
The `msi` was added in Ansible 2.6.

cert_validation_mode
string
added in 2.5

Choices:
- ignore
- validate

Controls the certificate validation behavior for Azure endpoints. By default, all modules will validate the server certificate, but when an HTTPS proxy is in use, or against Azure Stack, it may be necessary to disable this behavior by passing `ignore`. Can also be set via credential file profile or the `AZURE_CERT_VALIDATION` environment variable.

client_id string |  | Azure client ID. Use when authenticating with a Service Principal.
cloud_environment string added in 2.4 | Default: "AzureCloud" | For cloud environments other than the US public cloud, the environment name (as defined by Azure Python SDK, eg, `AzureChinaCloud`, `AzureUSGovernment`), or a metadata discovery endpoint URL (required for Azure Stack). Can also be set via credential file profile or the `AZURE_CLOUD_ENVIRONMENT` environment variable.
name - |  | Limit results to a specific servicebus.
namespace - |  | Servicebus namespace name. A namespace is a scoping container for all messaging components. Multiple queues and topics can reside within a single namespace, and namespaces often serve as application containers. Required when type=namespace.
password string |  | Active Directory user password. Use when authenticating with an Active Directory user rather than service principal.
profile string |  | Security profile found in ~/.azure/credentials file.
resource_group - |  | Limit results in a specific resource group.
secret string |  | Azure client secret. Use when authenticating with a Service Principal.

show_sas_policies
boolean

Choices:
- no
- yes

Whether to show the SAS policies.
Not support when type=subscription.
Note if enable this option, the facts module will raise two more HTTP call for each resources, need more network overhead.

subscription_id string |  | Your Azure subscription Id.
tags - |  | Limit results by providing a list of tags. Format tags as 'key' or 'key:value'.
tenant string |  | Azure tenant ID. Use when authenticating with a Service Principal.
topic - |  | Topic name. Required when type=subscription.

type
-

Choices:
- namespace
- queue
- topic
- subscription

Type of the resource.

## Notes

Note

- For authentication with Azure you can pass parameters, set environment variables, use a profile stored in ~/.azure/credentials, or log in before you run your tasks or playbook with `az login`.

- Authentication is also possible using a service principal or Active Directory user.

- To authenticate via service principal, pass subscription_id, client_id, secret and tenant or set environment variables AZURE_SUBSCRIPTION_ID, AZURE_CLIENT_ID, AZURE_SECRET and AZURE_TENANT.

- To authenticate via Active Directory user, pass ad_user and password, or set AZURE_AD_USER and AZURE_PASSWORD in the environment.

- Alternatively, credentials can be stored in ~/.azure/credentials. This is an ini file containing a [default] section and the following keys: subscription_id, client_id, secret and tenant or subscription_id, ad_user and password. It is also possible to add additional profiles. Specify the profile by passing profile or setting AZURE_PROFILE in the environment.

## See Also

See also

Sign in with Azure CLI

  How to authenticate using the `az login` command.

## Examples

    - name: Get all namespaces under a resource group
      azure_rm_servicebus_info:
        resource_group: myResourceGroup
        type: namespace

    - name: Get all topics under a namespace
      azure_rm_servicebus_info:
        resource_group: myResourceGroup
        namespace: bar
        type: topic

    - name: Get a single queue with SAS policies
      azure_rm_servicebus_info:
        resource_group: myResourceGroup
        namespace: bar
        type: queue
        name: sbqueue
        show_sas_policies: true

    - name: Get all subscriptions under a resource group
      azure_rm_servicebus_info:
        resource_group: myResourceGroup
        type: subscription
        namespace: bar
        topic: sbtopic

## Return Values

Common return values are documented here, the following are the fields unique to this module:

Key | Returned | Description
--- | --- | ---
servicebuses complex | always | List of servicebus dicts.
| accessed_at string | always | Last time the message was sent, or a request was received for this topic. Sample: 2019-01-25 02:46:55.543953+00:00
| auto_delete_on_idle_in_seconds integer | always | ISO 8061 timeSpan idle interval after which the queue or topic is automatically deleted. The minimum duration is 5 minutes. Sample: True
| count_details complex | always | Message count details.
|  | active_message_count integer | always | Number of active messages in the `queue`, `topic`, or `subscription`.
|  | dead_letter_message_count integer | always | Number of messages that are dead lettered.
|  | scheduled_message_count integer | always | Number of scheduled messages.
|  | transfer_dead_letter_message_count integer | always | Number of messages transferred into dead letters.
|  | transfer_message_count integer | always | Number of messages transferred to another `queue`, `topic`, or `subscription`.
| created_at string | always | Exact time the message was created. Sample: 2019-01-25 02:46:55.543953+00:00
| dead_lettering_on_filter_evaluation_exceptions integer | always | Value that indicates whether a subscription has dead letter support on filter evaluation exceptions.
| dead_lettering_on_message_expiration integer | always | A value that indicates whether this `queue` or `topic` has dead letter support when a message expires.
| default_message_time_to_live_seconds integer | always | ISO 8061 Default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself.
| duplicate_detection_time_in_seconds integer | always | ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. Sample: 600
| enable_batched_operations boolean | always | Value that indicates whether server-side batched operations are enabled. Sample: True
| enable_express boolean | always | Value that indicates whether Express Entities are enabled. An express topic holds a message in memory temporarily before writing it to persistent storage. Sample: True
| enable_partitioning boolean | always | Value that indicates whether the `queue` or `topic` to be partitioned across multiple message brokers is enabled. Sample: True
| forward_dead_lettered_messages_to string | always | `queue` or `topic` name to forward the Dead Letter message. Sample: corge
| forward_to string | always | `queue` or `topic` name to forward the messages. Sample: quux
| id string | always | Resource ID. Sample: /subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/foo/providers/Microsoft.ServiceBus/ namespaces/bar/topics/baz/subscriptions/qux
| location string | always | The Geo-location where the resource lives. Sample: eastus
| lock_duration_in_seconds integer | always | ISO 8601 timespan duration of a peek-lock. The amount of time that the message is locked for other receivers. The maximum value for LockDuration is 5 minutes. Sample: 60
| max_delivery_count integer | always | The maximum delivery count. A message is automatically deadlettered after this number of deliveries. Sample: 10
| max_size_in_mb integer | always | Maximum size of the `queue` or `topic` in megabytes, which is the size of the memory allocated for the `topic`. Sample: 5120
| message_count integer | always | Number of messages. Sample: 10
| metric_id string | always | Identifier for Azure Insights metrics of namespace. Sample: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX:bar
| name string | always | Resource name. Sample: qux
| namespace string | always | namespace name of the `queue` or `topic`, `subscription`. Sample: bar
| provisioning_state string | always | Provisioning state of the namespace. Sample: Succeeded
| requires_duplicate_detection boolean | always | A value indicating if this `queue` or `topic` requires duplicate detection. Sample: True
| requires_session boolean | always | A value that indicates whether the `queue` or `topic` supports the concept of sessions. Sample: True

sas_policies
dictionary

always

Dict of SAS policies.
Will not be returned until show_sas_policy set.
Sample:
{'testpolicy1': {'id': '/subscriptions/XXXXXXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/ foo/providers/Microsoft.ServiceBus/namespaces/bar/queues/qux/authorizationRules/testpolicy1', 'keys': {'key_name': 'testpolicy1', 'primary_connection_string': 'Endpoint=sb://bar.servicebus.windows.net/; SharedAccessKeyName=testpolicy1;SharedAccessKey=XXXXXXXXXXXXXXXXX;EntityPath=qux', 'primary_key': 'XXXXXXXXXXXXXXXXX', 'secondary_connection_string': 'Endpoint=sb://bar.servicebus.windows.net/; SharedAccessKeyName=testpolicy1;SharedAccessKey=XXXXXXXXXXXXXXX;EntityPath=qux', 'secondary_key': 'XXXXXXXXXXXXXXX'}, 'name': 'testpolicy1', 'rights': 'listen_send', 'type': 'Microsoft.ServiceBus/Namespaces/Queues/AuthorizationRules'}}

| service_bus_endpoint string | always | Endpoint you can use to perform Service Bus operations. Sample: https://bar.servicebus.windows.net:443/
| size_in_bytes integer | always | The size of the `queue` or `topic` in bytes.
| sku string | always | Properties of namespace's SKU. Sample: Standard
| status string | always | The status of a messaging entity. Sample: active
| subscription_count integer | always | Number of subscriptions under a topic. Sample: 1
| support_ordering boolean | always | Value that indicates whether the `topic` supports ordering. Sample: True
| tags dictionary | always | Resource tags. Sample: {'env': 'sandbox'}
| topic string | always | Topic name of a subscription. Sample: baz
| type string | always | Resource type. Namespace is a scoping container for all messaging components. Queue enables you to store messages until the receiving application is available to receive and process them. Topic and subscriptions enable 1:n relationships between publishers and subscribers. Sample: Microsoft.ServiceBus/Namespaces/Topics
| updated_at string | always | The exact time the message was updated. Sample: 2019-01-25 02:46:55.543953+00:00

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]

- This module is maintained by the Ansible Community. [community]

### Authors

- Yuwei Zhou (@yuwzho)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.