azure.azcollection.azure_rm_eventgrid_topic_subscription module – Manage Eventgrid Topic Subscriptions
Note
This module is part of the azure.azcollection collection (version 3.13.0).
You might already have this collection installed if you are using the ansible package.
It is not included in ansible-core.
To check whether it is installed, run ansible-galaxy collection list.
To install it, use: ansible-galaxy collection install azure.azcollection.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: azure.azcollection.azure_rm_eventgrid_topic_subscription.
New in azure.azcollection 3.13.0
Synopsis
Create, update ,delete and replace Eventgrid Topic Subscriptions.
Requirements
The below requirements are needed on the host that executes this module.
python >= 2.7
The host that executes this module must have the azure.azcollection collection installed via galaxy
All python packages listed in collection’s requirements.txt must be installed via pip on the host that executes modules from azure.azcollection
Full installation instructions may be found https://galaxy.ansible.com/azure/azcollection
Parameters
Parameter |
Comments |
|---|---|
Active Directory username. Use when authenticating with an Active Directory user rather than service principal. |
|
Azure AD authority url. Use when authenticating with Username/password, and has your own ADFS authority. |
|
An advanced filter enables filtering of events based on a specific event property. KEY[.INNERKEY] FILTEROPERATOR VALUE [VALUE …] Examples data.Color StringIn Blue Red Orange Yellow data.Color StringNotIn Blue Red Orange Yellow subject StringContains Blue Red subject StringNotContains Blue Red subject StringBeginsWith Blue Red subject StringNotBeginsWith Blue Red subject StringEndsWith img png jpg subject StringNotEndsWith img png jpg data.property1 NumberIn 5 10 20 data.property1 NumberInRange 5,10 20,30 40,50 data.property2 NumberNotIn 100 200 300 data.property2 NumberNotInRange 100,110 200,210 300,310 data.property3 NumberLessThan 100 data.property2 NumberLessThanOrEquals 100 data.property3 NumberGreaterThan 100 data.property2 NumberGreaterThanOrEquals 100 data.property3 BoolEquals true data.property3 IsNullOrUndefined data.property3 IsNotNull |
|
Selects an API profile to use when communicating with Azure services. Default value of Default: |
|
Controls the source of the credentials to use for authentication. Can also be set via the When set to When set to When set to When set to When set to The Choices:
|
|
The Azure Active Directory Application Id or Uri to get the access token that will be included as the bearer token in delivery requests. Applicable only for webhook as a destination. |
|
The Azure Active Directory Tenant Id to get the access token that will be included as the bearer token in delivery requests. Applicable only for webhook as a destination. |
|
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 Choices:
|
|
Azure client ID. Use when authenticating with a Service Principal or Managed Identity (msi). Can also be set via the |
|
For cloud environments other than the US public cloud, the environment name (as defined by Azure Python SDK, eg, Default: |
|
The Azure resource ID of an Azure Storage blob container destination where EventGrid should deadletter undeliverable events for this event subscription. |
|
Add delivery attribute mapping to send additional information via HTTP headers when delivering events. This attribute is valid for all destination types except StorageQueue. Format attribute-name attribute-type attribute-value [attribute-is-secret] somename dynamic somevalue true somename2 static somevalue |
|
Determines whether or not instance discovery is performed when attempting to authenticate. Setting this to true will completely disable both instance discovery and authority validation. This functionality is intended for use in scenarios where the metadata endpoint cannot be reached such as in private clouds or Azure Stack. The process of instance discovery entails retrieving authority metadata from https://login.microsoft.com/ to validate the authority. By setting this to **True**, the validation of the authority is disabled. As a result, it is crucial to ensure that the configured authority host is valid and trustworthy. Set via credential file profile or the Choices:
|
|
Allows advanced filters to be evaluated against an array of values instead of expecting a singular value. Choices:
|
|
Endpoint where EventGrid should deliver events matching this event subscription. For webhook endpoint type, this should be the corresponding webhook URL. For other endpoint types, this should be the Azure resource identifier of the endpoint. It is expected that the destination endpoint to be already created and available for use before executing any Event Grid command. |
|
The type of the destination endpoint. Choices:
|
|
The schema in which events should be delivered for this event subscription. By default, events will be delivered in the same schema in which they are published (based on the corresponding topic’s input schema). Choices:
|
|
Event time to live (in minutes). Must be a number between 1 and 1440. Default: |
|
Date or datetime (in UTC, e.g. ‘2018-11-30T11:59:59+00:00’ or ‘2018-11-30’) after which the event subscription would expire. By default, there is no expiration for the event subscription. |
|
A list of event types (e.g., Microsoft.Storage.BlobCreated and Microsoft.Storage.BlobDeleted). In order to subscribe to all default event types, do not specify any value for this argument. For event grid topics, event types are customer defined. For Azure events, e.g., Storage Accounts, IoT Hub, etc., you can query their event types using this CLI command ‘az eventgrid topic-type list-event-types’. |
|
A list of labels to associate with this event subscription. |
|
Parent argument. |
|
Parent argument. |
|
Maximum number of delivery attempts. Must be a number between 1 and 30. Default: |
|
Maximum number of events in a batch. Must be a number between 1 and 5000. |
|
Name of the subscription. |
|
Active Directory user password. Use when authenticating with an Active Directory user rather than service principal. |
|
Preferred batch size in kilobytes. Must be a number between 1 and 1024. |
|
Security profile found in ~/.azure/credentials file. |
|
Name of a resource group where the topic exists or will be created. |
|
Azure client secret. Use when authenticating with a Service Principal. |
|
State of the Eventgrid Topic Event Subscription. Use Choices:
|
|
Storage queue message time to live in seconds. |
|
An optional string to filter events for an event subscription based on a prefix. Wildcard characters are not supported. |
|
Specify to indicate whether the subject fields should be compared in a case sensitive manner. True if flag present. Choices:
|
|
An optional string to filter events for an event subscription based on a suffix. Wildcard characters are not supported. |
|
Your Azure subscription Id. |
|
Azure tenant ID. Use when authenticating with a Service Principal. |
|
The thumbprint of the private key specified in x509_certificate_path. Use when authenticating with a Service Principal. Required if x509_certificate_path is defined. |
|
Name of the topic. |
|
Path to the X509 certificate used to create the service principal in PEM format. The certificate must be appended to the private key. Use when authenticating with a Service Principal. |
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 logincommand.
Examples
- name: Subscribe to custom topic
azure.azcollection.azure_rm_eventgrid_subscription:
name: subscription-xxxxx20070
topic_name: topic-xxxxx20070
endpoint: https://event-grid-site-xxxxx20070.azurewebsites.net/api/updates
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
|---|---|
Whether the resource is changed. Returned: always Sample: |
|
List of Eventgrid subscriptions. Returned: always |
|
Details of the destination Returned: always |
|
The base URL of the endpoint Returned: always Sample: |
|
The type of the endpoint Returned: always Sample: |
|
How many events will be batched Returned: always Sample: |
|
The preferred batch size in kilobytes Returned: always Sample: |
|
The type of Eventgrid Schema Returned: always Sample: |
|
Filter settings for which events to publish to endpoint Returned: always |
|
Filter on Subject beginning with this value Returned: always |
|
Filter on Subject ending with this value Returned: always |
|
The ID of the Eventgrid Subscription Returned: always Sample: |
|
The name of the Eventgrid Subscription Returned: always Sample: |
|
The provisioning state of this Eventgrid Subscription Returned: always Sample: |
|
Retry policy for this Eventgrid Subscription Returned: always |
|
Event time to live in minutes Returned: always Sample: |
|
Max attempts to deliver to endpoint Returned: always Sample: |
|
The source resource id that the Eventgrid Subscription is subscribed to Returned: always Sample: |
|
The type of Eventgrid Subscription Returned: always Sample: |