/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Contains all of the attributes of a specific DAX cluster.See
* Also:
AWS API
* Reference
The name of the DAX cluster.
*/ inline const Aws::String& GetClusterName() const{ return m_clusterName; } /** *The name of the DAX cluster.
*/ inline bool ClusterNameHasBeenSet() const { return m_clusterNameHasBeenSet; } /** *The name of the DAX cluster.
*/ inline void SetClusterName(const Aws::String& value) { m_clusterNameHasBeenSet = true; m_clusterName = value; } /** *The name of the DAX cluster.
*/ inline void SetClusterName(Aws::String&& value) { m_clusterNameHasBeenSet = true; m_clusterName = std::move(value); } /** *The name of the DAX cluster.
*/ inline void SetClusterName(const char* value) { m_clusterNameHasBeenSet = true; m_clusterName.assign(value); } /** *The name of the DAX cluster.
*/ inline Cluster& WithClusterName(const Aws::String& value) { SetClusterName(value); return *this;} /** *The name of the DAX cluster.
*/ inline Cluster& WithClusterName(Aws::String&& value) { SetClusterName(std::move(value)); return *this;} /** *The name of the DAX cluster.
*/ inline Cluster& WithClusterName(const char* value) { SetClusterName(value); return *this;} /** *The description of the cluster.
*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *The description of the cluster.
*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *The description of the cluster.
*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *The description of the cluster.
*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *The description of the cluster.
*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *The description of the cluster.
*/ inline Cluster& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *The description of the cluster.
*/ inline Cluster& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *The description of the cluster.
*/ inline Cluster& WithDescription(const char* value) { SetDescription(value); return *this;} /** *The Amazon Resource Name (ARN) that uniquely identifies the cluster.
*/ inline const Aws::String& GetClusterArn() const{ return m_clusterArn; } /** *The Amazon Resource Name (ARN) that uniquely identifies the cluster.
*/ inline bool ClusterArnHasBeenSet() const { return m_clusterArnHasBeenSet; } /** *The Amazon Resource Name (ARN) that uniquely identifies the cluster.
*/ inline void SetClusterArn(const Aws::String& value) { m_clusterArnHasBeenSet = true; m_clusterArn = value; } /** *The Amazon Resource Name (ARN) that uniquely identifies the cluster.
*/ inline void SetClusterArn(Aws::String&& value) { m_clusterArnHasBeenSet = true; m_clusterArn = std::move(value); } /** *The Amazon Resource Name (ARN) that uniquely identifies the cluster.
*/ inline void SetClusterArn(const char* value) { m_clusterArnHasBeenSet = true; m_clusterArn.assign(value); } /** *The Amazon Resource Name (ARN) that uniquely identifies the cluster.
*/ inline Cluster& WithClusterArn(const Aws::String& value) { SetClusterArn(value); return *this;} /** *The Amazon Resource Name (ARN) that uniquely identifies the cluster.
*/ inline Cluster& WithClusterArn(Aws::String&& value) { SetClusterArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) that uniquely identifies the cluster.
*/ inline Cluster& WithClusterArn(const char* value) { SetClusterArn(value); return *this;} /** *The total number of nodes in the cluster.
*/ inline int GetTotalNodes() const{ return m_totalNodes; } /** *The total number of nodes in the cluster.
*/ inline bool TotalNodesHasBeenSet() const { return m_totalNodesHasBeenSet; } /** *The total number of nodes in the cluster.
*/ inline void SetTotalNodes(int value) { m_totalNodesHasBeenSet = true; m_totalNodes = value; } /** *The total number of nodes in the cluster.
*/ inline Cluster& WithTotalNodes(int value) { SetTotalNodes(value); return *this;} /** *The number of nodes in the cluster that are active (i.e., capable of serving * requests).
*/ inline int GetActiveNodes() const{ return m_activeNodes; } /** *The number of nodes in the cluster that are active (i.e., capable of serving * requests).
*/ inline bool ActiveNodesHasBeenSet() const { return m_activeNodesHasBeenSet; } /** *The number of nodes in the cluster that are active (i.e., capable of serving * requests).
*/ inline void SetActiveNodes(int value) { m_activeNodesHasBeenSet = true; m_activeNodes = value; } /** *The number of nodes in the cluster that are active (i.e., capable of serving * requests).
*/ inline Cluster& WithActiveNodes(int value) { SetActiveNodes(value); return *this;} /** *The node type for the nodes in the cluster. (All nodes in a DAX cluster are * of the same type.)
*/ inline const Aws::String& GetNodeType() const{ return m_nodeType; } /** *The node type for the nodes in the cluster. (All nodes in a DAX cluster are * of the same type.)
*/ inline bool NodeTypeHasBeenSet() const { return m_nodeTypeHasBeenSet; } /** *The node type for the nodes in the cluster. (All nodes in a DAX cluster are * of the same type.)
*/ inline void SetNodeType(const Aws::String& value) { m_nodeTypeHasBeenSet = true; m_nodeType = value; } /** *The node type for the nodes in the cluster. (All nodes in a DAX cluster are * of the same type.)
*/ inline void SetNodeType(Aws::String&& value) { m_nodeTypeHasBeenSet = true; m_nodeType = std::move(value); } /** *The node type for the nodes in the cluster. (All nodes in a DAX cluster are * of the same type.)
*/ inline void SetNodeType(const char* value) { m_nodeTypeHasBeenSet = true; m_nodeType.assign(value); } /** *The node type for the nodes in the cluster. (All nodes in a DAX cluster are * of the same type.)
*/ inline Cluster& WithNodeType(const Aws::String& value) { SetNodeType(value); return *this;} /** *The node type for the nodes in the cluster. (All nodes in a DAX cluster are * of the same type.)
*/ inline Cluster& WithNodeType(Aws::String&& value) { SetNodeType(std::move(value)); return *this;} /** *The node type for the nodes in the cluster. (All nodes in a DAX cluster are * of the same type.)
*/ inline Cluster& WithNodeType(const char* value) { SetNodeType(value); return *this;} /** *The current status of the cluster.
*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *The current status of the cluster.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *The current status of the cluster.
*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *The current status of the cluster.
*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *The current status of the cluster.
*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *The current status of the cluster.
*/ inline Cluster& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *The current status of the cluster.
*/ inline Cluster& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *The current status of the cluster.
*/ inline Cluster& WithStatus(const char* value) { SetStatus(value); 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.
*/ inline const Endpoint& GetClusterDiscoveryEndpoint() const{ return m_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.
*/ inline bool ClusterDiscoveryEndpointHasBeenSet() const { return m_clusterDiscoveryEndpointHasBeenSet; } /** *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.
*/ inline void SetClusterDiscoveryEndpoint(const Endpoint& value) { m_clusterDiscoveryEndpointHasBeenSet = true; m_clusterDiscoveryEndpoint = value; } /** *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.
*/ inline void SetClusterDiscoveryEndpoint(Endpoint&& value) { m_clusterDiscoveryEndpointHasBeenSet = true; m_clusterDiscoveryEndpoint = std::move(value); } /** *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.
*/ inline Cluster& WithClusterDiscoveryEndpoint(const Endpoint& value) { SetClusterDiscoveryEndpoint(value); 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.
*/ inline Cluster& WithClusterDiscoveryEndpoint(Endpoint&& value) { SetClusterDiscoveryEndpoint(std::move(value)); return *this;} /** *A list of nodes to be removed from the cluster.
*/ inline const Aws::VectorA list of nodes to be removed from the cluster.
*/ inline bool NodeIdsToRemoveHasBeenSet() const { return m_nodeIdsToRemoveHasBeenSet; } /** *A list of nodes to be removed from the cluster.
*/ inline void SetNodeIdsToRemove(const Aws::VectorA list of nodes to be removed from the cluster.
*/ inline void SetNodeIdsToRemove(Aws::VectorA list of nodes to be removed from the cluster.
*/ inline Cluster& WithNodeIdsToRemove(const Aws::VectorA list of nodes to be removed from the cluster.
*/ inline Cluster& WithNodeIdsToRemove(Aws::VectorA list of nodes to be removed from the cluster.
*/ inline Cluster& AddNodeIdsToRemove(const Aws::String& value) { m_nodeIdsToRemoveHasBeenSet = true; m_nodeIdsToRemove.push_back(value); return *this; } /** *A list of nodes to be removed from the cluster.
*/ inline Cluster& AddNodeIdsToRemove(Aws::String&& value) { m_nodeIdsToRemoveHasBeenSet = true; m_nodeIdsToRemove.push_back(std::move(value)); return *this; } /** *A list of nodes to be removed from the cluster.
*/ inline Cluster& AddNodeIdsToRemove(const char* value) { m_nodeIdsToRemoveHasBeenSet = true; m_nodeIdsToRemove.push_back(value); return *this; } /** *A list of nodes that are currently in the cluster.
*/ inline const Aws::VectorA list of nodes that are currently in the cluster.
*/ inline bool NodesHasBeenSet() const { return m_nodesHasBeenSet; } /** *A list of nodes that are currently in the cluster.
*/ inline void SetNodes(const Aws::VectorA list of nodes that are currently in the cluster.
*/ inline void SetNodes(Aws::VectorA list of nodes that are currently in the cluster.
*/ inline Cluster& WithNodes(const Aws::VectorA list of nodes that are currently in the cluster.
*/ inline Cluster& WithNodes(Aws::VectorA list of nodes that are currently in the cluster.
*/ inline Cluster& AddNodes(const Node& value) { m_nodesHasBeenSet = true; m_nodes.push_back(value); return *this; } /** *A list of nodes that are currently in the cluster.
*/ inline Cluster& AddNodes(Node&& value) { m_nodesHasBeenSet = true; m_nodes.push_back(std::move(value)); 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.
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.
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.
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.
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.
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.
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.
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).
*/ inline const NotificationConfiguration& GetNotificationConfiguration() const{ return m_notificationConfiguration; } /** *Describes a notification topic and its status. Notification topics are used * for publishing DAX events to subscribers using Amazon Simple Notification * Service (SNS).
*/ inline bool NotificationConfigurationHasBeenSet() const { return m_notificationConfigurationHasBeenSet; } /** *Describes a notification topic and its status. Notification topics are used * for publishing DAX events to subscribers using Amazon Simple Notification * Service (SNS).
*/ inline void SetNotificationConfiguration(const NotificationConfiguration& value) { m_notificationConfigurationHasBeenSet = true; m_notificationConfiguration = value; } /** *Describes a notification topic and its status. Notification topics are used * for publishing DAX events to subscribers using Amazon Simple Notification * Service (SNS).
*/ inline void SetNotificationConfiguration(NotificationConfiguration&& value) { m_notificationConfigurationHasBeenSet = true; m_notificationConfiguration = std::move(value); } /** *Describes a notification topic and its status. Notification topics are used * for publishing DAX events to subscribers using Amazon Simple Notification * Service (SNS).
*/ inline Cluster& WithNotificationConfiguration(const NotificationConfiguration& value) { SetNotificationConfiguration(value); 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).
*/ inline Cluster& WithNotificationConfiguration(NotificationConfiguration&& value) { SetNotificationConfiguration(std::move(value)); return *this;} /** *The subnet group where the DAX cluster is running.
*/ inline const Aws::String& GetSubnetGroup() const{ return m_subnetGroup; } /** *The subnet group where the DAX cluster is running.
*/ inline bool SubnetGroupHasBeenSet() const { return m_subnetGroupHasBeenSet; } /** *The subnet group where the DAX cluster is running.
*/ inline void SetSubnetGroup(const Aws::String& value) { m_subnetGroupHasBeenSet = true; m_subnetGroup = value; } /** *The subnet group where the DAX cluster is running.
*/ inline void SetSubnetGroup(Aws::String&& value) { m_subnetGroupHasBeenSet = true; m_subnetGroup = std::move(value); } /** *The subnet group where the DAX cluster is running.
*/ inline void SetSubnetGroup(const char* value) { m_subnetGroupHasBeenSet = true; m_subnetGroup.assign(value); } /** *The subnet group where the DAX cluster is running.
*/ inline Cluster& WithSubnetGroup(const Aws::String& value) { SetSubnetGroup(value); return *this;} /** *The subnet group where the DAX cluster is running.
*/ inline Cluster& WithSubnetGroup(Aws::String&& value) { SetSubnetGroup(std::move(value)); return *this;} /** *The subnet group where the DAX cluster is running.
*/ inline Cluster& WithSubnetGroup(const char* value) { SetSubnetGroup(value); return *this;} /** *A list of security groups, and the status of each, for the nodes in the * cluster.
*/ inline const Aws::VectorA list of security groups, and the status of each, for the nodes in the * cluster.
*/ inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; } /** *A list of security groups, and the status of each, for the nodes in the * cluster.
*/ inline void SetSecurityGroups(const Aws::VectorA list of security groups, and the status of each, for the nodes in the * cluster.
*/ inline void SetSecurityGroups(Aws::VectorA list of security groups, and the status of each, for the nodes in the * cluster.
*/ inline Cluster& WithSecurityGroups(const Aws::VectorA list of security groups, and the status of each, for the nodes in the * cluster.
*/ inline Cluster& WithSecurityGroups(Aws::VectorA list of security groups, and the status of each, for the nodes in the * cluster.
*/ inline Cluster& AddSecurityGroups(const SecurityGroupMembership& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(value); return *this; } /** *A list of security groups, and the status of each, for the nodes in the * cluster.
*/ inline Cluster& AddSecurityGroups(SecurityGroupMembership&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(std::move(value)); 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.
*/ inline const Aws::String& GetIamRoleArn() const{ return m_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.
*/ inline bool IamRoleArnHasBeenSet() const { return m_iamRoleArnHasBeenSet; } /** *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.
*/ inline void SetIamRoleArn(const Aws::String& value) { m_iamRoleArnHasBeenSet = true; m_iamRoleArn = value; } /** *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.
*/ inline void SetIamRoleArn(Aws::String&& value) { m_iamRoleArnHasBeenSet = true; m_iamRoleArn = std::move(value); } /** *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.
*/ inline void SetIamRoleArn(const char* value) { m_iamRoleArnHasBeenSet = true; m_iamRoleArn.assign(value); } /** *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.
*/ inline Cluster& WithIamRoleArn(const Aws::String& value) { SetIamRoleArn(value); 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.
*/ inline Cluster& WithIamRoleArn(Aws::String&& value) { SetIamRoleArn(std::move(value)); 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.
*/ inline Cluster& WithIamRoleArn(const char* value) { SetIamRoleArn(value); return *this;} /** *The parameter group being used by nodes in the cluster.
*/ inline const ParameterGroupStatus& GetParameterGroup() const{ return m_parameterGroup; } /** *The parameter group being used by nodes in the cluster.
*/ inline bool ParameterGroupHasBeenSet() const { return m_parameterGroupHasBeenSet; } /** *The parameter group being used by nodes in the cluster.
*/ inline void SetParameterGroup(const ParameterGroupStatus& value) { m_parameterGroupHasBeenSet = true; m_parameterGroup = value; } /** *The parameter group being used by nodes in the cluster.
*/ inline void SetParameterGroup(ParameterGroupStatus&& value) { m_parameterGroupHasBeenSet = true; m_parameterGroup = std::move(value); } /** *The parameter group being used by nodes in the cluster.
*/ inline Cluster& WithParameterGroup(const ParameterGroupStatus& value) { SetParameterGroup(value); return *this;} /** *The parameter group being used by nodes in the cluster.
*/ inline Cluster& WithParameterGroup(ParameterGroupStatus&& value) { SetParameterGroup(std::move(value)); return *this;} /** *The description of the server-side encryption status on the specified DAX * cluster.
*/ inline const SSEDescription& GetSSEDescription() const{ return m_sSEDescription; } /** *The description of the server-side encryption status on the specified DAX * cluster.
*/ inline bool SSEDescriptionHasBeenSet() const { return m_sSEDescriptionHasBeenSet; } /** *The description of the server-side encryption status on the specified DAX * cluster.
*/ inline void SetSSEDescription(const SSEDescription& value) { m_sSEDescriptionHasBeenSet = true; m_sSEDescription = value; } /** *The description of the server-side encryption status on the specified DAX * cluster.
*/ inline void SetSSEDescription(SSEDescription&& value) { m_sSEDescriptionHasBeenSet = true; m_sSEDescription = std::move(value); } /** *The description of the server-side encryption status on the specified DAX * cluster.
*/ inline Cluster& WithSSEDescription(const SSEDescription& value) { SetSSEDescription(value); return *this;} /** *The description of the server-side encryption status on the specified DAX * cluster.
*/ inline Cluster& WithSSEDescription(SSEDescription&& value) { SetSSEDescription(std::move(value)); return *this;} /** *The type of encryption supported by the cluster's endpoint. Values are:
* 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
The type of encryption supported by the cluster's endpoint. Values are:
* 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
The type of encryption supported by the cluster's endpoint. Values are:
* 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