
com.amazonaws.services.kafka.model.CreateClusterRequest 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.AmazonWebServiceRequest;
/**
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class CreateClusterRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {
/**
*
* Information about the broker nodes in the cluster.
*
*/
private BrokerNodeGroupInfo brokerNodeGroupInfo;
/**
*
* Includes all client authentication related information.
*
*/
private ClientAuthentication clientAuthentication;
/**
*
* The name of the cluster.
*
*/
private String clusterName;
/**
*
* Represents the configuration that you want MSK to use for the brokers in a cluster.
*
*/
private ConfigurationInfo configurationInfo;
/**
*
* Includes all encryption-related information.
*
*/
private EncryptionInfo encryptionInfo;
/**
*
* Specifies the level of monitoring for the MSK cluster. The possible values are DEFAULT, PER_BROKER,
* PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION.
*
*/
private String enhancedMonitoring;
/**
*
* The settings for open monitoring.
*
*/
private OpenMonitoringInfo openMonitoring;
/**
*
* The version of Apache Kafka.
*
*/
private String kafkaVersion;
private LoggingInfo loggingInfo;
/**
*
* The number of broker nodes in the cluster.
*
*/
private Integer numberOfBrokerNodes;
/**
*
* Create tags when creating the cluster.
*
*/
private java.util.Map tags;
/**
*
* This controls storage mode for supported storage tiers.
*
*/
private String storageMode;
/**
*
* Information about the broker nodes in the cluster.
*
*
* @param brokerNodeGroupInfo
*
* Information about the broker nodes in the cluster.
*
*/
public void setBrokerNodeGroupInfo(BrokerNodeGroupInfo brokerNodeGroupInfo) {
this.brokerNodeGroupInfo = brokerNodeGroupInfo;
}
/**
*
* Information about the broker nodes in the cluster.
*
*
* @return
* Information about the broker nodes in the cluster.
*
*/
public BrokerNodeGroupInfo getBrokerNodeGroupInfo() {
return this.brokerNodeGroupInfo;
}
/**
*
* Information about the broker nodes in the cluster.
*
*
* @param brokerNodeGroupInfo
*
* Information about the broker nodes in the cluster.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateClusterRequest withBrokerNodeGroupInfo(BrokerNodeGroupInfo brokerNodeGroupInfo) {
setBrokerNodeGroupInfo(brokerNodeGroupInfo);
return this;
}
/**
*
* Includes all client authentication related information.
*
*
* @param clientAuthentication
*
* Includes all client authentication related information.
*
*/
public void setClientAuthentication(ClientAuthentication clientAuthentication) {
this.clientAuthentication = clientAuthentication;
}
/**
*
* Includes all client authentication related information.
*
*
* @return
* Includes all client authentication related information.
*
*/
public ClientAuthentication getClientAuthentication() {
return this.clientAuthentication;
}
/**
*
* Includes all client authentication related information.
*
*
* @param clientAuthentication
*
* Includes all client authentication related information.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateClusterRequest withClientAuthentication(ClientAuthentication clientAuthentication) {
setClientAuthentication(clientAuthentication);
return this;
}
/**
*
* The name of the cluster.
*
*
* @param clusterName
*
* The name of the cluster.
*
*/
public void setClusterName(String clusterName) {
this.clusterName = clusterName;
}
/**
*
* The name of the cluster.
*
*
* @return
* The name of the cluster.
*
*/
public String getClusterName() {
return this.clusterName;
}
/**
*
* The name of the cluster.
*
*
* @param clusterName
*
* The name of the cluster.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateClusterRequest withClusterName(String clusterName) {
setClusterName(clusterName);
return this;
}
/**
*
* Represents the configuration that you want MSK to use for the brokers in a cluster.
*
*
* @param configurationInfo
*
* Represents the configuration that you want MSK to use for the brokers in a cluster.
*
*/
public void setConfigurationInfo(ConfigurationInfo configurationInfo) {
this.configurationInfo = configurationInfo;
}
/**
*
* Represents the configuration that you want MSK to use for the brokers in a cluster.
*
*
* @return
* Represents the configuration that you want MSK to use for the brokers in a cluster.
*
*/
public ConfigurationInfo getConfigurationInfo() {
return this.configurationInfo;
}
/**
*
* Represents the configuration that you want MSK to use for the brokers in a cluster.
*
*
* @param configurationInfo
*
* Represents the configuration that you want MSK to use for the brokers in a cluster.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateClusterRequest withConfigurationInfo(ConfigurationInfo configurationInfo) {
setConfigurationInfo(configurationInfo);
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 CreateClusterRequest withEncryptionInfo(EncryptionInfo encryptionInfo) {
setEncryptionInfo(encryptionInfo);
return this;
}
/**
*
* Specifies the level of monitoring for the MSK cluster. The possible values are DEFAULT, PER_BROKER,
* PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION.
*
*
* @param enhancedMonitoring
*
* Specifies the level of monitoring for the MSK cluster. The possible values are DEFAULT, PER_BROKER,
* PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION.
*
* @see EnhancedMonitoring
*/
public void setEnhancedMonitoring(String enhancedMonitoring) {
this.enhancedMonitoring = enhancedMonitoring;
}
/**
*
* Specifies the level of monitoring for the MSK cluster. The possible values are DEFAULT, PER_BROKER,
* PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION.
*
*
* @return
* Specifies the level of monitoring for the MSK cluster. The possible values are DEFAULT, PER_BROKER,
* PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION.
*
* @see EnhancedMonitoring
*/
public String getEnhancedMonitoring() {
return this.enhancedMonitoring;
}
/**
*
* Specifies the level of monitoring for the MSK cluster. The possible values are DEFAULT, PER_BROKER,
* PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION.
*
*
* @param enhancedMonitoring
*
* Specifies the level of monitoring for the MSK cluster. The possible values are DEFAULT, PER_BROKER,
* PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION.
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see EnhancedMonitoring
*/
public CreateClusterRequest withEnhancedMonitoring(String enhancedMonitoring) {
setEnhancedMonitoring(enhancedMonitoring);
return this;
}
/**
*
* Specifies the level of monitoring for the MSK cluster. The possible values are DEFAULT, PER_BROKER,
* PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION.
*
*
* @param enhancedMonitoring
*
* Specifies the level of monitoring for the MSK cluster. The possible values are DEFAULT, PER_BROKER,
* PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION.
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see EnhancedMonitoring
*/
public CreateClusterRequest withEnhancedMonitoring(EnhancedMonitoring enhancedMonitoring) {
this.enhancedMonitoring = enhancedMonitoring.toString();
return this;
}
/**
*
* The settings for open monitoring.
*
*
* @param openMonitoring
*
* The settings for open monitoring.
*
*/
public void setOpenMonitoring(OpenMonitoringInfo openMonitoring) {
this.openMonitoring = openMonitoring;
}
/**
*
* The settings for open monitoring.
*
*
* @return
* The settings for open monitoring.
*
*/
public OpenMonitoringInfo 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 CreateClusterRequest withOpenMonitoring(OpenMonitoringInfo openMonitoring) {
setOpenMonitoring(openMonitoring);
return this;
}
/**
*
* The version of Apache Kafka.
*
*
* @param kafkaVersion
*
* The version of Apache Kafka.
*
*/
public void setKafkaVersion(String kafkaVersion) {
this.kafkaVersion = kafkaVersion;
}
/**
*
* The version of Apache Kafka.
*
*
* @return
* The version of Apache Kafka.
*
*/
public String getKafkaVersion() {
return this.kafkaVersion;
}
/**
*
* The version of Apache Kafka.
*
*
* @param kafkaVersion
*
* The version of Apache Kafka.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateClusterRequest withKafkaVersion(String kafkaVersion) {
setKafkaVersion(kafkaVersion);
return this;
}
/**
* @param loggingInfo
*/
public void setLoggingInfo(LoggingInfo loggingInfo) {
this.loggingInfo = loggingInfo;
}
/**
* @return
*/
public LoggingInfo getLoggingInfo() {
return this.loggingInfo;
}
/**
* @param loggingInfo
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateClusterRequest withLoggingInfo(LoggingInfo loggingInfo) {
setLoggingInfo(loggingInfo);
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 CreateClusterRequest withNumberOfBrokerNodes(Integer numberOfBrokerNodes) {
setNumberOfBrokerNodes(numberOfBrokerNodes);
return this;
}
/**
*
* Create tags when creating the cluster.
*
*
* @return
* Create tags when creating the cluster.
*
*/
public java.util.Map getTags() {
return tags;
}
/**
*
* Create tags when creating the cluster.
*
*
* @param tags
*
* Create tags when creating the cluster.
*
*/
public void setTags(java.util.Map tags) {
this.tags = tags;
}
/**
*
* Create tags when creating the cluster.
*
*
* @param tags
*
* Create tags when creating the cluster.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateClusterRequest withTags(java.util.Map tags) {
setTags(tags);
return this;
}
/**
* Add a single Tags entry
*
* @see CreateClusterRequest#withTags
* @returns a reference to this object so that method calls can be chained together.
*/
public CreateClusterRequest addTagsEntry(String key, String value) {
if (null == this.tags) {
this.tags = new java.util.HashMap();
}
if (this.tags.containsKey(key))
throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided.");
this.tags.put(key, value);
return this;
}
/**
* Removes all the entries added into Tags.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateClusterRequest clearTagsEntries() {
this.tags = null;
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 CreateClusterRequest 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 CreateClusterRequest withStorageMode(StorageMode storageMode) {
this.storageMode = storageMode.toString();
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 (getBrokerNodeGroupInfo() != null)
sb.append("BrokerNodeGroupInfo: ").append(getBrokerNodeGroupInfo()).append(",");
if (getClientAuthentication() != null)
sb.append("ClientAuthentication: ").append(getClientAuthentication()).append(",");
if (getClusterName() != null)
sb.append("ClusterName: ").append(getClusterName()).append(",");
if (getConfigurationInfo() != null)
sb.append("ConfigurationInfo: ").append(getConfigurationInfo()).append(",");
if (getEncryptionInfo() != null)
sb.append("EncryptionInfo: ").append(getEncryptionInfo()).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 (getNumberOfBrokerNodes() != null)
sb.append("NumberOfBrokerNodes: ").append(getNumberOfBrokerNodes()).append(",");
if (getTags() != null)
sb.append("Tags: ").append(getTags()).append(",");
if (getStorageMode() != null)
sb.append("StorageMode: ").append(getStorageMode());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof CreateClusterRequest == false)
return false;
CreateClusterRequest other = (CreateClusterRequest) obj;
if (other.getBrokerNodeGroupInfo() == null ^ this.getBrokerNodeGroupInfo() == null)
return false;
if (other.getBrokerNodeGroupInfo() != null && other.getBrokerNodeGroupInfo().equals(this.getBrokerNodeGroupInfo()) == 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.getClusterName() == null ^ this.getClusterName() == null)
return false;
if (other.getClusterName() != null && other.getClusterName().equals(this.getClusterName()) == 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.getEncryptionInfo() == null ^ this.getEncryptionInfo() == null)
return false;
if (other.getEncryptionInfo() != null && other.getEncryptionInfo().equals(this.getEncryptionInfo()) == 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.getNumberOfBrokerNodes() == null ^ this.getNumberOfBrokerNodes() == null)
return false;
if (other.getNumberOfBrokerNodes() != null && other.getNumberOfBrokerNodes().equals(this.getNumberOfBrokerNodes()) == false)
return false;
if (other.getTags() == null ^ this.getTags() == null)
return false;
if (other.getTags() != null && other.getTags().equals(this.getTags()) == false)
return false;
if (other.getStorageMode() == null ^ this.getStorageMode() == null)
return false;
if (other.getStorageMode() != null && other.getStorageMode().equals(this.getStorageMode()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getBrokerNodeGroupInfo() == null) ? 0 : getBrokerNodeGroupInfo().hashCode());
hashCode = prime * hashCode + ((getClientAuthentication() == null) ? 0 : getClientAuthentication().hashCode());
hashCode = prime * hashCode + ((getClusterName() == null) ? 0 : getClusterName().hashCode());
hashCode = prime * hashCode + ((getConfigurationInfo() == null) ? 0 : getConfigurationInfo().hashCode());
hashCode = prime * hashCode + ((getEncryptionInfo() == null) ? 0 : getEncryptionInfo().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 + ((getNumberOfBrokerNodes() == null) ? 0 : getNumberOfBrokerNodes().hashCode());
hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode());
hashCode = prime * hashCode + ((getStorageMode() == null) ? 0 : getStorageMode().hashCode());
return hashCode;
}
@Override
public CreateClusterRequest clone() {
return (CreateClusterRequest) super.clone();
}
}