Azure Messaging Topic

This page shows how to write Terraform and Azure Resource Manager for Messaging Topic and write them securely.

azurerm_eventgrid_topic (Terraform)

The Topic in Messaging can be configured in Terraform with the resource name azurerm_eventgrid_topic. The following sections describe 10 examples of how to use the resource and its parameters.

Example Usage from GitHub

eventgridtopic.tf#L2
resource "azurerm_eventgrid_topic" "event_grid_topic" {
  name                = var.name
  location            = var.location
  resource_group_name = var.resource_group_name
main.tf#L2
resource "azurerm_eventgrid_topic" "TollboothEventGrid" {
  name                = var.TollboothEventGrid
  location            = var.location
  resource_group_name = var.resource_group_name

  tags = {
eventgrid.tf#L1
resource "azurerm_eventgrid_topic" "runway_ingestion_eventgrid" {
  name                = local.env.runway_event_grid_name
  location            = local.env.location
  resource_group_name = local.env.ingest_resource_group_name

  tags = {
main.tf#L1
resource "azurerm_eventgrid_topic" "topic" {
  name                = var.name
  location            = var.location
  resource_group_name = var.resource_group_name

  tags = {
main.tf#L22
resource "azurerm_eventgrid_topic" "default-event-grid" {
  name                = "default-eventgrid-topic"
  location            = var.v_location
  resource_group_name = var.v_resource_group_name

  tags = {
main.tf#L1
resource "azurerm_eventgrid_topic" "evnt_tpc" {
  name                = var.name
  resource_group_name = var.resource_group_name
  location            = var.location

  tags = var.tags
main.tf#L9
resource "azurerm_eventgrid_topic" "topic" {

  name                = var.service_settings.name
  location            = var.context.location
  resource_group_name = var.context.resource_group_name

main.tf#L7
resource "azurerm_eventgrid_topic" "this" {
  location            = var.location
  name                = var.name
  resource_group_name = var.resource_group_name
  tags                = var.tags

main.tf#L40
resource "azurerm_eventgrid_topic" "main" {
  count = length(local.topics)

  name                = local.topics[count.index].name
  resource_group_name = data.azurerm_resource_group.main.name
  location            = data.azurerm_resource_group.main.location
main.tf#L7
resource "azurerm_eventgrid_topic" "this" {
  location            = var.location
  name                = var.name
  resource_group_name = var.resource_group_name
  tags                = var.tags

Review your Terraform file for Azure best practices

Shisho Cloud, our free checker to make sure your Terraform configuration follows best practices, is available (beta).

Parameters

Explanation in Terraform Registry

Manages an EventGrid Topic

Note: at this time EventGrid Topic's are only available in a limited number of regions.

Microsoft.EventGrid/topics (Azure Resource Manager)

The topics in Microsoft.EventGrid can be configured in Azure Resource Manager with the resource name Microsoft.EventGrid/topics. The following sections describe how to use the resource and its parameters.

Example Usage from GitHub

An example could not be found in GitHub.

Parameters

  • apiVersion required - string
  • identity optional
      • principalId optional - string

        The principal ID of resource identity.

      • tenantId optional - string

        The tenant ID of resource.

      • type optional - string

        The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identity.

      • userAssignedIdentities optional - undefined

        The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. This property is currently not used and reserved for future usage.

  • location required - string

    Location of the resource.

  • name required - string

    Name of the topic.

  • properties required
      • disableLocalAuth optional - boolean

        This boolean is used to enable or disable local auth. Default value is false. When the property is set to true, only AAD token will be used to authenticate if user is allowed to publish to the topic.

      • inboundIpRules optional array
          • action optional - string

            Action to perform based on the match or no match of the IpMask.

          • ipMask optional - string

            IP Address in CIDR notation e.g., 10.0.0.0/8.

      • inputSchema optional - string

        This determines the format that Event Grid should expect for incoming events published to the topic.

      • inputSchemaMapping optional
        • publicNetworkAccess optional - string

          This determines if traffic is allowed over public network. By default it is enabled. You can further restrict to specific IPs by configuring <seealso cref="P:Microsoft.Azure.Events.ResourceProvider.Common.Contracts.TopicProperties.InboundIpRules" />.

    • tags optional - string

      Tags of the resource.

    • type required - string

    Frequently asked questions

    What is Azure Messaging Topic?

    Azure Messaging Topic is a resource for Messaging of Microsoft Azure. Settings can be wrote in Terraform.

    Where can I find the example code for the Azure Messaging Topic?

    For Terraform, the KamenYovchev/terraform-azurerm-event-grid-topic, prajput35/Serverless-Terraform and adityareddy369/data-ingestion source code examples are useful. See the Terraform Example section for further details.