All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.kafka.model.ReplicationInfo 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;

/**
 * 

* Specifies configuration for replication between a source and target Kafka cluster. *

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

* Configuration relating to consumer group replication. *

*/ private ConsumerGroupReplication consumerGroupReplication; /** *

* The ARN of the source Kafka cluster. *

*/ private String sourceKafkaClusterArn; /** *

* The compression type to use when producing records to target cluster. *

*/ private String targetCompressionType; /** *

* The ARN of the target Kafka cluster. *

*/ private String targetKafkaClusterArn; /** *

* Configuration relating to topic replication. *

*/ private TopicReplication topicReplication; /** *

* Configuration relating to consumer group replication. *

* * @param consumerGroupReplication * Configuration relating to consumer group replication. */ public void setConsumerGroupReplication(ConsumerGroupReplication consumerGroupReplication) { this.consumerGroupReplication = consumerGroupReplication; } /** *

* Configuration relating to consumer group replication. *

* * @return Configuration relating to consumer group replication. */ public ConsumerGroupReplication getConsumerGroupReplication() { return this.consumerGroupReplication; } /** *

* Configuration relating to consumer group replication. *

* * @param consumerGroupReplication * Configuration relating to consumer group replication. * @return Returns a reference to this object so that method calls can be chained together. */ public ReplicationInfo withConsumerGroupReplication(ConsumerGroupReplication consumerGroupReplication) { setConsumerGroupReplication(consumerGroupReplication); return this; } /** *

* The ARN of the source Kafka cluster. *

* * @param sourceKafkaClusterArn * The ARN of the source Kafka cluster. */ public void setSourceKafkaClusterArn(String sourceKafkaClusterArn) { this.sourceKafkaClusterArn = sourceKafkaClusterArn; } /** *

* The ARN of the source Kafka cluster. *

* * @return The ARN of the source Kafka cluster. */ public String getSourceKafkaClusterArn() { return this.sourceKafkaClusterArn; } /** *

* The ARN of the source Kafka cluster. *

* * @param sourceKafkaClusterArn * The ARN of the source Kafka cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public ReplicationInfo withSourceKafkaClusterArn(String sourceKafkaClusterArn) { setSourceKafkaClusterArn(sourceKafkaClusterArn); return this; } /** *

* The compression type to use when producing records to target cluster. *

* * @param targetCompressionType * The compression type to use when producing records to target cluster. * @see TargetCompressionType */ public void setTargetCompressionType(String targetCompressionType) { this.targetCompressionType = targetCompressionType; } /** *

* The compression type to use when producing records to target cluster. *

* * @return The compression type to use when producing records to target cluster. * @see TargetCompressionType */ public String getTargetCompressionType() { return this.targetCompressionType; } /** *

* The compression type to use when producing records to target cluster. *

* * @param targetCompressionType * The compression type to use when producing records to target cluster. * @return Returns a reference to this object so that method calls can be chained together. * @see TargetCompressionType */ public ReplicationInfo withTargetCompressionType(String targetCompressionType) { setTargetCompressionType(targetCompressionType); return this; } /** *

* The compression type to use when producing records to target cluster. *

* * @param targetCompressionType * The compression type to use when producing records to target cluster. * @return Returns a reference to this object so that method calls can be chained together. * @see TargetCompressionType */ public ReplicationInfo withTargetCompressionType(TargetCompressionType targetCompressionType) { this.targetCompressionType = targetCompressionType.toString(); return this; } /** *

* The ARN of the target Kafka cluster. *

* * @param targetKafkaClusterArn * The ARN of the target Kafka cluster. */ public void setTargetKafkaClusterArn(String targetKafkaClusterArn) { this.targetKafkaClusterArn = targetKafkaClusterArn; } /** *

* The ARN of the target Kafka cluster. *

* * @return The ARN of the target Kafka cluster. */ public String getTargetKafkaClusterArn() { return this.targetKafkaClusterArn; } /** *

* The ARN of the target Kafka cluster. *

* * @param targetKafkaClusterArn * The ARN of the target Kafka cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public ReplicationInfo withTargetKafkaClusterArn(String targetKafkaClusterArn) { setTargetKafkaClusterArn(targetKafkaClusterArn); return this; } /** *

* Configuration relating to topic replication. *

* * @param topicReplication * Configuration relating to topic replication. */ public void setTopicReplication(TopicReplication topicReplication) { this.topicReplication = topicReplication; } /** *

* Configuration relating to topic replication. *

* * @return Configuration relating to topic replication. */ public TopicReplication getTopicReplication() { return this.topicReplication; } /** *

* Configuration relating to topic replication. *

* * @param topicReplication * Configuration relating to topic replication. * @return Returns a reference to this object so that method calls can be chained together. */ public ReplicationInfo withTopicReplication(TopicReplication topicReplication) { setTopicReplication(topicReplication); 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 (getConsumerGroupReplication() != null) sb.append("ConsumerGroupReplication: ").append(getConsumerGroupReplication()).append(","); if (getSourceKafkaClusterArn() != null) sb.append("SourceKafkaClusterArn: ").append(getSourceKafkaClusterArn()).append(","); if (getTargetCompressionType() != null) sb.append("TargetCompressionType: ").append(getTargetCompressionType()).append(","); if (getTargetKafkaClusterArn() != null) sb.append("TargetKafkaClusterArn: ").append(getTargetKafkaClusterArn()).append(","); if (getTopicReplication() != null) sb.append("TopicReplication: ").append(getTopicReplication()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof ReplicationInfo == false) return false; ReplicationInfo other = (ReplicationInfo) obj; if (other.getConsumerGroupReplication() == null ^ this.getConsumerGroupReplication() == null) return false; if (other.getConsumerGroupReplication() != null && other.getConsumerGroupReplication().equals(this.getConsumerGroupReplication()) == false) return false; if (other.getSourceKafkaClusterArn() == null ^ this.getSourceKafkaClusterArn() == null) return false; if (other.getSourceKafkaClusterArn() != null && other.getSourceKafkaClusterArn().equals(this.getSourceKafkaClusterArn()) == false) return false; if (other.getTargetCompressionType() == null ^ this.getTargetCompressionType() == null) return false; if (other.getTargetCompressionType() != null && other.getTargetCompressionType().equals(this.getTargetCompressionType()) == false) return false; if (other.getTargetKafkaClusterArn() == null ^ this.getTargetKafkaClusterArn() == null) return false; if (other.getTargetKafkaClusterArn() != null && other.getTargetKafkaClusterArn().equals(this.getTargetKafkaClusterArn()) == false) return false; if (other.getTopicReplication() == null ^ this.getTopicReplication() == null) return false; if (other.getTopicReplication() != null && other.getTopicReplication().equals(this.getTopicReplication()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getConsumerGroupReplication() == null) ? 0 : getConsumerGroupReplication().hashCode()); hashCode = prime * hashCode + ((getSourceKafkaClusterArn() == null) ? 0 : getSourceKafkaClusterArn().hashCode()); hashCode = prime * hashCode + ((getTargetCompressionType() == null) ? 0 : getTargetCompressionType().hashCode()); hashCode = prime * hashCode + ((getTargetKafkaClusterArn() == null) ? 0 : getTargetKafkaClusterArn().hashCode()); hashCode = prime * hashCode + ((getTopicReplication() == null) ? 0 : getTopicReplication().hashCode()); return hashCode; } @Override public ReplicationInfo clone() { try { return (ReplicationInfo) 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.ReplicationInfoMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy