/* * 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* A list of nodes that are currently in the cluster. *
*/ private java.util.List
* 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.
*
* 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* 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
*
* 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* 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* 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* 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* 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* 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* 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* 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
* 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.
*
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.
*
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.
*
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* 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* 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* 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* 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
*
* NONE
for no encryption
*
* TLS
for Transport Layer Security
*
* The type of encryption supported by the cluster's endpoint. Values are: *
*
* NONE
for no encryption
*
* TLS
for Transport Layer Security
*
* NONE
for no encryption
*
* TLS
for Transport Layer Security
*
* The type of encryption supported by the cluster's endpoint. Values are: *
*
* NONE
for no encryption
*
* TLS
for Transport Layer Security
*
* NONE
for no encryption
*
* TLS
for Transport Layer Security
*
* The type of encryption supported by the cluster's endpoint. Values are: *
*
* NONE
for no encryption
*
* TLS
for Transport Layer Security
*
* NONE
for no encryption
*
* TLS
for Transport Layer Security
*