Package com.pulumi.aws.iot
Class TopicRule
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.iot.TopicRule
-
public class TopicRule extends com.pulumi.resources.CustomResourceCreates and manages an AWS IoT topic rule. ## Example Usage
## Import Using `pulumi import`, import IoT Topic Rules using the `name`. For example: ```sh $ pulumi import aws:iot/topicRule:TopicRule rule <name> ```package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.sns.Topic; import com.pulumi.aws.sns.TopicArgs; import com.pulumi.aws.iot.TopicRule; import com.pulumi.aws.iot.TopicRuleArgs; import com.pulumi.aws.iot.inputs.TopicRuleErrorActionArgs; import com.pulumi.aws.iot.inputs.TopicRuleErrorActionSnsArgs; import com.pulumi.aws.iot.inputs.TopicRuleSnsArgs; import com.pulumi.aws.iam.IamFunctions; import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementPrincipalArgs; import com.pulumi.aws.iam.Role; import com.pulumi.aws.iam.RoleArgs; import com.pulumi.aws.iam.RolePolicy; import com.pulumi.aws.iam.RolePolicyArgs; import java.util.ArrayList; import java.util.Arrays; 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) { var mytopic = new Topic("mytopic", TopicArgs.builder() .name("mytopic") .build()); var myerrortopic = new Topic("myerrortopic", TopicArgs.builder() .name("myerrortopic") .build()); var rule = new TopicRule("rule", TopicRuleArgs.builder() .errorAction(TopicRuleErrorActionArgs.builder() .sns(TopicRuleErrorActionSnsArgs.builder() .messageFormat("RAW") .roleArn(role.arn()) .targetArn(myerrortopic.arn()) .build()) .build()) .sns(TopicRuleSnsArgs.builder() .messageFormat("RAW") .roleArn(role.arn()) .targetArn(mytopic.arn()) .build()) .name("MyRule") .description("Example rule") .enabled(true) .sql("SELECT * FROM 'topic/test'") .sqlVersion("2016-03-23") .build()); final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .principals(GetPolicyDocumentStatementPrincipalArgs.builder() .type("Service") .identifiers("iot.amazonaws.com") .build()) .effect("Allow") .actions("sts:AssumeRole") .build()) .build()); var myrole = new Role("myrole", RoleArgs.builder() .name("myrole") .assumeRolePolicy(assumeRole.json()) .build()); final var mypolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .effect("Allow") .actions("sns:Publish") .resources(mytopic.arn()) .build()) .build()); var mypolicyRolePolicy = new RolePolicy("mypolicyRolePolicy", RolePolicyArgs.builder() .name("mypolicy") .role(myrole.id()) .policy(mypolicy.applyValue(_mypolicy -> _mypolicy.json())) .build()); } }
-
-
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)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.lang.String>arn()com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleCloudwatchAlarm>>>cloudwatchAlarms()com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleCloudwatchLog>>>cloudwatchLogs()com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleCloudwatchMetric>>>cloudwatchMetrics()com.pulumi.core.Output<java.util.Optional<java.lang.String>>description()com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleDynamodb>>>dynamodbs()com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleDynamodbv2>>>dynamodbv2s()com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleElasticsearch>>>elasticsearch()com.pulumi.core.Output<java.lang.Boolean>enabled()com.pulumi.core.Output<java.util.Optional<TopicRuleErrorAction>>errorAction()com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleFirehose>>>firehoses()static TopicRuleget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, TopicRuleState state, 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.com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleHttp>>>https()com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleIotAnalytic>>>iotAnalytics()com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleIotEvent>>>iotEvents()com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleKafka>>>kafkas()com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleKinesis>>>kineses()com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleLambda>>>lambdas()com.pulumi.core.Output<java.lang.String>name()com.pulumi.core.Output<java.lang.String>region()com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleRepublish>>>republishes()com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleS3>>>s3()com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleSns>>>sns()com.pulumi.core.Output<java.lang.String>sql()com.pulumi.core.Output<java.lang.String>sqlVersion()com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleSqs>>>sqs()com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleStepFunction>>>stepFunctions()com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>>tags()com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>>tagsAll()com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleTimestream>>>timestreams()
-
-
-
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
-
cloudwatchAlarms
public com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleCloudwatchAlarm>>> cloudwatchAlarms()
-
cloudwatchLogs
public com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleCloudwatchLog>>> cloudwatchLogs()
-
cloudwatchMetrics
public com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleCloudwatchMetric>>> cloudwatchMetrics()
-
description
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> description()
- Returns:
- The description of the rule.
-
dynamodbs
public com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleDynamodb>>> dynamodbs()
-
dynamodbv2s
public com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleDynamodbv2>>> dynamodbv2s()
-
elasticsearch
public com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleElasticsearch>>> elasticsearch()
-
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 `cloudwatchAlarm`, `cloudwatchLogs`, `cloudwatchMetric`, `dynamodb`, `dynamodbv2`, `elasticsearch`, `firehose`, `http`, `iotAnalytics`, `iotEvents`, `kafka`, `kinesis`, `lambda`, `republish`, `s3`, `sns`, `sqs`, `stepFunctions`, `timestream` configuration blocks for further configuration details.
-
firehoses
public com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleFirehose>>> firehoses()
-
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()
-
kineses
public com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleKinesis>>> kineses()
-
lambdas
public com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleLambda>>> lambdas()
-
name
public com.pulumi.core.Output<java.lang.String> name()
- Returns:
- The name of the rule.
-
region
public com.pulumi.core.Output<java.lang.String> region()
- Returns:
- Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
-
republishes
public com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleRepublish>>> republishes()
-
s3
public com.pulumi.core.Output<java.util.Optional<java.util.List<TopicRuleS3>>> s3()
-
sns
public com.pulumi.core.Output<java.util.Optional<java.util.List<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<java.util.List<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 `defaultTags` 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 `defaultTags` configuration block.
-
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.
-
-