/* * Copyright 2010-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; /** *
* Describes the actions associated with a rule. *
*/ public class Action implements Serializable { /** ** 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.
*
* 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. *
* * @return* Write to a DynamoDB table. *
*/ public DynamoDBAction getDynamoDB() { return dynamoDB; } /** ** 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. *
** Returns a reference to this object so that method calls can be chained * together. * * @param dynamoDB
* Write to a DynamoDB table. *
* @return A reference to this updated object so that method calls can be * chained together. */ public Action withDynamoDB(DynamoDBAction dynamoDB) { this.dynamoDB = 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. *
* * @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 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. *
*/ 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. *
** Returns a reference to this object so that method calls can be chained * together. * * @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 A reference to this updated object so that method calls can be * chained together. */ public Action withDynamoDBv2(DynamoDBv2Action dynamoDBv2) { this.dynamoDBv2 = dynamoDBv2; return this; } /** ** Invoke a Lambda function. *
* * @return* Invoke a Lambda function. *
*/ public LambdaAction getLambda() { return lambda; } /** ** Invoke a Lambda function. *
* * @param lambda* Invoke a Lambda function. *
*/ public void setLambda(LambdaAction lambda) { this.lambda = lambda; } /** ** Invoke a Lambda function. *
** Returns a reference to this object so that method calls can be chained * together. * * @param lambda
* Invoke a Lambda function. *
* @return A reference to this updated object so that method calls can be * chained together. */ public Action withLambda(LambdaAction lambda) { this.lambda = lambda; return this; } /** ** Publish to an Amazon SNS topic. *
* * @return* Publish to an Amazon SNS topic. *
*/ public SnsAction getSns() { return sns; } /** ** 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. *
** Returns a reference to this object so that method calls can be chained * together. * * @param sns
* Publish to an Amazon SNS topic. *
* @return A reference to this updated object so that method calls can be * chained together. */ public Action withSns(SnsAction sns) { this.sns = sns; return this; } /** ** Publish to an Amazon SQS queue. *
* * @return* Publish to an Amazon SQS queue. *
*/ public SqsAction getSqs() { return sqs; } /** ** 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. *
** Returns a reference to this object so that method calls can be chained * together. * * @param sqs
* Publish to an Amazon SQS queue. *
* @return A reference to this updated object so that method calls can be * chained together. */ public Action withSqs(SqsAction sqs) { this.sqs = sqs; return this; } /** ** Write data to an Amazon Kinesis stream. *
* * @return* Write data to an Amazon Kinesis stream. *
*/ public KinesisAction getKinesis() { return kinesis; } /** ** 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. *
** Returns a reference to this object so that method calls can be chained * together. * * @param kinesis
* Write data to an Amazon Kinesis stream. *
* @return A reference to this updated object so that method calls can be * chained together. */ public Action withKinesis(KinesisAction kinesis) { this.kinesis = kinesis; return this; } /** ** Publish to another MQTT topic. *
* * @return* Publish to another MQTT topic. *
*/ public RepublishAction getRepublish() { return republish; } /** ** 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. *
** Returns a reference to this object so that method calls can be chained * together. * * @param republish
* Publish to another MQTT topic. *
* @return A reference to this updated object so that method calls can be * chained together. */ public Action withRepublish(RepublishAction republish) { this.republish = republish; return this; } /** ** Write to an Amazon S3 bucket. *
* * @return* Write to an Amazon S3 bucket. *
*/ public S3Action getS3() { return s3; } /** ** 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. *
** Returns a reference to this object so that method calls can be chained * together. * * @param s3
* Write to an Amazon S3 bucket. *
* @return A reference to this updated object so that method calls can be * chained together. */ public Action withS3(S3Action s3) { this.s3 = s3; return this; } /** ** Write to an Amazon Kinesis Firehose stream. *
* * @return* Write to an Amazon Kinesis Firehose stream. *
*/ public FirehoseAction getFirehose() { return firehose; } /** ** 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. *
** Returns a reference to this object so that method calls can be chained * together. * * @param firehose
* Write to an Amazon Kinesis Firehose stream. *
* @return A reference to this updated object so that method calls can be * chained together. */ public Action withFirehose(FirehoseAction firehose) { this.firehose = firehose; return this; } /** ** Capture a CloudWatch metric. *
* * @return* Capture a CloudWatch metric. *
*/ public CloudwatchMetricAction getCloudwatchMetric() { return cloudwatchMetric; } /** ** Capture a CloudWatch metric. *
* * @param cloudwatchMetric* Capture a CloudWatch metric. *
*/ public void setCloudwatchMetric(CloudwatchMetricAction cloudwatchMetric) { this.cloudwatchMetric = cloudwatchMetric; } /** ** Capture a CloudWatch metric. *
** Returns a reference to this object so that method calls can be chained * together. * * @param cloudwatchMetric
* Capture a CloudWatch metric. *
* @return A reference to this updated object so that method calls can be * chained together. */ public Action withCloudwatchMetric(CloudwatchMetricAction cloudwatchMetric) { this.cloudwatchMetric = cloudwatchMetric; return this; } /** ** Change the state of a CloudWatch alarm. *
* * @return* Change the state of a CloudWatch alarm. *
*/ public CloudwatchAlarmAction getCloudwatchAlarm() { return cloudwatchAlarm; } /** ** 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. *
** Returns a reference to this object so that method calls can be chained * together. * * @param cloudwatchAlarm
* Change the state of a CloudWatch alarm. *
* @return A reference to this updated object so that method calls can be * chained together. */ public Action withCloudwatchAlarm(CloudwatchAlarmAction cloudwatchAlarm) { this.cloudwatchAlarm = cloudwatchAlarm; return this; } /** ** Send data to CloudWatch Logs. *
* * @return* Send data to CloudWatch Logs. *
*/ public CloudwatchLogsAction getCloudwatchLogs() { return cloudwatchLogs; } /** ** 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. *
** Returns a reference to this object so that method calls can be chained * together. * * @param cloudwatchLogs
* Send data to CloudWatch Logs. *
* @return A reference to this updated object so that method calls can be * chained together. */ public Action withCloudwatchLogs(CloudwatchLogsAction cloudwatchLogs) { this.cloudwatchLogs = 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* Returns a reference to this object so that method calls can be chained * together. * * @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.
*
* 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 salesforce; } /** ** 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. *
** Returns a reference to this object so that method calls can be chained * together. * * @param salesforce
* Send a message to a Salesforce IoT Cloud Input Stream. *
* @return A reference to this updated object so that method calls can be * chained together. */ public Action withSalesforce(SalesforceAction salesforce) { this.salesforce = salesforce; return this; } /** ** Sends message data to an IoT Analytics channel. *
* * @return* Sends message data to an IoT Analytics channel. *
*/ public IotAnalyticsAction getIotAnalytics() { return iotAnalytics; } /** ** 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. *
** Returns a reference to this object so that method calls can be chained * together. * * @param iotAnalytics
* Sends message data to an IoT Analytics channel. *
* @return A reference to this updated object so that method calls can be * chained together. */ public Action withIotAnalytics(IotAnalyticsAction iotAnalytics) { this.iotAnalytics = iotAnalytics; return this; } /** ** Sends an input to an IoT Events detector. *
* * @return* Sends an input to an IoT Events detector. *
*/ public IotEventsAction getIotEvents() { return iotEvents; } /** ** 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. *
** Returns a reference to this object so that method calls can be chained * together. * * @param iotEvents
* Sends an input to an IoT Events detector. *
* @return A reference to this updated object so that method calls can be * chained together. */ public Action withIotEvents(IotEventsAction iotEvents) { this.iotEvents = iotEvents; return this; } /** ** 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 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. *
*/ public void setIotSiteWise(IotSiteWiseAction iotSiteWise) { this.iotSiteWise = iotSiteWise; } /** ** Sends data from the MQTT message that triggered the rule to IoT SiteWise * asset properties. *
** Returns a reference to this object so that method calls can be chained * together. * * @param iotSiteWise
* Sends data from the MQTT message that triggered the rule to * IoT SiteWise asset properties. *
* @return A reference to this updated object so that method calls can be * chained together. */ public Action withIotSiteWise(IotSiteWiseAction iotSiteWise) { this.iotSiteWise = iotSiteWise; return this; } /** ** Starts execution of a Step Functions state machine. *
* * @return* Starts execution of a Step Functions state machine. *
*/ public StepFunctionsAction getStepFunctions() { return stepFunctions; } /** ** 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. *
** Returns a reference to this object so that method calls can be chained * together. * * @param stepFunctions
* Starts execution of a Step Functions state machine. *
* @return A reference to this updated object so that method calls can be * chained together. */ public Action withStepFunctions(StepFunctionsAction stepFunctions) { this.stepFunctions = 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. *
* * @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 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. *
*/ 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. *
** Returns a reference to this object so that method calls can be chained * together. * * @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 A reference to this updated object so that method calls can be * chained together. */ public Action withTimestream(TimestreamAction timestream) { this.timestream = timestream; return this; } /** ** Send data to an HTTPS endpoint. *
* * @return* Send data to an HTTPS endpoint. *
*/ public HttpAction getHttp() { return http; } /** ** 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. *
** Returns a reference to this object so that method calls can be chained * together. * * @param http
* Send data to an HTTPS endpoint. *
* @return A reference to this updated object so that method calls can be * chained together. */ public Action withHttp(HttpAction http) { this.http = http; return this; } /** ** 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 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. *
*/ 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. *
** Returns a reference to this object so that method calls can be chained * together. * * @param kafka
* Send messages to an Amazon Managed Streaming for Apache Kafka * (Amazon MSK) or self-managed Apache Kafka cluster. *
* @return A reference to this updated object so that method calls can be * chained together. */ public Action withKafka(KafkaAction kafka) { this.kafka = kafka; return this; } /** ** Write data to an Amazon OpenSearch Service domain. *
* * @return* Write data to an Amazon OpenSearch Service domain. *
*/ public OpenSearchAction getOpenSearch() { return openSearch; } /** ** 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. *
** Returns a reference to this object so that method calls can be chained * together. * * @param openSearch
* Write data to an Amazon OpenSearch Service domain. *
* @return A reference to this updated object so that method calls can be * chained together. */ public Action withOpenSearch(OpenSearchAction openSearch) { this.openSearch = openSearch; return this; } /** ** 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 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. *
*/ 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. *
** Returns a reference to this object so that method calls can be chained * together. * * @param location
* The Amazon Location Service rule action sends device location * updates from an MQTT message to an Amazon Location tracker * resource. *
* @return A reference to this updated object so that method calls can be * chained together. */ public Action withLocation(LocationAction location) { this.location = location; return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @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: " + getDynamoDB() + ","); if (getDynamoDBv2() != null) sb.append("dynamoDBv2: " + getDynamoDBv2() + ","); if (getLambda() != null) sb.append("lambda: " + getLambda() + ","); if (getSns() != null) sb.append("sns: " + getSns() + ","); if (getSqs() != null) sb.append("sqs: " + getSqs() + ","); if (getKinesis() != null) sb.append("kinesis: " + getKinesis() + ","); if (getRepublish() != null) sb.append("republish: " + getRepublish() + ","); if (getS3() != null) sb.append("s3: " + getS3() + ","); if (getFirehose() != null) sb.append("firehose: " + getFirehose() + ","); if (getCloudwatchMetric() != null) sb.append("cloudwatchMetric: " + getCloudwatchMetric() + ","); if (getCloudwatchAlarm() != null) sb.append("cloudwatchAlarm: " + getCloudwatchAlarm() + ","); if (getCloudwatchLogs() != null) sb.append("cloudwatchLogs: " + getCloudwatchLogs() + ","); if (getElasticsearch() != null) sb.append("elasticsearch: " + getElasticsearch() + ","); if (getSalesforce() != null) sb.append("salesforce: " + getSalesforce() + ","); if (getIotAnalytics() != null) sb.append("iotAnalytics: " + getIotAnalytics() + ","); if (getIotEvents() != null) sb.append("iotEvents: " + getIotEvents() + ","); if (getIotSiteWise() != null) sb.append("iotSiteWise: " + getIotSiteWise() + ","); if (getStepFunctions() != null) sb.append("stepFunctions: " + getStepFunctions() + ","); if (getTimestream() != null) sb.append("timestream: " + getTimestream() + ","); if (getHttp() != null) sb.append("http: " + getHttp() + ","); if (getKafka() != null) sb.append("kafka: " + getKafka() + ","); if (getOpenSearch() != null) sb.append("openSearch: " + getOpenSearch() + ","); if (getLocation() != null) sb.append("location: " + getLocation()); sb.append("}"); return sb.toString(); } @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 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; } }