/* * 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.eks.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* An object representing an Amazon EKS cluster. *
* * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class Cluster implements Serializable, Cloneable, StructuredPojo { /** ** The name of the cluster. *
*/ private String name; /** ** The Amazon Resource Name (ARN) of the cluster. *
*/ private String arn; /** ** The Unix epoch timestamp in seconds for when the cluster was created. *
*/ private java.util.Date createdAt; /** ** The Kubernetes server version for the cluster. *
*/ private String version; /** ** The endpoint for your Kubernetes API server. *
*/ private String endpoint; /** ** The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make * calls to Amazon Web Services API operations on your behalf. *
*/ private String roleArn; /** ** The VPC configuration used by the cluster control plane. Amazon EKS VPC resources have specific requirements to * work properly with Kubernetes. For more information, see Cluster VPC Considerations and Cluster Security Group * Considerations in the Amazon EKS User Guide. *
*/ private VpcConfigResponse resourcesVpcConfig; /** ** The Kubernetes network configuration for the cluster. *
*/ private KubernetesNetworkConfigResponse kubernetesNetworkConfig; /** ** The logging configuration for your cluster. *
*/ private Logging logging; /** ** The identity provider information for the cluster. *
*/ private Identity identity; /** ** The current status of the cluster. *
*/ private String status; /** *
* The certificate-authority-data
for your cluster.
*
* Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. *
*/ private String clientRequestToken; /** ** The platform version of your Amazon EKS cluster. For more information, see Platform Versions in the * Amazon EKS User Guide . *
*/ private String platformVersion; /** ** The metadata that you apply to the cluster to assist with categorization and organization. Each tag consists of a * key and an optional value. You define both. Cluster tags do not propagate to any other resources associated with * the cluster. *
*/ private java.util.Map* The encryption configuration for the cluster. *
*/ private java.util.List* The configuration used to connect to a cluster for registration. *
*/ private ConnectorConfigResponse connectorConfig; /** ** The ID of your local Amazon EKS cluster on an Amazon Web Services Outpost. This property isn't available for an * Amazon EKS cluster on the Amazon Web Services cloud. *
*/ private String id; /** ** An object representing the health of your local Amazon EKS cluster on an Amazon Web Services Outpost. This object * isn't available for clusters on the Amazon Web Services cloud. *
*/ private ClusterHealth health; /** ** An object representing the configuration of your local Amazon EKS cluster on an Amazon Web Services Outpost. This * object isn't available for clusters on the Amazon Web Services cloud. *
*/ private OutpostConfigResponse outpostConfig; /** ** The name of the cluster. *
* * @param name * The name of the cluster. */ public void setName(String name) { this.name = name; } /** ** The name of the cluster. *
* * @return The name of the cluster. */ public String getName() { return this.name; } /** ** The name of the cluster. *
* * @param name * The name of the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withName(String name) { setName(name); return this; } /** ** The Amazon Resource Name (ARN) of the cluster. *
* * @param arn * The Amazon Resource Name (ARN) of the cluster. */ public void setArn(String arn) { this.arn = arn; } /** ** The Amazon Resource Name (ARN) of the cluster. *
* * @return The Amazon Resource Name (ARN) of the cluster. */ public String getArn() { return this.arn; } /** ** The Amazon Resource Name (ARN) of the cluster. *
* * @param arn * The Amazon Resource Name (ARN) of the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withArn(String arn) { setArn(arn); return this; } /** ** The Unix epoch timestamp in seconds for when the cluster was created. *
* * @param createdAt * The Unix epoch timestamp in seconds for when the cluster was created. */ public void setCreatedAt(java.util.Date createdAt) { this.createdAt = createdAt; } /** ** The Unix epoch timestamp in seconds for when the cluster was created. *
* * @return The Unix epoch timestamp in seconds for when the cluster was created. */ public java.util.Date getCreatedAt() { return this.createdAt; } /** ** The Unix epoch timestamp in seconds for when the cluster was created. *
* * @param createdAt * The Unix epoch timestamp in seconds for when the cluster was created. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withCreatedAt(java.util.Date createdAt) { setCreatedAt(createdAt); return this; } /** ** The Kubernetes server version for the cluster. *
* * @param version * The Kubernetes server version for the cluster. */ public void setVersion(String version) { this.version = version; } /** ** The Kubernetes server version for the cluster. *
* * @return The Kubernetes server version for the cluster. */ public String getVersion() { return this.version; } /** ** The Kubernetes server version for the cluster. *
* * @param version * The Kubernetes server version for the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withVersion(String version) { setVersion(version); return this; } /** ** The endpoint for your Kubernetes API server. *
* * @param endpoint * The endpoint for your Kubernetes API server. */ public void setEndpoint(String endpoint) { this.endpoint = endpoint; } /** ** The endpoint for your Kubernetes API server. *
* * @return The endpoint for your Kubernetes API server. */ public String getEndpoint() { return this.endpoint; } /** ** The endpoint for your Kubernetes API server. *
* * @param endpoint * The endpoint for your Kubernetes API server. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withEndpoint(String endpoint) { setEndpoint(endpoint); return this; } /** ** The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make * calls to Amazon Web Services API operations on your behalf. *
* * @param roleArn * The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane * to make calls to Amazon Web Services API operations on your behalf. */ public void setRoleArn(String roleArn) { this.roleArn = roleArn; } /** ** The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make * calls to Amazon Web Services API operations on your behalf. *
* * @return The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane * to make calls to Amazon Web Services API operations on your behalf. */ public String getRoleArn() { return this.roleArn; } /** ** The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make * calls to Amazon Web Services API operations on your behalf. *
* * @param roleArn * The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane * to make calls to Amazon Web Services API operations on your behalf. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withRoleArn(String roleArn) { setRoleArn(roleArn); return this; } /** ** The VPC configuration used by the cluster control plane. Amazon EKS VPC resources have specific requirements to * work properly with Kubernetes. For more information, see Cluster VPC Considerations and Cluster Security Group * Considerations in the Amazon EKS User Guide. *
* * @param resourcesVpcConfig * The VPC configuration used by the cluster control plane. Amazon EKS VPC resources have specific * requirements to work properly with Kubernetes. For more information, see Cluster VPC Considerations * and Cluster Security Group * Considerations in the Amazon EKS User Guide. */ public void setResourcesVpcConfig(VpcConfigResponse resourcesVpcConfig) { this.resourcesVpcConfig = resourcesVpcConfig; } /** ** The VPC configuration used by the cluster control plane. Amazon EKS VPC resources have specific requirements to * work properly with Kubernetes. For more information, see Cluster VPC Considerations and Cluster Security Group * Considerations in the Amazon EKS User Guide. *
* * @return The VPC configuration used by the cluster control plane. Amazon EKS VPC resources have specific * requirements to work properly with Kubernetes. For more information, see Cluster VPC Considerations * and Cluster Security Group * Considerations in the Amazon EKS User Guide. */ public VpcConfigResponse getResourcesVpcConfig() { return this.resourcesVpcConfig; } /** ** The VPC configuration used by the cluster control plane. Amazon EKS VPC resources have specific requirements to * work properly with Kubernetes. For more information, see Cluster VPC Considerations and Cluster Security Group * Considerations in the Amazon EKS User Guide. *
* * @param resourcesVpcConfig * The VPC configuration used by the cluster control plane. Amazon EKS VPC resources have specific * requirements to work properly with Kubernetes. For more information, see Cluster VPC Considerations * and Cluster Security Group * Considerations in the Amazon EKS User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withResourcesVpcConfig(VpcConfigResponse resourcesVpcConfig) { setResourcesVpcConfig(resourcesVpcConfig); return this; } /** ** The Kubernetes network configuration for the cluster. *
* * @param kubernetesNetworkConfig * The Kubernetes network configuration for the cluster. */ public void setKubernetesNetworkConfig(KubernetesNetworkConfigResponse kubernetesNetworkConfig) { this.kubernetesNetworkConfig = kubernetesNetworkConfig; } /** ** The Kubernetes network configuration for the cluster. *
* * @return The Kubernetes network configuration for the cluster. */ public KubernetesNetworkConfigResponse getKubernetesNetworkConfig() { return this.kubernetesNetworkConfig; } /** ** The Kubernetes network configuration for the cluster. *
* * @param kubernetesNetworkConfig * The Kubernetes network configuration for the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withKubernetesNetworkConfig(KubernetesNetworkConfigResponse kubernetesNetworkConfig) { setKubernetesNetworkConfig(kubernetesNetworkConfig); return this; } /** ** The logging configuration for your cluster. *
* * @param logging * The logging configuration for your cluster. */ public void setLogging(Logging logging) { this.logging = logging; } /** ** The logging configuration for your cluster. *
* * @return The logging configuration for your cluster. */ public Logging getLogging() { return this.logging; } /** ** The logging configuration for your cluster. *
* * @param logging * The logging configuration for your cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withLogging(Logging logging) { setLogging(logging); return this; } /** ** The identity provider information for the cluster. *
* * @param identity * The identity provider information for the cluster. */ public void setIdentity(Identity identity) { this.identity = identity; } /** ** The identity provider information for the cluster. *
* * @return The identity provider information for the cluster. */ public Identity getIdentity() { return this.identity; } /** ** The identity provider information for the cluster. *
* * @param identity * The identity provider information for the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withIdentity(Identity identity) { setIdentity(identity); return this; } /** ** The current status of the cluster. *
* * @param status * The current status of the cluster. * @see ClusterStatus */ public void setStatus(String status) { this.status = status; } /** ** The current status of the cluster. *
* * @return The current status of the cluster. * @see ClusterStatus */ public String getStatus() { return this.status; } /** ** The current status of the cluster. *
* * @param status * The current status of the cluster. * @return Returns a reference to this object so that method calls can be chained together. * @see ClusterStatus */ public Cluster withStatus(String status) { setStatus(status); return this; } /** ** The current status of the cluster. *
* * @param status * The current status of the cluster. * @return Returns a reference to this object so that method calls can be chained together. * @see ClusterStatus */ public Cluster withStatus(ClusterStatus status) { this.status = status.toString(); return this; } /** *
* The certificate-authority-data
for your cluster.
*
certificate-authority-data
for your cluster.
*/
public void setCertificateAuthority(Certificate certificateAuthority) {
this.certificateAuthority = certificateAuthority;
}
/**
*
* The certificate-authority-data
for your cluster.
*
certificate-authority-data
for your cluster.
*/
public Certificate getCertificateAuthority() {
return this.certificateAuthority;
}
/**
*
* The certificate-authority-data
for your cluster.
*
certificate-authority-data
for your cluster.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Cluster withCertificateAuthority(Certificate certificateAuthority) {
setCertificateAuthority(certificateAuthority);
return this;
}
/**
* * Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. *
* * @param clientRequestToken * Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. */ public void setClientRequestToken(String clientRequestToken) { this.clientRequestToken = clientRequestToken; } /** ** Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. *
* * @return Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. */ public String getClientRequestToken() { return this.clientRequestToken; } /** ** Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. *
* * @param clientRequestToken * Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withClientRequestToken(String clientRequestToken) { setClientRequestToken(clientRequestToken); return this; } /** ** The platform version of your Amazon EKS cluster. For more information, see Platform Versions in the * Amazon EKS User Guide . *
* * @param platformVersion * The platform version of your Amazon EKS cluster. For more information, see Platform Versions in * the Amazon EKS User Guide . */ public void setPlatformVersion(String platformVersion) { this.platformVersion = platformVersion; } /** ** The platform version of your Amazon EKS cluster. For more information, see Platform Versions in the * Amazon EKS User Guide . *
* * @return The platform version of your Amazon EKS cluster. For more information, see Platform Versions in * the Amazon EKS User Guide . */ public String getPlatformVersion() { return this.platformVersion; } /** ** The platform version of your Amazon EKS cluster. For more information, see Platform Versions in the * Amazon EKS User Guide . *
* * @param platformVersion * The platform version of your Amazon EKS cluster. For more information, see Platform Versions in * the Amazon EKS User Guide . * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withPlatformVersion(String platformVersion) { setPlatformVersion(platformVersion); return this; } /** ** The metadata that you apply to the cluster to assist with categorization and organization. Each tag consists of a * key and an optional value. You define both. Cluster tags do not propagate to any other resources associated with * the cluster. *
* * @return The metadata that you apply to the cluster to assist with categorization and organization. Each tag * consists of a key and an optional value. You define both. Cluster tags do not propagate to any other * resources associated with the cluster. */ public java.util.Map* The metadata that you apply to the cluster to assist with categorization and organization. Each tag consists of a * key and an optional value. You define both. Cluster tags do not propagate to any other resources associated with * the cluster. *
* * @param tags * The metadata that you apply to the cluster to assist with categorization and organization. Each tag * consists of a key and an optional value. You define both. Cluster tags do not propagate to any other * resources associated with the cluster. */ public void setTags(java.util.Map* The metadata that you apply to the cluster to assist with categorization and organization. Each tag consists of a * key and an optional value. You define both. Cluster tags do not propagate to any other resources associated with * the cluster. *
* * @param tags * The metadata that you apply to the cluster to assist with categorization and organization. Each tag * consists of a key and an optional value. You define both. Cluster tags do not propagate to any other * resources associated with the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withTags(java.util.Map* The encryption configuration for the cluster. *
* * @return The encryption configuration for the cluster. */ public java.util.List* The encryption configuration for the cluster. *
* * @param encryptionConfig * The encryption configuration for the cluster. */ public void setEncryptionConfig(java.util.Collection* The encryption configuration for the cluster. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setEncryptionConfig(java.util.Collection)} or {@link #withEncryptionConfig(java.util.Collection)} if you * want to override the existing values. *
* * @param encryptionConfig * The encryption configuration for the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withEncryptionConfig(EncryptionConfig... encryptionConfig) { if (this.encryptionConfig == null) { setEncryptionConfig(new java.util.ArrayList* The encryption configuration for the cluster. *
* * @param encryptionConfig * The encryption configuration for the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withEncryptionConfig(java.util.Collection* The configuration used to connect to a cluster for registration. *
* * @param connectorConfig * The configuration used to connect to a cluster for registration. */ public void setConnectorConfig(ConnectorConfigResponse connectorConfig) { this.connectorConfig = connectorConfig; } /** ** The configuration used to connect to a cluster for registration. *
* * @return The configuration used to connect to a cluster for registration. */ public ConnectorConfigResponse getConnectorConfig() { return this.connectorConfig; } /** ** The configuration used to connect to a cluster for registration. *
* * @param connectorConfig * The configuration used to connect to a cluster for registration. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withConnectorConfig(ConnectorConfigResponse connectorConfig) { setConnectorConfig(connectorConfig); return this; } /** ** The ID of your local Amazon EKS cluster on an Amazon Web Services Outpost. This property isn't available for an * Amazon EKS cluster on the Amazon Web Services cloud. *
* * @param id * The ID of your local Amazon EKS cluster on an Amazon Web Services Outpost. This property isn't available * for an Amazon EKS cluster on the Amazon Web Services cloud. */ public void setId(String id) { this.id = id; } /** ** The ID of your local Amazon EKS cluster on an Amazon Web Services Outpost. This property isn't available for an * Amazon EKS cluster on the Amazon Web Services cloud. *
* * @return The ID of your local Amazon EKS cluster on an Amazon Web Services Outpost. This property isn't available * for an Amazon EKS cluster on the Amazon Web Services cloud. */ public String getId() { return this.id; } /** ** The ID of your local Amazon EKS cluster on an Amazon Web Services Outpost. This property isn't available for an * Amazon EKS cluster on the Amazon Web Services cloud. *
* * @param id * The ID of your local Amazon EKS cluster on an Amazon Web Services Outpost. This property isn't available * for an Amazon EKS cluster on the Amazon Web Services cloud. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withId(String id) { setId(id); return this; } /** ** An object representing the health of your local Amazon EKS cluster on an Amazon Web Services Outpost. This object * isn't available for clusters on the Amazon Web Services cloud. *
* * @param health * An object representing the health of your local Amazon EKS cluster on an Amazon Web Services Outpost. This * object isn't available for clusters on the Amazon Web Services cloud. */ public void setHealth(ClusterHealth health) { this.health = health; } /** ** An object representing the health of your local Amazon EKS cluster on an Amazon Web Services Outpost. This object * isn't available for clusters on the Amazon Web Services cloud. *
* * @return An object representing the health of your local Amazon EKS cluster on an Amazon Web Services Outpost. * This object isn't available for clusters on the Amazon Web Services cloud. */ public ClusterHealth getHealth() { return this.health; } /** ** An object representing the health of your local Amazon EKS cluster on an Amazon Web Services Outpost. This object * isn't available for clusters on the Amazon Web Services cloud. *
* * @param health * An object representing the health of your local Amazon EKS cluster on an Amazon Web Services Outpost. This * object isn't available for clusters on the Amazon Web Services cloud. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withHealth(ClusterHealth health) { setHealth(health); return this; } /** ** An object representing the configuration of your local Amazon EKS cluster on an Amazon Web Services Outpost. This * object isn't available for clusters on the Amazon Web Services cloud. *
* * @param outpostConfig * An object representing the configuration of your local Amazon EKS cluster on an Amazon Web Services * Outpost. This object isn't available for clusters on the Amazon Web Services cloud. */ public void setOutpostConfig(OutpostConfigResponse outpostConfig) { this.outpostConfig = outpostConfig; } /** ** An object representing the configuration of your local Amazon EKS cluster on an Amazon Web Services Outpost. This * object isn't available for clusters on the Amazon Web Services cloud. *
* * @return An object representing the configuration of your local Amazon EKS cluster on an Amazon Web Services * Outpost. This object isn't available for clusters on the Amazon Web Services cloud. */ public OutpostConfigResponse getOutpostConfig() { return this.outpostConfig; } /** ** An object representing the configuration of your local Amazon EKS cluster on an Amazon Web Services Outpost. This * object isn't available for clusters on the Amazon Web Services cloud. *
* * @param outpostConfig * An object representing the configuration of your local Amazon EKS cluster on an Amazon Web Services * Outpost. This object isn't available for clusters on the Amazon Web Services cloud. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withOutpostConfig(OutpostConfigResponse outpostConfig) { setOutpostConfig(outpostConfig); 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 (getName() != null) sb.append("Name: ").append(getName()).append(","); if (getArn() != null) sb.append("Arn: ").append(getArn()).append(","); if (getCreatedAt() != null) sb.append("CreatedAt: ").append(getCreatedAt()).append(","); if (getVersion() != null) sb.append("Version: ").append(getVersion()).append(","); if (getEndpoint() != null) sb.append("Endpoint: ").append(getEndpoint()).append(","); if (getRoleArn() != null) sb.append("RoleArn: ").append(getRoleArn()).append(","); if (getResourcesVpcConfig() != null) sb.append("ResourcesVpcConfig: ").append(getResourcesVpcConfig()).append(","); if (getKubernetesNetworkConfig() != null) sb.append("KubernetesNetworkConfig: ").append(getKubernetesNetworkConfig()).append(","); if (getLogging() != null) sb.append("Logging: ").append(getLogging()).append(","); if (getIdentity() != null) sb.append("Identity: ").append(getIdentity()).append(","); if (getStatus() != null) sb.append("Status: ").append(getStatus()).append(","); if (getCertificateAuthority() != null) sb.append("CertificateAuthority: ").append(getCertificateAuthority()).append(","); if (getClientRequestToken() != null) sb.append("ClientRequestToken: ").append(getClientRequestToken()).append(","); if (getPlatformVersion() != null) sb.append("PlatformVersion: ").append(getPlatformVersion()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()).append(","); if (getEncryptionConfig() != null) sb.append("EncryptionConfig: ").append(getEncryptionConfig()).append(","); if (getConnectorConfig() != null) sb.append("ConnectorConfig: ").append(getConnectorConfig()).append(","); if (getId() != null) sb.append("Id: ").append(getId()).append(","); if (getHealth() != null) sb.append("Health: ").append(getHealth()).append(","); if (getOutpostConfig() != null) sb.append("OutpostConfig: ").append(getOutpostConfig()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof Cluster == false) return false; Cluster other = (Cluster) obj; if (other.getName() == null ^ this.getName() == null) return false; if (other.getName() != null && other.getName().equals(this.getName()) == false) return false; if (other.getArn() == null ^ this.getArn() == null) return false; if (other.getArn() != null && other.getArn().equals(this.getArn()) == false) return false; if (other.getCreatedAt() == null ^ this.getCreatedAt() == null) return false; if (other.getCreatedAt() != null && other.getCreatedAt().equals(this.getCreatedAt()) == false) return false; if (other.getVersion() == null ^ this.getVersion() == null) return false; if (other.getVersion() != null && other.getVersion().equals(this.getVersion()) == false) return false; if (other.getEndpoint() == null ^ this.getEndpoint() == null) return false; if (other.getEndpoint() != null && other.getEndpoint().equals(this.getEndpoint()) == false) return false; if (other.getRoleArn() == null ^ this.getRoleArn() == null) return false; if (other.getRoleArn() != null && other.getRoleArn().equals(this.getRoleArn()) == false) return false; if (other.getResourcesVpcConfig() == null ^ this.getResourcesVpcConfig() == null) return false; if (other.getResourcesVpcConfig() != null && other.getResourcesVpcConfig().equals(this.getResourcesVpcConfig()) == false) return false; if (other.getKubernetesNetworkConfig() == null ^ this.getKubernetesNetworkConfig() == null) return false; if (other.getKubernetesNetworkConfig() != null && other.getKubernetesNetworkConfig().equals(this.getKubernetesNetworkConfig()) == false) return false; if (other.getLogging() == null ^ this.getLogging() == null) return false; if (other.getLogging() != null && other.getLogging().equals(this.getLogging()) == false) return false; if (other.getIdentity() == null ^ this.getIdentity() == null) return false; if (other.getIdentity() != null && other.getIdentity().equals(this.getIdentity()) == false) return false; if (other.getStatus() == null ^ this.getStatus() == null) return false; if (other.getStatus() != null && other.getStatus().equals(this.getStatus()) == false) return false; if (other.getCertificateAuthority() == null ^ this.getCertificateAuthority() == null) return false; if (other.getCertificateAuthority() != null && other.getCertificateAuthority().equals(this.getCertificateAuthority()) == false) return false; if (other.getClientRequestToken() == null ^ this.getClientRequestToken() == null) return false; if (other.getClientRequestToken() != null && other.getClientRequestToken().equals(this.getClientRequestToken()) == false) return false; if (other.getPlatformVersion() == null ^ this.getPlatformVersion() == null) return false; if (other.getPlatformVersion() != null && other.getPlatformVersion().equals(this.getPlatformVersion()) == 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.getEncryptionConfig() == null ^ this.getEncryptionConfig() == null) return false; if (other.getEncryptionConfig() != null && other.getEncryptionConfig().equals(this.getEncryptionConfig()) == false) return false; if (other.getConnectorConfig() == null ^ this.getConnectorConfig() == null) return false; if (other.getConnectorConfig() != null && other.getConnectorConfig().equals(this.getConnectorConfig()) == false) return false; if (other.getId() == null ^ this.getId() == null) return false; if (other.getId() != null && other.getId().equals(this.getId()) == false) return false; if (other.getHealth() == null ^ this.getHealth() == null) return false; if (other.getHealth() != null && other.getHealth().equals(this.getHealth()) == false) return false; if (other.getOutpostConfig() == null ^ this.getOutpostConfig() == null) return false; if (other.getOutpostConfig() != null && other.getOutpostConfig().equals(this.getOutpostConfig()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); hashCode = prime * hashCode + ((getArn() == null) ? 0 : getArn().hashCode()); hashCode = prime * hashCode + ((getCreatedAt() == null) ? 0 : getCreatedAt().hashCode()); hashCode = prime * hashCode + ((getVersion() == null) ? 0 : getVersion().hashCode()); hashCode = prime * hashCode + ((getEndpoint() == null) ? 0 : getEndpoint().hashCode()); hashCode = prime * hashCode + ((getRoleArn() == null) ? 0 : getRoleArn().hashCode()); hashCode = prime * hashCode + ((getResourcesVpcConfig() == null) ? 0 : getResourcesVpcConfig().hashCode()); hashCode = prime * hashCode + ((getKubernetesNetworkConfig() == null) ? 0 : getKubernetesNetworkConfig().hashCode()); hashCode = prime * hashCode + ((getLogging() == null) ? 0 : getLogging().hashCode()); hashCode = prime * hashCode + ((getIdentity() == null) ? 0 : getIdentity().hashCode()); hashCode = prime * hashCode + ((getStatus() == null) ? 0 : getStatus().hashCode()); hashCode = prime * hashCode + ((getCertificateAuthority() == null) ? 0 : getCertificateAuthority().hashCode()); hashCode = prime * hashCode + ((getClientRequestToken() == null) ? 0 : getClientRequestToken().hashCode()); hashCode = prime * hashCode + ((getPlatformVersion() == null) ? 0 : getPlatformVersion().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getEncryptionConfig() == null) ? 0 : getEncryptionConfig().hashCode()); hashCode = prime * hashCode + ((getConnectorConfig() == null) ? 0 : getConnectorConfig().hashCode()); hashCode = prime * hashCode + ((getId() == null) ? 0 : getId().hashCode()); hashCode = prime * hashCode + ((getHealth() == null) ? 0 : getHealth().hashCode()); hashCode = prime * hashCode + ((getOutpostConfig() == null) ? 0 : getOutpostConfig().hashCode()); return hashCode; } @Override public Cluster clone() { try { return (Cluster) 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.eks.model.transform.ClusterMarshaller.getInstance().marshall(this, protocolMarshaller); } }