/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace IoT { namespace Model { /** *

Describes the actions associated with a rule.

See Also:

AWS API * Reference

*/ class Action { public: AWS_IOT_API Action(); AWS_IOT_API Action(Aws::Utils::Json::JsonView jsonValue); AWS_IOT_API Action& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_IOT_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

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 OpenSearch Service domain.

The * Elasticsearch action can only be used by existing rule actions. To * create a new rule action or to update an existing rule action, use the * OpenSearch rule action instead. For more information, see OpenSearchAction.

* */ inline const ElasticsearchAction& GetElasticsearch() const{ return m_elasticsearch; } /** *

Write data to an Amazon OpenSearch Service domain.

The * Elasticsearch action can only be used by existing rule actions. To * create a new rule action or to update an existing rule action, use the * OpenSearch rule action instead. For more information, see OpenSearchAction.

* */ inline bool ElasticsearchHasBeenSet() const { return m_elasticsearchHasBeenSet; } /** *

Write data to an Amazon OpenSearch Service domain.

The * Elasticsearch action can only be used by existing rule actions. To * create a new rule action or to update an existing rule action, use the * OpenSearch rule action instead. For more information, see OpenSearchAction.

* */ inline void SetElasticsearch(const ElasticsearchAction& value) { m_elasticsearchHasBeenSet = true; m_elasticsearch = value; } /** *

Write data to an Amazon OpenSearch Service domain.

The * Elasticsearch action can only be used by existing rule actions. To * create a new rule action or to update an existing rule action, use the * OpenSearch rule action instead. For more information, see OpenSearchAction.

* */ inline void SetElasticsearch(ElasticsearchAction&& value) { m_elasticsearchHasBeenSet = true; m_elasticsearch = std::move(value); } /** *

Write data to an Amazon OpenSearch Service domain.

The * Elasticsearch action can only be used by existing rule actions. To * create a new rule action or to update an existing rule action, use the * OpenSearch rule action instead. For more information, see OpenSearchAction.

* */ inline Action& WithElasticsearch(const ElasticsearchAction& value) { SetElasticsearch(value); return *this;} /** *

Write data to an Amazon OpenSearch Service domain.

The * Elasticsearch action can only be used by existing rule actions. To * create a new rule action or to update an existing rule action, use the * OpenSearch rule action instead. For more information, see OpenSearchAction.

* */ 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 IoT Analytics channel.

*/ inline const IotAnalyticsAction& GetIotAnalytics() const{ return m_iotAnalytics; } /** *

Sends message data to an IoT Analytics channel.

*/ inline bool IotAnalyticsHasBeenSet() const { return m_iotAnalyticsHasBeenSet; } /** *

Sends message data to an IoT Analytics channel.

*/ inline void SetIotAnalytics(const IotAnalyticsAction& value) { m_iotAnalyticsHasBeenSet = true; m_iotAnalytics = value; } /** *

Sends message data to an IoT Analytics channel.

*/ inline void SetIotAnalytics(IotAnalyticsAction&& value) { m_iotAnalyticsHasBeenSet = true; m_iotAnalytics = std::move(value); } /** *

Sends message data to an IoT Analytics channel.

*/ inline Action& WithIotAnalytics(const IotAnalyticsAction& value) { SetIotAnalytics(value); return *this;} /** *

Sends message data to an IoT Analytics channel.

*/ inline Action& WithIotAnalytics(IotAnalyticsAction&& value) { SetIotAnalytics(std::move(value)); return *this;} /** *

Sends an input to an IoT Events detector.

*/ inline const IotEventsAction& GetIotEvents() const{ return m_iotEvents; } /** *

Sends an input to an IoT Events detector.

*/ inline bool IotEventsHasBeenSet() const { return m_iotEventsHasBeenSet; } /** *

Sends an input to an IoT Events detector.

*/ inline void SetIotEvents(const IotEventsAction& value) { m_iotEventsHasBeenSet = true; m_iotEvents = value; } /** *

Sends an input to an IoT Events detector.

*/ inline void SetIotEvents(IotEventsAction&& value) { m_iotEventsHasBeenSet = true; m_iotEvents = std::move(value); } /** *

Sends an input to an IoT Events detector.

*/ inline Action& WithIotEvents(const IotEventsAction& value) { SetIotEvents(value); return *this;} /** *

Sends an input to an 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 IoT SiteWise * asset properties.

*/ inline const IotSiteWiseAction& GetIotSiteWise() const{ return m_iotSiteWise; } /** *

Sends data from the MQTT message that triggered the rule to IoT SiteWise * asset properties.

*/ inline bool IotSiteWiseHasBeenSet() const { return m_iotSiteWiseHasBeenSet; } /** *

Sends data from the MQTT message that triggered the rule to 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 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 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 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;} /** *

The Timestream rule action writes attributes (measures) from an MQTT message * into an Amazon Timestream table. For more information, see the Timestream * topic rule action documentation.

*/ inline const TimestreamAction& GetTimestream() const{ return m_timestream; } /** *

The Timestream rule action writes attributes (measures) from an MQTT message * into an Amazon Timestream table. For more information, see the Timestream * topic rule action documentation.

*/ inline bool TimestreamHasBeenSet() const { return m_timestreamHasBeenSet; } /** *

The Timestream rule action writes attributes (measures) from an MQTT message * into an Amazon Timestream table. For more information, see the Timestream * topic rule action documentation.

*/ inline void SetTimestream(const TimestreamAction& value) { m_timestreamHasBeenSet = true; m_timestream = value; } /** *

The Timestream rule action writes attributes (measures) from an MQTT message * into an Amazon Timestream table. For more information, see the Timestream * topic rule action documentation.

*/ inline void SetTimestream(TimestreamAction&& value) { m_timestreamHasBeenSet = true; m_timestream = std::move(value); } /** *

The Timestream rule action writes attributes (measures) from an MQTT message * into an Amazon Timestream table. For more information, see the Timestream * topic rule action documentation.

*/ inline Action& WithTimestream(const TimestreamAction& value) { SetTimestream(value); return *this;} /** *

The Timestream rule action writes attributes (measures) from an MQTT message * into an Amazon Timestream table. For more information, see the Timestream * topic rule action documentation.

*/ inline Action& WithTimestream(TimestreamAction&& value) { SetTimestream(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;} /** *

Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon MSK) or * self-managed Apache Kafka cluster.

*/ inline const KafkaAction& GetKafka() const{ return m_kafka; } /** *

Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon MSK) or * self-managed Apache Kafka cluster.

*/ inline bool KafkaHasBeenSet() const { return m_kafkaHasBeenSet; } /** *

Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon MSK) or * self-managed Apache Kafka cluster.

*/ inline void SetKafka(const KafkaAction& value) { m_kafkaHasBeenSet = true; m_kafka = value; } /** *

Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon MSK) or * self-managed Apache Kafka cluster.

*/ inline void SetKafka(KafkaAction&& value) { m_kafkaHasBeenSet = true; m_kafka = std::move(value); } /** *

Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon MSK) or * self-managed Apache Kafka cluster.

*/ inline Action& WithKafka(const KafkaAction& value) { SetKafka(value); return *this;} /** *

Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon MSK) or * self-managed Apache Kafka cluster.

*/ inline Action& WithKafka(KafkaAction&& value) { SetKafka(std::move(value)); return *this;} /** *

Write data to an Amazon OpenSearch Service domain.

*/ inline const OpenSearchAction& GetOpenSearch() const{ return m_openSearch; } /** *

Write data to an Amazon OpenSearch Service domain.

*/ inline bool OpenSearchHasBeenSet() const { return m_openSearchHasBeenSet; } /** *

Write data to an Amazon OpenSearch Service domain.

*/ inline void SetOpenSearch(const OpenSearchAction& value) { m_openSearchHasBeenSet = true; m_openSearch = value; } /** *

Write data to an Amazon OpenSearch Service domain.

*/ inline void SetOpenSearch(OpenSearchAction&& value) { m_openSearchHasBeenSet = true; m_openSearch = std::move(value); } /** *

Write data to an Amazon OpenSearch Service domain.

*/ inline Action& WithOpenSearch(const OpenSearchAction& value) { SetOpenSearch(value); return *this;} /** *

Write data to an Amazon OpenSearch Service domain.

*/ inline Action& WithOpenSearch(OpenSearchAction&& value) { SetOpenSearch(std::move(value)); return *this;} /** *

The Amazon Location Service rule action sends device location updates from an * MQTT message to an Amazon Location tracker resource.

*/ inline const LocationAction& GetLocation() const{ return m_location; } /** *

The Amazon Location Service rule action sends device location updates from an * MQTT message to an Amazon Location tracker resource.

*/ inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; } /** *

The Amazon Location Service rule action sends device location updates from an * MQTT message to an Amazon Location tracker resource.

*/ inline void SetLocation(const LocationAction& value) { m_locationHasBeenSet = true; m_location = value; } /** *

The Amazon Location Service rule action sends device location updates from an * MQTT message to an Amazon Location tracker resource.

*/ inline void SetLocation(LocationAction&& value) { m_locationHasBeenSet = true; m_location = std::move(value); } /** *

The Amazon Location Service rule action sends device location updates from an * MQTT message to an Amazon Location tracker resource.

*/ inline Action& WithLocation(const LocationAction& value) { SetLocation(value); return *this;} /** *

The Amazon Location Service rule action sends device location updates from an * MQTT message to an Amazon Location tracker resource.

*/ inline Action& WithLocation(LocationAction&& value) { SetLocation(std::move(value)); return *this;} private: DynamoDBAction m_dynamoDB; bool m_dynamoDBHasBeenSet = false; DynamoDBv2Action m_dynamoDBv2; bool m_dynamoDBv2HasBeenSet = false; LambdaAction m_lambda; bool m_lambdaHasBeenSet = false; SnsAction m_sns; bool m_snsHasBeenSet = false; SqsAction m_sqs; bool m_sqsHasBeenSet = false; KinesisAction m_kinesis; bool m_kinesisHasBeenSet = false; RepublishAction m_republish; bool m_republishHasBeenSet = false; S3Action m_s3; bool m_s3HasBeenSet = false; FirehoseAction m_firehose; bool m_firehoseHasBeenSet = false; CloudwatchMetricAction m_cloudwatchMetric; bool m_cloudwatchMetricHasBeenSet = false; CloudwatchAlarmAction m_cloudwatchAlarm; bool m_cloudwatchAlarmHasBeenSet = false; CloudwatchLogsAction m_cloudwatchLogs; bool m_cloudwatchLogsHasBeenSet = false; ElasticsearchAction m_elasticsearch; bool m_elasticsearchHasBeenSet = false; SalesforceAction m_salesforce; bool m_salesforceHasBeenSet = false; IotAnalyticsAction m_iotAnalytics; bool m_iotAnalyticsHasBeenSet = false; IotEventsAction m_iotEvents; bool m_iotEventsHasBeenSet = false; IotSiteWiseAction m_iotSiteWise; bool m_iotSiteWiseHasBeenSet = false; StepFunctionsAction m_stepFunctions; bool m_stepFunctionsHasBeenSet = false; TimestreamAction m_timestream; bool m_timestreamHasBeenSet = false; HttpAction m_http; bool m_httpHasBeenSet = false; KafkaAction m_kafka; bool m_kafkaHasBeenSet = false; OpenSearchAction m_openSearch; bool m_openSearchHasBeenSet = false; LocationAction m_location; bool m_locationHasBeenSet = false; }; } // namespace Model } // namespace IoT } // namespace Aws