/* * 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; /** *

* Describes updates to an application's configuration. *

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

* Describes updates to a SQL-based Kinesis Data Analytics application's configuration. *

*/ private SqlApplicationConfigurationUpdate sqlApplicationConfigurationUpdate; /** *

* Describes updates to an application's code configuration. *

*/ private ApplicationCodeConfigurationUpdate applicationCodeConfigurationUpdate; /** *

* Describes updates to a Flink-based Kinesis Data Analytics application's configuration. *

*/ private FlinkApplicationConfigurationUpdate flinkApplicationConfigurationUpdate; /** *

* Describes updates to the environment properties for a Flink-based Kinesis Data Analytics application. *

*/ private EnvironmentPropertyUpdates environmentPropertyUpdates; /** *

* Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics application. *

*/ private ApplicationSnapshotConfigurationUpdate applicationSnapshotConfigurationUpdate; /** *

* Updates to the array of descriptions of VPC configurations available to the application. *

*/ private java.util.List vpcConfigurationUpdates; /** *

* Updates to the configuration of a Kinesis Data Analytics Studio notebook. *

*/ private ZeppelinApplicationConfigurationUpdate zeppelinApplicationConfigurationUpdate; /** *

* Describes updates to a SQL-based Kinesis Data Analytics application's configuration. *

* * @param sqlApplicationConfigurationUpdate * Describes updates to a SQL-based Kinesis Data Analytics application's configuration. */ public void setSqlApplicationConfigurationUpdate(SqlApplicationConfigurationUpdate sqlApplicationConfigurationUpdate) { this.sqlApplicationConfigurationUpdate = sqlApplicationConfigurationUpdate; } /** *

* Describes updates to a SQL-based Kinesis Data Analytics application's configuration. *

* * @return Describes updates to a SQL-based Kinesis Data Analytics application's configuration. */ public SqlApplicationConfigurationUpdate getSqlApplicationConfigurationUpdate() { return this.sqlApplicationConfigurationUpdate; } /** *

* Describes updates to a SQL-based Kinesis Data Analytics application's configuration. *

* * @param sqlApplicationConfigurationUpdate * Describes updates to a SQL-based Kinesis Data Analytics application's configuration. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationConfigurationUpdate withSqlApplicationConfigurationUpdate(SqlApplicationConfigurationUpdate sqlApplicationConfigurationUpdate) { setSqlApplicationConfigurationUpdate(sqlApplicationConfigurationUpdate); return this; } /** *

* Describes updates to an application's code configuration. *

* * @param applicationCodeConfigurationUpdate * Describes updates to an application's code configuration. */ public void setApplicationCodeConfigurationUpdate(ApplicationCodeConfigurationUpdate applicationCodeConfigurationUpdate) { this.applicationCodeConfigurationUpdate = applicationCodeConfigurationUpdate; } /** *

* Describes updates to an application's code configuration. *

* * @return Describes updates to an application's code configuration. */ public ApplicationCodeConfigurationUpdate getApplicationCodeConfigurationUpdate() { return this.applicationCodeConfigurationUpdate; } /** *

* Describes updates to an application's code configuration. *

* * @param applicationCodeConfigurationUpdate * Describes updates to an application's code configuration. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationConfigurationUpdate withApplicationCodeConfigurationUpdate(ApplicationCodeConfigurationUpdate applicationCodeConfigurationUpdate) { setApplicationCodeConfigurationUpdate(applicationCodeConfigurationUpdate); return this; } /** *

* Describes updates to a Flink-based Kinesis Data Analytics application's configuration. *

* * @param flinkApplicationConfigurationUpdate * Describes updates to a Flink-based Kinesis Data Analytics application's configuration. */ public void setFlinkApplicationConfigurationUpdate(FlinkApplicationConfigurationUpdate flinkApplicationConfigurationUpdate) { this.flinkApplicationConfigurationUpdate = flinkApplicationConfigurationUpdate; } /** *

* Describes updates to a Flink-based Kinesis Data Analytics application's configuration. *

* * @return Describes updates to a Flink-based Kinesis Data Analytics application's configuration. */ public FlinkApplicationConfigurationUpdate getFlinkApplicationConfigurationUpdate() { return this.flinkApplicationConfigurationUpdate; } /** *

* Describes updates to a Flink-based Kinesis Data Analytics application's configuration. *

* * @param flinkApplicationConfigurationUpdate * Describes updates to a Flink-based Kinesis Data Analytics application's configuration. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationConfigurationUpdate withFlinkApplicationConfigurationUpdate(FlinkApplicationConfigurationUpdate flinkApplicationConfigurationUpdate) { setFlinkApplicationConfigurationUpdate(flinkApplicationConfigurationUpdate); return this; } /** *

* Describes updates to the environment properties for a Flink-based Kinesis Data Analytics application. *

* * @param environmentPropertyUpdates * Describes updates to the environment properties for a Flink-based Kinesis Data Analytics application. */ public void setEnvironmentPropertyUpdates(EnvironmentPropertyUpdates environmentPropertyUpdates) { this.environmentPropertyUpdates = environmentPropertyUpdates; } /** *

* Describes updates to the environment properties for a Flink-based Kinesis Data Analytics application. *

* * @return Describes updates to the environment properties for a Flink-based Kinesis Data Analytics application. */ public EnvironmentPropertyUpdates getEnvironmentPropertyUpdates() { return this.environmentPropertyUpdates; } /** *

* Describes updates to the environment properties for a Flink-based Kinesis Data Analytics application. *

* * @param environmentPropertyUpdates * Describes updates to the environment properties for a Flink-based Kinesis Data Analytics application. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationConfigurationUpdate withEnvironmentPropertyUpdates(EnvironmentPropertyUpdates environmentPropertyUpdates) { setEnvironmentPropertyUpdates(environmentPropertyUpdates); return this; } /** *

* Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics application. *

* * @param applicationSnapshotConfigurationUpdate * Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics application. */ public void setApplicationSnapshotConfigurationUpdate(ApplicationSnapshotConfigurationUpdate applicationSnapshotConfigurationUpdate) { this.applicationSnapshotConfigurationUpdate = applicationSnapshotConfigurationUpdate; } /** *

* Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics application. *

* * @return Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics application. */ public ApplicationSnapshotConfigurationUpdate getApplicationSnapshotConfigurationUpdate() { return this.applicationSnapshotConfigurationUpdate; } /** *

* Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics application. *

* * @param applicationSnapshotConfigurationUpdate * Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics application. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationConfigurationUpdate withApplicationSnapshotConfigurationUpdate( ApplicationSnapshotConfigurationUpdate applicationSnapshotConfigurationUpdate) { setApplicationSnapshotConfigurationUpdate(applicationSnapshotConfigurationUpdate); return this; } /** *

* Updates to the array of descriptions of VPC configurations available to the application. *

* * @return Updates to the array of descriptions of VPC configurations available to the application. */ public java.util.List getVpcConfigurationUpdates() { return vpcConfigurationUpdates; } /** *

* Updates to the array of descriptions of VPC configurations available to the application. *

* * @param vpcConfigurationUpdates * Updates to the array of descriptions of VPC configurations available to the application. */ public void setVpcConfigurationUpdates(java.util.Collection vpcConfigurationUpdates) { if (vpcConfigurationUpdates == null) { this.vpcConfigurationUpdates = null; return; } this.vpcConfigurationUpdates = new java.util.ArrayList(vpcConfigurationUpdates); } /** *

* Updates to the array of descriptions of VPC configurations available to the application. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setVpcConfigurationUpdates(java.util.Collection)} or * {@link #withVpcConfigurationUpdates(java.util.Collection)} if you want to override the existing values. *

* * @param vpcConfigurationUpdates * Updates to the array of descriptions of VPC configurations available to the application. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationConfigurationUpdate withVpcConfigurationUpdates(VpcConfigurationUpdate... vpcConfigurationUpdates) { if (this.vpcConfigurationUpdates == null) { setVpcConfigurationUpdates(new java.util.ArrayList(vpcConfigurationUpdates.length)); } for (VpcConfigurationUpdate ele : vpcConfigurationUpdates) { this.vpcConfigurationUpdates.add(ele); } return this; } /** *

* Updates to the array of descriptions of VPC configurations available to the application. *

* * @param vpcConfigurationUpdates * Updates to the array of descriptions of VPC configurations available to the application. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationConfigurationUpdate withVpcConfigurationUpdates(java.util.Collection vpcConfigurationUpdates) { setVpcConfigurationUpdates(vpcConfigurationUpdates); return this; } /** *

* Updates to the configuration of a Kinesis Data Analytics Studio notebook. *

* * @param zeppelinApplicationConfigurationUpdate * Updates to the configuration of a Kinesis Data Analytics Studio notebook. */ public void setZeppelinApplicationConfigurationUpdate(ZeppelinApplicationConfigurationUpdate zeppelinApplicationConfigurationUpdate) { this.zeppelinApplicationConfigurationUpdate = zeppelinApplicationConfigurationUpdate; } /** *

* Updates to the configuration of a Kinesis Data Analytics Studio notebook. *

* * @return Updates to the configuration of a Kinesis Data Analytics Studio notebook. */ public ZeppelinApplicationConfigurationUpdate getZeppelinApplicationConfigurationUpdate() { return this.zeppelinApplicationConfigurationUpdate; } /** *

* Updates to the configuration of a Kinesis Data Analytics Studio notebook. *

* * @param zeppelinApplicationConfigurationUpdate * Updates to the configuration of a Kinesis Data Analytics Studio notebook. * @return Returns a reference to this object so that method calls can be chained together. */ public ApplicationConfigurationUpdate withZeppelinApplicationConfigurationUpdate( ZeppelinApplicationConfigurationUpdate zeppelinApplicationConfigurationUpdate) { setZeppelinApplicationConfigurationUpdate(zeppelinApplicationConfigurationUpdate); 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 (getSqlApplicationConfigurationUpdate() != null) sb.append("SqlApplicationConfigurationUpdate: ").append(getSqlApplicationConfigurationUpdate()).append(","); if (getApplicationCodeConfigurationUpdate() != null) sb.append("ApplicationCodeConfigurationUpdate: ").append(getApplicationCodeConfigurationUpdate()).append(","); if (getFlinkApplicationConfigurationUpdate() != null) sb.append("FlinkApplicationConfigurationUpdate: ").append(getFlinkApplicationConfigurationUpdate()).append(","); if (getEnvironmentPropertyUpdates() != null) sb.append("EnvironmentPropertyUpdates: ").append(getEnvironmentPropertyUpdates()).append(","); if (getApplicationSnapshotConfigurationUpdate() != null) sb.append("ApplicationSnapshotConfigurationUpdate: ").append(getApplicationSnapshotConfigurationUpdate()).append(","); if (getVpcConfigurationUpdates() != null) sb.append("VpcConfigurationUpdates: ").append(getVpcConfigurationUpdates()).append(","); if (getZeppelinApplicationConfigurationUpdate() != null) sb.append("ZeppelinApplicationConfigurationUpdate: ").append(getZeppelinApplicationConfigurationUpdate()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof ApplicationConfigurationUpdate == false) return false; ApplicationConfigurationUpdate other = (ApplicationConfigurationUpdate) obj; if (other.getSqlApplicationConfigurationUpdate() == null ^ this.getSqlApplicationConfigurationUpdate() == null) return false; if (other.getSqlApplicationConfigurationUpdate() != null && other.getSqlApplicationConfigurationUpdate().equals(this.getSqlApplicationConfigurationUpdate()) == false) return false; if (other.getApplicationCodeConfigurationUpdate() == null ^ this.getApplicationCodeConfigurationUpdate() == null) return false; if (other.getApplicationCodeConfigurationUpdate() != null && other.getApplicationCodeConfigurationUpdate().equals(this.getApplicationCodeConfigurationUpdate()) == false) return false; if (other.getFlinkApplicationConfigurationUpdate() == null ^ this.getFlinkApplicationConfigurationUpdate() == null) return false; if (other.getFlinkApplicationConfigurationUpdate() != null && other.getFlinkApplicationConfigurationUpdate().equals(this.getFlinkApplicationConfigurationUpdate()) == false) return false; if (other.getEnvironmentPropertyUpdates() == null ^ this.getEnvironmentPropertyUpdates() == null) return false; if (other.getEnvironmentPropertyUpdates() != null && other.getEnvironmentPropertyUpdates().equals(this.getEnvironmentPropertyUpdates()) == false) return false; if (other.getApplicationSnapshotConfigurationUpdate() == null ^ this.getApplicationSnapshotConfigurationUpdate() == null) return false; if (other.getApplicationSnapshotConfigurationUpdate() != null && other.getApplicationSnapshotConfigurationUpdate().equals(this.getApplicationSnapshotConfigurationUpdate()) == false) return false; if (other.getVpcConfigurationUpdates() == null ^ this.getVpcConfigurationUpdates() == null) return false; if (other.getVpcConfigurationUpdates() != null && other.getVpcConfigurationUpdates().equals(this.getVpcConfigurationUpdates()) == false) return false; if (other.getZeppelinApplicationConfigurationUpdate() == null ^ this.getZeppelinApplicationConfigurationUpdate() == null) return false; if (other.getZeppelinApplicationConfigurationUpdate() != null && other.getZeppelinApplicationConfigurationUpdate().equals(this.getZeppelinApplicationConfigurationUpdate()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getSqlApplicationConfigurationUpdate() == null) ? 0 : getSqlApplicationConfigurationUpdate().hashCode()); hashCode = prime * hashCode + ((getApplicationCodeConfigurationUpdate() == null) ? 0 : getApplicationCodeConfigurationUpdate().hashCode()); hashCode = prime * hashCode + ((getFlinkApplicationConfigurationUpdate() == null) ? 0 : getFlinkApplicationConfigurationUpdate().hashCode()); hashCode = prime * hashCode + ((getEnvironmentPropertyUpdates() == null) ? 0 : getEnvironmentPropertyUpdates().hashCode()); hashCode = prime * hashCode + ((getApplicationSnapshotConfigurationUpdate() == null) ? 0 : getApplicationSnapshotConfigurationUpdate().hashCode()); hashCode = prime * hashCode + ((getVpcConfigurationUpdates() == null) ? 0 : getVpcConfigurationUpdates().hashCode()); hashCode = prime * hashCode + ((getZeppelinApplicationConfigurationUpdate() == null) ? 0 : getZeppelinApplicationConfigurationUpdate().hashCode()); return hashCode; } @Override public ApplicationConfigurationUpdate clone() { try { return (ApplicationConfigurationUpdate) 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.ApplicationConfigurationUpdateMarshaller.getInstance().marshall(this, protocolMarshaller); } }