Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.aws.iot.TopicRuleArgs Maven / Gradle / Ivy
Go to download
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.aws.iot;
import com.pulumi.aws.iot.inputs.TopicRuleCloudwatchAlarmArgs;
import com.pulumi.aws.iot.inputs.TopicRuleCloudwatchLogArgs;
import com.pulumi.aws.iot.inputs.TopicRuleCloudwatchMetricArgs;
import com.pulumi.aws.iot.inputs.TopicRuleDynamodbArgs;
import com.pulumi.aws.iot.inputs.TopicRuleDynamodbv2Args;
import com.pulumi.aws.iot.inputs.TopicRuleElasticsearchArgs;
import com.pulumi.aws.iot.inputs.TopicRuleErrorActionArgs;
import com.pulumi.aws.iot.inputs.TopicRuleFirehoseArgs;
import com.pulumi.aws.iot.inputs.TopicRuleHttpArgs;
import com.pulumi.aws.iot.inputs.TopicRuleIotAnalyticArgs;
import com.pulumi.aws.iot.inputs.TopicRuleIotEventArgs;
import com.pulumi.aws.iot.inputs.TopicRuleKafkaArgs;
import com.pulumi.aws.iot.inputs.TopicRuleKinesisArgs;
import com.pulumi.aws.iot.inputs.TopicRuleLambdaArgs;
import com.pulumi.aws.iot.inputs.TopicRuleRepublishArgs;
import com.pulumi.aws.iot.inputs.TopicRuleS3Args;
import com.pulumi.aws.iot.inputs.TopicRuleSnsArgs;
import com.pulumi.aws.iot.inputs.TopicRuleSqsArgs;
import com.pulumi.aws.iot.inputs.TopicRuleStepFunctionArgs;
import com.pulumi.aws.iot.inputs.TopicRuleTimestreamArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class TopicRuleArgs extends com.pulumi.resources.ResourceArgs {
public static final TopicRuleArgs Empty = new TopicRuleArgs();
@Import(name="cloudwatchAlarms")
private @Nullable Output> cloudwatchAlarms;
public Optional>> cloudwatchAlarms() {
return Optional.ofNullable(this.cloudwatchAlarms);
}
@Import(name="cloudwatchLogs")
private @Nullable Output> cloudwatchLogs;
public Optional>> cloudwatchLogs() {
return Optional.ofNullable(this.cloudwatchLogs);
}
@Import(name="cloudwatchMetrics")
private @Nullable Output> cloudwatchMetrics;
public Optional>> cloudwatchMetrics() {
return Optional.ofNullable(this.cloudwatchMetrics);
}
/**
* The description of the rule.
*
*/
@Import(name="description")
private @Nullable Output description;
/**
* @return The description of the rule.
*
*/
public Optional> description() {
return Optional.ofNullable(this.description);
}
@Import(name="dynamodbs")
private @Nullable Output> dynamodbs;
public Optional>> dynamodbs() {
return Optional.ofNullable(this.dynamodbs);
}
@Import(name="dynamodbv2s")
private @Nullable Output> dynamodbv2s;
public Optional>> dynamodbv2s() {
return Optional.ofNullable(this.dynamodbv2s);
}
@Import(name="elasticsearch")
private @Nullable Output> elasticsearch;
public Optional>> elasticsearch() {
return Optional.ofNullable(this.elasticsearch);
}
/**
* Specifies whether the rule is enabled.
*
*/
@Import(name="enabled", required=true)
private Output enabled;
/**
* @return Specifies whether the rule is enabled.
*
*/
public Output enabled() {
return this.enabled;
}
/**
* 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.
*
*/
@Import(name="errorAction")
private @Nullable Output errorAction;
/**
* @return 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.
*
*/
public Optional> errorAction() {
return Optional.ofNullable(this.errorAction);
}
@Import(name="firehoses")
private @Nullable Output> firehoses;
public Optional>> firehoses() {
return Optional.ofNullable(this.firehoses);
}
@Import(name="https")
private @Nullable Output> https;
public Optional>> https() {
return Optional.ofNullable(this.https);
}
@Import(name="iotAnalytics")
private @Nullable Output> iotAnalytics;
public Optional>> iotAnalytics() {
return Optional.ofNullable(this.iotAnalytics);
}
@Import(name="iotEvents")
private @Nullable Output> iotEvents;
public Optional>> iotEvents() {
return Optional.ofNullable(this.iotEvents);
}
@Import(name="kafkas")
private @Nullable Output> kafkas;
public Optional>> kafkas() {
return Optional.ofNullable(this.kafkas);
}
@Import(name="kineses")
private @Nullable Output> kineses;
public Optional>> kineses() {
return Optional.ofNullable(this.kineses);
}
@Import(name="lambdas")
private @Nullable Output> lambdas;
public Optional>> lambdas() {
return Optional.ofNullable(this.lambdas);
}
/**
* The name of the rule.
*
*/
@Import(name="name")
private @Nullable Output name;
/**
* @return The name of the rule.
*
*/
public Optional> name() {
return Optional.ofNullable(this.name);
}
@Import(name="republishes")
private @Nullable Output> republishes;
public Optional>> republishes() {
return Optional.ofNullable(this.republishes);
}
@Import(name="s3")
private @Nullable Output> s3;
public Optional>> s3() {
return Optional.ofNullable(this.s3);
}
@Import(name="sns")
private @Nullable Output> sns;
public Optional>> sns() {
return Optional.ofNullable(this.sns);
}
/**
* 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.
*
*/
@Import(name="sql", required=true)
private Output sql;
/**
* @return 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.
*
*/
public Output sql() {
return this.sql;
}
/**
* The version of the SQL rules engine to use when evaluating the rule.
*
*/
@Import(name="sqlVersion", required=true)
private Output sqlVersion;
/**
* @return The version of the SQL rules engine to use when evaluating the rule.
*
*/
public Output sqlVersion() {
return this.sqlVersion;
}
@Import(name="sqs")
private @Nullable Output> sqs;
public Optional>> sqs() {
return Optional.ofNullable(this.sqs);
}
@Import(name="stepFunctions")
private @Nullable Output> stepFunctions;
public Optional>> stepFunctions() {
return Optional.ofNullable(this.stepFunctions);
}
/**
* 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.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return 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.
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
@Import(name="timestreams")
private @Nullable Output> timestreams;
public Optional>> timestreams() {
return Optional.ofNullable(this.timestreams);
}
private TopicRuleArgs() {}
private TopicRuleArgs(TopicRuleArgs $) {
this.cloudwatchAlarms = $.cloudwatchAlarms;
this.cloudwatchLogs = $.cloudwatchLogs;
this.cloudwatchMetrics = $.cloudwatchMetrics;
this.description = $.description;
this.dynamodbs = $.dynamodbs;
this.dynamodbv2s = $.dynamodbv2s;
this.elasticsearch = $.elasticsearch;
this.enabled = $.enabled;
this.errorAction = $.errorAction;
this.firehoses = $.firehoses;
this.https = $.https;
this.iotAnalytics = $.iotAnalytics;
this.iotEvents = $.iotEvents;
this.kafkas = $.kafkas;
this.kineses = $.kineses;
this.lambdas = $.lambdas;
this.name = $.name;
this.republishes = $.republishes;
this.s3 = $.s3;
this.sns = $.sns;
this.sql = $.sql;
this.sqlVersion = $.sqlVersion;
this.sqs = $.sqs;
this.stepFunctions = $.stepFunctions;
this.tags = $.tags;
this.timestreams = $.timestreams;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(TopicRuleArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private TopicRuleArgs $;
public Builder() {
$ = new TopicRuleArgs();
}
public Builder(TopicRuleArgs defaults) {
$ = new TopicRuleArgs(Objects.requireNonNull(defaults));
}
public Builder cloudwatchAlarms(@Nullable Output> cloudwatchAlarms) {
$.cloudwatchAlarms = cloudwatchAlarms;
return this;
}
public Builder cloudwatchAlarms(List cloudwatchAlarms) {
return cloudwatchAlarms(Output.of(cloudwatchAlarms));
}
public Builder cloudwatchAlarms(TopicRuleCloudwatchAlarmArgs... cloudwatchAlarms) {
return cloudwatchAlarms(List.of(cloudwatchAlarms));
}
public Builder cloudwatchLogs(@Nullable Output> cloudwatchLogs) {
$.cloudwatchLogs = cloudwatchLogs;
return this;
}
public Builder cloudwatchLogs(List cloudwatchLogs) {
return cloudwatchLogs(Output.of(cloudwatchLogs));
}
public Builder cloudwatchLogs(TopicRuleCloudwatchLogArgs... cloudwatchLogs) {
return cloudwatchLogs(List.of(cloudwatchLogs));
}
public Builder cloudwatchMetrics(@Nullable Output> cloudwatchMetrics) {
$.cloudwatchMetrics = cloudwatchMetrics;
return this;
}
public Builder cloudwatchMetrics(List cloudwatchMetrics) {
return cloudwatchMetrics(Output.of(cloudwatchMetrics));
}
public Builder cloudwatchMetrics(TopicRuleCloudwatchMetricArgs... cloudwatchMetrics) {
return cloudwatchMetrics(List.of(cloudwatchMetrics));
}
/**
* @param description The description of the rule.
*
* @return builder
*
*/
public Builder description(@Nullable Output description) {
$.description = description;
return this;
}
/**
* @param description The description of the rule.
*
* @return builder
*
*/
public Builder description(String description) {
return description(Output.of(description));
}
public Builder dynamodbs(@Nullable Output> dynamodbs) {
$.dynamodbs = dynamodbs;
return this;
}
public Builder dynamodbs(List dynamodbs) {
return dynamodbs(Output.of(dynamodbs));
}
public Builder dynamodbs(TopicRuleDynamodbArgs... dynamodbs) {
return dynamodbs(List.of(dynamodbs));
}
public Builder dynamodbv2s(@Nullable Output> dynamodbv2s) {
$.dynamodbv2s = dynamodbv2s;
return this;
}
public Builder dynamodbv2s(List dynamodbv2s) {
return dynamodbv2s(Output.of(dynamodbv2s));
}
public Builder dynamodbv2s(TopicRuleDynamodbv2Args... dynamodbv2s) {
return dynamodbv2s(List.of(dynamodbv2s));
}
public Builder elasticsearch(@Nullable Output> elasticsearch) {
$.elasticsearch = elasticsearch;
return this;
}
public Builder elasticsearch(List elasticsearch) {
return elasticsearch(Output.of(elasticsearch));
}
public Builder elasticsearch(TopicRuleElasticsearchArgs... elasticsearch) {
return elasticsearch(List.of(elasticsearch));
}
/**
* @param enabled Specifies whether the rule is enabled.
*
* @return builder
*
*/
public Builder enabled(Output enabled) {
$.enabled = enabled;
return this;
}
/**
* @param enabled Specifies whether the rule is enabled.
*
* @return builder
*
*/
public Builder enabled(Boolean enabled) {
return enabled(Output.of(enabled));
}
/**
* @param errorAction 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.
*
* @return builder
*
*/
public Builder errorAction(@Nullable Output errorAction) {
$.errorAction = errorAction;
return this;
}
/**
* @param errorAction 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.
*
* @return builder
*
*/
public Builder errorAction(TopicRuleErrorActionArgs errorAction) {
return errorAction(Output.of(errorAction));
}
public Builder firehoses(@Nullable Output> firehoses) {
$.firehoses = firehoses;
return this;
}
public Builder firehoses(List firehoses) {
return firehoses(Output.of(firehoses));
}
public Builder firehoses(TopicRuleFirehoseArgs... firehoses) {
return firehoses(List.of(firehoses));
}
public Builder https(@Nullable Output> https) {
$.https = https;
return this;
}
public Builder https(List https) {
return https(Output.of(https));
}
public Builder https(TopicRuleHttpArgs... https) {
return https(List.of(https));
}
public Builder iotAnalytics(@Nullable Output> iotAnalytics) {
$.iotAnalytics = iotAnalytics;
return this;
}
public Builder iotAnalytics(List iotAnalytics) {
return iotAnalytics(Output.of(iotAnalytics));
}
public Builder iotAnalytics(TopicRuleIotAnalyticArgs... iotAnalytics) {
return iotAnalytics(List.of(iotAnalytics));
}
public Builder iotEvents(@Nullable Output> iotEvents) {
$.iotEvents = iotEvents;
return this;
}
public Builder iotEvents(List iotEvents) {
return iotEvents(Output.of(iotEvents));
}
public Builder iotEvents(TopicRuleIotEventArgs... iotEvents) {
return iotEvents(List.of(iotEvents));
}
public Builder kafkas(@Nullable Output> kafkas) {
$.kafkas = kafkas;
return this;
}
public Builder kafkas(List kafkas) {
return kafkas(Output.of(kafkas));
}
public Builder kafkas(TopicRuleKafkaArgs... kafkas) {
return kafkas(List.of(kafkas));
}
public Builder kineses(@Nullable Output> kineses) {
$.kineses = kineses;
return this;
}
public Builder kineses(List kineses) {
return kineses(Output.of(kineses));
}
public Builder kineses(TopicRuleKinesisArgs... kineses) {
return kineses(List.of(kineses));
}
public Builder lambdas(@Nullable Output> lambdas) {
$.lambdas = lambdas;
return this;
}
public Builder lambdas(List lambdas) {
return lambdas(Output.of(lambdas));
}
public Builder lambdas(TopicRuleLambdaArgs... lambdas) {
return lambdas(List.of(lambdas));
}
/**
* @param name The name of the rule.
*
* @return builder
*
*/
public Builder name(@Nullable Output name) {
$.name = name;
return this;
}
/**
* @param name The name of the rule.
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
public Builder republishes(@Nullable Output> republishes) {
$.republishes = republishes;
return this;
}
public Builder republishes(List republishes) {
return republishes(Output.of(republishes));
}
public Builder republishes(TopicRuleRepublishArgs... republishes) {
return republishes(List.of(republishes));
}
public Builder s3(@Nullable Output> s3) {
$.s3 = s3;
return this;
}
public Builder s3(List s3) {
return s3(Output.of(s3));
}
public Builder s3(TopicRuleS3Args... s3) {
return s3(List.of(s3));
}
public Builder sns(@Nullable Output> sns) {
$.sns = sns;
return this;
}
public Builder sns(List sns) {
return sns(Output.of(sns));
}
public Builder sns(TopicRuleSnsArgs... sns) {
return sns(List.of(sns));
}
/**
* @param sql 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.
*
* @return builder
*
*/
public Builder sql(Output sql) {
$.sql = sql;
return this;
}
/**
* @param sql 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.
*
* @return builder
*
*/
public Builder sql(String sql) {
return sql(Output.of(sql));
}
/**
* @param sqlVersion The version of the SQL rules engine to use when evaluating the rule.
*
* @return builder
*
*/
public Builder sqlVersion(Output sqlVersion) {
$.sqlVersion = sqlVersion;
return this;
}
/**
* @param sqlVersion The version of the SQL rules engine to use when evaluating the rule.
*
* @return builder
*
*/
public Builder sqlVersion(String sqlVersion) {
return sqlVersion(Output.of(sqlVersion));
}
public Builder sqs(@Nullable Output> sqs) {
$.sqs = sqs;
return this;
}
public Builder sqs(List sqs) {
return sqs(Output.of(sqs));
}
public Builder sqs(TopicRuleSqsArgs... sqs) {
return sqs(List.of(sqs));
}
public Builder stepFunctions(@Nullable Output> stepFunctions) {
$.stepFunctions = stepFunctions;
return this;
}
public Builder stepFunctions(List stepFunctions) {
return stepFunctions(Output.of(stepFunctions));
}
public Builder stepFunctions(TopicRuleStepFunctionArgs... stepFunctions) {
return stepFunctions(List.of(stepFunctions));
}
/**
* @param tags 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.
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags 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.
*
* @return builder
*
*/
public Builder tags(Map tags) {
return tags(Output.of(tags));
}
public Builder timestreams(@Nullable Output> timestreams) {
$.timestreams = timestreams;
return this;
}
public Builder timestreams(List timestreams) {
return timestreams(Output.of(timestreams));
}
public Builder timestreams(TopicRuleTimestreamArgs... timestreams) {
return timestreams(List.of(timestreams));
}
public TopicRuleArgs build() {
if ($.enabled == null) {
throw new MissingRequiredPropertyException("TopicRuleArgs", "enabled");
}
if ($.sql == null) {
throw new MissingRequiredPropertyException("TopicRuleArgs", "sql");
}
if ($.sqlVersion == null) {
throw new MissingRequiredPropertyException("TopicRuleArgs", "sqlVersion");
}
return $;
}
}
}