Class TopicRule


  • public class TopicRule
    extends com.pulumi.resources.CustomResource
    ## Example Usage ```java package generated_program; import java.util.*; import java.io.*; import java.nio.*; import com.pulumi.*; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var mytopic = new Topic("mytopic"); var myerrortopic = new Topic("myerrortopic"); var role = new Role("role", RoleArgs.builder() .assumeRolePolicy(""" { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } """) .build()); var rule = new TopicRule("rule", TopicRuleArgs.builder() .description("Example rule") .enabled(true) .sql("SELECT * FROM 'topic/test'") .sqlVersion("2016-03-23") .sns(TopicRuleSnsArgs.builder() .messageFormat("RAW") .roleArn(role.arn()) .targetArn(mytopic.arn()) .build()) .errorAction(TopicRuleErrorActionArgs.builder() .sns(TopicRuleErrorActionSnsArgs.builder() .messageFormat("RAW") .roleArn(role.arn()) .targetArn(myerrortopic.arn()) .build()) .build()) .build()); var iamPolicyForLambda = new RolePolicy("iamPolicyForLambda", RolePolicyArgs.builder() .role(role.id()) .policy(mytopic.arn().apply(arn -> """ { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": "%s" } ] } ", arn))) .build()); } } ``` ## Import IoT Topic Rules can be imported using the `name`, e.g., ```sh $ pulumi import aws:iot/topicRule:TopicRule rule <name> ```
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.pulumi.resources.CustomResource

        com.pulumi.resources.CustomResource.CustomResourceInternal
      • Nested classes/interfaces inherited from class com.pulumi.resources.Resource

        com.pulumi.resources.Resource.LazyField<T extends java.lang.Object>, com.pulumi.resources.Resource.LazyFields, com.pulumi.resources.Resource.ResourceInternal
    • Field Summary

      • Fields inherited from class com.pulumi.resources.Resource

        childResources, remote
    • Constructor Summary

      Constructors 
      Constructor Description
      TopicRule​(java.lang.String name)  
      TopicRule​(java.lang.String name, TopicRuleArgs args)  
      TopicRule​(java.lang.String name, TopicRuleArgs args, com.pulumi.resources.CustomResourceOptions options)  
    • Constructor Detail

      • TopicRule

        public TopicRule​(java.lang.String name)
        Parameters:
        name - The _unique_ name of the resulting resource.
      • TopicRule

        public TopicRule​(java.lang.String name,
                         TopicRuleArgs args)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
      • TopicRule

        public TopicRule​(java.lang.String name,
                         TopicRuleArgs args,
                         @Nullable
                         com.pulumi.resources.CustomResourceOptions options)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
        options - A bag of options that control this resource's behavior.
    • Method Detail

      • arn

        public com.pulumi.core.Output<java.lang.String> arn()
        Returns:
        The ARN of the topic rule
      • cloudwatchLogs

        public com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleCloudwatchLog>>> cloudwatchLogs()
      • description

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> description()
        Returns:
        The description of the rule.
      • dynamodb

        public com.pulumi.core.Output<java.util.Optional<TopicRuleDynamodb>> dynamodb()
      • dynamodbv2s

        public com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleDynamodbv2>>> dynamodbv2s()
      • enabled

        public com.pulumi.core.Output<java.lang.Boolean> enabled()
        Returns:
        Specifies whether the rule is enabled.
      • errorAction

        public com.pulumi.core.Output<java.util.Optional<TopicRuleErrorAction>> errorAction()
        Returns:
        Configuration block with error action to be associated with the rule. See the documentation for `cloudwatch_alarm`, `cloudwatch_logs`, `cloudwatch_metric`, `dynamodb`, `dynamodbv2`, `elasticsearch`, `firehose`, `http`, `iot_analytics`, `iot_events`, `kafka`, `kinesis`, `lambda`, `republish`, `s3`, `sns`, `sqs`, `step_functions`, `timestream` configuration blocks for further configuration details.
      • firehose

        public com.pulumi.core.Output<java.util.Optional<TopicRuleFirehose>> firehose()
      • https

        public com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleHttp>>> https()
      • iotAnalytics

        public com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleIotAnalytic>>> iotAnalytics()
      • iotEvents

        public com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleIotEvent>>> iotEvents()
      • kafkas

        public com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleKafka>>> kafkas()
      • kinesis

        public com.pulumi.core.Output<java.util.Optional<TopicRuleKinesis>> kinesis()
      • lambda

        public com.pulumi.core.Output<java.util.Optional<TopicRuleLambda>> lambda()
      • name

        public com.pulumi.core.Output<java.lang.String> name()
        Returns:
        The name of the rule.
      • republish

        public com.pulumi.core.Output<java.util.Optional<TopicRuleRepublish>> republish()
      • s3

        public com.pulumi.core.Output<java.util.Optional<TopicRuleS3>> s3()
      • sns

        public com.pulumi.core.Output<java.util.Optional<TopicRuleSns>> sns()
      • sql

        public com.pulumi.core.Output<java.lang.String> sql()
        Returns:
        The SQL statement used to query the topic. For more information, see AWS IoT SQL Reference (http://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference) in the AWS IoT Developer Guide.
      • sqlVersion

        public com.pulumi.core.Output<java.lang.String> sqlVersion()
        Returns:
        The version of the SQL rules engine to use when evaluating the rule.
      • sqs

        public com.pulumi.core.Output<java.util.Optional<TopicRuleSqs>> sqs()
      • stepFunctions

        public com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleStepFunction>>> stepFunctions()
      • tags

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()
        Returns:
        Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
      • tagsAll

        public com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll()
        Returns:
        A map of tags assigned to the resource, including those inherited from the provider .
      • timestreams

        public com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleTimestream>>> timestreams()
      • get

        public static TopicRule get​(java.lang.String name,
                                    com.pulumi.core.Output<java.lang.String> id,
                                    @Nullable
                                    TopicRuleState state,
                                    @Nullable
                                    com.pulumi.resources.CustomResourceOptions options)
        Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
        Parameters:
        name - The _unique_ name of the resulting resource.
        id - The _unique_ provider ID of the resource to lookup.
        state -
        options - Optional settings to control the behavior of the CustomResource.