1. Packages
  2. Packages
  3. Azure Classic
  4. API Docs
  5. eventgrid
  6. Topic

We recommend using Azure Native.

Viewing docs for Azure v4.42.0 (Older version)
published on Monday, Mar 9, 2026 by Pulumi
azure logo

We recommend using Azure Native.

Viewing docs for Azure v4.42.0 (Older version)
published on Monday, Mar 9, 2026 by Pulumi

    Manages an EventGrid Topic

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

    Example Usage

    using Pulumi;
    using Azure = Pulumi.Azure;
    
    class MyStack : Stack
    {
        public MyStack()
        {
            var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new Azure.Core.ResourceGroupArgs
            {
                Location = "West Europe",
            });
            var exampleTopic = new Azure.EventGrid.Topic("exampleTopic", new Azure.EventGrid.TopicArgs
            {
                Location = exampleResourceGroup.Location,
                ResourceGroupName = exampleResourceGroup.Name,
                Tags = 
                {
                    { "environment", "Production" },
                },
            });
        }
    
    }
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
    	"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/eventgrid"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
    			Location: pulumi.String("West Europe"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = eventgrid.NewTopic(ctx, "exampleTopic", &eventgrid.TopicArgs{
    			Location:          exampleResourceGroup.Location,
    			ResourceGroupName: exampleResourceGroup.Name,
    			Tags: pulumi.StringMap{
    				"environment": pulumi.String("Production"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Example coming soon!

    import * as pulumi from "@pulumi/pulumi";
    import * as azure from "@pulumi/azure";
    
    const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
    const exampleTopic = new azure.eventgrid.Topic("exampleTopic", {
        location: exampleResourceGroup.location,
        resourceGroupName: exampleResourceGroup.name,
        tags: {
            environment: "Production",
        },
    });
    
    import pulumi
    import pulumi_azure as azure
    
    example_resource_group = azure.core.ResourceGroup("exampleResourceGroup", location="West Europe")
    example_topic = azure.eventgrid.Topic("exampleTopic",
        location=example_resource_group.location,
        resource_group_name=example_resource_group.name,
        tags={
            "environment": "Production",
        })
    

    Example coming soon!

    Create Topic Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Topic(name: string, args: TopicArgs, opts?: CustomResourceOptions);
    @overload
    def Topic(resource_name: str,
              args: TopicArgs,
              opts: Optional[ResourceOptions] = None)
    
    @overload
    def Topic(resource_name: str,
              opts: Optional[ResourceOptions] = None,
              resource_group_name: Optional[str] = None,
              identity: Optional[TopicIdentityArgs] = None,
              inbound_ip_rules: Optional[Sequence[TopicInboundIpRuleArgs]] = None,
              input_mapping_default_values: Optional[TopicInputMappingDefaultValuesArgs] = None,
              input_mapping_fields: Optional[TopicInputMappingFieldsArgs] = None,
              input_schema: Optional[str] = None,
              local_auth_enabled: Optional[bool] = None,
              location: Optional[str] = None,
              name: Optional[str] = None,
              public_network_access_enabled: Optional[bool] = None,
              tags: Optional[Mapping[str, str]] = None)
    func NewTopic(ctx *Context, name string, args TopicArgs, opts ...ResourceOption) (*Topic, error)
    public Topic(string name, TopicArgs args, CustomResourceOptions? opts = null)
    public Topic(String name, TopicArgs args)
    public Topic(String name, TopicArgs args, CustomResourceOptions options)
    
    type: azure:eventgrid:Topic
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args TopicArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args TopicArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args TopicArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args TopicArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args TopicArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var topicResource = new Azure.EventGrid.Topic("topicResource", new()
    {
        ResourceGroupName = "string",
        Identity = new Azure.EventGrid.Inputs.TopicIdentityArgs
        {
            Type = "string",
            IdentityIds = new[]
            {
                "string",
            },
            PrincipalId = "string",
            TenantId = "string",
        },
        InboundIpRules = new[]
        {
            new Azure.EventGrid.Inputs.TopicInboundIpRuleArgs
            {
                IpMask = "string",
                Action = "string",
            },
        },
        InputMappingDefaultValues = new Azure.EventGrid.Inputs.TopicInputMappingDefaultValuesArgs
        {
            DataVersion = "string",
            EventType = "string",
            Subject = "string",
        },
        InputMappingFields = new Azure.EventGrid.Inputs.TopicInputMappingFieldsArgs
        {
            DataVersion = "string",
            EventTime = "string",
            EventType = "string",
            Id = "string",
            Subject = "string",
            Topic = "string",
        },
        InputSchema = "string",
        LocalAuthEnabled = false,
        Location = "string",
        Name = "string",
        PublicNetworkAccessEnabled = false,
        Tags = 
        {
            { "string", "string" },
        },
    });
    
    example, err := eventgrid.NewTopic(ctx, "topicResource", &eventgrid.TopicArgs{
    	ResourceGroupName: pulumi.String("string"),
    	Identity: &eventgrid.TopicIdentityArgs{
    		Type: pulumi.String("string"),
    		IdentityIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		PrincipalId: pulumi.String("string"),
    		TenantId:    pulumi.String("string"),
    	},
    	InboundIpRules: eventgrid.TopicInboundIpRuleArray{
    		&eventgrid.TopicInboundIpRuleArgs{
    			IpMask: pulumi.String("string"),
    			Action: pulumi.String("string"),
    		},
    	},
    	InputMappingDefaultValues: &eventgrid.TopicInputMappingDefaultValuesArgs{
    		DataVersion: pulumi.String("string"),
    		EventType:   pulumi.String("string"),
    		Subject:     pulumi.String("string"),
    	},
    	InputMappingFields: &eventgrid.TopicInputMappingFieldsArgs{
    		DataVersion: pulumi.String("string"),
    		EventTime:   pulumi.String("string"),
    		EventType:   pulumi.String("string"),
    		Id:          pulumi.String("string"),
    		Subject:     pulumi.String("string"),
    		Topic:       pulumi.String("string"),
    	},
    	InputSchema:                pulumi.String("string"),
    	LocalAuthEnabled:           pulumi.Bool(false),
    	Location:                   pulumi.String("string"),
    	Name:                       pulumi.String("string"),
    	PublicNetworkAccessEnabled: pulumi.Bool(false),
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    })
    
    var topicResource = new com.pulumi.azure.eventgrid.Topic("topicResource", com.pulumi.azure.eventgrid.TopicArgs.builder()
        .resourceGroupName("string")
        .identity(TopicIdentityArgs.builder()
            .type("string")
            .identityIds("string")
            .principalId("string")
            .tenantId("string")
            .build())
        .inboundIpRules(TopicInboundIpRuleArgs.builder()
            .ipMask("string")
            .action("string")
            .build())
        .inputMappingDefaultValues(TopicInputMappingDefaultValuesArgs.builder()
            .dataVersion("string")
            .eventType("string")
            .subject("string")
            .build())
        .inputMappingFields(TopicInputMappingFieldsArgs.builder()
            .dataVersion("string")
            .eventTime("string")
            .eventType("string")
            .id("string")
            .subject("string")
            .topic("string")
            .build())
        .inputSchema("string")
        .localAuthEnabled(false)
        .location("string")
        .name("string")
        .publicNetworkAccessEnabled(false)
        .tags(Map.of("string", "string"))
        .build());
    
    topic_resource = azure.eventgrid.Topic("topicResource",
        resource_group_name="string",
        identity={
            "type": "string",
            "identity_ids": ["string"],
            "principal_id": "string",
            "tenant_id": "string",
        },
        inbound_ip_rules=[{
            "ip_mask": "string",
            "action": "string",
        }],
        input_mapping_default_values={
            "data_version": "string",
            "event_type": "string",
            "subject": "string",
        },
        input_mapping_fields={
            "data_version": "string",
            "event_time": "string",
            "event_type": "string",
            "id": "string",
            "subject": "string",
            "topic": "string",
        },
        input_schema="string",
        local_auth_enabled=False,
        location="string",
        name="string",
        public_network_access_enabled=False,
        tags={
            "string": "string",
        })
    
    const topicResource = new azure.eventgrid.Topic("topicResource", {
        resourceGroupName: "string",
        identity: {
            type: "string",
            identityIds: ["string"],
            principalId: "string",
            tenantId: "string",
        },
        inboundIpRules: [{
            ipMask: "string",
            action: "string",
        }],
        inputMappingDefaultValues: {
            dataVersion: "string",
            eventType: "string",
            subject: "string",
        },
        inputMappingFields: {
            dataVersion: "string",
            eventTime: "string",
            eventType: "string",
            id: "string",
            subject: "string",
            topic: "string",
        },
        inputSchema: "string",
        localAuthEnabled: false,
        location: "string",
        name: "string",
        publicNetworkAccessEnabled: false,
        tags: {
            string: "string",
        },
    });
    
    type: azure:eventgrid:Topic
    properties:
        identity:
            identityIds:
                - string
            principalId: string
            tenantId: string
            type: string
        inboundIpRules:
            - action: string
              ipMask: string
        inputMappingDefaultValues:
            dataVersion: string
            eventType: string
            subject: string
        inputMappingFields:
            dataVersion: string
            eventTime: string
            eventType: string
            id: string
            subject: string
            topic: string
        inputSchema: string
        localAuthEnabled: false
        location: string
        name: string
        publicNetworkAccessEnabled: false
        resourceGroupName: string
        tags:
            string: string
    

    Topic Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The Topic resource accepts the following input properties:

    ResourceGroupName string
    The name of the resource group in which the EventGrid Topic exists. Changing this forces a new resource to be created.
    Identity TopicIdentity
    An identity block as defined below.
    InboundIpRules List<TopicInboundIpRule>
    One or more inbound_ip_rule blocks as defined below.
    InputMappingDefaultValues TopicInputMappingDefaultValues
    A input_mapping_default_values block as defined below.
    InputMappingFields TopicInputMappingFields
    A input_mapping_fields block as defined below.
    InputSchema string
    Specifies the schema in which incoming events will be published to this domain. Allowed values are CloudEventSchemaV1_0, CustomEventSchema, or EventGridSchema. Defaults to EventGridSchema. Changing this forces a new resource to be created.
    LocalAuthEnabled bool
    Whether local authentication methods is enabled for the EventGrid Topic. Defaults to true.
    Location string
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    Name string
    Specifies the name of the EventGrid Topic resource. Changing this forces a new resource to be created.
    PublicNetworkAccessEnabled bool
    Whether or not public network access is allowed for this server. Defaults to true.
    Tags Dictionary<string, string>
    A mapping of tags to assign to the resource.
    ResourceGroupName string
    The name of the resource group in which the EventGrid Topic exists. Changing this forces a new resource to be created.
    Identity TopicIdentityArgs
    An identity block as defined below.
    InboundIpRules []TopicInboundIpRuleArgs
    One or more inbound_ip_rule blocks as defined below.
    InputMappingDefaultValues TopicInputMappingDefaultValuesArgs
    A input_mapping_default_values block as defined below.
    InputMappingFields TopicInputMappingFieldsArgs
    A input_mapping_fields block as defined below.
    InputSchema string
    Specifies the schema in which incoming events will be published to this domain. Allowed values are CloudEventSchemaV1_0, CustomEventSchema, or EventGridSchema. Defaults to EventGridSchema. Changing this forces a new resource to be created.
    LocalAuthEnabled bool
    Whether local authentication methods is enabled for the EventGrid Topic. Defaults to true.
    Location string
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    Name string
    Specifies the name of the EventGrid Topic resource. Changing this forces a new resource to be created.
    PublicNetworkAccessEnabled bool
    Whether or not public network access is allowed for this server. Defaults to true.
    Tags map[string]string
    A mapping of tags to assign to the resource.
    resourceGroupName String
    The name of the resource group in which the EventGrid Topic exists. Changing this forces a new resource to be created.
    identity TopicIdentity
    An identity block as defined below.
    inboundIpRules List<TopicInboundIpRule>
    One or more inbound_ip_rule blocks as defined below.
    inputMappingDefaultValues TopicInputMappingDefaultValues
    A input_mapping_default_values block as defined below.
    inputMappingFields TopicInputMappingFields
    A input_mapping_fields block as defined below.
    inputSchema String
    Specifies the schema in which incoming events will be published to this domain. Allowed values are CloudEventSchemaV1_0, CustomEventSchema, or EventGridSchema. Defaults to EventGridSchema. Changing this forces a new resource to be created.
    localAuthEnabled Boolean
    Whether local authentication methods is enabled for the EventGrid Topic. Defaults to true.
    location String
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    name String
    Specifies the name of the EventGrid Topic resource. Changing this forces a new resource to be created.
    publicNetworkAccessEnabled Boolean
    Whether or not public network access is allowed for this server. Defaults to true.
    tags Map<String,String>
    A mapping of tags to assign to the resource.
    resourceGroupName string
    The name of the resource group in which the EventGrid Topic exists. Changing this forces a new resource to be created.
    identity TopicIdentity
    An identity block as defined below.
    inboundIpRules TopicInboundIpRule[]
    One or more inbound_ip_rule blocks as defined below.
    inputMappingDefaultValues TopicInputMappingDefaultValues
    A input_mapping_default_values block as defined below.
    inputMappingFields TopicInputMappingFields
    A input_mapping_fields block as defined below.
    inputSchema string
    Specifies the schema in which incoming events will be published to this domain. Allowed values are CloudEventSchemaV1_0, CustomEventSchema, or EventGridSchema. Defaults to EventGridSchema. Changing this forces a new resource to be created.
    localAuthEnabled boolean
    Whether local authentication methods is enabled for the EventGrid Topic. Defaults to true.
    location string
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    name string
    Specifies the name of the EventGrid Topic resource. Changing this forces a new resource to be created.
    publicNetworkAccessEnabled boolean
    Whether or not public network access is allowed for this server. Defaults to true.
    tags {[key: string]: string}
    A mapping of tags to assign to the resource.
    resource_group_name str
    The name of the resource group in which the EventGrid Topic exists. Changing this forces a new resource to be created.
    identity TopicIdentityArgs
    An identity block as defined below.
    inbound_ip_rules Sequence[TopicInboundIpRuleArgs]
    One or more inbound_ip_rule blocks as defined below.
    input_mapping_default_values TopicInputMappingDefaultValuesArgs
    A input_mapping_default_values block as defined below.
    input_mapping_fields TopicInputMappingFieldsArgs
    A input_mapping_fields block as defined below.
    input_schema str
    Specifies the schema in which incoming events will be published to this domain. Allowed values are CloudEventSchemaV1_0, CustomEventSchema, or EventGridSchema. Defaults to EventGridSchema. Changing this forces a new resource to be created.
    local_auth_enabled bool
    Whether local authentication methods is enabled for the EventGrid Topic. Defaults to true.
    location str
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    name str
    Specifies the name of the EventGrid Topic resource. Changing this forces a new resource to be created.
    public_network_access_enabled bool
    Whether or not public network access is allowed for this server. Defaults to true.
    tags Mapping[str, str]
    A mapping of tags to assign to the resource.
    resourceGroupName String
    The name of the resource group in which the EventGrid Topic exists. Changing this forces a new resource to be created.
    identity Property Map
    An identity block as defined below.
    inboundIpRules List<Property Map>
    One or more inbound_ip_rule blocks as defined below.
    inputMappingDefaultValues Property Map
    A input_mapping_default_values block as defined below.
    inputMappingFields Property Map
    A input_mapping_fields block as defined below.
    inputSchema String
    Specifies the schema in which incoming events will be published to this domain. Allowed values are CloudEventSchemaV1_0, CustomEventSchema, or EventGridSchema. Defaults to EventGridSchema. Changing this forces a new resource to be created.
    localAuthEnabled Boolean
    Whether local authentication methods is enabled for the EventGrid Topic. Defaults to true.
    location String
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    name String
    Specifies the name of the EventGrid Topic resource. Changing this forces a new resource to be created.
    publicNetworkAccessEnabled Boolean
    Whether or not public network access is allowed for this server. Defaults to true.
    tags Map<String>
    A mapping of tags to assign to the resource.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Topic resource produces the following output properties:

    Endpoint string
    The Endpoint associated with the EventGrid Topic.
    Id string
    The provider-assigned unique ID for this managed resource.
    PrimaryAccessKey string
    The Primary Shared Access Key associated with the EventGrid Topic.
    SecondaryAccessKey string
    The Secondary Shared Access Key associated with the EventGrid Topic.
    Endpoint string
    The Endpoint associated with the EventGrid Topic.
    Id string
    The provider-assigned unique ID for this managed resource.
    PrimaryAccessKey string
    The Primary Shared Access Key associated with the EventGrid Topic.
    SecondaryAccessKey string
    The Secondary Shared Access Key associated with the EventGrid Topic.
    endpoint String
    The Endpoint associated with the EventGrid Topic.
    id String
    The provider-assigned unique ID for this managed resource.
    primaryAccessKey String
    The Primary Shared Access Key associated with the EventGrid Topic.
    secondaryAccessKey String
    The Secondary Shared Access Key associated with the EventGrid Topic.
    endpoint string
    The Endpoint associated with the EventGrid Topic.
    id string
    The provider-assigned unique ID for this managed resource.
    primaryAccessKey string
    The Primary Shared Access Key associated with the EventGrid Topic.
    secondaryAccessKey string
    The Secondary Shared Access Key associated with the EventGrid Topic.
    endpoint str
    The Endpoint associated with the EventGrid Topic.
    id str
    The provider-assigned unique ID for this managed resource.
    primary_access_key str
    The Primary Shared Access Key associated with the EventGrid Topic.
    secondary_access_key str
    The Secondary Shared Access Key associated with the EventGrid Topic.
    endpoint String
    The Endpoint associated with the EventGrid Topic.
    id String
    The provider-assigned unique ID for this managed resource.
    primaryAccessKey String
    The Primary Shared Access Key associated with the EventGrid Topic.
    secondaryAccessKey String
    The Secondary Shared Access Key associated with the EventGrid Topic.

    Look up Existing Topic Resource

    Get an existing Topic resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: TopicState, opts?: CustomResourceOptions): Topic
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            endpoint: Optional[str] = None,
            identity: Optional[TopicIdentityArgs] = None,
            inbound_ip_rules: Optional[Sequence[TopicInboundIpRuleArgs]] = None,
            input_mapping_default_values: Optional[TopicInputMappingDefaultValuesArgs] = None,
            input_mapping_fields: Optional[TopicInputMappingFieldsArgs] = None,
            input_schema: Optional[str] = None,
            local_auth_enabled: Optional[bool] = None,
            location: Optional[str] = None,
            name: Optional[str] = None,
            primary_access_key: Optional[str] = None,
            public_network_access_enabled: Optional[bool] = None,
            resource_group_name: Optional[str] = None,
            secondary_access_key: Optional[str] = None,
            tags: Optional[Mapping[str, str]] = None) -> Topic
    func GetTopic(ctx *Context, name string, id IDInput, state *TopicState, opts ...ResourceOption) (*Topic, error)
    public static Topic Get(string name, Input<string> id, TopicState? state, CustomResourceOptions? opts = null)
    public static Topic get(String name, Output<String> id, TopicState state, CustomResourceOptions options)
    resources:  _:    type: azure:eventgrid:Topic    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Endpoint string
    The Endpoint associated with the EventGrid Topic.
    Identity TopicIdentity
    An identity block as defined below.
    InboundIpRules List<TopicInboundIpRule>
    One or more inbound_ip_rule blocks as defined below.
    InputMappingDefaultValues TopicInputMappingDefaultValues
    A input_mapping_default_values block as defined below.
    InputMappingFields TopicInputMappingFields
    A input_mapping_fields block as defined below.
    InputSchema string
    Specifies the schema in which incoming events will be published to this domain. Allowed values are CloudEventSchemaV1_0, CustomEventSchema, or EventGridSchema. Defaults to EventGridSchema. Changing this forces a new resource to be created.
    LocalAuthEnabled bool
    Whether local authentication methods is enabled for the EventGrid Topic. Defaults to true.
    Location string
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    Name string
    Specifies the name of the EventGrid Topic resource. Changing this forces a new resource to be created.
    PrimaryAccessKey string
    The Primary Shared Access Key associated with the EventGrid Topic.
    PublicNetworkAccessEnabled bool
    Whether or not public network access is allowed for this server. Defaults to true.
    ResourceGroupName string
    The name of the resource group in which the EventGrid Topic exists. Changing this forces a new resource to be created.
    SecondaryAccessKey string
    The Secondary Shared Access Key associated with the EventGrid Topic.
    Tags Dictionary<string, string>
    A mapping of tags to assign to the resource.
    Endpoint string
    The Endpoint associated with the EventGrid Topic.
    Identity TopicIdentityArgs
    An identity block as defined below.
    InboundIpRules []TopicInboundIpRuleArgs
    One or more inbound_ip_rule blocks as defined below.
    InputMappingDefaultValues TopicInputMappingDefaultValuesArgs
    A input_mapping_default_values block as defined below.
    InputMappingFields TopicInputMappingFieldsArgs
    A input_mapping_fields block as defined below.
    InputSchema string
    Specifies the schema in which incoming events will be published to this domain. Allowed values are CloudEventSchemaV1_0, CustomEventSchema, or EventGridSchema. Defaults to EventGridSchema. Changing this forces a new resource to be created.
    LocalAuthEnabled bool
    Whether local authentication methods is enabled for the EventGrid Topic. Defaults to true.
    Location string
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    Name string
    Specifies the name of the EventGrid Topic resource. Changing this forces a new resource to be created.
    PrimaryAccessKey string
    The Primary Shared Access Key associated with the EventGrid Topic.
    PublicNetworkAccessEnabled bool
    Whether or not public network access is allowed for this server. Defaults to true.
    ResourceGroupName string
    The name of the resource group in which the EventGrid Topic exists. Changing this forces a new resource to be created.
    SecondaryAccessKey string
    The Secondary Shared Access Key associated with the EventGrid Topic.
    Tags map[string]string
    A mapping of tags to assign to the resource.
    endpoint String
    The Endpoint associated with the EventGrid Topic.
    identity TopicIdentity
    An identity block as defined below.
    inboundIpRules List<TopicInboundIpRule>
    One or more inbound_ip_rule blocks as defined below.
    inputMappingDefaultValues TopicInputMappingDefaultValues
    A input_mapping_default_values block as defined below.
    inputMappingFields TopicInputMappingFields
    A input_mapping_fields block as defined below.
    inputSchema String
    Specifies the schema in which incoming events will be published to this domain. Allowed values are CloudEventSchemaV1_0, CustomEventSchema, or EventGridSchema. Defaults to EventGridSchema. Changing this forces a new resource to be created.
    localAuthEnabled Boolean
    Whether local authentication methods is enabled for the EventGrid Topic. Defaults to true.
    location String
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    name String
    Specifies the name of the EventGrid Topic resource. Changing this forces a new resource to be created.
    primaryAccessKey String
    The Primary Shared Access Key associated with the EventGrid Topic.
    publicNetworkAccessEnabled Boolean
    Whether or not public network access is allowed for this server. Defaults to true.
    resourceGroupName String
    The name of the resource group in which the EventGrid Topic exists. Changing this forces a new resource to be created.
    secondaryAccessKey String
    The Secondary Shared Access Key associated with the EventGrid Topic.
    tags Map<String,String>
    A mapping of tags to assign to the resource.
    endpoint string
    The Endpoint associated with the EventGrid Topic.
    identity TopicIdentity
    An identity block as defined below.
    inboundIpRules TopicInboundIpRule[]
    One or more inbound_ip_rule blocks as defined below.
    inputMappingDefaultValues TopicInputMappingDefaultValues
    A input_mapping_default_values block as defined below.
    inputMappingFields TopicInputMappingFields
    A input_mapping_fields block as defined below.
    inputSchema string
    Specifies the schema in which incoming events will be published to this domain. Allowed values are CloudEventSchemaV1_0, CustomEventSchema, or EventGridSchema. Defaults to EventGridSchema. Changing this forces a new resource to be created.
    localAuthEnabled boolean
    Whether local authentication methods is enabled for the EventGrid Topic. Defaults to true.
    location string
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    name string
    Specifies the name of the EventGrid Topic resource. Changing this forces a new resource to be created.
    primaryAccessKey string
    The Primary Shared Access Key associated with the EventGrid Topic.
    publicNetworkAccessEnabled boolean
    Whether or not public network access is allowed for this server. Defaults to true.
    resourceGroupName string
    The name of the resource group in which the EventGrid Topic exists. Changing this forces a new resource to be created.
    secondaryAccessKey string
    The Secondary Shared Access Key associated with the EventGrid Topic.
    tags {[key: string]: string}
    A mapping of tags to assign to the resource.
    endpoint str
    The Endpoint associated with the EventGrid Topic.
    identity TopicIdentityArgs
    An identity block as defined below.
    inbound_ip_rules Sequence[TopicInboundIpRuleArgs]
    One or more inbound_ip_rule blocks as defined below.
    input_mapping_default_values TopicInputMappingDefaultValuesArgs
    A input_mapping_default_values block as defined below.
    input_mapping_fields TopicInputMappingFieldsArgs
    A input_mapping_fields block as defined below.
    input_schema str
    Specifies the schema in which incoming events will be published to this domain. Allowed values are CloudEventSchemaV1_0, CustomEventSchema, or EventGridSchema. Defaults to EventGridSchema. Changing this forces a new resource to be created.
    local_auth_enabled bool
    Whether local authentication methods is enabled for the EventGrid Topic. Defaults to true.
    location str
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    name str
    Specifies the name of the EventGrid Topic resource. Changing this forces a new resource to be created.
    primary_access_key str
    The Primary Shared Access Key associated with the EventGrid Topic.
    public_network_access_enabled bool
    Whether or not public network access is allowed for this server. Defaults to true.
    resource_group_name str
    The name of the resource group in which the EventGrid Topic exists. Changing this forces a new resource to be created.
    secondary_access_key str
    The Secondary Shared Access Key associated with the EventGrid Topic.
    tags Mapping[str, str]
    A mapping of tags to assign to the resource.
    endpoint String
    The Endpoint associated with the EventGrid Topic.
    identity Property Map
    An identity block as defined below.
    inboundIpRules List<Property Map>
    One or more inbound_ip_rule blocks as defined below.
    inputMappingDefaultValues Property Map
    A input_mapping_default_values block as defined below.
    inputMappingFields Property Map
    A input_mapping_fields block as defined below.
    inputSchema String
    Specifies the schema in which incoming events will be published to this domain. Allowed values are CloudEventSchemaV1_0, CustomEventSchema, or EventGridSchema. Defaults to EventGridSchema. Changing this forces a new resource to be created.
    localAuthEnabled Boolean
    Whether local authentication methods is enabled for the EventGrid Topic. Defaults to true.
    location String
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    name String
    Specifies the name of the EventGrid Topic resource. Changing this forces a new resource to be created.
    primaryAccessKey String
    The Primary Shared Access Key associated with the EventGrid Topic.
    publicNetworkAccessEnabled Boolean
    Whether or not public network access is allowed for this server. Defaults to true.
    resourceGroupName String
    The name of the resource group in which the EventGrid Topic exists. Changing this forces a new resource to be created.
    secondaryAccessKey String
    The Secondary Shared Access Key associated with the EventGrid Topic.
    tags Map<String>
    A mapping of tags to assign to the resource.

    Supporting Types

    TopicIdentity, TopicIdentityArgs

    Type string
    Specifies the identity type of Event Grid Topic. Possible values are SystemAssigned (where Azure will generate a Principal for you) or UserAssigned where you can specify the User Assigned Managed Identity IDs in the identity_ids field.
    IdentityIds List<string>
    Specifies a list of user managed identity ids to be assigned. Required if type is UserAssigned.
    PrincipalId string
    Specifies the Principal ID of the System Assigned Managed Service Identity that is configured on this Event Grid Topic.
    TenantId string
    Specifies the Tenant ID of the System Assigned Managed Service Identity that is configured on this Event Grid Topic.
    Type string
    Specifies the identity type of Event Grid Topic. Possible values are SystemAssigned (where Azure will generate a Principal for you) or UserAssigned where you can specify the User Assigned Managed Identity IDs in the identity_ids field.
    IdentityIds []string
    Specifies a list of user managed identity ids to be assigned. Required if type is UserAssigned.
    PrincipalId string
    Specifies the Principal ID of the System Assigned Managed Service Identity that is configured on this Event Grid Topic.
    TenantId string
    Specifies the Tenant ID of the System Assigned Managed Service Identity that is configured on this Event Grid Topic.
    type String
    Specifies the identity type of Event Grid Topic. Possible values are SystemAssigned (where Azure will generate a Principal for you) or UserAssigned where you can specify the User Assigned Managed Identity IDs in the identity_ids field.
    identityIds List<String>
    Specifies a list of user managed identity ids to be assigned. Required if type is UserAssigned.
    principalId String
    Specifies the Principal ID of the System Assigned Managed Service Identity that is configured on this Event Grid Topic.
    tenantId String
    Specifies the Tenant ID of the System Assigned Managed Service Identity that is configured on this Event Grid Topic.
    type string
    Specifies the identity type of Event Grid Topic. Possible values are SystemAssigned (where Azure will generate a Principal for you) or UserAssigned where you can specify the User Assigned Managed Identity IDs in the identity_ids field.
    identityIds string[]
    Specifies a list of user managed identity ids to be assigned. Required if type is UserAssigned.
    principalId string
    Specifies the Principal ID of the System Assigned Managed Service Identity that is configured on this Event Grid Topic.
    tenantId string
    Specifies the Tenant ID of the System Assigned Managed Service Identity that is configured on this Event Grid Topic.
    type str
    Specifies the identity type of Event Grid Topic. Possible values are SystemAssigned (where Azure will generate a Principal for you) or UserAssigned where you can specify the User Assigned Managed Identity IDs in the identity_ids field.
    identity_ids Sequence[str]
    Specifies a list of user managed identity ids to be assigned. Required if type is UserAssigned.
    principal_id str
    Specifies the Principal ID of the System Assigned Managed Service Identity that is configured on this Event Grid Topic.
    tenant_id str
    Specifies the Tenant ID of the System Assigned Managed Service Identity that is configured on this Event Grid Topic.
    type String
    Specifies the identity type of Event Grid Topic. Possible values are SystemAssigned (where Azure will generate a Principal for you) or UserAssigned where you can specify the User Assigned Managed Identity IDs in the identity_ids field.
    identityIds List<String>
    Specifies a list of user managed identity ids to be assigned. Required if type is UserAssigned.
    principalId String
    Specifies the Principal ID of the System Assigned Managed Service Identity that is configured on this Event Grid Topic.
    tenantId String
    Specifies the Tenant ID of the System Assigned Managed Service Identity that is configured on this Event Grid Topic.

    TopicInboundIpRule, TopicInboundIpRuleArgs

    IpMask string
    The ip mask (CIDR) to match on.
    Action string
    The action to take when the rule is matched. Possible values are Allow.
    IpMask string
    The ip mask (CIDR) to match on.
    Action string
    The action to take when the rule is matched. Possible values are Allow.
    ipMask String
    The ip mask (CIDR) to match on.
    action String
    The action to take when the rule is matched. Possible values are Allow.
    ipMask string
    The ip mask (CIDR) to match on.
    action string
    The action to take when the rule is matched. Possible values are Allow.
    ip_mask str
    The ip mask (CIDR) to match on.
    action str
    The action to take when the rule is matched. Possible values are Allow.
    ipMask String
    The ip mask (CIDR) to match on.
    action String
    The action to take when the rule is matched. Possible values are Allow.

    TopicInputMappingDefaultValues, TopicInputMappingDefaultValuesArgs

    DataVersion string
    Specifies the default data version of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    EventType string
    Specifies the default event type of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    Subject string
    Specifies the default subject of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    DataVersion string
    Specifies the default data version of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    EventType string
    Specifies the default event type of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    Subject string
    Specifies the default subject of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    dataVersion String
    Specifies the default data version of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    eventType String
    Specifies the default event type of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    subject String
    Specifies the default subject of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    dataVersion string
    Specifies the default data version of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    eventType string
    Specifies the default event type of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    subject string
    Specifies the default subject of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    data_version str
    Specifies the default data version of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    event_type str
    Specifies the default event type of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    subject str
    Specifies the default subject of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    dataVersion String
    Specifies the default data version of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    eventType String
    Specifies the default event type of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    subject String
    Specifies the default subject of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.

    TopicInputMappingFields, TopicInputMappingFieldsArgs

    DataVersion string
    Specifies the data version of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    EventTime string
    Specifies the event time of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    EventType string
    Specifies the event type of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    Id string
    Specifies the id of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    Subject string
    Specifies the subject of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    Topic string
    Specifies the topic of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    DataVersion string
    Specifies the data version of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    EventTime string
    Specifies the event time of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    EventType string
    Specifies the event type of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    Id string
    Specifies the id of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    Subject string
    Specifies the subject of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    Topic string
    Specifies the topic of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    dataVersion String
    Specifies the data version of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    eventTime String
    Specifies the event time of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    eventType String
    Specifies the event type of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    id String
    Specifies the id of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    subject String
    Specifies the subject of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    topic String
    Specifies the topic of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    dataVersion string
    Specifies the data version of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    eventTime string
    Specifies the event time of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    eventType string
    Specifies the event type of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    id string
    Specifies the id of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    subject string
    Specifies the subject of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    topic string
    Specifies the topic of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    data_version str
    Specifies the data version of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    event_time str
    Specifies the event time of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    event_type str
    Specifies the event type of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    id str
    Specifies the id of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    subject str
    Specifies the subject of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    topic str
    Specifies the topic of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    dataVersion String
    Specifies the data version of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    eventTime String
    Specifies the event time of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    eventType String
    Specifies the event type of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    id String
    Specifies the id of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    subject String
    Specifies the subject of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.
    topic String
    Specifies the topic of the EventGrid Event to associate with the domain. Changing this forces a new resource to be created.

    Import

    EventGrid Topic’s can be imported using the resource id, e.g.

     $ pulumi import azure:eventgrid/topic:Topic topic1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.EventGrid/topics/topic1
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Azure Classic pulumi/pulumi-azure
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the azurerm Terraform Provider.
    azure logo

    We recommend using Azure Native.

    Viewing docs for Azure v4.42.0 (Older version)
    published on Monday, Mar 9, 2026 by Pulumi
      Try Pulumi Cloud free. Your team will thank you.