1. Packages
  2. Alibaba Cloud Provider
  3. API Docs
  4. message
  5. ServiceEventRule
Alibaba Cloud v3.85.0 published on Tuesday, Sep 9, 2025 by Pulumi

alicloud.message.ServiceEventRule

Explore with Pulumi AI

alicloud logo
Alibaba Cloud v3.85.0 published on Tuesday, Sep 9, 2025 by Pulumi

    Provides a Message Service Event Rule resource.

    For information about Message Service Event Rule and how to use it, see What is Event Rule.

    NOTE: Available since v1.255.0.

    Example Usage

    Basic Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as alicloud from "@pulumi/alicloud";
    import * as std from "@pulumi/std";
    
    const config = new pulumi.Config();
    const name = config.get("name") || "terraform-example";
    const queueName = config.get("queueName") || "tf-exampe-topic2queue";
    const ruleName = config.get("ruleName") || "tf-exampe-topic-1";
    const topicName = config.get("topicName") || "tf-exampe-topic2queue";
    const createTopic = new alicloud.message.ServiceTopic("CreateTopic", {
        maxMessageSize: 65536,
        topicName: topicName,
        loggingEnabled: false,
    });
    const createQueue = new alicloud.message.ServiceQueue("CreateQueue", {
        delaySeconds: 2,
        pollingWaitSeconds: 2,
        messageRetentionPeriod: 566,
        maximumMessageSize: 1123,
        visibilityTimeout: 30,
        queueName: queueName,
        loggingEnabled: false,
    });
    const createSub = new alicloud.message.ServiceSubscription("CreateSub", {
        pushType: "queue",
        notifyStrategy: "BACKOFF_RETRY",
        notifyContentFormat: "SIMPLIFIED",
        subscriptionName: "RDK-example-sub",
        filterTag: "important",
        topicName: createTopic.topicName,
        endpoint: std.format({
            input: "acs:mns:cn-hangzhou:1511928242963727:/queues/%s",
            args: [createQueue.id],
        }).then(invoke => invoke.result),
    });
    const _default = new alicloud.message.ServiceEventRule("default", {
        eventTypes: ["ObjectCreated:PutObject"],
        matchRules: [[{
            suffix: "",
            matchState: "true",
            name: "acs:oss:cn-hangzhou:1511928242963727:accccx",
            prefix: "",
        }]],
        endpoint: {
            endpointValue: createSub.topicName,
            endpointType: "topic",
        },
        ruleName: ruleName,
    });
    
    import pulumi
    import pulumi_alicloud as alicloud
    import pulumi_std as std
    
    config = pulumi.Config()
    name = config.get("name")
    if name is None:
        name = "terraform-example"
    queue_name = config.get("queueName")
    if queue_name is None:
        queue_name = "tf-exampe-topic2queue"
    rule_name = config.get("ruleName")
    if rule_name is None:
        rule_name = "tf-exampe-topic-1"
    topic_name = config.get("topicName")
    if topic_name is None:
        topic_name = "tf-exampe-topic2queue"
    create_topic = alicloud.message.ServiceTopic("CreateTopic",
        max_message_size=65536,
        topic_name=topic_name,
        logging_enabled=False)
    create_queue = alicloud.message.ServiceQueue("CreateQueue",
        delay_seconds=2,
        polling_wait_seconds=2,
        message_retention_period=566,
        maximum_message_size=1123,
        visibility_timeout=30,
        queue_name=queue_name,
        logging_enabled=False)
    create_sub = alicloud.message.ServiceSubscription("CreateSub",
        push_type="queue",
        notify_strategy="BACKOFF_RETRY",
        notify_content_format="SIMPLIFIED",
        subscription_name="RDK-example-sub",
        filter_tag="important",
        topic_name=create_topic.topic_name,
        endpoint=std.format(input="acs:mns:cn-hangzhou:1511928242963727:/queues/%s",
            args=[create_queue.id]).result)
    default = alicloud.message.ServiceEventRule("default",
        event_types=["ObjectCreated:PutObject"],
        match_rules=[[{
            "suffix": "",
            "match_state": "true",
            "name": "acs:oss:cn-hangzhou:1511928242963727:accccx",
            "prefix": "",
        }]],
        endpoint={
            "endpoint_value": create_sub.topic_name,
            "endpoint_type": "topic",
        },
        rule_name=rule_name)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/message"
    	"github.com/pulumi/pulumi-std/sdk/go/std"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		cfg := config.New(ctx, "")
    		name := "terraform-example"
    		if param := cfg.Get("name"); param != "" {
    			name = param
    		}
    		queueName := "tf-exampe-topic2queue"
    		if param := cfg.Get("queueName"); param != "" {
    			queueName = param
    		}
    		ruleName := "tf-exampe-topic-1"
    		if param := cfg.Get("ruleName"); param != "" {
    			ruleName = param
    		}
    		topicName := "tf-exampe-topic2queue"
    		if param := cfg.Get("topicName"); param != "" {
    			topicName = param
    		}
    		createTopic, err := message.NewServiceTopic(ctx, "CreateTopic", &message.ServiceTopicArgs{
    			MaxMessageSize: pulumi.Int(65536),
    			TopicName:      pulumi.String(topicName),
    			LoggingEnabled: pulumi.Bool(false),
    		})
    		if err != nil {
    			return err
    		}
    		createQueue, err := message.NewServiceQueue(ctx, "CreateQueue", &message.ServiceQueueArgs{
    			DelaySeconds:           pulumi.Int(2),
    			PollingWaitSeconds:     pulumi.Int(2),
    			MessageRetentionPeriod: pulumi.Int(566),
    			MaximumMessageSize:     pulumi.Int(1123),
    			VisibilityTimeout:      pulumi.Int(30),
    			QueueName:              pulumi.String(queueName),
    			LoggingEnabled:         pulumi.Bool(false),
    		})
    		if err != nil {
    			return err
    		}
    		invokeFormat, err := std.Format(ctx, &std.FormatArgs{
    			Input: "acs:mns:cn-hangzhou:1511928242963727:/queues/%s",
    			Args: pulumi.StringArray{
    				createQueue.ID(),
    			},
    		}, nil)
    		if err != nil {
    			return err
    		}
    		createSub, err := message.NewServiceSubscription(ctx, "CreateSub", &message.ServiceSubscriptionArgs{
    			PushType:            pulumi.String("queue"),
    			NotifyStrategy:      pulumi.String("BACKOFF_RETRY"),
    			NotifyContentFormat: pulumi.String("SIMPLIFIED"),
    			SubscriptionName:    pulumi.String("RDK-example-sub"),
    			FilterTag:           pulumi.String("important"),
    			TopicName:           createTopic.TopicName,
    			Endpoint:            pulumi.String(invokeFormat.Result),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = message.NewServiceEventRule(ctx, "default", &message.ServiceEventRuleArgs{
    			EventTypes: pulumi.StringArray{
    				pulumi.String("ObjectCreated:PutObject"),
    			},
    			MatchRules: message.ServiceEventRuleMatchRuleArrayArray{
    				message.ServiceEventRuleMatchRuleArray{
    					&message.ServiceEventRuleMatchRuleArgs{
    						Suffix:     pulumi.String(""),
    						MatchState: pulumi.String("true"),
    						Name:       pulumi.String("acs:oss:cn-hangzhou:1511928242963727:accccx"),
    						Prefix:     pulumi.String(""),
    					},
    				},
    			},
    			Endpoint: &message.ServiceEventRuleEndpointArgs{
    				EndpointValue: createSub.TopicName,
    				EndpointType:  pulumi.String("topic"),
    			},
    			RuleName: pulumi.String(ruleName),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AliCloud = Pulumi.AliCloud;
    using Std = Pulumi.Std;
    
    return await Deployment.RunAsync(() => 
    {
        var config = new Config();
        var name = config.Get("name") ?? "terraform-example";
        var queueName = config.Get("queueName") ?? "tf-exampe-topic2queue";
        var ruleName = config.Get("ruleName") ?? "tf-exampe-topic-1";
        var topicName = config.Get("topicName") ?? "tf-exampe-topic2queue";
        var createTopic = new AliCloud.Message.ServiceTopic("CreateTopic", new()
        {
            MaxMessageSize = 65536,
            TopicName = topicName,
            LoggingEnabled = false,
        });
    
        var createQueue = new AliCloud.Message.ServiceQueue("CreateQueue", new()
        {
            DelaySeconds = 2,
            PollingWaitSeconds = 2,
            MessageRetentionPeriod = 566,
            MaximumMessageSize = 1123,
            VisibilityTimeout = 30,
            QueueName = queueName,
            LoggingEnabled = false,
        });
    
        var createSub = new AliCloud.Message.ServiceSubscription("CreateSub", new()
        {
            PushType = "queue",
            NotifyStrategy = "BACKOFF_RETRY",
            NotifyContentFormat = "SIMPLIFIED",
            SubscriptionName = "RDK-example-sub",
            FilterTag = "important",
            TopicName = createTopic.TopicName,
            Endpoint = Std.Format.Invoke(new()
            {
                Input = "acs:mns:cn-hangzhou:1511928242963727:/queues/%s",
                Args = new[]
                {
                    createQueue.Id,
                },
            }).Apply(invoke => invoke.Result),
        });
    
        var @default = new AliCloud.Message.ServiceEventRule("default", new()
        {
            EventTypes = new[]
            {
                "ObjectCreated:PutObject",
            },
            MatchRules = new[]
            {
                new[]
                {
                    new AliCloud.Message.Inputs.ServiceEventRuleMatchRuleArgs
                    {
                        Suffix = "",
                        MatchState = "true",
                        Name = "acs:oss:cn-hangzhou:1511928242963727:accccx",
                        Prefix = "",
                    },
                },
            },
            Endpoint = new AliCloud.Message.Inputs.ServiceEventRuleEndpointArgs
            {
                EndpointValue = createSub.TopicName,
                EndpointType = "topic",
            },
            RuleName = ruleName,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.alicloud.message.ServiceTopic;
    import com.pulumi.alicloud.message.ServiceTopicArgs;
    import com.pulumi.alicloud.message.ServiceQueue;
    import com.pulumi.alicloud.message.ServiceQueueArgs;
    import com.pulumi.alicloud.message.ServiceSubscription;
    import com.pulumi.alicloud.message.ServiceSubscriptionArgs;
    import com.pulumi.std.StdFunctions;
    import com.pulumi.std.inputs.FormatArgs;
    import com.pulumi.alicloud.message.ServiceEventRule;
    import com.pulumi.alicloud.message.ServiceEventRuleArgs;
    import com.pulumi.alicloud.message.inputs.ServiceEventRuleEndpointArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var config = ctx.config();
            final var name = config.get("name").orElse("terraform-example");
            final var queueName = config.get("queueName").orElse("tf-exampe-topic2queue");
            final var ruleName = config.get("ruleName").orElse("tf-exampe-topic-1");
            final var topicName = config.get("topicName").orElse("tf-exampe-topic2queue");
            var createTopic = new ServiceTopic("createTopic", ServiceTopicArgs.builder()
                .maxMessageSize(65536)
                .topicName(topicName)
                .loggingEnabled(false)
                .build());
    
            var createQueue = new ServiceQueue("createQueue", ServiceQueueArgs.builder()
                .delaySeconds(2)
                .pollingWaitSeconds(2)
                .messageRetentionPeriod(566)
                .maximumMessageSize(1123)
                .visibilityTimeout(30)
                .queueName(queueName)
                .loggingEnabled(false)
                .build());
    
            var createSub = new ServiceSubscription("createSub", ServiceSubscriptionArgs.builder()
                .pushType("queue")
                .notifyStrategy("BACKOFF_RETRY")
                .notifyContentFormat("SIMPLIFIED")
                .subscriptionName("RDK-example-sub")
                .filterTag("important")
                .topicName(createTopic.topicName())
                .endpoint(StdFunctions.format(FormatArgs.builder()
                    .input("acs:mns:cn-hangzhou:1511928242963727:/queues/%s")
                    .args(createQueue.id())
                    .build()).result())
                .build());
    
            var default_ = new ServiceEventRule("default", ServiceEventRuleArgs.builder()
                .eventTypes("ObjectCreated:PutObject")
                .matchRules(ServiceEventRuleMatchRuleArgs.builder()
                    .suffix("")
                    .matchState("true")
                    .name("acs:oss:cn-hangzhou:1511928242963727:accccx")
                    .prefix("")
                    .build())
                .endpoint(ServiceEventRuleEndpointArgs.builder()
                    .endpointValue(createSub.topicName())
                    .endpointType("topic")
                    .build())
                .ruleName(ruleName)
                .build());
    
        }
    }
    
    configuration:
      name:
        type: string
        default: terraform-example
      queueName:
        type: string
        default: tf-exampe-topic2queue
      ruleName:
        type: string
        default: tf-exampe-topic-1
      topicName:
        type: string
        default: tf-exampe-topic2queue
    resources:
      createTopic:
        type: alicloud:message:ServiceTopic
        name: CreateTopic
        properties:
          maxMessageSize: '65536'
          topicName: ${topicName}
          loggingEnabled: false
      createQueue:
        type: alicloud:message:ServiceQueue
        name: CreateQueue
        properties:
          delaySeconds: '2'
          pollingWaitSeconds: '2'
          messageRetentionPeriod: '566'
          maximumMessageSize: '1123'
          visibilityTimeout: '30'
          queueName: ${queueName}
          loggingEnabled: false
      createSub:
        type: alicloud:message:ServiceSubscription
        name: CreateSub
        properties:
          pushType: queue
          notifyStrategy: BACKOFF_RETRY
          notifyContentFormat: SIMPLIFIED
          subscriptionName: RDK-example-sub
          filterTag: important
          topicName: ${createTopic.topicName}
          endpoint:
            fn::invoke:
              function: std:format
              arguments:
                input: acs:mns:cn-hangzhou:1511928242963727:/queues/%s
                args:
                  - ${createQueue.id}
              return: result
      default:
        type: alicloud:message:ServiceEventRule
        properties:
          eventTypes:
            - ObjectCreated:PutObject
          matchRules:
            - - suffix: ""
                matchState: 'true'
                name: acs:oss:cn-hangzhou:1511928242963727:accccx
                prefix: ""
          endpoint:
            endpointValue: ${createSub.topicName}
            endpointType: topic
          ruleName: ${ruleName}
    

    Create ServiceEventRule Resource

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

    Constructor syntax

    new ServiceEventRule(name: string, args: ServiceEventRuleArgs, opts?: CustomResourceOptions);
    @overload
    def ServiceEventRule(resource_name: str,
                         args: ServiceEventRuleArgs,
                         opts: Optional[ResourceOptions] = None)
    
    @overload
    def ServiceEventRule(resource_name: str,
                         opts: Optional[ResourceOptions] = None,
                         event_types: Optional[Sequence[str]] = None,
                         rule_name: Optional[str] = None,
                         delivery_mode: Optional[str] = None,
                         endpoint: Optional[ServiceEventRuleEndpointArgs] = None,
                         match_rules: Optional[Sequence[Sequence[ServiceEventRuleMatchRuleArgs]]] = None)
    func NewServiceEventRule(ctx *Context, name string, args ServiceEventRuleArgs, opts ...ResourceOption) (*ServiceEventRule, error)
    public ServiceEventRule(string name, ServiceEventRuleArgs args, CustomResourceOptions? opts = null)
    public ServiceEventRule(String name, ServiceEventRuleArgs args)
    public ServiceEventRule(String name, ServiceEventRuleArgs args, CustomResourceOptions options)
    
    type: alicloud:message:ServiceEventRule
    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 ServiceEventRuleArgs
    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 ServiceEventRuleArgs
    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 ServiceEventRuleArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ServiceEventRuleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ServiceEventRuleArgs
    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 serviceEventRuleResource = new AliCloud.Message.ServiceEventRule("serviceEventRuleResource", new()
    {
        EventTypes = new[]
        {
            "string",
        },
        RuleName = "string",
        DeliveryMode = "string",
        Endpoint = new AliCloud.Message.Inputs.ServiceEventRuleEndpointArgs
        {
            EndpointType = "string",
            EndpointValue = "string",
        },
        MatchRules = new[]
        {
            new[]
            {
                new AliCloud.Message.Inputs.ServiceEventRuleMatchRuleArgs
                {
                    MatchState = "string",
                    Name = "string",
                    Prefix = "string",
                    Suffix = "string",
                },
            },
        },
    });
    
    example, err := message.NewServiceEventRule(ctx, "serviceEventRuleResource", &message.ServiceEventRuleArgs{
    	EventTypes: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	RuleName:     pulumi.String("string"),
    	DeliveryMode: pulumi.String("string"),
    	Endpoint: &message.ServiceEventRuleEndpointArgs{
    		EndpointType:  pulumi.String("string"),
    		EndpointValue: pulumi.String("string"),
    	},
    	MatchRules: message.ServiceEventRuleMatchRuleArrayArray{
    		message.ServiceEventRuleMatchRuleArray{
    			&message.ServiceEventRuleMatchRuleArgs{
    				MatchState: pulumi.String("string"),
    				Name:       pulumi.String("string"),
    				Prefix:     pulumi.String("string"),
    				Suffix:     pulumi.String("string"),
    			},
    		},
    	},
    })
    
    var serviceEventRuleResource = new ServiceEventRule("serviceEventRuleResource", ServiceEventRuleArgs.builder()
        .eventTypes("string")
        .ruleName("string")
        .deliveryMode("string")
        .endpoint(ServiceEventRuleEndpointArgs.builder()
            .endpointType("string")
            .endpointValue("string")
            .build())
        .matchRules(ServiceEventRuleMatchRuleArgs.builder()
            .matchState("string")
            .name("string")
            .prefix("string")
            .suffix("string")
            .build())
        .build());
    
    service_event_rule_resource = alicloud.message.ServiceEventRule("serviceEventRuleResource",
        event_types=["string"],
        rule_name="string",
        delivery_mode="string",
        endpoint={
            "endpoint_type": "string",
            "endpoint_value": "string",
        },
        match_rules=[[{
            "match_state": "string",
            "name": "string",
            "prefix": "string",
            "suffix": "string",
        }]])
    
    const serviceEventRuleResource = new alicloud.message.ServiceEventRule("serviceEventRuleResource", {
        eventTypes: ["string"],
        ruleName: "string",
        deliveryMode: "string",
        endpoint: {
            endpointType: "string",
            endpointValue: "string",
        },
        matchRules: [[{
            matchState: "string",
            name: "string",
            prefix: "string",
            suffix: "string",
        }]],
    });
    
    type: alicloud:message:ServiceEventRule
    properties:
        deliveryMode: string
        endpoint:
            endpointType: string
            endpointValue: string
        eventTypes:
            - string
        matchRules:
            - - matchState: string
                name: string
                prefix: string
                suffix: string
        ruleName: string
    

    ServiceEventRule 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 ServiceEventRule resource accepts the following input properties:

    EventTypes List<string>
    Event Type List
    RuleName string
    The event notification rule name.
    DeliveryMode string
    DIRECT: directly delivers to a single queue (1:1) without creating a Topic;

    • BROADCAST: BROADCAST to all subscription queues (1:N). You need to create a Topic;
    Endpoint Pulumi.AliCloud.Message.Inputs.ServiceEventRuleEndpoint
    Message Receiving Terminal Endpoint Object. See endpoint below.
    MatchRules List<ImmutableArray<Pulumi.AliCloud.Message.Inputs.ServiceEventRuleMatchRule>>
    Matching rules, or relationships between multiple rules. See match_rules below.
    EventTypes []string
    Event Type List
    RuleName string
    The event notification rule name.
    DeliveryMode string
    DIRECT: directly delivers to a single queue (1:1) without creating a Topic;

    • BROADCAST: BROADCAST to all subscription queues (1:N). You need to create a Topic;
    Endpoint ServiceEventRuleEndpointArgs
    Message Receiving Terminal Endpoint Object. See endpoint below.
    MatchRules [][]ServiceEventRuleMatchRuleArgs
    Matching rules, or relationships between multiple rules. See match_rules below.
    eventTypes List<String>
    Event Type List
    ruleName String
    The event notification rule name.
    deliveryMode String
    DIRECT: directly delivers to a single queue (1:1) without creating a Topic;

    • BROADCAST: BROADCAST to all subscription queues (1:N). You need to create a Topic;
    endpoint ServiceEventRuleEndpoint
    Message Receiving Terminal Endpoint Object. See endpoint below.
    matchRules List<List<ServiceEventRuleMatchRule>>
    Matching rules, or relationships between multiple rules. See match_rules below.
    eventTypes string[]
    Event Type List
    ruleName string
    The event notification rule name.
    deliveryMode string
    DIRECT: directly delivers to a single queue (1:1) without creating a Topic;

    • BROADCAST: BROADCAST to all subscription queues (1:N). You need to create a Topic;
    endpoint ServiceEventRuleEndpoint
    Message Receiving Terminal Endpoint Object. See endpoint below.
    matchRules ServiceEventRuleMatchRule[][]
    Matching rules, or relationships between multiple rules. See match_rules below.
    event_types Sequence[str]
    Event Type List
    rule_name str
    The event notification rule name.
    delivery_mode str
    DIRECT: directly delivers to a single queue (1:1) without creating a Topic;

    • BROADCAST: BROADCAST to all subscription queues (1:N). You need to create a Topic;
    endpoint ServiceEventRuleEndpointArgs
    Message Receiving Terminal Endpoint Object. See endpoint below.
    match_rules Sequence[Sequence[ServiceEventRuleMatchRuleArgs]]
    Matching rules, or relationships between multiple rules. See match_rules below.
    eventTypes List<String>
    Event Type List
    ruleName String
    The event notification rule name.
    deliveryMode String
    DIRECT: directly delivers to a single queue (1:1) without creating a Topic;

    • BROADCAST: BROADCAST to all subscription queues (1:N). You need to create a Topic;
    endpoint Property Map
    Message Receiving Terminal Endpoint Object. See endpoint below.
    matchRules List<List<Property Map>>
    Matching rules, or relationships between multiple rules. See match_rules below.

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing ServiceEventRule Resource

    Get an existing ServiceEventRule 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?: ServiceEventRuleState, opts?: CustomResourceOptions): ServiceEventRule
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            delivery_mode: Optional[str] = None,
            endpoint: Optional[ServiceEventRuleEndpointArgs] = None,
            event_types: Optional[Sequence[str]] = None,
            match_rules: Optional[Sequence[Sequence[ServiceEventRuleMatchRuleArgs]]] = None,
            rule_name: Optional[str] = None) -> ServiceEventRule
    func GetServiceEventRule(ctx *Context, name string, id IDInput, state *ServiceEventRuleState, opts ...ResourceOption) (*ServiceEventRule, error)
    public static ServiceEventRule Get(string name, Input<string> id, ServiceEventRuleState? state, CustomResourceOptions? opts = null)
    public static ServiceEventRule get(String name, Output<String> id, ServiceEventRuleState state, CustomResourceOptions options)
    resources:  _:    type: alicloud:message:ServiceEventRule    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:
    DeliveryMode string
    DIRECT: directly delivers to a single queue (1:1) without creating a Topic;

    • BROADCAST: BROADCAST to all subscription queues (1:N). You need to create a Topic;
    Endpoint Pulumi.AliCloud.Message.Inputs.ServiceEventRuleEndpoint
    Message Receiving Terminal Endpoint Object. See endpoint below.
    EventTypes List<string>
    Event Type List
    MatchRules List<ImmutableArray<Pulumi.AliCloud.Message.Inputs.ServiceEventRuleMatchRule>>
    Matching rules, or relationships between multiple rules. See match_rules below.
    RuleName string
    The event notification rule name.
    DeliveryMode string
    DIRECT: directly delivers to a single queue (1:1) without creating a Topic;

    • BROADCAST: BROADCAST to all subscription queues (1:N). You need to create a Topic;
    Endpoint ServiceEventRuleEndpointArgs
    Message Receiving Terminal Endpoint Object. See endpoint below.
    EventTypes []string
    Event Type List
    MatchRules [][]ServiceEventRuleMatchRuleArgs
    Matching rules, or relationships between multiple rules. See match_rules below.
    RuleName string
    The event notification rule name.
    deliveryMode String
    DIRECT: directly delivers to a single queue (1:1) without creating a Topic;

    • BROADCAST: BROADCAST to all subscription queues (1:N). You need to create a Topic;
    endpoint ServiceEventRuleEndpoint
    Message Receiving Terminal Endpoint Object. See endpoint below.
    eventTypes List<String>
    Event Type List
    matchRules List<List<ServiceEventRuleMatchRule>>
    Matching rules, or relationships between multiple rules. See match_rules below.
    ruleName String
    The event notification rule name.
    deliveryMode string
    DIRECT: directly delivers to a single queue (1:1) without creating a Topic;

    • BROADCAST: BROADCAST to all subscription queues (1:N). You need to create a Topic;
    endpoint ServiceEventRuleEndpoint
    Message Receiving Terminal Endpoint Object. See endpoint below.
    eventTypes string[]
    Event Type List
    matchRules ServiceEventRuleMatchRule[][]
    Matching rules, or relationships between multiple rules. See match_rules below.
    ruleName string
    The event notification rule name.
    delivery_mode str
    DIRECT: directly delivers to a single queue (1:1) without creating a Topic;

    • BROADCAST: BROADCAST to all subscription queues (1:N). You need to create a Topic;
    endpoint ServiceEventRuleEndpointArgs
    Message Receiving Terminal Endpoint Object. See endpoint below.
    event_types Sequence[str]
    Event Type List
    match_rules Sequence[Sequence[ServiceEventRuleMatchRuleArgs]]
    Matching rules, or relationships between multiple rules. See match_rules below.
    rule_name str
    The event notification rule name.
    deliveryMode String
    DIRECT: directly delivers to a single queue (1:1) without creating a Topic;

    • BROADCAST: BROADCAST to all subscription queues (1:N). You need to create a Topic;
    endpoint Property Map
    Message Receiving Terminal Endpoint Object. See endpoint below.
    eventTypes List<String>
    Event Type List
    matchRules List<List<Property Map>>
    Matching rules, or relationships between multiple rules. See match_rules below.
    ruleName String
    The event notification rule name.

    Supporting Types

    ServiceEventRuleEndpoint, ServiceEventRuleEndpointArgs

    EndpointType string
    Message receiving terminal endpoint type
    EndpointValue string
    Message Receiving Terminal Endpoint
    EndpointType string
    Message receiving terminal endpoint type
    EndpointValue string
    Message Receiving Terminal Endpoint
    endpointType String
    Message receiving terminal endpoint type
    endpointValue String
    Message Receiving Terminal Endpoint
    endpointType string
    Message receiving terminal endpoint type
    endpointValue string
    Message Receiving Terminal Endpoint
    endpoint_type str
    Message receiving terminal endpoint type
    endpoint_value str
    Message Receiving Terminal Endpoint
    endpointType String
    Message receiving terminal endpoint type
    endpointValue String
    Message Receiving Terminal Endpoint

    ServiceEventRuleMatchRule, ServiceEventRuleMatchRuleArgs

    MatchState string
    Match state. valid values: true, false.
    Name string
    Prefix string
    Prefix matching rule.
    Suffix string
    Suffix matching rule.
    MatchState string
    Match state. valid values: true, false.
    Name string
    Prefix string
    Prefix matching rule.
    Suffix string
    Suffix matching rule.
    matchState String
    Match state. valid values: true, false.
    name String
    prefix String
    Prefix matching rule.
    suffix String
    Suffix matching rule.
    matchState string
    Match state. valid values: true, false.
    name string
    prefix string
    Prefix matching rule.
    suffix string
    Suffix matching rule.
    match_state str
    Match state. valid values: true, false.
    name str
    prefix str
    Prefix matching rule.
    suffix str
    Suffix matching rule.
    matchState String
    Match state. valid values: true, false.
    name String
    prefix String
    Prefix matching rule.
    suffix String
    Suffix matching rule.

    Import

    Message Service Event Rule can be imported using the id, e.g.

    $ pulumi import alicloud:message/serviceEventRule:ServiceEventRule example <id>
    

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

    Package Details

    Repository
    Alibaba Cloud pulumi/pulumi-alicloud
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the alicloud Terraform Provider.
    alicloud logo
    Alibaba Cloud v3.85.0 published on Tuesday, Sep 9, 2025 by Pulumi