/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.iot.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *

* Describes the actions associated with a rule. *

*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class Action implements Serializable, Cloneable, StructuredPojo { /** *

* Write to a DynamoDB table. *

*/ private DynamoDBAction dynamoDB; /** *

* 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. *

*/ private DynamoDBv2Action dynamoDBv2; /** *

* Invoke a Lambda function. *

*/ private LambdaAction lambda; /** *

* Publish to an Amazon SNS topic. *

*/ private SnsAction sns; /** *

* Publish to an Amazon SQS queue. *

*/ private SqsAction sqs; /** *

* Write data to an Amazon Kinesis stream. *

*/ private KinesisAction kinesis; /** *

* Publish to another MQTT topic. *

*/ private RepublishAction republish; /** *

* Write to an Amazon S3 bucket. *

*/ private S3Action s3; /** *

* Write to an Amazon Kinesis Firehose stream. *

*/ private FirehoseAction firehose; /** *

* Capture a CloudWatch metric. *

*/ private CloudwatchMetricAction cloudwatchMetric; /** *

* Change the state of a CloudWatch alarm. *

*/ private CloudwatchAlarmAction cloudwatchAlarm; /** *

* Send data to CloudWatch Logs. *

*/ private CloudwatchLogsAction cloudwatchLogs; /** *

* 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. *

*
*/ private ElasticsearchAction elasticsearch; /** *

* Send a message to a Salesforce IoT Cloud Input Stream. *

*/ private SalesforceAction salesforce; /** *

* Sends message data to an IoT Analytics channel. *

*/ private IotAnalyticsAction iotAnalytics; /** *

* Sends an input to an IoT Events detector. *

*/ private IotEventsAction iotEvents; /** *

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

*/ private IotSiteWiseAction iotSiteWise; /** *

* Starts execution of a Step Functions state machine. *

*/ private StepFunctionsAction stepFunctions; /** *

* 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. *

*/ private TimestreamAction timestream; /** *

* Send data to an HTTPS endpoint. *

*/ private HttpAction http; /** *

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

*/ private KafkaAction kafka; /** *

* Write data to an Amazon OpenSearch Service domain. *

*/ private OpenSearchAction openSearch; /** *

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

*/ private LocationAction location; /** *

* Write to a DynamoDB table. *

* * @param dynamoDB * Write to a DynamoDB table. */ public void setDynamoDB(DynamoDBAction dynamoDB) { this.dynamoDB = dynamoDB; } /** *

* Write to a DynamoDB table. *

* * @return Write to a DynamoDB table. */ public DynamoDBAction getDynamoDB() { return this.dynamoDB; } /** *

* Write to a DynamoDB table. *

* * @param dynamoDB * Write to a DynamoDB table. * @return Returns a reference to this object so that method calls can be chained together. */ public Action withDynamoDB(DynamoDBAction dynamoDB) { setDynamoDB(dynamoDB); 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. *

* * @param 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. */ public void setDynamoDBv2(DynamoDBv2Action dynamoDBv2) { this.dynamoDBv2 = 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. *

* * @return 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. */ public DynamoDBv2Action getDynamoDBv2() { return this.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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public Action withDynamoDBv2(DynamoDBv2Action dynamoDBv2) { setDynamoDBv2(dynamoDBv2); return this; } /** *

* Invoke a Lambda function. *

* * @param lambda * Invoke a Lambda function. */ public void setLambda(LambdaAction lambda) { this.lambda = lambda; } /** *

* Invoke a Lambda function. *

* * @return Invoke a Lambda function. */ public LambdaAction getLambda() { return this.lambda; } /** *

* Invoke a Lambda function. *

* * @param lambda * Invoke a Lambda function. * @return Returns a reference to this object so that method calls can be chained together. */ public Action withLambda(LambdaAction lambda) { setLambda(lambda); return this; } /** *

* Publish to an Amazon SNS topic. *

* * @param sns * Publish to an Amazon SNS topic. */ public void setSns(SnsAction sns) { this.sns = sns; } /** *

* Publish to an Amazon SNS topic. *

* * @return Publish to an Amazon SNS topic. */ public SnsAction getSns() { return this.sns; } /** *

* Publish to an Amazon SNS topic. *

* * @param sns * Publish to an Amazon SNS topic. * @return Returns a reference to this object so that method calls can be chained together. */ public Action withSns(SnsAction sns) { setSns(sns); return this; } /** *

* Publish to an Amazon SQS queue. *

* * @param sqs * Publish to an Amazon SQS queue. */ public void setSqs(SqsAction sqs) { this.sqs = sqs; } /** *

* Publish to an Amazon SQS queue. *

* * @return Publish to an Amazon SQS queue. */ public SqsAction getSqs() { return this.sqs; } /** *

* Publish to an Amazon SQS queue. *

* * @param sqs * Publish to an Amazon SQS queue. * @return Returns a reference to this object so that method calls can be chained together. */ public Action withSqs(SqsAction sqs) { setSqs(sqs); return this; } /** *

* Write data to an Amazon Kinesis stream. *

* * @param kinesis * Write data to an Amazon Kinesis stream. */ public void setKinesis(KinesisAction kinesis) { this.kinesis = kinesis; } /** *

* Write data to an Amazon Kinesis stream. *

* * @return Write data to an Amazon Kinesis stream. */ public KinesisAction getKinesis() { return this.kinesis; } /** *

* Write data to an Amazon Kinesis stream. *

* * @param kinesis * Write data to an Amazon Kinesis stream. * @return Returns a reference to this object so that method calls can be chained together. */ public Action withKinesis(KinesisAction kinesis) { setKinesis(kinesis); return this; } /** *

* Publish to another MQTT topic. *

* * @param republish * Publish to another MQTT topic. */ public void setRepublish(RepublishAction republish) { this.republish = republish; } /** *

* Publish to another MQTT topic. *

* * @return Publish to another MQTT topic. */ public RepublishAction getRepublish() { return this.republish; } /** *

* Publish to another MQTT topic. *

* * @param republish * Publish to another MQTT topic. * @return Returns a reference to this object so that method calls can be chained together. */ public Action withRepublish(RepublishAction republish) { setRepublish(republish); return this; } /** *

* Write to an Amazon S3 bucket. *

* * @param s3 * Write to an Amazon S3 bucket. */ public void setS3(S3Action s3) { this.s3 = s3; } /** *

* Write to an Amazon S3 bucket. *

* * @return Write to an Amazon S3 bucket. */ public S3Action getS3() { return this.s3; } /** *

* Write to an Amazon S3 bucket. *

* * @param s3 * Write to an Amazon S3 bucket. * @return Returns a reference to this object so that method calls can be chained together. */ public Action withS3(S3Action s3) { setS3(s3); return this; } /** *

* Write to an Amazon Kinesis Firehose stream. *

* * @param firehose * Write to an Amazon Kinesis Firehose stream. */ public void setFirehose(FirehoseAction firehose) { this.firehose = firehose; } /** *

* Write to an Amazon Kinesis Firehose stream. *

* * @return Write to an Amazon Kinesis Firehose stream. */ public FirehoseAction getFirehose() { return this.firehose; } /** *

* Write to an Amazon Kinesis Firehose stream. *

* * @param firehose * Write to an Amazon Kinesis Firehose stream. * @return Returns a reference to this object so that method calls can be chained together. */ public Action withFirehose(FirehoseAction firehose) { setFirehose(firehose); return this; } /** *

* Capture a CloudWatch metric. *

* * @param cloudwatchMetric * Capture a CloudWatch metric. */ public void setCloudwatchMetric(CloudwatchMetricAction cloudwatchMetric) { this.cloudwatchMetric = cloudwatchMetric; } /** *

* Capture a CloudWatch metric. *

* * @return Capture a CloudWatch metric. */ public CloudwatchMetricAction getCloudwatchMetric() { return this.cloudwatchMetric; } /** *

* Capture a CloudWatch metric. *

* * @param cloudwatchMetric * Capture a CloudWatch metric. * @return Returns a reference to this object so that method calls can be chained together. */ public Action withCloudwatchMetric(CloudwatchMetricAction cloudwatchMetric) { setCloudwatchMetric(cloudwatchMetric); return this; } /** *

* Change the state of a CloudWatch alarm. *

* * @param cloudwatchAlarm * Change the state of a CloudWatch alarm. */ public void setCloudwatchAlarm(CloudwatchAlarmAction cloudwatchAlarm) { this.cloudwatchAlarm = cloudwatchAlarm; } /** *

* Change the state of a CloudWatch alarm. *

* * @return Change the state of a CloudWatch alarm. */ public CloudwatchAlarmAction getCloudwatchAlarm() { return this.cloudwatchAlarm; } /** *

* Change the state of a CloudWatch alarm. *

* * @param cloudwatchAlarm * Change the state of a CloudWatch alarm. * @return Returns a reference to this object so that method calls can be chained together. */ public Action withCloudwatchAlarm(CloudwatchAlarmAction cloudwatchAlarm) { setCloudwatchAlarm(cloudwatchAlarm); return this; } /** *

* Send data to CloudWatch Logs. *

* * @param cloudwatchLogs * Send data to CloudWatch Logs. */ public void setCloudwatchLogs(CloudwatchLogsAction cloudwatchLogs) { this.cloudwatchLogs = cloudwatchLogs; } /** *

* Send data to CloudWatch Logs. *

* * @return Send data to CloudWatch Logs. */ public CloudwatchLogsAction getCloudwatchLogs() { return this.cloudwatchLogs; } /** *

* Send data to CloudWatch Logs. *

* * @param cloudwatchLogs * Send data to CloudWatch Logs. * @return Returns a reference to this object so that method calls can be chained together. */ public Action withCloudwatchLogs(CloudwatchLogsAction cloudwatchLogs) { setCloudwatchLogs(cloudwatchLogs); 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. *

*
* * @param 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. *

*/ public void setElasticsearch(ElasticsearchAction elasticsearch) { this.elasticsearch = 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. *

*
* * @return 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. *

*/ public ElasticsearchAction getElasticsearch() { return this.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. *

*
* * @param 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. *

* @return Returns a reference to this object so that method calls can be chained together. */ public Action withElasticsearch(ElasticsearchAction elasticsearch) { setElasticsearch(elasticsearch); return this; } /** *

* Send a message to a Salesforce IoT Cloud Input Stream. *

* * @param salesforce * Send a message to a Salesforce IoT Cloud Input Stream. */ public void setSalesforce(SalesforceAction salesforce) { this.salesforce = salesforce; } /** *

* Send a message to a Salesforce IoT Cloud Input Stream. *

* * @return Send a message to a Salesforce IoT Cloud Input Stream. */ public SalesforceAction getSalesforce() { return this.salesforce; } /** *

* Send a message to a Salesforce IoT Cloud Input Stream. *

* * @param salesforce * Send a message to a Salesforce IoT Cloud Input Stream. * @return Returns a reference to this object so that method calls can be chained together. */ public Action withSalesforce(SalesforceAction salesforce) { setSalesforce(salesforce); return this; } /** *

* Sends message data to an IoT Analytics channel. *

* * @param iotAnalytics * Sends message data to an IoT Analytics channel. */ public void setIotAnalytics(IotAnalyticsAction iotAnalytics) { this.iotAnalytics = iotAnalytics; } /** *

* Sends message data to an IoT Analytics channel. *

* * @return Sends message data to an IoT Analytics channel. */ public IotAnalyticsAction getIotAnalytics() { return this.iotAnalytics; } /** *

* Sends message data to an IoT Analytics channel. *

* * @param iotAnalytics * Sends message data to an IoT Analytics channel. * @return Returns a reference to this object so that method calls can be chained together. */ public Action withIotAnalytics(IotAnalyticsAction iotAnalytics) { setIotAnalytics(iotAnalytics); return this; } /** *

* Sends an input to an IoT Events detector. *

* * @param iotEvents * Sends an input to an IoT Events detector. */ public void setIotEvents(IotEventsAction iotEvents) { this.iotEvents = iotEvents; } /** *

* Sends an input to an IoT Events detector. *

* * @return Sends an input to an IoT Events detector. */ public IotEventsAction getIotEvents() { return this.iotEvents; } /** *

* Sends an input to an IoT Events detector. *

* * @param iotEvents * Sends an input to an IoT Events detector. * @return Returns a reference to this object so that method calls can be chained together. */ public Action withIotEvents(IotEventsAction iotEvents) { setIotEvents(iotEvents); return this; } /** *

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

* * @param iotSiteWise * Sends data from the MQTT message that triggered the rule to IoT SiteWise asset properties. */ public void setIotSiteWise(IotSiteWiseAction iotSiteWise) { this.iotSiteWise = iotSiteWise; } /** *

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

* * @return Sends data from the MQTT message that triggered the rule to IoT SiteWise asset properties. */ public IotSiteWiseAction getIotSiteWise() { return this.iotSiteWise; } /** *

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

* * @param iotSiteWise * Sends data from the MQTT message that triggered the rule to IoT SiteWise asset properties. * @return Returns a reference to this object so that method calls can be chained together. */ public Action withIotSiteWise(IotSiteWiseAction iotSiteWise) { setIotSiteWise(iotSiteWise); return this; } /** *

* Starts execution of a Step Functions state machine. *

* * @param stepFunctions * Starts execution of a Step Functions state machine. */ public void setStepFunctions(StepFunctionsAction stepFunctions) { this.stepFunctions = stepFunctions; } /** *

* Starts execution of a Step Functions state machine. *

* * @return Starts execution of a Step Functions state machine. */ public StepFunctionsAction getStepFunctions() { return this.stepFunctions; } /** *

* Starts execution of a Step Functions state machine. *

* * @param stepFunctions * Starts execution of a Step Functions state machine. * @return Returns a reference to this object so that method calls can be chained together. */ public Action withStepFunctions(StepFunctionsAction stepFunctions) { setStepFunctions(stepFunctions); 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. *

* * @param 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. */ public void setTimestream(TimestreamAction timestream) { this.timestream = 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. *

* * @return 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. */ public TimestreamAction getTimestream() { return this.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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public Action withTimestream(TimestreamAction timestream) { setTimestream(timestream); return this; } /** *

* Send data to an HTTPS endpoint. *

* * @param http * Send data to an HTTPS endpoint. */ public void setHttp(HttpAction http) { this.http = http; } /** *

* Send data to an HTTPS endpoint. *

* * @return Send data to an HTTPS endpoint. */ public HttpAction getHttp() { return this.http; } /** *

* Send data to an HTTPS endpoint. *

* * @param http * Send data to an HTTPS endpoint. * @return Returns a reference to this object so that method calls can be chained together. */ public Action withHttp(HttpAction http) { setHttp(http); return this; } /** *

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

* * @param kafka * Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon MSK) or self-managed Apache Kafka * cluster. */ public void setKafka(KafkaAction kafka) { this.kafka = kafka; } /** *

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

* * @return Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon MSK) or self-managed Apache Kafka * cluster. */ public KafkaAction getKafka() { return this.kafka; } /** *

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

* * @param kafka * Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon MSK) or self-managed Apache Kafka * cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Action withKafka(KafkaAction kafka) { setKafka(kafka); return this; } /** *

* Write data to an Amazon OpenSearch Service domain. *

* * @param openSearch * Write data to an Amazon OpenSearch Service domain. */ public void setOpenSearch(OpenSearchAction openSearch) { this.openSearch = openSearch; } /** *

* Write data to an Amazon OpenSearch Service domain. *

* * @return Write data to an Amazon OpenSearch Service domain. */ public OpenSearchAction getOpenSearch() { return this.openSearch; } /** *

* Write data to an Amazon OpenSearch Service domain. *

* * @param openSearch * Write data to an Amazon OpenSearch Service domain. * @return Returns a reference to this object so that method calls can be chained together. */ public Action withOpenSearch(OpenSearchAction openSearch) { setOpenSearch(openSearch); return this; } /** *

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

* * @param location * The Amazon Location Service rule action sends device location updates from an MQTT message to an Amazon * Location tracker resource. */ public void setLocation(LocationAction location) { this.location = location; } /** *

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

* * @return The Amazon Location Service rule action sends device location updates from an MQTT message to an Amazon * Location tracker resource. */ public LocationAction getLocation() { return this.location; } /** *

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

* * @param location * The Amazon Location Service rule action sends device location updates from an MQTT message to an Amazon * Location tracker resource. * @return Returns a reference to this object so that method calls can be chained together. */ public Action withLocation(LocationAction location) { setLocation(location); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getDynamoDB() != null) sb.append("DynamoDB: ").append(getDynamoDB()).append(","); if (getDynamoDBv2() != null) sb.append("DynamoDBv2: ").append(getDynamoDBv2()).append(","); if (getLambda() != null) sb.append("Lambda: ").append(getLambda()).append(","); if (getSns() != null) sb.append("Sns: ").append(getSns()).append(","); if (getSqs() != null) sb.append("Sqs: ").append(getSqs()).append(","); if (getKinesis() != null) sb.append("Kinesis: ").append(getKinesis()).append(","); if (getRepublish() != null) sb.append("Republish: ").append(getRepublish()).append(","); if (getS3() != null) sb.append("S3: ").append(getS3()).append(","); if (getFirehose() != null) sb.append("Firehose: ").append(getFirehose()).append(","); if (getCloudwatchMetric() != null) sb.append("CloudwatchMetric: ").append(getCloudwatchMetric()).append(","); if (getCloudwatchAlarm() != null) sb.append("CloudwatchAlarm: ").append(getCloudwatchAlarm()).append(","); if (getCloudwatchLogs() != null) sb.append("CloudwatchLogs: ").append(getCloudwatchLogs()).append(","); if (getElasticsearch() != null) sb.append("Elasticsearch: ").append(getElasticsearch()).append(","); if (getSalesforce() != null) sb.append("Salesforce: ").append(getSalesforce()).append(","); if (getIotAnalytics() != null) sb.append("IotAnalytics: ").append(getIotAnalytics()).append(","); if (getIotEvents() != null) sb.append("IotEvents: ").append(getIotEvents()).append(","); if (getIotSiteWise() != null) sb.append("IotSiteWise: ").append(getIotSiteWise()).append(","); if (getStepFunctions() != null) sb.append("StepFunctions: ").append(getStepFunctions()).append(","); if (getTimestream() != null) sb.append("Timestream: ").append(getTimestream()).append(","); if (getHttp() != null) sb.append("Http: ").append(getHttp()).append(","); if (getKafka() != null) sb.append("Kafka: ").append(getKafka()).append(","); if (getOpenSearch() != null) sb.append("OpenSearch: ").append(getOpenSearch()).append(","); if (getLocation() != null) sb.append("Location: ").append(getLocation()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof Action == false) return false; Action other = (Action) obj; if (other.getDynamoDB() == null ^ this.getDynamoDB() == null) return false; if (other.getDynamoDB() != null && other.getDynamoDB().equals(this.getDynamoDB()) == false) return false; if (other.getDynamoDBv2() == null ^ this.getDynamoDBv2() == null) return false; if (other.getDynamoDBv2() != null && other.getDynamoDBv2().equals(this.getDynamoDBv2()) == false) return false; if (other.getLambda() == null ^ this.getLambda() == null) return false; if (other.getLambda() != null && other.getLambda().equals(this.getLambda()) == false) return false; if (other.getSns() == null ^ this.getSns() == null) return false; if (other.getSns() != null && other.getSns().equals(this.getSns()) == false) return false; if (other.getSqs() == null ^ this.getSqs() == null) return false; if (other.getSqs() != null && other.getSqs().equals(this.getSqs()) == false) return false; if (other.getKinesis() == null ^ this.getKinesis() == null) return false; if (other.getKinesis() != null && other.getKinesis().equals(this.getKinesis()) == false) return false; if (other.getRepublish() == null ^ this.getRepublish() == null) return false; if (other.getRepublish() != null && other.getRepublish().equals(this.getRepublish()) == false) return false; if (other.getS3() == null ^ this.getS3() == null) return false; if (other.getS3() != null && other.getS3().equals(this.getS3()) == false) return false; if (other.getFirehose() == null ^ this.getFirehose() == null) return false; if (other.getFirehose() != null && other.getFirehose().equals(this.getFirehose()) == false) return false; if (other.getCloudwatchMetric() == null ^ this.getCloudwatchMetric() == null) return false; if (other.getCloudwatchMetric() != null && other.getCloudwatchMetric().equals(this.getCloudwatchMetric()) == false) return false; if (other.getCloudwatchAlarm() == null ^ this.getCloudwatchAlarm() == null) return false; if (other.getCloudwatchAlarm() != null && other.getCloudwatchAlarm().equals(this.getCloudwatchAlarm()) == false) return false; if (other.getCloudwatchLogs() == null ^ this.getCloudwatchLogs() == null) return false; if (other.getCloudwatchLogs() != null && other.getCloudwatchLogs().equals(this.getCloudwatchLogs()) == false) return false; if (other.getElasticsearch() == null ^ this.getElasticsearch() == null) return false; if (other.getElasticsearch() != null && other.getElasticsearch().equals(this.getElasticsearch()) == false) return false; if (other.getSalesforce() == null ^ this.getSalesforce() == null) return false; if (other.getSalesforce() != null && other.getSalesforce().equals(this.getSalesforce()) == false) return false; if (other.getIotAnalytics() == null ^ this.getIotAnalytics() == null) return false; if (other.getIotAnalytics() != null && other.getIotAnalytics().equals(this.getIotAnalytics()) == false) return false; if (other.getIotEvents() == null ^ this.getIotEvents() == null) return false; if (other.getIotEvents() != null && other.getIotEvents().equals(this.getIotEvents()) == false) return false; if (other.getIotSiteWise() == null ^ this.getIotSiteWise() == null) return false; if (other.getIotSiteWise() != null && other.getIotSiteWise().equals(this.getIotSiteWise()) == false) return false; if (other.getStepFunctions() == null ^ this.getStepFunctions() == null) return false; if (other.getStepFunctions() != null && other.getStepFunctions().equals(this.getStepFunctions()) == false) return false; if (other.getTimestream() == null ^ this.getTimestream() == null) return false; if (other.getTimestream() != null && other.getTimestream().equals(this.getTimestream()) == false) return false; if (other.getHttp() == null ^ this.getHttp() == null) return false; if (other.getHttp() != null && other.getHttp().equals(this.getHttp()) == false) return false; if (other.getKafka() == null ^ this.getKafka() == null) return false; if (other.getKafka() != null && other.getKafka().equals(this.getKafka()) == false) return false; if (other.getOpenSearch() == null ^ this.getOpenSearch() == null) return false; if (other.getOpenSearch() != null && other.getOpenSearch().equals(this.getOpenSearch()) == false) return false; if (other.getLocation() == null ^ this.getLocation() == null) return false; if (other.getLocation() != null && other.getLocation().equals(this.getLocation()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getDynamoDB() == null) ? 0 : getDynamoDB().hashCode()); hashCode = prime * hashCode + ((getDynamoDBv2() == null) ? 0 : getDynamoDBv2().hashCode()); hashCode = prime * hashCode + ((getLambda() == null) ? 0 : getLambda().hashCode()); hashCode = prime * hashCode + ((getSns() == null) ? 0 : getSns().hashCode()); hashCode = prime * hashCode + ((getSqs() == null) ? 0 : getSqs().hashCode()); hashCode = prime * hashCode + ((getKinesis() == null) ? 0 : getKinesis().hashCode()); hashCode = prime * hashCode + ((getRepublish() == null) ? 0 : getRepublish().hashCode()); hashCode = prime * hashCode + ((getS3() == null) ? 0 : getS3().hashCode()); hashCode = prime * hashCode + ((getFirehose() == null) ? 0 : getFirehose().hashCode()); hashCode = prime * hashCode + ((getCloudwatchMetric() == null) ? 0 : getCloudwatchMetric().hashCode()); hashCode = prime * hashCode + ((getCloudwatchAlarm() == null) ? 0 : getCloudwatchAlarm().hashCode()); hashCode = prime * hashCode + ((getCloudwatchLogs() == null) ? 0 : getCloudwatchLogs().hashCode()); hashCode = prime * hashCode + ((getElasticsearch() == null) ? 0 : getElasticsearch().hashCode()); hashCode = prime * hashCode + ((getSalesforce() == null) ? 0 : getSalesforce().hashCode()); hashCode = prime * hashCode + ((getIotAnalytics() == null) ? 0 : getIotAnalytics().hashCode()); hashCode = prime * hashCode + ((getIotEvents() == null) ? 0 : getIotEvents().hashCode()); hashCode = prime * hashCode + ((getIotSiteWise() == null) ? 0 : getIotSiteWise().hashCode()); hashCode = prime * hashCode + ((getStepFunctions() == null) ? 0 : getStepFunctions().hashCode()); hashCode = prime * hashCode + ((getTimestream() == null) ? 0 : getTimestream().hashCode()); hashCode = prime * hashCode + ((getHttp() == null) ? 0 : getHttp().hashCode()); hashCode = prime * hashCode + ((getKafka() == null) ? 0 : getKafka().hashCode()); hashCode = prime * hashCode + ((getOpenSearch() == null) ? 0 : getOpenSearch().hashCode()); hashCode = prime * hashCode + ((getLocation() == null) ? 0 : getLocation().hashCode()); return hashCode; } @Override public Action clone() { try { return (Action) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.iot.model.transform.ActionMarshaller.getInstance().marshall(this, protocolMarshaller); } }