/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A list of cluster configuration options. See Also:
AWS
* API Reference
The name of the cluster
*/ inline const Aws::String& GetName() const{ return m_name; } /** *The name of the cluster
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The name of the cluster
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *The name of the cluster
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The name of the cluster
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *The name of the cluster
*/ inline ClusterConfiguration& WithName(const Aws::String& value) { SetName(value); return *this;} /** *The name of the cluster
*/ inline ClusterConfiguration& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *The name of the cluster
*/ inline ClusterConfiguration& WithName(const char* value) { SetName(value); return *this;} /** *The description of the cluster configuration
*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *The description of the cluster configuration
*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *The description of the cluster configuration
*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *The description of the cluster configuration
*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *The description of the cluster configuration
*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *The description of the cluster configuration
*/ inline ClusterConfiguration& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *The description of the cluster configuration
*/ inline ClusterConfiguration& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *The description of the cluster configuration
*/ inline ClusterConfiguration& WithDescription(const char* value) { SetDescription(value); return *this;} /** *The node type used for the cluster
*/ inline const Aws::String& GetNodeType() const{ return m_nodeType; } /** *The node type used for the cluster
*/ inline bool NodeTypeHasBeenSet() const { return m_nodeTypeHasBeenSet; } /** *The node type used for the cluster
*/ inline void SetNodeType(const Aws::String& value) { m_nodeTypeHasBeenSet = true; m_nodeType = value; } /** *The node type used for the cluster
*/ inline void SetNodeType(Aws::String&& value) { m_nodeTypeHasBeenSet = true; m_nodeType = std::move(value); } /** *The node type used for the cluster
*/ inline void SetNodeType(const char* value) { m_nodeTypeHasBeenSet = true; m_nodeType.assign(value); } /** *The node type used for the cluster
*/ inline ClusterConfiguration& WithNodeType(const Aws::String& value) { SetNodeType(value); return *this;} /** *The node type used for the cluster
*/ inline ClusterConfiguration& WithNodeType(Aws::String&& value) { SetNodeType(std::move(value)); return *this;} /** *The node type used for the cluster
*/ inline ClusterConfiguration& 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 ClusterConfiguration& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;} /** *The Redis engine version used by the cluster
*/ inline ClusterConfiguration& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;} /** *The Redis engine version used by the cluster
*/ inline ClusterConfiguration& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;} /** *The specified maintenance window for the cluster
*/ inline const Aws::String& GetMaintenanceWindow() const{ return m_maintenanceWindow; } /** *The specified maintenance window for the cluster
*/ inline bool MaintenanceWindowHasBeenSet() const { return m_maintenanceWindowHasBeenSet; } /** *The specified maintenance window for the cluster
*/ inline void SetMaintenanceWindow(const Aws::String& value) { m_maintenanceWindowHasBeenSet = true; m_maintenanceWindow = value; } /** *The specified maintenance window for the cluster
*/ inline void SetMaintenanceWindow(Aws::String&& value) { m_maintenanceWindowHasBeenSet = true; m_maintenanceWindow = std::move(value); } /** *The specified maintenance window for the cluster
*/ inline void SetMaintenanceWindow(const char* value) { m_maintenanceWindowHasBeenSet = true; m_maintenanceWindow.assign(value); } /** *The specified maintenance window for the cluster
*/ inline ClusterConfiguration& WithMaintenanceWindow(const Aws::String& value) { SetMaintenanceWindow(value); return *this;} /** *The specified maintenance window for the cluster
*/ inline ClusterConfiguration& WithMaintenanceWindow(Aws::String&& value) { SetMaintenanceWindow(std::move(value)); return *this;} /** *The specified maintenance window for the cluster
*/ inline ClusterConfiguration& WithMaintenanceWindow(const char* value) { SetMaintenanceWindow(value); return *this;} /** *The Amazon Resource Name (ARN) of the SNS notification topic for the * cluster
*/ inline const Aws::String& GetTopicArn() const{ return m_topicArn; } /** *The Amazon Resource Name (ARN) of the SNS notification topic for the * cluster
*/ inline bool TopicArnHasBeenSet() const { return m_topicArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the SNS notification topic for the * cluster
*/ inline void SetTopicArn(const Aws::String& value) { m_topicArnHasBeenSet = true; m_topicArn = value; } /** *The Amazon Resource Name (ARN) of the SNS notification topic for the * cluster
*/ inline void SetTopicArn(Aws::String&& value) { m_topicArnHasBeenSet = true; m_topicArn = std::move(value); } /** *The Amazon Resource Name (ARN) of the SNS notification topic for the * cluster
*/ inline void SetTopicArn(const char* value) { m_topicArnHasBeenSet = true; m_topicArn.assign(value); } /** *The Amazon Resource Name (ARN) of the SNS notification topic for the * cluster
*/ inline ClusterConfiguration& WithTopicArn(const Aws::String& value) { SetTopicArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the SNS notification topic for the * cluster
*/ inline ClusterConfiguration& WithTopicArn(Aws::String&& value) { SetTopicArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the SNS notification topic for the * cluster
*/ inline ClusterConfiguration& WithTopicArn(const char* value) { SetTopicArn(value); return *this;} /** *The port used by the cluster
*/ inline int GetPort() const{ return m_port; } /** *The port used by the cluster
*/ inline bool PortHasBeenSet() const { return m_portHasBeenSet; } /** *The port used by the cluster
*/ inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } /** *The port used by the cluster
*/ inline ClusterConfiguration& WithPort(int value) { SetPort(value); return *this;} /** *The name of parameter group used by the cluster
*/ inline const Aws::String& GetParameterGroupName() const{ return m_parameterGroupName; } /** *The name of parameter group used by the cluster
*/ inline bool ParameterGroupNameHasBeenSet() const { return m_parameterGroupNameHasBeenSet; } /** *The name of parameter group used by the cluster
*/ inline void SetParameterGroupName(const Aws::String& value) { m_parameterGroupNameHasBeenSet = true; m_parameterGroupName = value; } /** *The name of parameter group used by the cluster
*/ inline void SetParameterGroupName(Aws::String&& value) { m_parameterGroupNameHasBeenSet = true; m_parameterGroupName = std::move(value); } /** *The name of parameter group used by the cluster
*/ inline void SetParameterGroupName(const char* value) { m_parameterGroupNameHasBeenSet = true; m_parameterGroupName.assign(value); } /** *The name of parameter group used by the cluster
*/ inline ClusterConfiguration& WithParameterGroupName(const Aws::String& value) { SetParameterGroupName(value); return *this;} /** *The name of parameter group used by the cluster
*/ inline ClusterConfiguration& WithParameterGroupName(Aws::String&& value) { SetParameterGroupName(std::move(value)); return *this;} /** *The name of parameter group used by the cluster
*/ inline ClusterConfiguration& WithParameterGroupName(const char* value) { SetParameterGroupName(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 ClusterConfiguration& WithSubnetGroupName(const Aws::String& value) { SetSubnetGroupName(value); return *this;} /** *The name of the subnet group used by the cluster
*/ inline ClusterConfiguration& WithSubnetGroupName(Aws::String&& value) { SetSubnetGroupName(std::move(value)); return *this;} /** *The name of the subnet group used by the cluster
*/ inline ClusterConfiguration& WithSubnetGroupName(const char* value) { SetSubnetGroupName(value); return *this;} /** *The ID of the VPC the cluster belongs to
*/ inline const Aws::String& GetVpcId() const{ return m_vpcId; } /** *The ID of the VPC the cluster belongs to
*/ inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } /** *The ID of the VPC the cluster belongs to
*/ inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; } /** *The ID of the VPC the cluster belongs to
*/ inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); } /** *The ID of the VPC the cluster belongs to
*/ inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); } /** *The ID of the VPC the cluster belongs to
*/ inline ClusterConfiguration& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} /** *The ID of the VPC the cluster belongs to
*/ inline ClusterConfiguration& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} /** *The ID of the VPC the cluster belongs to
*/ inline ClusterConfiguration& WithVpcId(const char* value) { SetVpcId(value); return *this;} /** *The snapshot retention limit set by the cluster
*/ inline int GetSnapshotRetentionLimit() const{ return m_snapshotRetentionLimit; } /** *The snapshot retention limit set by the cluster
*/ inline bool SnapshotRetentionLimitHasBeenSet() const { return m_snapshotRetentionLimitHasBeenSet; } /** *The snapshot retention limit set by the cluster
*/ inline void SetSnapshotRetentionLimit(int value) { m_snapshotRetentionLimitHasBeenSet = true; m_snapshotRetentionLimit = value; } /** *The snapshot retention limit set by the cluster
*/ inline ClusterConfiguration& WithSnapshotRetentionLimit(int value) { SetSnapshotRetentionLimit(value); return *this;} /** *The snapshot window set by the cluster
*/ inline const Aws::String& GetSnapshotWindow() const{ return m_snapshotWindow; } /** *The snapshot window set by the cluster
*/ inline bool SnapshotWindowHasBeenSet() const { return m_snapshotWindowHasBeenSet; } /** *The snapshot window set by the cluster
*/ inline void SetSnapshotWindow(const Aws::String& value) { m_snapshotWindowHasBeenSet = true; m_snapshotWindow = value; } /** *The snapshot window set by the cluster
*/ inline void SetSnapshotWindow(Aws::String&& value) { m_snapshotWindowHasBeenSet = true; m_snapshotWindow = std::move(value); } /** *The snapshot window set by the cluster
*/ inline void SetSnapshotWindow(const char* value) { m_snapshotWindowHasBeenSet = true; m_snapshotWindow.assign(value); } /** *The snapshot window set by the cluster
*/ inline ClusterConfiguration& WithSnapshotWindow(const Aws::String& value) { SetSnapshotWindow(value); return *this;} /** *The snapshot window set by the cluster
*/ inline ClusterConfiguration& WithSnapshotWindow(Aws::String&& value) { SetSnapshotWindow(std::move(value)); return *this;} /** *The snapshot window set by the cluster
*/ inline ClusterConfiguration& WithSnapshotWindow(const char* value) { SetSnapshotWindow(value); return *this;} /** *The number of shards in the cluster
*/ inline int GetNumShards() const{ return m_numShards; } /** *The number of shards in the cluster
*/ inline bool NumShardsHasBeenSet() const { return m_numShardsHasBeenSet; } /** *The number of shards in the cluster
*/ inline void SetNumShards(int value) { m_numShardsHasBeenSet = true; m_numShards = value; } /** *The number of shards in the cluster
*/ inline ClusterConfiguration& WithNumShards(int value) { SetNumShards(value); return *this;} /** *The list of shards in the cluster
*/ inline const Aws::VectorThe list of shards in the cluster
*/ inline bool ShardsHasBeenSet() const { return m_shardsHasBeenSet; } /** *The list of shards in the cluster
*/ inline void SetShards(const Aws::VectorThe list of shards in the cluster
*/ inline void SetShards(Aws::VectorThe list of shards in the cluster
*/ inline ClusterConfiguration& WithShards(const Aws::VectorThe list of shards in the cluster
*/ inline ClusterConfiguration& WithShards(Aws::VectorThe list of shards in the cluster
*/ inline ClusterConfiguration& AddShards(const ShardDetail& value) { m_shardsHasBeenSet = true; m_shards.push_back(value); return *this; } /** *The list of shards in the cluster
*/ inline ClusterConfiguration& AddShards(ShardDetail&& value) { m_shardsHasBeenSet = true; m_shards.push_back(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_nodeType; bool m_nodeTypeHasBeenSet = false; Aws::String m_engineVersion; bool m_engineVersionHasBeenSet = false; Aws::String m_maintenanceWindow; bool m_maintenanceWindowHasBeenSet = false; Aws::String m_topicArn; bool m_topicArnHasBeenSet = false; int m_port; bool m_portHasBeenSet = false; Aws::String m_parameterGroupName; bool m_parameterGroupNameHasBeenSet = false; Aws::String m_subnetGroupName; bool m_subnetGroupNameHasBeenSet = false; Aws::String m_vpcId; bool m_vpcIdHasBeenSet = false; int m_snapshotRetentionLimit; bool m_snapshotRetentionLimitHasBeenSet = false; Aws::String m_snapshotWindow; bool m_snapshotWindowHasBeenSet = false; int m_numShards; bool m_numShardsHasBeenSet = false; Aws::Vector