/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes the actions associated with a rule.See Also:
AWS API
* Reference
Write to a DynamoDB table.
*/ inline const DynamoDBAction& GetDynamoDB() const{ return m_dynamoDB; } /** *Write to a DynamoDB table.
*/ inline bool DynamoDBHasBeenSet() const { return m_dynamoDBHasBeenSet; } /** *Write to a DynamoDB table.
*/ inline void SetDynamoDB(const DynamoDBAction& value) { m_dynamoDBHasBeenSet = true; m_dynamoDB = value; } /** *Write to a DynamoDB table.
*/ inline void SetDynamoDB(DynamoDBAction&& value) { m_dynamoDBHasBeenSet = true; m_dynamoDB = std::move(value); } /** *Write to a DynamoDB table.
*/ inline Action& WithDynamoDB(const DynamoDBAction& value) { SetDynamoDB(value); return *this;} /** *Write to a DynamoDB table.
*/ inline Action& WithDynamoDB(DynamoDBAction&& value) { SetDynamoDB(std::move(value)); return *this;} /** *Write to a DynamoDB table. This is a new version of the DynamoDB action. It * allows you to write each attribute in an MQTT message payload into a separate * DynamoDB column.
*/ inline const DynamoDBv2Action& GetDynamoDBv2() const{ return m_dynamoDBv2; } /** *Write to a DynamoDB table. This is a new version of the DynamoDB action. It * allows you to write each attribute in an MQTT message payload into a separate * DynamoDB column.
*/ inline bool DynamoDBv2HasBeenSet() const { return m_dynamoDBv2HasBeenSet; } /** *Write to a DynamoDB table. This is a new version of the DynamoDB action. It * allows you to write each attribute in an MQTT message payload into a separate * DynamoDB column.
*/ inline void SetDynamoDBv2(const DynamoDBv2Action& value) { m_dynamoDBv2HasBeenSet = true; m_dynamoDBv2 = value; } /** *Write to a DynamoDB table. This is a new version of the DynamoDB action. It * allows you to write each attribute in an MQTT message payload into a separate * DynamoDB column.
*/ inline void SetDynamoDBv2(DynamoDBv2Action&& value) { m_dynamoDBv2HasBeenSet = true; m_dynamoDBv2 = std::move(value); } /** *Write to a DynamoDB table. This is a new version of the DynamoDB action. It * allows you to write each attribute in an MQTT message payload into a separate * DynamoDB column.
*/ inline Action& WithDynamoDBv2(const DynamoDBv2Action& value) { SetDynamoDBv2(value); return *this;} /** *Write to a DynamoDB table. This is a new version of the DynamoDB action. It * allows you to write each attribute in an MQTT message payload into a separate * DynamoDB column.
*/ inline Action& WithDynamoDBv2(DynamoDBv2Action&& value) { SetDynamoDBv2(std::move(value)); return *this;} /** *Invoke a Lambda function.
*/ inline const LambdaAction& GetLambda() const{ return m_lambda; } /** *Invoke a Lambda function.
*/ inline bool LambdaHasBeenSet() const { return m_lambdaHasBeenSet; } /** *Invoke a Lambda function.
*/ inline void SetLambda(const LambdaAction& value) { m_lambdaHasBeenSet = true; m_lambda = value; } /** *Invoke a Lambda function.
*/ inline void SetLambda(LambdaAction&& value) { m_lambdaHasBeenSet = true; m_lambda = std::move(value); } /** *Invoke a Lambda function.
*/ inline Action& WithLambda(const LambdaAction& value) { SetLambda(value); return *this;} /** *Invoke a Lambda function.
*/ inline Action& WithLambda(LambdaAction&& value) { SetLambda(std::move(value)); return *this;} /** *Publish to an Amazon SNS topic.
*/ inline const SnsAction& GetSns() const{ return m_sns; } /** *Publish to an Amazon SNS topic.
*/ inline bool SnsHasBeenSet() const { return m_snsHasBeenSet; } /** *Publish to an Amazon SNS topic.
*/ inline void SetSns(const SnsAction& value) { m_snsHasBeenSet = true; m_sns = value; } /** *Publish to an Amazon SNS topic.
*/ inline void SetSns(SnsAction&& value) { m_snsHasBeenSet = true; m_sns = std::move(value); } /** *Publish to an Amazon SNS topic.
*/ inline Action& WithSns(const SnsAction& value) { SetSns(value); return *this;} /** *Publish to an Amazon SNS topic.
*/ inline Action& WithSns(SnsAction&& value) { SetSns(std::move(value)); return *this;} /** *Publish to an Amazon SQS queue.
*/ inline const SqsAction& GetSqs() const{ return m_sqs; } /** *Publish to an Amazon SQS queue.
*/ inline bool SqsHasBeenSet() const { return m_sqsHasBeenSet; } /** *Publish to an Amazon SQS queue.
*/ inline void SetSqs(const SqsAction& value) { m_sqsHasBeenSet = true; m_sqs = value; } /** *Publish to an Amazon SQS queue.
*/ inline void SetSqs(SqsAction&& value) { m_sqsHasBeenSet = true; m_sqs = std::move(value); } /** *Publish to an Amazon SQS queue.
*/ inline Action& WithSqs(const SqsAction& value) { SetSqs(value); return *this;} /** *Publish to an Amazon SQS queue.
*/ inline Action& WithSqs(SqsAction&& value) { SetSqs(std::move(value)); return *this;} /** *Write data to an Amazon Kinesis stream.
*/ inline const KinesisAction& GetKinesis() const{ return m_kinesis; } /** *Write data to an Amazon Kinesis stream.
*/ inline bool KinesisHasBeenSet() const { return m_kinesisHasBeenSet; } /** *Write data to an Amazon Kinesis stream.
*/ inline void SetKinesis(const KinesisAction& value) { m_kinesisHasBeenSet = true; m_kinesis = value; } /** *Write data to an Amazon Kinesis stream.
*/ inline void SetKinesis(KinesisAction&& value) { m_kinesisHasBeenSet = true; m_kinesis = std::move(value); } /** *Write data to an Amazon Kinesis stream.
*/ inline Action& WithKinesis(const KinesisAction& value) { SetKinesis(value); return *this;} /** *Write data to an Amazon Kinesis stream.
*/ inline Action& WithKinesis(KinesisAction&& value) { SetKinesis(std::move(value)); return *this;} /** *Publish to another MQTT topic.
*/ inline const RepublishAction& GetRepublish() const{ return m_republish; } /** *Publish to another MQTT topic.
*/ inline bool RepublishHasBeenSet() const { return m_republishHasBeenSet; } /** *Publish to another MQTT topic.
*/ inline void SetRepublish(const RepublishAction& value) { m_republishHasBeenSet = true; m_republish = value; } /** *Publish to another MQTT topic.
*/ inline void SetRepublish(RepublishAction&& value) { m_republishHasBeenSet = true; m_republish = std::move(value); } /** *Publish to another MQTT topic.
*/ inline Action& WithRepublish(const RepublishAction& value) { SetRepublish(value); return *this;} /** *Publish to another MQTT topic.
*/ inline Action& WithRepublish(RepublishAction&& value) { SetRepublish(std::move(value)); return *this;} /** *Write to an Amazon S3 bucket.
*/ inline const S3Action& GetS3() const{ return m_s3; } /** *Write to an Amazon S3 bucket.
*/ inline bool S3HasBeenSet() const { return m_s3HasBeenSet; } /** *Write to an Amazon S3 bucket.
*/ inline void SetS3(const S3Action& value) { m_s3HasBeenSet = true; m_s3 = value; } /** *Write to an Amazon S3 bucket.
*/ inline void SetS3(S3Action&& value) { m_s3HasBeenSet = true; m_s3 = std::move(value); } /** *Write to an Amazon S3 bucket.
*/ inline Action& WithS3(const S3Action& value) { SetS3(value); return *this;} /** *Write to an Amazon S3 bucket.
*/ inline Action& WithS3(S3Action&& value) { SetS3(std::move(value)); return *this;} /** *Write to an Amazon Kinesis Firehose stream.
*/ inline const FirehoseAction& GetFirehose() const{ return m_firehose; } /** *Write to an Amazon Kinesis Firehose stream.
*/ inline bool FirehoseHasBeenSet() const { return m_firehoseHasBeenSet; } /** *Write to an Amazon Kinesis Firehose stream.
*/ inline void SetFirehose(const FirehoseAction& value) { m_firehoseHasBeenSet = true; m_firehose = value; } /** *Write to an Amazon Kinesis Firehose stream.
*/ inline void SetFirehose(FirehoseAction&& value) { m_firehoseHasBeenSet = true; m_firehose = std::move(value); } /** *Write to an Amazon Kinesis Firehose stream.
*/ inline Action& WithFirehose(const FirehoseAction& value) { SetFirehose(value); return *this;} /** *Write to an Amazon Kinesis Firehose stream.
*/ inline Action& WithFirehose(FirehoseAction&& value) { SetFirehose(std::move(value)); return *this;} /** *Capture a CloudWatch metric.
*/ inline const CloudwatchMetricAction& GetCloudwatchMetric() const{ return m_cloudwatchMetric; } /** *Capture a CloudWatch metric.
*/ inline bool CloudwatchMetricHasBeenSet() const { return m_cloudwatchMetricHasBeenSet; } /** *Capture a CloudWatch metric.
*/ inline void SetCloudwatchMetric(const CloudwatchMetricAction& value) { m_cloudwatchMetricHasBeenSet = true; m_cloudwatchMetric = value; } /** *Capture a CloudWatch metric.
*/ inline void SetCloudwatchMetric(CloudwatchMetricAction&& value) { m_cloudwatchMetricHasBeenSet = true; m_cloudwatchMetric = std::move(value); } /** *Capture a CloudWatch metric.
*/ inline Action& WithCloudwatchMetric(const CloudwatchMetricAction& value) { SetCloudwatchMetric(value); return *this;} /** *Capture a CloudWatch metric.
*/ inline Action& WithCloudwatchMetric(CloudwatchMetricAction&& value) { SetCloudwatchMetric(std::move(value)); return *this;} /** *Change the state of a CloudWatch alarm.
*/ inline const CloudwatchAlarmAction& GetCloudwatchAlarm() const{ return m_cloudwatchAlarm; } /** *Change the state of a CloudWatch alarm.
*/ inline bool CloudwatchAlarmHasBeenSet() const { return m_cloudwatchAlarmHasBeenSet; } /** *Change the state of a CloudWatch alarm.
*/ inline void SetCloudwatchAlarm(const CloudwatchAlarmAction& value) { m_cloudwatchAlarmHasBeenSet = true; m_cloudwatchAlarm = value; } /** *Change the state of a CloudWatch alarm.
*/ inline void SetCloudwatchAlarm(CloudwatchAlarmAction&& value) { m_cloudwatchAlarmHasBeenSet = true; m_cloudwatchAlarm = std::move(value); } /** *Change the state of a CloudWatch alarm.
*/ inline Action& WithCloudwatchAlarm(const CloudwatchAlarmAction& value) { SetCloudwatchAlarm(value); return *this;} /** *Change the state of a CloudWatch alarm.
*/ inline Action& WithCloudwatchAlarm(CloudwatchAlarmAction&& value) { SetCloudwatchAlarm(std::move(value)); return *this;} /** *Send data to CloudWatch Logs.
*/ inline const CloudwatchLogsAction& GetCloudwatchLogs() const{ return m_cloudwatchLogs; } /** *Send data to CloudWatch Logs.
*/ inline bool CloudwatchLogsHasBeenSet() const { return m_cloudwatchLogsHasBeenSet; } /** *Send data to CloudWatch Logs.
*/ inline void SetCloudwatchLogs(const CloudwatchLogsAction& value) { m_cloudwatchLogsHasBeenSet = true; m_cloudwatchLogs = value; } /** *Send data to CloudWatch Logs.
*/ inline void SetCloudwatchLogs(CloudwatchLogsAction&& value) { m_cloudwatchLogsHasBeenSet = true; m_cloudwatchLogs = std::move(value); } /** *Send data to CloudWatch Logs.
*/ inline Action& WithCloudwatchLogs(const CloudwatchLogsAction& value) { SetCloudwatchLogs(value); return *this;} /** *Send data to CloudWatch Logs.
*/ inline Action& WithCloudwatchLogs(CloudwatchLogsAction&& value) { SetCloudwatchLogs(std::move(value)); return *this;} /** *Write data to an Amazon Elasticsearch Service domain.
*/ inline const ElasticsearchAction& GetElasticsearch() const{ return m_elasticsearch; } /** *Write data to an Amazon Elasticsearch Service domain.
*/ inline bool ElasticsearchHasBeenSet() const { return m_elasticsearchHasBeenSet; } /** *Write data to an Amazon Elasticsearch Service domain.
*/ inline void SetElasticsearch(const ElasticsearchAction& value) { m_elasticsearchHasBeenSet = true; m_elasticsearch = value; } /** *Write data to an Amazon Elasticsearch Service domain.
*/ inline void SetElasticsearch(ElasticsearchAction&& value) { m_elasticsearchHasBeenSet = true; m_elasticsearch = std::move(value); } /** *Write data to an Amazon Elasticsearch Service domain.
*/ inline Action& WithElasticsearch(const ElasticsearchAction& value) { SetElasticsearch(value); return *this;} /** *Write data to an Amazon Elasticsearch Service domain.
*/ inline Action& WithElasticsearch(ElasticsearchAction&& value) { SetElasticsearch(std::move(value)); return *this;} /** *Send a message to a Salesforce IoT Cloud Input Stream.
*/ inline const SalesforceAction& GetSalesforce() const{ return m_salesforce; } /** *Send a message to a Salesforce IoT Cloud Input Stream.
*/ inline bool SalesforceHasBeenSet() const { return m_salesforceHasBeenSet; } /** *Send a message to a Salesforce IoT Cloud Input Stream.
*/ inline void SetSalesforce(const SalesforceAction& value) { m_salesforceHasBeenSet = true; m_salesforce = value; } /** *Send a message to a Salesforce IoT Cloud Input Stream.
*/ inline void SetSalesforce(SalesforceAction&& value) { m_salesforceHasBeenSet = true; m_salesforce = std::move(value); } /** *Send a message to a Salesforce IoT Cloud Input Stream.
*/ inline Action& WithSalesforce(const SalesforceAction& value) { SetSalesforce(value); return *this;} /** *Send a message to a Salesforce IoT Cloud Input Stream.
*/ inline Action& WithSalesforce(SalesforceAction&& value) { SetSalesforce(std::move(value)); return *this;} /** *Sends message data to an AWS IoT Analytics channel.
*/ inline const IotAnalyticsAction& GetIotAnalytics() const{ return m_iotAnalytics; } /** *Sends message data to an AWS IoT Analytics channel.
*/ inline bool IotAnalyticsHasBeenSet() const { return m_iotAnalyticsHasBeenSet; } /** *Sends message data to an AWS IoT Analytics channel.
*/ inline void SetIotAnalytics(const IotAnalyticsAction& value) { m_iotAnalyticsHasBeenSet = true; m_iotAnalytics = value; } /** *Sends message data to an AWS IoT Analytics channel.
*/ inline void SetIotAnalytics(IotAnalyticsAction&& value) { m_iotAnalyticsHasBeenSet = true; m_iotAnalytics = std::move(value); } /** *Sends message data to an AWS IoT Analytics channel.
*/ inline Action& WithIotAnalytics(const IotAnalyticsAction& value) { SetIotAnalytics(value); return *this;} /** *Sends message data to an AWS IoT Analytics channel.
*/ inline Action& WithIotAnalytics(IotAnalyticsAction&& value) { SetIotAnalytics(std::move(value)); return *this;} /** *Sends an input to an AWS IoT Events detector.
*/ inline const IotEventsAction& GetIotEvents() const{ return m_iotEvents; } /** *Sends an input to an AWS IoT Events detector.
*/ inline bool IotEventsHasBeenSet() const { return m_iotEventsHasBeenSet; } /** *Sends an input to an AWS IoT Events detector.
*/ inline void SetIotEvents(const IotEventsAction& value) { m_iotEventsHasBeenSet = true; m_iotEvents = value; } /** *Sends an input to an AWS IoT Events detector.
*/ inline void SetIotEvents(IotEventsAction&& value) { m_iotEventsHasBeenSet = true; m_iotEvents = std::move(value); } /** *Sends an input to an AWS IoT Events detector.
*/ inline Action& WithIotEvents(const IotEventsAction& value) { SetIotEvents(value); return *this;} /** *Sends an input to an AWS IoT Events detector.
*/ inline Action& WithIotEvents(IotEventsAction&& value) { SetIotEvents(std::move(value)); return *this;} /** *Sends data from the MQTT message that triggered the rule to AWS IoT SiteWise * asset properties.
*/ inline const IotSiteWiseAction& GetIotSiteWise() const{ return m_iotSiteWise; } /** *Sends data from the MQTT message that triggered the rule to AWS IoT SiteWise * asset properties.
*/ inline bool IotSiteWiseHasBeenSet() const { return m_iotSiteWiseHasBeenSet; } /** *Sends data from the MQTT message that triggered the rule to AWS IoT SiteWise * asset properties.
*/ inline void SetIotSiteWise(const IotSiteWiseAction& value) { m_iotSiteWiseHasBeenSet = true; m_iotSiteWise = value; } /** *Sends data from the MQTT message that triggered the rule to AWS IoT SiteWise * asset properties.
*/ inline void SetIotSiteWise(IotSiteWiseAction&& value) { m_iotSiteWiseHasBeenSet = true; m_iotSiteWise = std::move(value); } /** *Sends data from the MQTT message that triggered the rule to AWS IoT SiteWise * asset properties.
*/ inline Action& WithIotSiteWise(const IotSiteWiseAction& value) { SetIotSiteWise(value); return *this;} /** *Sends data from the MQTT message that triggered the rule to AWS IoT SiteWise * asset properties.
*/ inline Action& WithIotSiteWise(IotSiteWiseAction&& value) { SetIotSiteWise(std::move(value)); return *this;} /** *Starts execution of a Step Functions state machine.
*/ inline const StepFunctionsAction& GetStepFunctions() const{ return m_stepFunctions; } /** *Starts execution of a Step Functions state machine.
*/ inline bool StepFunctionsHasBeenSet() const { return m_stepFunctionsHasBeenSet; } /** *Starts execution of a Step Functions state machine.
*/ inline void SetStepFunctions(const StepFunctionsAction& value) { m_stepFunctionsHasBeenSet = true; m_stepFunctions = value; } /** *Starts execution of a Step Functions state machine.
*/ inline void SetStepFunctions(StepFunctionsAction&& value) { m_stepFunctionsHasBeenSet = true; m_stepFunctions = std::move(value); } /** *Starts execution of a Step Functions state machine.
*/ inline Action& WithStepFunctions(const StepFunctionsAction& value) { SetStepFunctions(value); return *this;} /** *Starts execution of a Step Functions state machine.
*/ inline Action& WithStepFunctions(StepFunctionsAction&& value) { SetStepFunctions(std::move(value)); return *this;} /** *Send data to an HTTPS endpoint.
*/ inline const HttpAction& GetHttp() const{ return m_http; } /** *Send data to an HTTPS endpoint.
*/ inline bool HttpHasBeenSet() const { return m_httpHasBeenSet; } /** *Send data to an HTTPS endpoint.
*/ inline void SetHttp(const HttpAction& value) { m_httpHasBeenSet = true; m_http = value; } /** *Send data to an HTTPS endpoint.
*/ inline void SetHttp(HttpAction&& value) { m_httpHasBeenSet = true; m_http = std::move(value); } /** *Send data to an HTTPS endpoint.
*/ inline Action& WithHttp(const HttpAction& value) { SetHttp(value); return *this;} /** *Send data to an HTTPS endpoint.
*/ inline Action& WithHttp(HttpAction&& value) { SetHttp(std::move(value)); return *this;} private: DynamoDBAction m_dynamoDB; bool m_dynamoDBHasBeenSet; DynamoDBv2Action m_dynamoDBv2; bool m_dynamoDBv2HasBeenSet; LambdaAction m_lambda; bool m_lambdaHasBeenSet; SnsAction m_sns; bool m_snsHasBeenSet; SqsAction m_sqs; bool m_sqsHasBeenSet; KinesisAction m_kinesis; bool m_kinesisHasBeenSet; RepublishAction m_republish; bool m_republishHasBeenSet; S3Action m_s3; bool m_s3HasBeenSet; FirehoseAction m_firehose; bool m_firehoseHasBeenSet; CloudwatchMetricAction m_cloudwatchMetric; bool m_cloudwatchMetricHasBeenSet; CloudwatchAlarmAction m_cloudwatchAlarm; bool m_cloudwatchAlarmHasBeenSet; CloudwatchLogsAction m_cloudwatchLogs; bool m_cloudwatchLogsHasBeenSet; ElasticsearchAction m_elasticsearch; bool m_elasticsearchHasBeenSet; SalesforceAction m_salesforce; bool m_salesforceHasBeenSet; IotAnalyticsAction m_iotAnalytics; bool m_iotAnalyticsHasBeenSet; IotEventsAction m_iotEvents; bool m_iotEventsHasBeenSet; IotSiteWiseAction m_iotSiteWise; bool m_iotSiteWiseHasBeenSet; StepFunctionsAction m_stepFunctions; bool m_stepFunctionsHasBeenSet; HttpAction m_http; bool m_httpHasBeenSet; }; } // namespace Model } // namespace IoT } // namespace Aws