/**
* 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 cluster.See
* Also:
AWS
* API Reference
The user-supplied name of the cluster. This identifier is a unique key that * identifies a cluster.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *The user-supplied name of the cluster. This identifier is a unique key that * identifies a cluster.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The user-supplied name of the cluster. This identifier is a unique key that * identifies a cluster.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *The user-supplied name of the cluster. This identifier is a unique key that * identifies a cluster.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The user-supplied name of the cluster. This identifier is a unique key that * identifies a cluster.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *The user-supplied name of the cluster. This identifier is a unique key that * identifies a cluster.
*/ inline Cluster& WithName(const Aws::String& value) { SetName(value); return *this;} /** *The user-supplied name of the cluster. This identifier is a unique key that * identifies a cluster.
*/ inline Cluster& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *The user-supplied name of the cluster. This identifier is a unique key that * identifies a cluster.
*/ inline Cluster& WithName(const char* value) { SetName(value); return *this;} /** *A description of the cluster
*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *A description of the cluster
*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *A description of the cluster
*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *A description of the cluster
*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *A description of the cluster
*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *A description of the cluster
*/ inline Cluster& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *A description of the cluster
*/ inline Cluster& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *A description of the cluster
*/ inline Cluster& WithDescription(const char* value) { SetDescription(value); return *this;} /** *The status of the cluster. For example, Available, Updating, Creating.
*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *The status of the cluster. For example, Available, Updating, Creating.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *The status of the cluster. For example, Available, Updating, Creating.
*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *The status of the cluster. For example, Available, Updating, Creating.
*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *The status of the cluster. For example, Available, Updating, Creating.
*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *The status of the cluster. For example, Available, Updating, Creating.
*/ inline Cluster& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *The status of the cluster. For example, Available, Updating, Creating.
*/ inline Cluster& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *The status of the cluster. For example, Available, Updating, Creating.
*/ inline Cluster& WithStatus(const char* value) { SetStatus(value); return *this;} /** *A group of settings that are currently being applied.
*/ inline const ClusterPendingUpdates& GetPendingUpdates() const{ return m_pendingUpdates; } /** *A group of settings that are currently being applied.
*/ inline bool PendingUpdatesHasBeenSet() const { return m_pendingUpdatesHasBeenSet; } /** *A group of settings that are currently being applied.
*/ inline void SetPendingUpdates(const ClusterPendingUpdates& value) { m_pendingUpdatesHasBeenSet = true; m_pendingUpdates = value; } /** *A group of settings that are currently being applied.
*/ inline void SetPendingUpdates(ClusterPendingUpdates&& value) { m_pendingUpdatesHasBeenSet = true; m_pendingUpdates = std::move(value); } /** *A group of settings that are currently being applied.
*/ inline Cluster& WithPendingUpdates(const ClusterPendingUpdates& value) { SetPendingUpdates(value); return *this;} /** *A group of settings that are currently being applied.
*/ inline Cluster& WithPendingUpdates(ClusterPendingUpdates&& value) { SetPendingUpdates(std::move(value)); return *this;} /** *The number of shards in the cluster
*/ inline int GetNumberOfShards() const{ return m_numberOfShards; } /** *The number of shards in the cluster
*/ inline bool NumberOfShardsHasBeenSet() const { return m_numberOfShardsHasBeenSet; } /** *The number of shards in the cluster
*/ inline void SetNumberOfShards(int value) { m_numberOfShardsHasBeenSet = true; m_numberOfShards = value; } /** *The number of shards in the cluster
*/ inline Cluster& WithNumberOfShards(int value) { SetNumberOfShards(value); return *this;} /** *A list of shards that are members of the cluster.
*/ inline const Aws::VectorA list of shards that are members of the cluster.
*/ inline bool ShardsHasBeenSet() const { return m_shardsHasBeenSet; } /** *A list of shards that are members of the cluster.
*/ inline void SetShards(const Aws::VectorA list of shards that are members of the cluster.
*/ inline void SetShards(Aws::VectorA list of shards that are members of the cluster.
*/ inline Cluster& WithShards(const Aws::VectorA list of shards that are members of the cluster.
*/ inline Cluster& WithShards(Aws::VectorA list of shards that are members of the cluster.
*/ inline Cluster& AddShards(const Shard& value) { m_shardsHasBeenSet = true; m_shards.push_back(value); return *this; } /** *A list of shards that are members of the cluster.
*/ inline Cluster& AddShards(Shard&& value) { m_shardsHasBeenSet = true; m_shards.push_back(std::move(value)); return *this; } /** *Indicates if the cluster has a Multi-AZ configuration (multiaz) or not * (singleaz).
*/ inline const AZStatus& GetAvailabilityMode() const{ return m_availabilityMode; } /** *Indicates if the cluster has a Multi-AZ configuration (multiaz) or not * (singleaz).
*/ inline bool AvailabilityModeHasBeenSet() const { return m_availabilityModeHasBeenSet; } /** *Indicates if the cluster has a Multi-AZ configuration (multiaz) or not * (singleaz).
*/ inline void SetAvailabilityMode(const AZStatus& value) { m_availabilityModeHasBeenSet = true; m_availabilityMode = value; } /** *Indicates if the cluster has a Multi-AZ configuration (multiaz) or not * (singleaz).
*/ inline void SetAvailabilityMode(AZStatus&& value) { m_availabilityModeHasBeenSet = true; m_availabilityMode = std::move(value); } /** *Indicates if the cluster has a Multi-AZ configuration (multiaz) or not * (singleaz).
*/ inline Cluster& WithAvailabilityMode(const AZStatus& value) { SetAvailabilityMode(value); return *this;} /** *Indicates if the cluster has a Multi-AZ configuration (multiaz) or not * (singleaz).
*/ inline Cluster& WithAvailabilityMode(AZStatus&& value) { SetAvailabilityMode(std::move(value)); return *this;} /** *The cluster's configuration endpoint
*/ inline const Endpoint& GetClusterEndpoint() const{ return m_clusterEndpoint; } /** *The cluster's configuration endpoint
*/ inline bool ClusterEndpointHasBeenSet() const { return m_clusterEndpointHasBeenSet; } /** *The cluster's configuration endpoint
*/ inline void SetClusterEndpoint(const Endpoint& value) { m_clusterEndpointHasBeenSet = true; m_clusterEndpoint = value; } /** *The cluster's configuration endpoint
*/ inline void SetClusterEndpoint(Endpoint&& value) { m_clusterEndpointHasBeenSet = true; m_clusterEndpoint = std::move(value); } /** *The cluster's configuration endpoint
*/ inline Cluster& WithClusterEndpoint(const Endpoint& value) { SetClusterEndpoint(value); return *this;} /** *The cluster's configuration endpoint
*/ inline Cluster& WithClusterEndpoint(Endpoint&& value) { SetClusterEndpoint(std::move(value)); return *this;} /** *The cluster's node type
*/ inline const Aws::String& GetNodeType() const{ return m_nodeType; } /** *The cluster's node type
*/ inline bool NodeTypeHasBeenSet() const { return m_nodeTypeHasBeenSet; } /** *The cluster's node type
*/ inline void SetNodeType(const Aws::String& value) { m_nodeTypeHasBeenSet = true; m_nodeType = value; } /** *The cluster's node type
*/ inline void SetNodeType(Aws::String&& value) { m_nodeTypeHasBeenSet = true; m_nodeType = std::move(value); } /** *The cluster's node type
*/ inline void SetNodeType(const char* value) { m_nodeTypeHasBeenSet = true; m_nodeType.assign(value); } /** *The cluster's node type
*/ inline Cluster& WithNodeType(const Aws::String& value) { SetNodeType(value); return *this;} /** *The cluster's node type
*/ inline Cluster& WithNodeType(Aws::String&& value) { SetNodeType(std::move(value)); return *this;} /** *The cluster's node type
*/ inline Cluster& WithNodeType(const char* value) { SetNodeType(value); return *this;} /** *The Redis engine version used by the cluster
*/ inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; } /** *The Redis engine version used by the cluster
*/ inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; } /** *The Redis engine version used by the cluster
*/ inline void SetEngineVersion(const Aws::String& value) { m_engineVersionHasBeenSet = true; m_engineVersion = value; } /** *The Redis engine version used by the cluster
*/ inline void SetEngineVersion(Aws::String&& value) { m_engineVersionHasBeenSet = true; m_engineVersion = std::move(value); } /** *The Redis engine version used by the cluster
*/ inline void SetEngineVersion(const char* value) { m_engineVersionHasBeenSet = true; m_engineVersion.assign(value); } /** *The Redis engine version used by the cluster
*/ inline Cluster& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;} /** *The Redis engine version used by the cluster
*/ inline Cluster& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;} /** *The Redis engine version used by the cluster
*/ inline Cluster& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;} /** *The Redis engine patch version used by the cluster
*/ inline const Aws::String& GetEnginePatchVersion() const{ return m_enginePatchVersion; } /** *The Redis engine patch version used by the cluster
*/ inline bool EnginePatchVersionHasBeenSet() const { return m_enginePatchVersionHasBeenSet; } /** *The Redis engine patch version used by the cluster
*/ inline void SetEnginePatchVersion(const Aws::String& value) { m_enginePatchVersionHasBeenSet = true; m_enginePatchVersion = value; } /** *The Redis engine patch version used by the cluster
*/ inline void SetEnginePatchVersion(Aws::String&& value) { m_enginePatchVersionHasBeenSet = true; m_enginePatchVersion = std::move(value); } /** *The Redis engine patch version used by the cluster
*/ inline void SetEnginePatchVersion(const char* value) { m_enginePatchVersionHasBeenSet = true; m_enginePatchVersion.assign(value); } /** *The Redis engine patch version used by the cluster
*/ inline Cluster& WithEnginePatchVersion(const Aws::String& value) { SetEnginePatchVersion(value); return *this;} /** *The Redis engine patch version used by the cluster
*/ inline Cluster& WithEnginePatchVersion(Aws::String&& value) { SetEnginePatchVersion(std::move(value)); return *this;} /** *The Redis engine patch version used by the cluster
*/ inline Cluster& WithEnginePatchVersion(const char* value) { SetEnginePatchVersion(value); return *this;} /** *The name of the parameter group used by the cluster
*/ inline const Aws::String& GetParameterGroupName() const{ return m_parameterGroupName; } /** *The name of the parameter group used by the cluster
*/ inline bool ParameterGroupNameHasBeenSet() const { return m_parameterGroupNameHasBeenSet; } /** *The name of the parameter group used by the cluster
*/ inline void SetParameterGroupName(const Aws::String& value) { m_parameterGroupNameHasBeenSet = true; m_parameterGroupName = value; } /** *The name of the parameter group used by the cluster
*/ inline void SetParameterGroupName(Aws::String&& value) { m_parameterGroupNameHasBeenSet = true; m_parameterGroupName = std::move(value); } /** *The name of the parameter group used by the cluster
*/ inline void SetParameterGroupName(const char* value) { m_parameterGroupNameHasBeenSet = true; m_parameterGroupName.assign(value); } /** *The name of the parameter group used by the cluster
*/ inline Cluster& WithParameterGroupName(const Aws::String& value) { SetParameterGroupName(value); return *this;} /** *The name of the parameter group used by the cluster
*/ inline Cluster& WithParameterGroupName(Aws::String&& value) { SetParameterGroupName(std::move(value)); return *this;} /** *The name of the parameter group used by the cluster
*/ inline Cluster& WithParameterGroupName(const char* value) { SetParameterGroupName(value); return *this;} /** *The status of the parameter group used by the cluster, for example 'active' * or 'applying'.
*/ inline const Aws::String& GetParameterGroupStatus() const{ return m_parameterGroupStatus; } /** *The status of the parameter group used by the cluster, for example 'active' * or 'applying'.
*/ inline bool ParameterGroupStatusHasBeenSet() const { return m_parameterGroupStatusHasBeenSet; } /** *The status of the parameter group used by the cluster, for example 'active' * or 'applying'.
*/ inline void SetParameterGroupStatus(const Aws::String& value) { m_parameterGroupStatusHasBeenSet = true; m_parameterGroupStatus = value; } /** *The status of the parameter group used by the cluster, for example 'active' * or 'applying'.
*/ inline void SetParameterGroupStatus(Aws::String&& value) { m_parameterGroupStatusHasBeenSet = true; m_parameterGroupStatus = std::move(value); } /** *The status of the parameter group used by the cluster, for example 'active' * or 'applying'.
*/ inline void SetParameterGroupStatus(const char* value) { m_parameterGroupStatusHasBeenSet = true; m_parameterGroupStatus.assign(value); } /** *The status of the parameter group used by the cluster, for example 'active' * or 'applying'.
*/ inline Cluster& WithParameterGroupStatus(const Aws::String& value) { SetParameterGroupStatus(value); return *this;} /** *The status of the parameter group used by the cluster, for example 'active' * or 'applying'.
*/ inline Cluster& WithParameterGroupStatus(Aws::String&& value) { SetParameterGroupStatus(std::move(value)); return *this;} /** *The status of the parameter group used by the cluster, for example 'active' * or 'applying'.
*/ inline Cluster& WithParameterGroupStatus(const char* value) { SetParameterGroupStatus(value); return *this;} /** *A list of security groups used by the cluster
*/ inline const Aws::VectorA list of security groups used by the cluster
*/ inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; } /** *A list of security groups used by the cluster
*/ inline void SetSecurityGroups(const Aws::VectorA list of security groups used by the cluster
*/ inline void SetSecurityGroups(Aws::VectorA list of security groups used by the cluster
*/ inline Cluster& WithSecurityGroups(const Aws::VectorA list of security groups used by the cluster
*/ inline Cluster& WithSecurityGroups(Aws::VectorA list of security groups used by the cluster
*/ inline Cluster& AddSecurityGroups(const SecurityGroupMembership& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(value); return *this; } /** *A list of security groups used by the cluster
*/ inline Cluster& AddSecurityGroups(SecurityGroupMembership&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(std::move(value)); return *this; } /** *The name of the subnet group used by the cluster
*/ inline const Aws::String& GetSubnetGroupName() const{ return m_subnetGroupName; } /** *The name of the subnet group used by the cluster
*/ inline bool SubnetGroupNameHasBeenSet() const { return m_subnetGroupNameHasBeenSet; } /** *The name of the subnet group used by the cluster
*/ inline void SetSubnetGroupName(const Aws::String& value) { m_subnetGroupNameHasBeenSet = true; m_subnetGroupName = value; } /** *The name of the subnet group used by the cluster
*/ inline void SetSubnetGroupName(Aws::String&& value) { m_subnetGroupNameHasBeenSet = true; m_subnetGroupName = std::move(value); } /** *The name of the subnet group used by the cluster
*/ inline void SetSubnetGroupName(const char* value) { m_subnetGroupNameHasBeenSet = true; m_subnetGroupName.assign(value); } /** *The name of the subnet group used by the cluster
*/ inline Cluster& WithSubnetGroupName(const Aws::String& value) { SetSubnetGroupName(value); return *this;} /** *The name of the subnet group used by the cluster
*/ inline Cluster& WithSubnetGroupName(Aws::String&& value) { SetSubnetGroupName(std::move(value)); return *this;} /** *The name of the subnet group used by the cluster
*/ inline Cluster& WithSubnetGroupName(const char* value) { SetSubnetGroupName(value); return *this;} /** *A flag to indicate if In-transit encryption is enabled
*/ inline bool GetTLSEnabled() const{ return m_tLSEnabled; } /** *A flag to indicate if In-transit encryption is enabled
*/ inline bool TLSEnabledHasBeenSet() const { return m_tLSEnabledHasBeenSet; } /** *A flag to indicate if In-transit encryption is enabled
*/ inline void SetTLSEnabled(bool value) { m_tLSEnabledHasBeenSet = true; m_tLSEnabled = value; } /** *A flag to indicate if In-transit encryption is enabled
*/ inline Cluster& WithTLSEnabled(bool value) { SetTLSEnabled(value); return *this;} /** *The ID of the KMS key used to encrypt the cluster
*/ inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } /** *The ID of the KMS key used to encrypt the cluster
*/ inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } /** *The ID of the KMS key used to encrypt the cluster
*/ inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } /** *The ID of the KMS key used to encrypt the cluster
*/ inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } /** *The ID of the KMS key used to encrypt the cluster
*/ inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } /** *The ID of the KMS key used to encrypt the cluster
*/ inline Cluster& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} /** *The ID of the KMS key used to encrypt the cluster
*/ inline Cluster& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} /** *The ID of the KMS key used to encrypt the cluster
*/ inline Cluster& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} /** *The Amazon Resource Name (ARN) of the cluster.
*/ inline const Aws::String& GetARN() const{ return m_aRN; } /** *The Amazon Resource Name (ARN) of the cluster.
*/ inline bool ARNHasBeenSet() const { return m_aRNHasBeenSet; } /** *The Amazon Resource Name (ARN) of the cluster.
*/ inline void SetARN(const Aws::String& value) { m_aRNHasBeenSet = true; m_aRN = value; } /** *The Amazon Resource Name (ARN) of the cluster.
*/ inline void SetARN(Aws::String&& value) { m_aRNHasBeenSet = true; m_aRN = std::move(value); } /** *The Amazon Resource Name (ARN) of the cluster.
*/ inline void SetARN(const char* value) { m_aRNHasBeenSet = true; m_aRN.assign(value); } /** *The Amazon Resource Name (ARN) of the cluster.
*/ inline Cluster& WithARN(const Aws::String& value) { SetARN(value); return *this;} /** *The Amazon Resource Name (ARN) of the cluster.
*/ inline Cluster& WithARN(Aws::String&& value) { SetARN(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the cluster.
*/ inline Cluster& WithARN(const char* value) { SetARN(value); return *this;} /** *The Amazon Resource Name (ARN) of the SNS notification topic
*/ inline const Aws::String& GetSnsTopicArn() const{ return m_snsTopicArn; } /** *The Amazon Resource Name (ARN) of the SNS notification topic
*/ inline bool SnsTopicArnHasBeenSet() const { return m_snsTopicArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the SNS notification topic
*/ inline void SetSnsTopicArn(const Aws::String& value) { m_snsTopicArnHasBeenSet = true; m_snsTopicArn = value; } /** *The Amazon Resource Name (ARN) of the SNS notification topic
*/ inline void SetSnsTopicArn(Aws::String&& value) { m_snsTopicArnHasBeenSet = true; m_snsTopicArn = std::move(value); } /** *The Amazon Resource Name (ARN) of the SNS notification topic
*/ inline void SetSnsTopicArn(const char* value) { m_snsTopicArnHasBeenSet = true; m_snsTopicArn.assign(value); } /** *The Amazon Resource Name (ARN) of the SNS notification topic
*/ inline Cluster& WithSnsTopicArn(const Aws::String& value) { SetSnsTopicArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the SNS notification topic
*/ inline Cluster& WithSnsTopicArn(Aws::String&& value) { SetSnsTopicArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the SNS notification topic
*/ inline Cluster& WithSnsTopicArn(const char* value) { SetSnsTopicArn(value); return *this;} /** *The SNS topic must be in Active status to receive notifications
*/ inline const Aws::String& GetSnsTopicStatus() const{ return m_snsTopicStatus; } /** *The SNS topic must be in Active status to receive notifications
*/ inline bool SnsTopicStatusHasBeenSet() const { return m_snsTopicStatusHasBeenSet; } /** *The SNS topic must be in Active status to receive notifications
*/ inline void SetSnsTopicStatus(const Aws::String& value) { m_snsTopicStatusHasBeenSet = true; m_snsTopicStatus = value; } /** *The SNS topic must be in Active status to receive notifications
*/ inline void SetSnsTopicStatus(Aws::String&& value) { m_snsTopicStatusHasBeenSet = true; m_snsTopicStatus = std::move(value); } /** *The SNS topic must be in Active status to receive notifications
*/ inline void SetSnsTopicStatus(const char* value) { m_snsTopicStatusHasBeenSet = true; m_snsTopicStatus.assign(value); } /** *The SNS topic must be in Active status to receive notifications
*/ inline Cluster& WithSnsTopicStatus(const Aws::String& value) { SetSnsTopicStatus(value); return *this;} /** *The SNS topic must be in Active status to receive notifications
*/ inline Cluster& WithSnsTopicStatus(Aws::String&& value) { SetSnsTopicStatus(std::move(value)); return *this;} /** *The SNS topic must be in Active status to receive notifications
*/ inline Cluster& WithSnsTopicStatus(const char* value) { SetSnsTopicStatus(value); return *this;} /** *The number of days for which MemoryDB retains automatic snapshots before * deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot * that was taken today is retained for 5 days before being deleted.
*/ inline int GetSnapshotRetentionLimit() const{ return m_snapshotRetentionLimit; } /** *The number of days for which MemoryDB retains automatic snapshots before * deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot * that was taken today is retained for 5 days before being deleted.
*/ inline bool SnapshotRetentionLimitHasBeenSet() const { return m_snapshotRetentionLimitHasBeenSet; } /** *The number of days for which MemoryDB retains automatic snapshots before * deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot * that was taken today is retained for 5 days before being deleted.
*/ inline void SetSnapshotRetentionLimit(int value) { m_snapshotRetentionLimitHasBeenSet = true; m_snapshotRetentionLimit = value; } /** *The number of days for which MemoryDB retains automatic snapshots before * deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot * that was taken today is retained for 5 days before being deleted.
*/ inline Cluster& WithSnapshotRetentionLimit(int value) { SetSnapshotRetentionLimit(value); return *this;} /** *Specifies the weekly time range during which maintenance on the cluster is * performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H * Clock UTC). The minimum maintenance window is a 60 minute period.
*/ inline const Aws::String& GetMaintenanceWindow() const{ return m_maintenanceWindow; } /** *Specifies the weekly time range during which maintenance on the cluster is * performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H * Clock UTC). The minimum maintenance window is a 60 minute period.
*/ inline bool MaintenanceWindowHasBeenSet() const { return m_maintenanceWindowHasBeenSet; } /** *Specifies the weekly time range during which maintenance on the cluster is * performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H * Clock UTC). The minimum maintenance window is a 60 minute period.
*/ inline void SetMaintenanceWindow(const Aws::String& value) { m_maintenanceWindowHasBeenSet = true; m_maintenanceWindow = value; } /** *Specifies the weekly time range during which maintenance on the cluster is * performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H * Clock UTC). The minimum maintenance window is a 60 minute period.
*/ inline void SetMaintenanceWindow(Aws::String&& value) { m_maintenanceWindowHasBeenSet = true; m_maintenanceWindow = std::move(value); } /** *Specifies the weekly time range during which maintenance on the cluster is * performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H * Clock UTC). The minimum maintenance window is a 60 minute period.
*/ inline void SetMaintenanceWindow(const char* value) { m_maintenanceWindowHasBeenSet = true; m_maintenanceWindow.assign(value); } /** *Specifies the weekly time range during which maintenance on the cluster is * performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H * Clock UTC). The minimum maintenance window is a 60 minute period.
*/ inline Cluster& WithMaintenanceWindow(const Aws::String& value) { SetMaintenanceWindow(value); return *this;} /** *Specifies the weekly time range during which maintenance on the cluster is * performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H * Clock UTC). The minimum maintenance window is a 60 minute period.
*/ inline Cluster& WithMaintenanceWindow(Aws::String&& value) { SetMaintenanceWindow(std::move(value)); return *this;} /** *Specifies the weekly time range during which maintenance on the cluster is * performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H * Clock UTC). The minimum maintenance window is a 60 minute period.
*/ inline Cluster& WithMaintenanceWindow(const char* value) { SetMaintenanceWindow(value); return *this;} /** *The daily time range (in UTC) during which MemoryDB begins taking a daily * snapshot of your shard. Example: 05:00-09:00 If you do not specify this * parameter, MemoryDB automatically chooses an appropriate time range.
*/ inline const Aws::String& GetSnapshotWindow() const{ return m_snapshotWindow; } /** *The daily time range (in UTC) during which MemoryDB begins taking a daily * snapshot of your shard. Example: 05:00-09:00 If you do not specify this * parameter, MemoryDB automatically chooses an appropriate time range.
*/ inline bool SnapshotWindowHasBeenSet() const { return m_snapshotWindowHasBeenSet; } /** *The daily time range (in UTC) during which MemoryDB begins taking a daily * snapshot of your shard. Example: 05:00-09:00 If you do not specify this * parameter, MemoryDB automatically chooses an appropriate time range.
*/ inline void SetSnapshotWindow(const Aws::String& value) { m_snapshotWindowHasBeenSet = true; m_snapshotWindow = value; } /** *The daily time range (in UTC) during which MemoryDB begins taking a daily * snapshot of your shard. Example: 05:00-09:00 If you do not specify this * parameter, MemoryDB automatically chooses an appropriate time range.
*/ inline void SetSnapshotWindow(Aws::String&& value) { m_snapshotWindowHasBeenSet = true; m_snapshotWindow = std::move(value); } /** *The daily time range (in UTC) during which MemoryDB begins taking a daily * snapshot of your shard. Example: 05:00-09:00 If you do not specify this * parameter, MemoryDB automatically chooses an appropriate time range.
*/ inline void SetSnapshotWindow(const char* value) { m_snapshotWindowHasBeenSet = true; m_snapshotWindow.assign(value); } /** *The daily time range (in UTC) during which MemoryDB begins taking a daily * snapshot of your shard. Example: 05:00-09:00 If you do not specify this * parameter, MemoryDB automatically chooses an appropriate time range.
*/ inline Cluster& WithSnapshotWindow(const Aws::String& value) { SetSnapshotWindow(value); return *this;} /** *The daily time range (in UTC) during which MemoryDB begins taking a daily * snapshot of your shard. Example: 05:00-09:00 If you do not specify this * parameter, MemoryDB automatically chooses an appropriate time range.
*/ inline Cluster& WithSnapshotWindow(Aws::String&& value) { SetSnapshotWindow(std::move(value)); return *this;} /** *The daily time range (in UTC) during which MemoryDB begins taking a daily * snapshot of your shard. Example: 05:00-09:00 If you do not specify this * parameter, MemoryDB automatically chooses an appropriate time range.
*/ inline Cluster& WithSnapshotWindow(const char* value) { SetSnapshotWindow(value); return *this;} /** *The name of the Access Control List associated with this cluster.
*/ inline const Aws::String& GetACLName() const{ return m_aCLName; } /** *The name of the Access Control List associated with this cluster.
*/ inline bool ACLNameHasBeenSet() const { return m_aCLNameHasBeenSet; } /** *The name of the Access Control List associated with this cluster.
*/ inline void SetACLName(const Aws::String& value) { m_aCLNameHasBeenSet = true; m_aCLName = value; } /** *The name of the Access Control List associated with this cluster.
*/ inline void SetACLName(Aws::String&& value) { m_aCLNameHasBeenSet = true; m_aCLName = std::move(value); } /** *The name of the Access Control List associated with this cluster.
*/ inline void SetACLName(const char* value) { m_aCLNameHasBeenSet = true; m_aCLName.assign(value); } /** *The name of the Access Control List associated with this cluster.
*/ inline Cluster& WithACLName(const Aws::String& value) { SetACLName(value); return *this;} /** *The name of the Access Control List associated with this cluster.
*/ inline Cluster& WithACLName(Aws::String&& value) { SetACLName(std::move(value)); return *this;} /** *The name of the Access Control List associated with this cluster.
*/ inline Cluster& WithACLName(const char* value) { SetACLName(value); return *this;} /** *When set to true, the cluster will automatically receive minor engine version * upgrades after launch.
*/ inline bool GetAutoMinorVersionUpgrade() const{ return m_autoMinorVersionUpgrade; } /** *When set to true, the cluster will automatically receive minor engine version * upgrades after launch.
*/ inline bool AutoMinorVersionUpgradeHasBeenSet() const { return m_autoMinorVersionUpgradeHasBeenSet; } /** *When set to true, the cluster will automatically receive minor engine version * upgrades after launch.
*/ inline void SetAutoMinorVersionUpgrade(bool value) { m_autoMinorVersionUpgradeHasBeenSet = true; m_autoMinorVersionUpgrade = value; } /** *When set to true, the cluster will automatically receive minor engine version * upgrades after launch.
*/ inline Cluster& WithAutoMinorVersionUpgrade(bool value) { SetAutoMinorVersionUpgrade(value); return *this;} /** *Enables data tiering. Data tiering is only supported for clusters using the * r6gd node type. This parameter must be set when using r6gd nodes. For more * information, see Data * tiering.
*/ inline const DataTieringStatus& GetDataTiering() const{ return m_dataTiering; } /** *Enables data tiering. Data tiering is only supported for clusters using the * r6gd node type. This parameter must be set when using r6gd nodes. For more * information, see Data * tiering.
*/ inline bool DataTieringHasBeenSet() const { return m_dataTieringHasBeenSet; } /** *Enables data tiering. Data tiering is only supported for clusters using the * r6gd node type. This parameter must be set when using r6gd nodes. For more * information, see Data * tiering.
*/ inline void SetDataTiering(const DataTieringStatus& value) { m_dataTieringHasBeenSet = true; m_dataTiering = value; } /** *Enables data tiering. Data tiering is only supported for clusters using the * r6gd node type. This parameter must be set when using r6gd nodes. For more * information, see Data * tiering.
*/ inline void SetDataTiering(DataTieringStatus&& value) { m_dataTieringHasBeenSet = true; m_dataTiering = std::move(value); } /** *Enables data tiering. Data tiering is only supported for clusters using the * r6gd node type. This parameter must be set when using r6gd nodes. For more * information, see Data * tiering.
*/ inline Cluster& WithDataTiering(const DataTieringStatus& value) { SetDataTiering(value); return *this;} /** *Enables data tiering. Data tiering is only supported for clusters using the * r6gd node type. This parameter must be set when using r6gd nodes. For more * information, see Data * tiering.
*/ inline Cluster& WithDataTiering(DataTieringStatus&& value) { SetDataTiering(std::move(value)); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; ClusterPendingUpdates m_pendingUpdates; bool m_pendingUpdatesHasBeenSet = false; int m_numberOfShards; bool m_numberOfShardsHasBeenSet = false; Aws::Vector