/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace DAX { namespace Model { /** *

Contains all of the attributes of a specific DAX cluster.

See * Also:

AWS API * Reference

*/ class Cluster { public: AWS_DAX_API Cluster(); AWS_DAX_API Cluster(Aws::Utils::Json::JsonView jsonValue); AWS_DAX_API Cluster& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_DAX_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

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::Vector& GetNodeIdsToRemove() const{ return m_nodeIdsToRemove; } /** *

A 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::Vector& value) { m_nodeIdsToRemoveHasBeenSet = true; m_nodeIdsToRemove = value; } /** *

A list of nodes to be removed from the cluster.

*/ inline void SetNodeIdsToRemove(Aws::Vector&& value) { m_nodeIdsToRemoveHasBeenSet = true; m_nodeIdsToRemove = std::move(value); } /** *

A list of nodes to be removed from the cluster.

*/ inline Cluster& WithNodeIdsToRemove(const Aws::Vector& value) { SetNodeIdsToRemove(value); return *this;} /** *

A list of nodes to be removed from the cluster.

*/ inline Cluster& WithNodeIdsToRemove(Aws::Vector&& value) { SetNodeIdsToRemove(std::move(value)); return *this;} /** *

A 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::Vector& GetNodes() const{ return m_nodes; } /** *

A 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::Vector& value) { m_nodesHasBeenSet = true; m_nodes = value; } /** *

A list of nodes that are currently in the cluster.

*/ inline void SetNodes(Aws::Vector&& value) { m_nodesHasBeenSet = true; m_nodes = std::move(value); } /** *

A list of nodes that are currently in the cluster.

*/ inline Cluster& WithNodes(const Aws::Vector& value) { SetNodes(value); return *this;} /** *

A list of nodes that are currently in the cluster.

*/ inline Cluster& WithNodes(Aws::Vector&& value) { SetNodes(std::move(value)); return *this;} /** *

A 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.

*/ inline const Aws::String& GetPreferredMaintenanceWindow() const{ return m_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.

*/ inline bool PreferredMaintenanceWindowHasBeenSet() const { return m_preferredMaintenanceWindowHasBeenSet; } /** *

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.

*/ inline void SetPreferredMaintenanceWindow(const Aws::String& value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow = value; } /** *

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.

*/ inline void SetPreferredMaintenanceWindow(Aws::String&& value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow = std::move(value); } /** *

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.

*/ inline void SetPreferredMaintenanceWindow(const char* value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow.assign(value); } /** *

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.

*/ inline Cluster& WithPreferredMaintenanceWindow(const Aws::String& value) { SetPreferredMaintenanceWindow(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.

*/ inline Cluster& WithPreferredMaintenanceWindow(Aws::String&& value) { SetPreferredMaintenanceWindow(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.

*/ inline Cluster& WithPreferredMaintenanceWindow(const char* value) { SetPreferredMaintenanceWindow(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 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::Vector& GetSecurityGroups() const{ return m_securityGroups; } /** *

A 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::Vector& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = value; } /** *

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

*/ inline void SetSecurityGroups(Aws::Vector&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = std::move(value); } /** *

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

*/ inline Cluster& WithSecurityGroups(const Aws::Vector& value) { SetSecurityGroups(value); return *this;} /** *

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

*/ inline Cluster& WithSecurityGroups(Aws::Vector&& value) { SetSecurityGroups(std::move(value)); return *this;} /** *

A 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

*/ inline const ClusterEndpointEncryptionType& GetClusterEndpointEncryptionType() const{ return m_clusterEndpointEncryptionType; } /** *

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

*
  • NONE for no encryption

    TLS for * Transport Layer Security

*/ inline bool ClusterEndpointEncryptionTypeHasBeenSet() const { return m_clusterEndpointEncryptionTypeHasBeenSet; } /** *

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

*
  • NONE for no encryption

    TLS for * Transport Layer Security

*/ inline void SetClusterEndpointEncryptionType(const ClusterEndpointEncryptionType& value) { m_clusterEndpointEncryptionTypeHasBeenSet = true; m_clusterEndpointEncryptionType = value; } /** *

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

*
  • NONE for no encryption

    TLS for * Transport Layer Security

*/ inline void SetClusterEndpointEncryptionType(ClusterEndpointEncryptionType&& value) { m_clusterEndpointEncryptionTypeHasBeenSet = true; m_clusterEndpointEncryptionType = std::move(value); } /** *

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

*
  • NONE for no encryption

    TLS for * Transport Layer Security

*/ inline Cluster& WithClusterEndpointEncryptionType(const ClusterEndpointEncryptionType& value) { SetClusterEndpointEncryptionType(value); return *this;} /** *

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

*
  • NONE for no encryption

    TLS for * Transport Layer Security

*/ inline Cluster& WithClusterEndpointEncryptionType(ClusterEndpointEncryptionType&& value) { SetClusterEndpointEncryptionType(std::move(value)); return *this;} private: Aws::String m_clusterName; bool m_clusterNameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_clusterArn; bool m_clusterArnHasBeenSet = false; int m_totalNodes; bool m_totalNodesHasBeenSet = false; int m_activeNodes; bool m_activeNodesHasBeenSet = false; Aws::String m_nodeType; bool m_nodeTypeHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; Endpoint m_clusterDiscoveryEndpoint; bool m_clusterDiscoveryEndpointHasBeenSet = false; Aws::Vector m_nodeIdsToRemove; bool m_nodeIdsToRemoveHasBeenSet = false; Aws::Vector m_nodes; bool m_nodesHasBeenSet = false; Aws::String m_preferredMaintenanceWindow; bool m_preferredMaintenanceWindowHasBeenSet = false; NotificationConfiguration m_notificationConfiguration; bool m_notificationConfigurationHasBeenSet = false; Aws::String m_subnetGroup; bool m_subnetGroupHasBeenSet = false; Aws::Vector m_securityGroups; bool m_securityGroupsHasBeenSet = false; Aws::String m_iamRoleArn; bool m_iamRoleArnHasBeenSet = false; ParameterGroupStatus m_parameterGroup; bool m_parameterGroupHasBeenSet = false; SSEDescription m_sSEDescription; bool m_sSEDescriptionHasBeenSet = false; ClusterEndpointEncryptionType m_clusterEndpointEncryptionType; bool m_clusterEndpointEncryptionTypeHasBeenSet = false; }; } // namespace Model } // namespace DAX } // namespace Aws