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

com.amazonaws.services.dax.model.Cluster Maven / Gradle / Ivy

/*
 * 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.dax.model;

import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;

/**
 * 

* Contains all of the attributes of a specific DAX cluster. *

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

* The name of the DAX cluster. *

*/ private String clusterName; /** *

* The description of the cluster. *

*/ private String description; /** *

* The Amazon Resource Name (ARN) that uniquely identifies the cluster. *

*/ private String clusterArn; /** *

* The total number of nodes in the cluster. *

*/ private Integer totalNodes; /** *

* The number of nodes in the cluster that are active (i.e., capable of serving requests). *

*/ private Integer activeNodes; /** *

* The node type for the nodes in the cluster. (All nodes in a DAX cluster are of the same type.) *

*/ private String nodeType; /** *

* The current status of the cluster. *

*/ private String status; /** *

* The endpoint for this DAX cluster, consisting of a DNS name, a port number, and a URL. Applications should use * the URL to configure the DAX client to find their cluster. *

*/ private Endpoint clusterDiscoveryEndpoint; /** *

* A list of nodes to be removed from the cluster. *

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

* A list of nodes that are currently in the cluster. *

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

* A range of time when maintenance of DAX cluster software will be performed. For example: * sun:01:00-sun:09:00. Cluster maintenance normally takes less than 30 minutes, and is performed * automatically within the maintenance window. *

*/ private String preferredMaintenanceWindow; /** *

* Describes a notification topic and its status. Notification topics are used for publishing DAX events to * subscribers using Amazon Simple Notification Service (SNS). *

*/ private NotificationConfiguration notificationConfiguration; /** *

* The subnet group where the DAX cluster is running. *

*/ private String subnetGroup; /** *

* A list of security groups, and the status of each, for the nodes in the cluster. *

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

* A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will assume this role and use the * role's permissions to access DynamoDB on your behalf. *

*/ private String iamRoleArn; /** *

* The parameter group being used by nodes in the cluster. *

*/ private ParameterGroupStatus parameterGroup; /** *

* The description of the server-side encryption status on the specified DAX cluster. *

*/ private SSEDescription sSEDescription; /** *

* The type of encryption supported by the cluster's endpoint. Values are: *

*
    *
  • *

    * NONE for no encryption *

    *

    * TLS for Transport Layer Security *

    *
  • *
*/ private String clusterEndpointEncryptionType; /** *

* The name of the DAX cluster. *

* * @param clusterName * The name of the DAX cluster. */ public void setClusterName(String clusterName) { this.clusterName = clusterName; } /** *

* The name of the DAX cluster. *

* * @return The name of the DAX cluster. */ public String getClusterName() { return this.clusterName; } /** *

* The name of the DAX cluster. *

* * @param clusterName * The name of the DAX cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withClusterName(String clusterName) { setClusterName(clusterName); return this; } /** *

* The description of the cluster. *

* * @param description * The description of the cluster. */ public void setDescription(String description) { this.description = description; } /** *

* The description of the cluster. *

* * @return The description of the cluster. */ public String getDescription() { return this.description; } /** *

* The description of the cluster. *

* * @param description * The description of the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withDescription(String description) { setDescription(description); return this; } /** *

* The Amazon Resource Name (ARN) that uniquely identifies the cluster. *

* * @param clusterArn * The Amazon Resource Name (ARN) that uniquely identifies the cluster. */ public void setClusterArn(String clusterArn) { this.clusterArn = clusterArn; } /** *

* The Amazon Resource Name (ARN) that uniquely identifies the cluster. *

* * @return The Amazon Resource Name (ARN) that uniquely identifies the cluster. */ public String getClusterArn() { return this.clusterArn; } /** *

* The Amazon Resource Name (ARN) that uniquely identifies the cluster. *

* * @param clusterArn * The Amazon Resource Name (ARN) that uniquely identifies the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withClusterArn(String clusterArn) { setClusterArn(clusterArn); return this; } /** *

* The total number of nodes in the cluster. *

* * @param totalNodes * The total number of nodes in the cluster. */ public void setTotalNodes(Integer totalNodes) { this.totalNodes = totalNodes; } /** *

* The total number of nodes in the cluster. *

* * @return The total number of nodes in the cluster. */ public Integer getTotalNodes() { return this.totalNodes; } /** *

* The total number of nodes in the cluster. *

* * @param totalNodes * The total number of nodes in the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withTotalNodes(Integer totalNodes) { setTotalNodes(totalNodes); return this; } /** *

* The number of nodes in the cluster that are active (i.e., capable of serving requests). *

* * @param activeNodes * The number of nodes in the cluster that are active (i.e., capable of serving requests). */ public void setActiveNodes(Integer activeNodes) { this.activeNodes = activeNodes; } /** *

* The number of nodes in the cluster that are active (i.e., capable of serving requests). *

* * @return The number of nodes in the cluster that are active (i.e., capable of serving requests). */ public Integer getActiveNodes() { return this.activeNodes; } /** *

* The number of nodes in the cluster that are active (i.e., capable of serving requests). *

* * @param activeNodes * The number of nodes in the cluster that are active (i.e., capable of serving requests). * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withActiveNodes(Integer activeNodes) { setActiveNodes(activeNodes); return this; } /** *

* The node type for the nodes in the cluster. (All nodes in a DAX cluster are of the same type.) *

* * @param nodeType * The node type for the nodes in the cluster. (All nodes in a DAX cluster are of the same type.) */ public void setNodeType(String nodeType) { this.nodeType = nodeType; } /** *

* The node type for the nodes in the cluster. (All nodes in a DAX cluster are of the same type.) *

* * @return The node type for the nodes in the cluster. (All nodes in a DAX cluster are of the same type.) */ public String getNodeType() { return this.nodeType; } /** *

* The node type for the nodes in the cluster. (All nodes in a DAX cluster are of the same type.) *

* * @param nodeType * The node type for the nodes in the cluster. (All nodes in a DAX cluster are of the same type.) * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withNodeType(String nodeType) { setNodeType(nodeType); return this; } /** *

* The current status of the cluster. *

* * @param status * The current status of the cluster. */ public void setStatus(String status) { this.status = status; } /** *

* The current status of the cluster. *

* * @return The current status of the cluster. */ 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. */ public Cluster withStatus(String status) { setStatus(status); return this; } /** *

* The endpoint for this DAX cluster, consisting of a DNS name, a port number, and a URL. Applications should use * the URL to configure the DAX client to find their cluster. *

* * @param clusterDiscoveryEndpoint * The endpoint for this DAX cluster, consisting of a DNS name, a port number, and a URL. Applications should * use the URL to configure the DAX client to find their cluster. */ public void setClusterDiscoveryEndpoint(Endpoint clusterDiscoveryEndpoint) { this.clusterDiscoveryEndpoint = clusterDiscoveryEndpoint; } /** *

* The endpoint for this DAX cluster, consisting of a DNS name, a port number, and a URL. Applications should use * the URL to configure the DAX client to find their cluster. *

* * @return The endpoint for this DAX cluster, consisting of a DNS name, a port number, and a URL. Applications * should use the URL to configure the DAX client to find their cluster. */ public Endpoint getClusterDiscoveryEndpoint() { return this.clusterDiscoveryEndpoint; } /** *

* The endpoint for this DAX cluster, consisting of a DNS name, a port number, and a URL. Applications should use * the URL to configure the DAX client to find their cluster. *

* * @param clusterDiscoveryEndpoint * The endpoint for this DAX cluster, consisting of a DNS name, a port number, and a URL. Applications should * use the URL to configure the DAX client to find their cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withClusterDiscoveryEndpoint(Endpoint clusterDiscoveryEndpoint) { setClusterDiscoveryEndpoint(clusterDiscoveryEndpoint); return this; } /** *

* A list of nodes to be removed from the cluster. *

* * @return A list of nodes to be removed from the cluster. */ public java.util.List getNodeIdsToRemove() { return nodeIdsToRemove; } /** *

* A list of nodes to be removed from the cluster. *

* * @param nodeIdsToRemove * A list of nodes to be removed from the cluster. */ public void setNodeIdsToRemove(java.util.Collection nodeIdsToRemove) { if (nodeIdsToRemove == null) { this.nodeIdsToRemove = null; return; } this.nodeIdsToRemove = new java.util.ArrayList(nodeIdsToRemove); } /** *

* A list of nodes to be removed from the cluster. *

*

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

* * @param nodeIdsToRemove * A list of nodes to be removed from the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withNodeIdsToRemove(String... nodeIdsToRemove) { if (this.nodeIdsToRemove == null) { setNodeIdsToRemove(new java.util.ArrayList(nodeIdsToRemove.length)); } for (String ele : nodeIdsToRemove) { this.nodeIdsToRemove.add(ele); } return this; } /** *

* A list of nodes to be removed from the cluster. *

* * @param nodeIdsToRemove * A list of nodes to be removed from the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withNodeIdsToRemove(java.util.Collection nodeIdsToRemove) { setNodeIdsToRemove(nodeIdsToRemove); return this; } /** *

* A list of nodes that are currently in the cluster. *

* * @return A list of nodes that are currently in the cluster. */ public java.util.List getNodes() { return nodes; } /** *

* A list of nodes that are currently in the cluster. *

* * @param nodes * A list of nodes that are currently in the cluster. */ public void setNodes(java.util.Collection nodes) { if (nodes == null) { this.nodes = null; return; } this.nodes = new java.util.ArrayList(nodes); } /** *

* A list of nodes that are currently in the cluster. *

*

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

* * @param nodes * A list of nodes that are currently in the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withNodes(Node... nodes) { if (this.nodes == null) { setNodes(new java.util.ArrayList(nodes.length)); } for (Node ele : nodes) { this.nodes.add(ele); } return this; } /** *

* A list of nodes that are currently in the cluster. *

* * @param nodes * A list of nodes that are currently in the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withNodes(java.util.Collection nodes) { setNodes(nodes); return this; } /** *

* A range of time when maintenance of DAX cluster software will be performed. For example: * sun:01:00-sun:09:00. Cluster maintenance normally takes less than 30 minutes, and is performed * automatically within the maintenance window. *

* * @param preferredMaintenanceWindow * A range of time when maintenance of DAX cluster software will be performed. For example: * sun:01:00-sun:09:00. Cluster maintenance normally takes less than 30 minutes, and is * performed automatically within the maintenance window. */ public void setPreferredMaintenanceWindow(String preferredMaintenanceWindow) { this.preferredMaintenanceWindow = preferredMaintenanceWindow; } /** *

* A range of time when maintenance of DAX cluster software will be performed. For example: * sun:01:00-sun:09:00. Cluster maintenance normally takes less than 30 minutes, and is performed * automatically within the maintenance window. *

* * @return A range of time when maintenance of DAX cluster software will be performed. For example: * sun:01:00-sun:09:00. Cluster maintenance normally takes less than 30 minutes, and is * performed automatically within the maintenance window. */ public String getPreferredMaintenanceWindow() { return this.preferredMaintenanceWindow; } /** *

* A range of time when maintenance of DAX cluster software will be performed. For example: * sun:01:00-sun:09:00. Cluster maintenance normally takes less than 30 minutes, and is performed * automatically within the maintenance window. *

* * @param preferredMaintenanceWindow * A range of time when maintenance of DAX cluster software will be performed. For example: * sun:01:00-sun:09:00. Cluster maintenance normally takes less than 30 minutes, and is * performed automatically within the maintenance window. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withPreferredMaintenanceWindow(String preferredMaintenanceWindow) { setPreferredMaintenanceWindow(preferredMaintenanceWindow); return this; } /** *

* Describes a notification topic and its status. Notification topics are used for publishing DAX events to * subscribers using Amazon Simple Notification Service (SNS). *

* * @param notificationConfiguration * Describes a notification topic and its status. Notification topics are used for publishing DAX events to * subscribers using Amazon Simple Notification Service (SNS). */ public void setNotificationConfiguration(NotificationConfiguration notificationConfiguration) { this.notificationConfiguration = notificationConfiguration; } /** *

* Describes a notification topic and its status. Notification topics are used for publishing DAX events to * subscribers using Amazon Simple Notification Service (SNS). *

* * @return Describes a notification topic and its status. Notification topics are used for publishing DAX events to * subscribers using Amazon Simple Notification Service (SNS). */ public NotificationConfiguration getNotificationConfiguration() { return this.notificationConfiguration; } /** *

* Describes a notification topic and its status. Notification topics are used for publishing DAX events to * subscribers using Amazon Simple Notification Service (SNS). *

* * @param notificationConfiguration * Describes a notification topic and its status. Notification topics are used for publishing DAX events to * subscribers using Amazon Simple Notification Service (SNS). * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withNotificationConfiguration(NotificationConfiguration notificationConfiguration) { setNotificationConfiguration(notificationConfiguration); return this; } /** *

* The subnet group where the DAX cluster is running. *

* * @param subnetGroup * The subnet group where the DAX cluster is running. */ public void setSubnetGroup(String subnetGroup) { this.subnetGroup = subnetGroup; } /** *

* The subnet group where the DAX cluster is running. *

* * @return The subnet group where the DAX cluster is running. */ public String getSubnetGroup() { return this.subnetGroup; } /** *

* The subnet group where the DAX cluster is running. *

* * @param subnetGroup * The subnet group where the DAX cluster is running. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withSubnetGroup(String subnetGroup) { setSubnetGroup(subnetGroup); return this; } /** *

* A list of security groups, and the status of each, for the nodes in the cluster. *

* * @return A list of security groups, and the status of each, for the nodes in the cluster. */ public java.util.List getSecurityGroups() { return securityGroups; } /** *

* A list of security groups, and the status of each, for the nodes in the cluster. *

* * @param securityGroups * A list of security groups, and the status of each, for the nodes in the cluster. */ public void setSecurityGroups(java.util.Collection securityGroups) { if (securityGroups == null) { this.securityGroups = null; return; } this.securityGroups = new java.util.ArrayList(securityGroups); } /** *

* A list of security groups, and the status of each, for the nodes in the cluster. *

*

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

* * @param securityGroups * A list of security groups, and the status of each, for the nodes in the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withSecurityGroups(SecurityGroupMembership... securityGroups) { if (this.securityGroups == null) { setSecurityGroups(new java.util.ArrayList(securityGroups.length)); } for (SecurityGroupMembership ele : securityGroups) { this.securityGroups.add(ele); } return this; } /** *

* A list of security groups, and the status of each, for the nodes in the cluster. *

* * @param securityGroups * A list of security groups, and the status of each, for the nodes in the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withSecurityGroups(java.util.Collection securityGroups) { setSecurityGroups(securityGroups); return this; } /** *

* A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will assume this role and use the * role's permissions to access DynamoDB on your behalf. *

* * @param iamRoleArn * A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will assume this role and * use the role's permissions to access DynamoDB on your behalf. */ public void setIamRoleArn(String iamRoleArn) { this.iamRoleArn = iamRoleArn; } /** *

* A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will assume this role and use the * role's permissions to access DynamoDB on your behalf. *

* * @return A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will assume this role and * use the role's permissions to access DynamoDB on your behalf. */ public String getIamRoleArn() { return this.iamRoleArn; } /** *

* A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will assume this role and use the * role's permissions to access DynamoDB on your behalf. *

* * @param iamRoleArn * A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will assume this role and * use the role's permissions to access DynamoDB on your behalf. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withIamRoleArn(String iamRoleArn) { setIamRoleArn(iamRoleArn); return this; } /** *

* The parameter group being used by nodes in the cluster. *

* * @param parameterGroup * The parameter group being used by nodes in the cluster. */ public void setParameterGroup(ParameterGroupStatus parameterGroup) { this.parameterGroup = parameterGroup; } /** *

* The parameter group being used by nodes in the cluster. *

* * @return The parameter group being used by nodes in the cluster. */ public ParameterGroupStatus getParameterGroup() { return this.parameterGroup; } /** *

* The parameter group being used by nodes in the cluster. *

* * @param parameterGroup * The parameter group being used by nodes in the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withParameterGroup(ParameterGroupStatus parameterGroup) { setParameterGroup(parameterGroup); return this; } /** *

* The description of the server-side encryption status on the specified DAX cluster. *

* * @param sSEDescription * The description of the server-side encryption status on the specified DAX cluster. */ public void setSSEDescription(SSEDescription sSEDescription) { this.sSEDescription = sSEDescription; } /** *

* The description of the server-side encryption status on the specified DAX cluster. *

* * @return The description of the server-side encryption status on the specified DAX cluster. */ public SSEDescription getSSEDescription() { return this.sSEDescription; } /** *

* The description of the server-side encryption status on the specified DAX cluster. *

* * @param sSEDescription * The description of the server-side encryption status on the specified DAX cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withSSEDescription(SSEDescription sSEDescription) { setSSEDescription(sSEDescription); return this; } /** *

* The type of encryption supported by the cluster's endpoint. Values are: *

*
    *
  • *

    * NONE for no encryption *

    *

    * TLS for Transport Layer Security *

    *
  • *
* * @param clusterEndpointEncryptionType * The type of encryption supported by the cluster's endpoint. Values are:

*
    *
  • *

    * NONE for no encryption *

    *

    * TLS for Transport Layer Security *

    *
  • * @see ClusterEndpointEncryptionType */ public void setClusterEndpointEncryptionType(String clusterEndpointEncryptionType) { this.clusterEndpointEncryptionType = clusterEndpointEncryptionType; } /** *

    * The type of encryption supported by the cluster's endpoint. Values are: *

    *
      *
    • *

      * NONE for no encryption *

      *

      * TLS for Transport Layer Security *

      *
    • *
    * * @return The type of encryption supported by the cluster's endpoint. Values are:

    *
      *
    • *

      * NONE for no encryption *

      *

      * TLS for Transport Layer Security *

      *
    • * @see ClusterEndpointEncryptionType */ public String getClusterEndpointEncryptionType() { return this.clusterEndpointEncryptionType; } /** *

      * The type of encryption supported by the cluster's endpoint. Values are: *

      *
        *
      • *

        * NONE for no encryption *

        *

        * TLS for Transport Layer Security *

        *
      • *
      * * @param clusterEndpointEncryptionType * The type of encryption supported by the cluster's endpoint. Values are:

      *
        *
      • *

        * NONE for no encryption *

        *

        * TLS for Transport Layer Security *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. * @see ClusterEndpointEncryptionType */ public Cluster withClusterEndpointEncryptionType(String clusterEndpointEncryptionType) { setClusterEndpointEncryptionType(clusterEndpointEncryptionType); return this; } /** *

        * The type of encryption supported by the cluster's endpoint. Values are: *

        *
          *
        • *

          * NONE for no encryption *

          *

          * TLS for Transport Layer Security *

          *
        • *
        * * @param clusterEndpointEncryptionType * The type of encryption supported by the cluster's endpoint. Values are:

        *
          *
        • *

          * NONE for no encryption *

          *

          * TLS for Transport Layer Security *

          *
        • * @return Returns a reference to this object so that method calls can be chained together. * @see ClusterEndpointEncryptionType */ public Cluster withClusterEndpointEncryptionType(ClusterEndpointEncryptionType clusterEndpointEncryptionType) { this.clusterEndpointEncryptionType = clusterEndpointEncryptionType.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 (getClusterName() != null) sb.append("ClusterName: ").append(getClusterName()).append(","); if (getDescription() != null) sb.append("Description: ").append(getDescription()).append(","); if (getClusterArn() != null) sb.append("ClusterArn: ").append(getClusterArn()).append(","); if (getTotalNodes() != null) sb.append("TotalNodes: ").append(getTotalNodes()).append(","); if (getActiveNodes() != null) sb.append("ActiveNodes: ").append(getActiveNodes()).append(","); if (getNodeType() != null) sb.append("NodeType: ").append(getNodeType()).append(","); if (getStatus() != null) sb.append("Status: ").append(getStatus()).append(","); if (getClusterDiscoveryEndpoint() != null) sb.append("ClusterDiscoveryEndpoint: ").append(getClusterDiscoveryEndpoint()).append(","); if (getNodeIdsToRemove() != null) sb.append("NodeIdsToRemove: ").append(getNodeIdsToRemove()).append(","); if (getNodes() != null) sb.append("Nodes: ").append(getNodes()).append(","); if (getPreferredMaintenanceWindow() != null) sb.append("PreferredMaintenanceWindow: ").append(getPreferredMaintenanceWindow()).append(","); if (getNotificationConfiguration() != null) sb.append("NotificationConfiguration: ").append(getNotificationConfiguration()).append(","); if (getSubnetGroup() != null) sb.append("SubnetGroup: ").append(getSubnetGroup()).append(","); if (getSecurityGroups() != null) sb.append("SecurityGroups: ").append(getSecurityGroups()).append(","); if (getIamRoleArn() != null) sb.append("IamRoleArn: ").append(getIamRoleArn()).append(","); if (getParameterGroup() != null) sb.append("ParameterGroup: ").append(getParameterGroup()).append(","); if (getSSEDescription() != null) sb.append("SSEDescription: ").append(getSSEDescription()).append(","); if (getClusterEndpointEncryptionType() != null) sb.append("ClusterEndpointEncryptionType: ").append(getClusterEndpointEncryptionType()); 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.getClusterName() == null ^ this.getClusterName() == null) return false; if (other.getClusterName() != null && other.getClusterName().equals(this.getClusterName()) == false) return false; if (other.getDescription() == null ^ this.getDescription() == null) return false; if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false) return false; if (other.getClusterArn() == null ^ this.getClusterArn() == null) return false; if (other.getClusterArn() != null && other.getClusterArn().equals(this.getClusterArn()) == false) return false; if (other.getTotalNodes() == null ^ this.getTotalNodes() == null) return false; if (other.getTotalNodes() != null && other.getTotalNodes().equals(this.getTotalNodes()) == false) return false; if (other.getActiveNodes() == null ^ this.getActiveNodes() == null) return false; if (other.getActiveNodes() != null && other.getActiveNodes().equals(this.getActiveNodes()) == false) return false; if (other.getNodeType() == null ^ this.getNodeType() == null) return false; if (other.getNodeType() != null && other.getNodeType().equals(this.getNodeType()) == 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.getClusterDiscoveryEndpoint() == null ^ this.getClusterDiscoveryEndpoint() == null) return false; if (other.getClusterDiscoveryEndpoint() != null && other.getClusterDiscoveryEndpoint().equals(this.getClusterDiscoveryEndpoint()) == false) return false; if (other.getNodeIdsToRemove() == null ^ this.getNodeIdsToRemove() == null) return false; if (other.getNodeIdsToRemove() != null && other.getNodeIdsToRemove().equals(this.getNodeIdsToRemove()) == false) return false; if (other.getNodes() == null ^ this.getNodes() == null) return false; if (other.getNodes() != null && other.getNodes().equals(this.getNodes()) == false) return false; if (other.getPreferredMaintenanceWindow() == null ^ this.getPreferredMaintenanceWindow() == null) return false; if (other.getPreferredMaintenanceWindow() != null && other.getPreferredMaintenanceWindow().equals(this.getPreferredMaintenanceWindow()) == false) return false; if (other.getNotificationConfiguration() == null ^ this.getNotificationConfiguration() == null) return false; if (other.getNotificationConfiguration() != null && other.getNotificationConfiguration().equals(this.getNotificationConfiguration()) == false) return false; if (other.getSubnetGroup() == null ^ this.getSubnetGroup() == null) return false; if (other.getSubnetGroup() != null && other.getSubnetGroup().equals(this.getSubnetGroup()) == false) return false; if (other.getSecurityGroups() == null ^ this.getSecurityGroups() == null) return false; if (other.getSecurityGroups() != null && other.getSecurityGroups().equals(this.getSecurityGroups()) == false) return false; if (other.getIamRoleArn() == null ^ this.getIamRoleArn() == null) return false; if (other.getIamRoleArn() != null && other.getIamRoleArn().equals(this.getIamRoleArn()) == false) return false; if (other.getParameterGroup() == null ^ this.getParameterGroup() == null) return false; if (other.getParameterGroup() != null && other.getParameterGroup().equals(this.getParameterGroup()) == false) return false; if (other.getSSEDescription() == null ^ this.getSSEDescription() == null) return false; if (other.getSSEDescription() != null && other.getSSEDescription().equals(this.getSSEDescription()) == false) return false; if (other.getClusterEndpointEncryptionType() == null ^ this.getClusterEndpointEncryptionType() == null) return false; if (other.getClusterEndpointEncryptionType() != null && other.getClusterEndpointEncryptionType().equals(this.getClusterEndpointEncryptionType()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getClusterName() == null) ? 0 : getClusterName().hashCode()); hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode()); hashCode = prime * hashCode + ((getClusterArn() == null) ? 0 : getClusterArn().hashCode()); hashCode = prime * hashCode + ((getTotalNodes() == null) ? 0 : getTotalNodes().hashCode()); hashCode = prime * hashCode + ((getActiveNodes() == null) ? 0 : getActiveNodes().hashCode()); hashCode = prime * hashCode + ((getNodeType() == null) ? 0 : getNodeType().hashCode()); hashCode = prime * hashCode + ((getStatus() == null) ? 0 : getStatus().hashCode()); hashCode = prime * hashCode + ((getClusterDiscoveryEndpoint() == null) ? 0 : getClusterDiscoveryEndpoint().hashCode()); hashCode = prime * hashCode + ((getNodeIdsToRemove() == null) ? 0 : getNodeIdsToRemove().hashCode()); hashCode = prime * hashCode + ((getNodes() == null) ? 0 : getNodes().hashCode()); hashCode = prime * hashCode + ((getPreferredMaintenanceWindow() == null) ? 0 : getPreferredMaintenanceWindow().hashCode()); hashCode = prime * hashCode + ((getNotificationConfiguration() == null) ? 0 : getNotificationConfiguration().hashCode()); hashCode = prime * hashCode + ((getSubnetGroup() == null) ? 0 : getSubnetGroup().hashCode()); hashCode = prime * hashCode + ((getSecurityGroups() == null) ? 0 : getSecurityGroups().hashCode()); hashCode = prime * hashCode + ((getIamRoleArn() == null) ? 0 : getIamRoleArn().hashCode()); hashCode = prime * hashCode + ((getParameterGroup() == null) ? 0 : getParameterGroup().hashCode()); hashCode = prime * hashCode + ((getSSEDescription() == null) ? 0 : getSSEDescription().hashCode()); hashCode = prime * hashCode + ((getClusterEndpointEncryptionType() == null) ? 0 : getClusterEndpointEncryptionType().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.dax.model.transform.ClusterMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy