
com.amazonaws.services.kafka.model.MutableClusterInfo Maven / Gradle / Ivy
/*
* Copyright 2019-2024 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.kafka.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;
/**
*
* Information about cluster attributes that can be updated via update APIs.
*
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class MutableClusterInfo implements Serializable, Cloneable, StructuredPojo {
/**
*
* Specifies the size of the EBS volume and the ID of the associated broker.
*
*/
private java.util.List brokerEBSVolumeInfo;
/**
*
* Information about the changes in the configuration of the brokers.
*
*/
private ConfigurationInfo configurationInfo;
/**
*
* The number of broker nodes in the cluster.
*
*/
private Integer numberOfBrokerNodes;
/**
*
* Specifies which Apache Kafka metrics Amazon MSK gathers and sends to Amazon CloudWatch for this cluster.
*
*/
private String enhancedMonitoring;
/**
*
* The settings for open monitoring.
*
*/
private OpenMonitoring openMonitoring;
/**
*
* The Apache Kafka version.
*
*/
private String kafkaVersion;
/**
*
* You can configure your MSK cluster to send broker logs to different destination types. This is a container for
* the configuration details related to broker logs.
*
*/
private LoggingInfo loggingInfo;
/**
*
* Information about the Amazon MSK broker type.
*
*/
private String instanceType;
/**
*
* Includes all client authentication information.
*
*/
private ClientAuthentication clientAuthentication;
/**
*
* Includes all encryption-related information.
*
*/
private EncryptionInfo encryptionInfo;
/**
*
* Information about the broker access configuration.
*
*/
private ConnectivityInfo connectivityInfo;
/**
*
* This controls storage mode for supported storage tiers.
*
*/
private String storageMode;
/**
*
* Describes brokers being changed during a broker count update.
*
*/
private BrokerCountUpdateInfo brokerCountUpdateInfo;
/**
*
* Specifies the size of the EBS volume and the ID of the associated broker.
*
*
* @return
* Specifies the size of the EBS volume and the ID of the associated broker.
*
*/
public java.util.List getBrokerEBSVolumeInfo() {
return brokerEBSVolumeInfo;
}
/**
*
* Specifies the size of the EBS volume and the ID of the associated broker.
*
*
* @param brokerEBSVolumeInfo
*
* Specifies the size of the EBS volume and the ID of the associated broker.
*
*/
public void setBrokerEBSVolumeInfo(java.util.Collection brokerEBSVolumeInfo) {
if (brokerEBSVolumeInfo == null) {
this.brokerEBSVolumeInfo = null;
return;
}
this.brokerEBSVolumeInfo = new java.util.ArrayList(brokerEBSVolumeInfo);
}
/**
*
* Specifies the size of the EBS volume and the ID of the associated broker.
*
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setBrokerEBSVolumeInfo(java.util.Collection)} or {@link #withBrokerEBSVolumeInfo(java.util.Collection)}
* if you want to override the existing values.
*
*
* @param brokerEBSVolumeInfo
*
* Specifies the size of the EBS volume and the ID of the associated broker.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public MutableClusterInfo withBrokerEBSVolumeInfo(BrokerEBSVolumeInfo... brokerEBSVolumeInfo) {
if (this.brokerEBSVolumeInfo == null) {
setBrokerEBSVolumeInfo(new java.util.ArrayList(brokerEBSVolumeInfo.length));
}
for (BrokerEBSVolumeInfo ele : brokerEBSVolumeInfo) {
this.brokerEBSVolumeInfo.add(ele);
}
return this;
}
/**
*
* Specifies the size of the EBS volume and the ID of the associated broker.
*
*
* @param brokerEBSVolumeInfo
*
* Specifies the size of the EBS volume and the ID of the associated broker.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public MutableClusterInfo withBrokerEBSVolumeInfo(java.util.Collection brokerEBSVolumeInfo) {
setBrokerEBSVolumeInfo(brokerEBSVolumeInfo);
return this;
}
/**
*
* Information about the changes in the configuration of the brokers.
*
*
* @param configurationInfo
*
* Information about the changes in the configuration of the brokers.
*
*/
public void setConfigurationInfo(ConfigurationInfo configurationInfo) {
this.configurationInfo = configurationInfo;
}
/**
*
* Information about the changes in the configuration of the brokers.
*
*
* @return
* Information about the changes in the configuration of the brokers.
*
*/
public ConfigurationInfo getConfigurationInfo() {
return this.configurationInfo;
}
/**
*
* Information about the changes in the configuration of the brokers.
*
*
* @param configurationInfo
*
* Information about the changes in the configuration of the brokers.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public MutableClusterInfo withConfigurationInfo(ConfigurationInfo configurationInfo) {
setConfigurationInfo(configurationInfo);
return this;
}
/**
*
* The number of broker nodes in the cluster.
*
*
* @param numberOfBrokerNodes
*
* The number of broker nodes in the cluster.
*
*/
public void setNumberOfBrokerNodes(Integer numberOfBrokerNodes) {
this.numberOfBrokerNodes = numberOfBrokerNodes;
}
/**
*
* The number of broker nodes in the cluster.
*
*
* @return
* The number of broker nodes in the cluster.
*
*/
public Integer getNumberOfBrokerNodes() {
return this.numberOfBrokerNodes;
}
/**
*
* The number of broker nodes in the cluster.
*
*
* @param numberOfBrokerNodes
*
* The number of broker nodes in the cluster.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public MutableClusterInfo withNumberOfBrokerNodes(Integer numberOfBrokerNodes) {
setNumberOfBrokerNodes(numberOfBrokerNodes);
return this;
}
/**
*
* Specifies which Apache Kafka metrics Amazon MSK gathers and sends to Amazon CloudWatch for this cluster.
*
*
* @param enhancedMonitoring
*
* Specifies which Apache Kafka metrics Amazon MSK gathers and sends to Amazon CloudWatch for this cluster.
*
* @see EnhancedMonitoring
*/
public void setEnhancedMonitoring(String enhancedMonitoring) {
this.enhancedMonitoring = enhancedMonitoring;
}
/**
*
* Specifies which Apache Kafka metrics Amazon MSK gathers and sends to Amazon CloudWatch for this cluster.
*
*
* @return
* Specifies which Apache Kafka metrics Amazon MSK gathers and sends to Amazon CloudWatch for this cluster.
*
* @see EnhancedMonitoring
*/
public String getEnhancedMonitoring() {
return this.enhancedMonitoring;
}
/**
*
* Specifies which Apache Kafka metrics Amazon MSK gathers and sends to Amazon CloudWatch for this cluster.
*
*
* @param enhancedMonitoring
*
* Specifies which Apache Kafka metrics Amazon MSK gathers and sends to Amazon CloudWatch for this cluster.
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see EnhancedMonitoring
*/
public MutableClusterInfo withEnhancedMonitoring(String enhancedMonitoring) {
setEnhancedMonitoring(enhancedMonitoring);
return this;
}
/**
*
* Specifies which Apache Kafka metrics Amazon MSK gathers and sends to Amazon CloudWatch for this cluster.
*
*
* @param enhancedMonitoring
*
* Specifies which Apache Kafka metrics Amazon MSK gathers and sends to Amazon CloudWatch for this cluster.
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see EnhancedMonitoring
*/
public MutableClusterInfo withEnhancedMonitoring(EnhancedMonitoring enhancedMonitoring) {
this.enhancedMonitoring = enhancedMonitoring.toString();
return this;
}
/**
*
* The settings for open monitoring.
*
*
* @param openMonitoring
*
* The settings for open monitoring.
*
*/
public void setOpenMonitoring(OpenMonitoring openMonitoring) {
this.openMonitoring = openMonitoring;
}
/**
*
* The settings for open monitoring.
*
*
* @return
* The settings for open monitoring.
*
*/
public OpenMonitoring getOpenMonitoring() {
return this.openMonitoring;
}
/**
*
* The settings for open monitoring.
*
*
* @param openMonitoring
*
* The settings for open monitoring.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public MutableClusterInfo withOpenMonitoring(OpenMonitoring openMonitoring) {
setOpenMonitoring(openMonitoring);
return this;
}
/**
*
* The Apache Kafka version.
*
*
* @param kafkaVersion
*
* The Apache Kafka version.
*
*/
public void setKafkaVersion(String kafkaVersion) {
this.kafkaVersion = kafkaVersion;
}
/**
*
* The Apache Kafka version.
*
*
* @return
* The Apache Kafka version.
*
*/
public String getKafkaVersion() {
return this.kafkaVersion;
}
/**
*
* The Apache Kafka version.
*
*
* @param kafkaVersion
*
* The Apache Kafka version.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public MutableClusterInfo withKafkaVersion(String kafkaVersion) {
setKafkaVersion(kafkaVersion);
return this;
}
/**
*
* You can configure your MSK cluster to send broker logs to different destination types. This is a container for
* the configuration details related to broker logs.
*
*
* @param loggingInfo
*
* You can configure your MSK cluster to send broker logs to different destination types. This is a container
* for the configuration details related to broker logs.
*
*/
public void setLoggingInfo(LoggingInfo loggingInfo) {
this.loggingInfo = loggingInfo;
}
/**
*
* You can configure your MSK cluster to send broker logs to different destination types. This is a container for
* the configuration details related to broker logs.
*
*
* @return
* You can configure your MSK cluster to send broker logs to different destination types. This is a
* container for the configuration details related to broker logs.
*
*/
public LoggingInfo getLoggingInfo() {
return this.loggingInfo;
}
/**
*
* You can configure your MSK cluster to send broker logs to different destination types. This is a container for
* the configuration details related to broker logs.
*
*
* @param loggingInfo
*
* You can configure your MSK cluster to send broker logs to different destination types. This is a container
* for the configuration details related to broker logs.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public MutableClusterInfo withLoggingInfo(LoggingInfo loggingInfo) {
setLoggingInfo(loggingInfo);
return this;
}
/**
*
* Information about the Amazon MSK broker type.
*
*
* @param instanceType
*
* Information about the Amazon MSK broker type.
*
*/
public void setInstanceType(String instanceType) {
this.instanceType = instanceType;
}
/**
*
* Information about the Amazon MSK broker type.
*
*
* @return
* Information about the Amazon MSK broker type.
*
*/
public String getInstanceType() {
return this.instanceType;
}
/**
*
* Information about the Amazon MSK broker type.
*
*
* @param instanceType
*
* Information about the Amazon MSK broker type.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public MutableClusterInfo withInstanceType(String instanceType) {
setInstanceType(instanceType);
return this;
}
/**
*
* Includes all client authentication information.
*
*
* @param clientAuthentication
*
* Includes all client authentication information.
*
*/
public void setClientAuthentication(ClientAuthentication clientAuthentication) {
this.clientAuthentication = clientAuthentication;
}
/**
*
* Includes all client authentication information.
*
*
* @return
* Includes all client authentication information.
*
*/
public ClientAuthentication getClientAuthentication() {
return this.clientAuthentication;
}
/**
*
* Includes all client authentication information.
*
*
* @param clientAuthentication
*
* Includes all client authentication information.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public MutableClusterInfo withClientAuthentication(ClientAuthentication clientAuthentication) {
setClientAuthentication(clientAuthentication);
return this;
}
/**
*
* Includes all encryption-related information.
*
*
* @param encryptionInfo
*
* Includes all encryption-related information.
*
*/
public void setEncryptionInfo(EncryptionInfo encryptionInfo) {
this.encryptionInfo = encryptionInfo;
}
/**
*
* Includes all encryption-related information.
*
*
* @return
* Includes all encryption-related information.
*
*/
public EncryptionInfo getEncryptionInfo() {
return this.encryptionInfo;
}
/**
*
* Includes all encryption-related information.
*
*
* @param encryptionInfo
*
* Includes all encryption-related information.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public MutableClusterInfo withEncryptionInfo(EncryptionInfo encryptionInfo) {
setEncryptionInfo(encryptionInfo);
return this;
}
/**
*
* Information about the broker access configuration.
*
*
* @param connectivityInfo
*
* Information about the broker access configuration.
*
*/
public void setConnectivityInfo(ConnectivityInfo connectivityInfo) {
this.connectivityInfo = connectivityInfo;
}
/**
*
* Information about the broker access configuration.
*
*
* @return
* Information about the broker access configuration.
*
*/
public ConnectivityInfo getConnectivityInfo() {
return this.connectivityInfo;
}
/**
*
* Information about the broker access configuration.
*
*
* @param connectivityInfo
*
* Information about the broker access configuration.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public MutableClusterInfo withConnectivityInfo(ConnectivityInfo connectivityInfo) {
setConnectivityInfo(connectivityInfo);
return this;
}
/**
*
* This controls storage mode for supported storage tiers.
*
*
* @param storageMode
*
* This controls storage mode for supported storage tiers.
*
* @see StorageMode
*/
public void setStorageMode(String storageMode) {
this.storageMode = storageMode;
}
/**
*
* This controls storage mode for supported storage tiers.
*
*
* @return
* This controls storage mode for supported storage tiers.
*
* @see StorageMode
*/
public String getStorageMode() {
return this.storageMode;
}
/**
*
* This controls storage mode for supported storage tiers.
*
*
* @param storageMode
*
* This controls storage mode for supported storage tiers.
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see StorageMode
*/
public MutableClusterInfo withStorageMode(String storageMode) {
setStorageMode(storageMode);
return this;
}
/**
*
* This controls storage mode for supported storage tiers.
*
*
* @param storageMode
*
* This controls storage mode for supported storage tiers.
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see StorageMode
*/
public MutableClusterInfo withStorageMode(StorageMode storageMode) {
this.storageMode = storageMode.toString();
return this;
}
/**
*
* Describes brokers being changed during a broker count update.
*
*
* @param brokerCountUpdateInfo
*
* Describes brokers being changed during a broker count update.
*
*/
public void setBrokerCountUpdateInfo(BrokerCountUpdateInfo brokerCountUpdateInfo) {
this.brokerCountUpdateInfo = brokerCountUpdateInfo;
}
/**
*
* Describes brokers being changed during a broker count update.
*
*
* @return
* Describes brokers being changed during a broker count update.
*
*/
public BrokerCountUpdateInfo getBrokerCountUpdateInfo() {
return this.brokerCountUpdateInfo;
}
/**
*
* Describes brokers being changed during a broker count update.
*
*
* @param brokerCountUpdateInfo
*
* Describes brokers being changed during a broker count update.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public MutableClusterInfo withBrokerCountUpdateInfo(BrokerCountUpdateInfo brokerCountUpdateInfo) {
setBrokerCountUpdateInfo(brokerCountUpdateInfo);
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 (getBrokerEBSVolumeInfo() != null)
sb.append("BrokerEBSVolumeInfo: ").append(getBrokerEBSVolumeInfo()).append(",");
if (getConfigurationInfo() != null)
sb.append("ConfigurationInfo: ").append(getConfigurationInfo()).append(",");
if (getNumberOfBrokerNodes() != null)
sb.append("NumberOfBrokerNodes: ").append(getNumberOfBrokerNodes()).append(",");
if (getEnhancedMonitoring() != null)
sb.append("EnhancedMonitoring: ").append(getEnhancedMonitoring()).append(",");
if (getOpenMonitoring() != null)
sb.append("OpenMonitoring: ").append(getOpenMonitoring()).append(",");
if (getKafkaVersion() != null)
sb.append("KafkaVersion: ").append(getKafkaVersion()).append(",");
if (getLoggingInfo() != null)
sb.append("LoggingInfo: ").append(getLoggingInfo()).append(",");
if (getInstanceType() != null)
sb.append("InstanceType: ").append(getInstanceType()).append(",");
if (getClientAuthentication() != null)
sb.append("ClientAuthentication: ").append(getClientAuthentication()).append(",");
if (getEncryptionInfo() != null)
sb.append("EncryptionInfo: ").append(getEncryptionInfo()).append(",");
if (getConnectivityInfo() != null)
sb.append("ConnectivityInfo: ").append(getConnectivityInfo()).append(",");
if (getStorageMode() != null)
sb.append("StorageMode: ").append(getStorageMode()).append(",");
if (getBrokerCountUpdateInfo() != null)
sb.append("BrokerCountUpdateInfo: ").append(getBrokerCountUpdateInfo());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof MutableClusterInfo == false)
return false;
MutableClusterInfo other = (MutableClusterInfo) obj;
if (other.getBrokerEBSVolumeInfo() == null ^ this.getBrokerEBSVolumeInfo() == null)
return false;
if (other.getBrokerEBSVolumeInfo() != null && other.getBrokerEBSVolumeInfo().equals(this.getBrokerEBSVolumeInfo()) == false)
return false;
if (other.getConfigurationInfo() == null ^ this.getConfigurationInfo() == null)
return false;
if (other.getConfigurationInfo() != null && other.getConfigurationInfo().equals(this.getConfigurationInfo()) == false)
return false;
if (other.getNumberOfBrokerNodes() == null ^ this.getNumberOfBrokerNodes() == null)
return false;
if (other.getNumberOfBrokerNodes() != null && other.getNumberOfBrokerNodes().equals(this.getNumberOfBrokerNodes()) == false)
return false;
if (other.getEnhancedMonitoring() == null ^ this.getEnhancedMonitoring() == null)
return false;
if (other.getEnhancedMonitoring() != null && other.getEnhancedMonitoring().equals(this.getEnhancedMonitoring()) == false)
return false;
if (other.getOpenMonitoring() == null ^ this.getOpenMonitoring() == null)
return false;
if (other.getOpenMonitoring() != null && other.getOpenMonitoring().equals(this.getOpenMonitoring()) == false)
return false;
if (other.getKafkaVersion() == null ^ this.getKafkaVersion() == null)
return false;
if (other.getKafkaVersion() != null && other.getKafkaVersion().equals(this.getKafkaVersion()) == false)
return false;
if (other.getLoggingInfo() == null ^ this.getLoggingInfo() == null)
return false;
if (other.getLoggingInfo() != null && other.getLoggingInfo().equals(this.getLoggingInfo()) == false)
return false;
if (other.getInstanceType() == null ^ this.getInstanceType() == null)
return false;
if (other.getInstanceType() != null && other.getInstanceType().equals(this.getInstanceType()) == false)
return false;
if (other.getClientAuthentication() == null ^ this.getClientAuthentication() == null)
return false;
if (other.getClientAuthentication() != null && other.getClientAuthentication().equals(this.getClientAuthentication()) == false)
return false;
if (other.getEncryptionInfo() == null ^ this.getEncryptionInfo() == null)
return false;
if (other.getEncryptionInfo() != null && other.getEncryptionInfo().equals(this.getEncryptionInfo()) == false)
return false;
if (other.getConnectivityInfo() == null ^ this.getConnectivityInfo() == null)
return false;
if (other.getConnectivityInfo() != null && other.getConnectivityInfo().equals(this.getConnectivityInfo()) == false)
return false;
if (other.getStorageMode() == null ^ this.getStorageMode() == null)
return false;
if (other.getStorageMode() != null && other.getStorageMode().equals(this.getStorageMode()) == false)
return false;
if (other.getBrokerCountUpdateInfo() == null ^ this.getBrokerCountUpdateInfo() == null)
return false;
if (other.getBrokerCountUpdateInfo() != null && other.getBrokerCountUpdateInfo().equals(this.getBrokerCountUpdateInfo()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getBrokerEBSVolumeInfo() == null) ? 0 : getBrokerEBSVolumeInfo().hashCode());
hashCode = prime * hashCode + ((getConfigurationInfo() == null) ? 0 : getConfigurationInfo().hashCode());
hashCode = prime * hashCode + ((getNumberOfBrokerNodes() == null) ? 0 : getNumberOfBrokerNodes().hashCode());
hashCode = prime * hashCode + ((getEnhancedMonitoring() == null) ? 0 : getEnhancedMonitoring().hashCode());
hashCode = prime * hashCode + ((getOpenMonitoring() == null) ? 0 : getOpenMonitoring().hashCode());
hashCode = prime * hashCode + ((getKafkaVersion() == null) ? 0 : getKafkaVersion().hashCode());
hashCode = prime * hashCode + ((getLoggingInfo() == null) ? 0 : getLoggingInfo().hashCode());
hashCode = prime * hashCode + ((getInstanceType() == null) ? 0 : getInstanceType().hashCode());
hashCode = prime * hashCode + ((getClientAuthentication() == null) ? 0 : getClientAuthentication().hashCode());
hashCode = prime * hashCode + ((getEncryptionInfo() == null) ? 0 : getEncryptionInfo().hashCode());
hashCode = prime * hashCode + ((getConnectivityInfo() == null) ? 0 : getConnectivityInfo().hashCode());
hashCode = prime * hashCode + ((getStorageMode() == null) ? 0 : getStorageMode().hashCode());
hashCode = prime * hashCode + ((getBrokerCountUpdateInfo() == null) ? 0 : getBrokerCountUpdateInfo().hashCode());
return hashCode;
}
@Override
public MutableClusterInfo clone() {
try {
return (MutableClusterInfo) 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.kafka.model.transform.MutableClusterInfoMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}