/* * 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.kinesisanalyticsv2.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *

* For a SQL-based Kinesis Data Analytics application, describes updates to a specific input configuration (identified * by the InputId of an application). *

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

* The input ID of the application input to be updated. *

*/ private String inputId; /** *

* The name prefix for in-application streams that Kinesis Data Analytics creates for the specific streaming source. *

*/ private String namePrefixUpdate; /** *

* Describes updates to an InputProcessingConfiguration. *

*/ private InputProcessingConfigurationUpdate inputProcessingConfigurationUpdate; /** *

* If a Kinesis data stream is the streaming source to be updated, provides an updated stream Amazon Resource Name * (ARN). *

*/ private KinesisStreamsInputUpdate kinesisStreamsInputUpdate; /** *

* If a Kinesis Data Firehose delivery stream is the streaming source to be updated, provides an updated stream ARN. *

*/ private KinesisFirehoseInputUpdate kinesisFirehoseInputUpdate; /** *

* Describes the data format on the streaming source, and how record elements on the streaming source map to columns * of the in-application stream that is created. *

*/ private InputSchemaUpdate inputSchemaUpdate; /** *

* Describes the parallelism updates (the number of in-application streams Kinesis Data Analytics creates for the * specific streaming source). *

*/ private InputParallelismUpdate inputParallelismUpdate; /** *

* The input ID of the application input to be updated. *

* * @param inputId * The input ID of the application input to be updated. */ public void setInputId(String inputId) { this.inputId = inputId; } /** *

* The input ID of the application input to be updated. *

* * @return The input ID of the application input to be updated. */ public String getInputId() { return this.inputId; } /** *

* The input ID of the application input to be updated. *

* * @param inputId * The input ID of the application input to be updated. * @return Returns a reference to this object so that method calls can be chained together. */ public InputUpdate withInputId(String inputId) { setInputId(inputId); return this; } /** *

* The name prefix for in-application streams that Kinesis Data Analytics creates for the specific streaming source. *

* * @param namePrefixUpdate * The name prefix for in-application streams that Kinesis Data Analytics creates for the specific streaming * source. */ public void setNamePrefixUpdate(String namePrefixUpdate) { this.namePrefixUpdate = namePrefixUpdate; } /** *

* The name prefix for in-application streams that Kinesis Data Analytics creates for the specific streaming source. *

* * @return The name prefix for in-application streams that Kinesis Data Analytics creates for the specific streaming * source. */ public String getNamePrefixUpdate() { return this.namePrefixUpdate; } /** *

* The name prefix for in-application streams that Kinesis Data Analytics creates for the specific streaming source. *

* * @param namePrefixUpdate * The name prefix for in-application streams that Kinesis Data Analytics creates for the specific streaming * source. * @return Returns a reference to this object so that method calls can be chained together. */ public InputUpdate withNamePrefixUpdate(String namePrefixUpdate) { setNamePrefixUpdate(namePrefixUpdate); return this; } /** *

* Describes updates to an InputProcessingConfiguration. *

* * @param inputProcessingConfigurationUpdate * Describes updates to an InputProcessingConfiguration. */ public void setInputProcessingConfigurationUpdate(InputProcessingConfigurationUpdate inputProcessingConfigurationUpdate) { this.inputProcessingConfigurationUpdate = inputProcessingConfigurationUpdate; } /** *

* Describes updates to an InputProcessingConfiguration. *

* * @return Describes updates to an InputProcessingConfiguration. */ public InputProcessingConfigurationUpdate getInputProcessingConfigurationUpdate() { return this.inputProcessingConfigurationUpdate; } /** *

* Describes updates to an InputProcessingConfiguration. *

* * @param inputProcessingConfigurationUpdate * Describes updates to an InputProcessingConfiguration. * @return Returns a reference to this object so that method calls can be chained together. */ public InputUpdate withInputProcessingConfigurationUpdate(InputProcessingConfigurationUpdate inputProcessingConfigurationUpdate) { setInputProcessingConfigurationUpdate(inputProcessingConfigurationUpdate); return this; } /** *

* If a Kinesis data stream is the streaming source to be updated, provides an updated stream Amazon Resource Name * (ARN). *

* * @param kinesisStreamsInputUpdate * If a Kinesis data stream is the streaming source to be updated, provides an updated stream Amazon Resource * Name (ARN). */ public void setKinesisStreamsInputUpdate(KinesisStreamsInputUpdate kinesisStreamsInputUpdate) { this.kinesisStreamsInputUpdate = kinesisStreamsInputUpdate; } /** *

* If a Kinesis data stream is the streaming source to be updated, provides an updated stream Amazon Resource Name * (ARN). *

* * @return If a Kinesis data stream is the streaming source to be updated, provides an updated stream Amazon * Resource Name (ARN). */ public KinesisStreamsInputUpdate getKinesisStreamsInputUpdate() { return this.kinesisStreamsInputUpdate; } /** *

* If a Kinesis data stream is the streaming source to be updated, provides an updated stream Amazon Resource Name * (ARN). *

* * @param kinesisStreamsInputUpdate * If a Kinesis data stream is the streaming source to be updated, provides an updated stream Amazon Resource * Name (ARN). * @return Returns a reference to this object so that method calls can be chained together. */ public InputUpdate withKinesisStreamsInputUpdate(KinesisStreamsInputUpdate kinesisStreamsInputUpdate) { setKinesisStreamsInputUpdate(kinesisStreamsInputUpdate); return this; } /** *

* If a Kinesis Data Firehose delivery stream is the streaming source to be updated, provides an updated stream ARN. *

* * @param kinesisFirehoseInputUpdate * If a Kinesis Data Firehose delivery stream is the streaming source to be updated, provides an updated * stream ARN. */ public void setKinesisFirehoseInputUpdate(KinesisFirehoseInputUpdate kinesisFirehoseInputUpdate) { this.kinesisFirehoseInputUpdate = kinesisFirehoseInputUpdate; } /** *

* If a Kinesis Data Firehose delivery stream is the streaming source to be updated, provides an updated stream ARN. *

* * @return If a Kinesis Data Firehose delivery stream is the streaming source to be updated, provides an updated * stream ARN. */ public KinesisFirehoseInputUpdate getKinesisFirehoseInputUpdate() { return this.kinesisFirehoseInputUpdate; } /** *

* If a Kinesis Data Firehose delivery stream is the streaming source to be updated, provides an updated stream ARN. *

* * @param kinesisFirehoseInputUpdate * If a Kinesis Data Firehose delivery stream is the streaming source to be updated, provides an updated * stream ARN. * @return Returns a reference to this object so that method calls can be chained together. */ public InputUpdate withKinesisFirehoseInputUpdate(KinesisFirehoseInputUpdate kinesisFirehoseInputUpdate) { setKinesisFirehoseInputUpdate(kinesisFirehoseInputUpdate); return this; } /** *

* Describes the data format on the streaming source, and how record elements on the streaming source map to columns * of the in-application stream that is created. *

* * @param inputSchemaUpdate * Describes the data format on the streaming source, and how record elements on the streaming source map to * columns of the in-application stream that is created. */ public void setInputSchemaUpdate(InputSchemaUpdate inputSchemaUpdate) { this.inputSchemaUpdate = inputSchemaUpdate; } /** *

* Describes the data format on the streaming source, and how record elements on the streaming source map to columns * of the in-application stream that is created. *

* * @return Describes the data format on the streaming source, and how record elements on the streaming source map to * columns of the in-application stream that is created. */ public InputSchemaUpdate getInputSchemaUpdate() { return this.inputSchemaUpdate; } /** *

* Describes the data format on the streaming source, and how record elements on the streaming source map to columns * of the in-application stream that is created. *

* * @param inputSchemaUpdate * Describes the data format on the streaming source, and how record elements on the streaming source map to * columns of the in-application stream that is created. * @return Returns a reference to this object so that method calls can be chained together. */ public InputUpdate withInputSchemaUpdate(InputSchemaUpdate inputSchemaUpdate) { setInputSchemaUpdate(inputSchemaUpdate); return this; } /** *

* Describes the parallelism updates (the number of in-application streams Kinesis Data Analytics creates for the * specific streaming source). *

* * @param inputParallelismUpdate * Describes the parallelism updates (the number of in-application streams Kinesis Data Analytics creates for * the specific streaming source). */ public void setInputParallelismUpdate(InputParallelismUpdate inputParallelismUpdate) { this.inputParallelismUpdate = inputParallelismUpdate; } /** *

* Describes the parallelism updates (the number of in-application streams Kinesis Data Analytics creates for the * specific streaming source). *

* * @return Describes the parallelism updates (the number of in-application streams Kinesis Data Analytics creates * for the specific streaming source). */ public InputParallelismUpdate getInputParallelismUpdate() { return this.inputParallelismUpdate; } /** *

* Describes the parallelism updates (the number of in-application streams Kinesis Data Analytics creates for the * specific streaming source). *

* * @param inputParallelismUpdate * Describes the parallelism updates (the number of in-application streams Kinesis Data Analytics creates for * the specific streaming source). * @return Returns a reference to this object so that method calls can be chained together. */ public InputUpdate withInputParallelismUpdate(InputParallelismUpdate inputParallelismUpdate) { setInputParallelismUpdate(inputParallelismUpdate); 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 (getInputId() != null) sb.append("InputId: ").append(getInputId()).append(","); if (getNamePrefixUpdate() != null) sb.append("NamePrefixUpdate: ").append(getNamePrefixUpdate()).append(","); if (getInputProcessingConfigurationUpdate() != null) sb.append("InputProcessingConfigurationUpdate: ").append(getInputProcessingConfigurationUpdate()).append(","); if (getKinesisStreamsInputUpdate() != null) sb.append("KinesisStreamsInputUpdate: ").append(getKinesisStreamsInputUpdate()).append(","); if (getKinesisFirehoseInputUpdate() != null) sb.append("KinesisFirehoseInputUpdate: ").append(getKinesisFirehoseInputUpdate()).append(","); if (getInputSchemaUpdate() != null) sb.append("InputSchemaUpdate: ").append(getInputSchemaUpdate()).append(","); if (getInputParallelismUpdate() != null) sb.append("InputParallelismUpdate: ").append(getInputParallelismUpdate()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof InputUpdate == false) return false; InputUpdate other = (InputUpdate) obj; if (other.getInputId() == null ^ this.getInputId() == null) return false; if (other.getInputId() != null && other.getInputId().equals(this.getInputId()) == false) return false; if (other.getNamePrefixUpdate() == null ^ this.getNamePrefixUpdate() == null) return false; if (other.getNamePrefixUpdate() != null && other.getNamePrefixUpdate().equals(this.getNamePrefixUpdate()) == false) return false; if (other.getInputProcessingConfigurationUpdate() == null ^ this.getInputProcessingConfigurationUpdate() == null) return false; if (other.getInputProcessingConfigurationUpdate() != null && other.getInputProcessingConfigurationUpdate().equals(this.getInputProcessingConfigurationUpdate()) == false) return false; if (other.getKinesisStreamsInputUpdate() == null ^ this.getKinesisStreamsInputUpdate() == null) return false; if (other.getKinesisStreamsInputUpdate() != null && other.getKinesisStreamsInputUpdate().equals(this.getKinesisStreamsInputUpdate()) == false) return false; if (other.getKinesisFirehoseInputUpdate() == null ^ this.getKinesisFirehoseInputUpdate() == null) return false; if (other.getKinesisFirehoseInputUpdate() != null && other.getKinesisFirehoseInputUpdate().equals(this.getKinesisFirehoseInputUpdate()) == false) return false; if (other.getInputSchemaUpdate() == null ^ this.getInputSchemaUpdate() == null) return false; if (other.getInputSchemaUpdate() != null && other.getInputSchemaUpdate().equals(this.getInputSchemaUpdate()) == false) return false; if (other.getInputParallelismUpdate() == null ^ this.getInputParallelismUpdate() == null) return false; if (other.getInputParallelismUpdate() != null && other.getInputParallelismUpdate().equals(this.getInputParallelismUpdate()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getInputId() == null) ? 0 : getInputId().hashCode()); hashCode = prime * hashCode + ((getNamePrefixUpdate() == null) ? 0 : getNamePrefixUpdate().hashCode()); hashCode = prime * hashCode + ((getInputProcessingConfigurationUpdate() == null) ? 0 : getInputProcessingConfigurationUpdate().hashCode()); hashCode = prime * hashCode + ((getKinesisStreamsInputUpdate() == null) ? 0 : getKinesisStreamsInputUpdate().hashCode()); hashCode = prime * hashCode + ((getKinesisFirehoseInputUpdate() == null) ? 0 : getKinesisFirehoseInputUpdate().hashCode()); hashCode = prime * hashCode + ((getInputSchemaUpdate() == null) ? 0 : getInputSchemaUpdate().hashCode()); hashCode = prime * hashCode + ((getInputParallelismUpdate() == null) ? 0 : getInputParallelismUpdate().hashCode()); return hashCode; } @Override public InputUpdate clone() { try { return (InputUpdate) 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.kinesisanalyticsv2.model.transform.InputUpdateMarshaller.getInstance().marshall(this, protocolMarshaller); } }