1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/redshift/Redshift_EXPORTS.h> 8 #include <aws/redshift/RedshiftRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/core/utils/memory/stl/AWSVector.h> 11 #include <aws/redshift/model/AquaConfigurationStatus.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 namespace Redshift 17 { 18 namespace Model 19 { 20 21 /** 22 * <p/><p><h3>See Also:</h3> <a 23 * href="http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/RestoreFromClusterSnapshotMessage">AWS 24 * API Reference</a></p> 25 */ 26 class AWS_REDSHIFT_API RestoreFromClusterSnapshotRequest : public RedshiftRequest 27 { 28 public: 29 RestoreFromClusterSnapshotRequest(); 30 31 // Service request name is the Operation name which will send this request out, 32 // each operation should has unique request name, so that we can get operation's name from this request. 33 // Note: this is not true for response, multiple operations may have the same response name, 34 // so we can not get operation's name from response. GetServiceRequestName()35 inline virtual const char* GetServiceRequestName() const override { return "RestoreFromClusterSnapshot"; } 36 37 Aws::String SerializePayload() const override; 38 39 protected: 40 void DumpBodyToUrl(Aws::Http::URI& uri ) const override; 41 42 public: 43 44 /** 45 * <p>The identifier of the cluster that will be created from restoring the 46 * snapshot.</p> <p>Constraints:</p> <ul> <li> <p>Must contain from 1 to 63 47 * alphanumeric characters or hyphens.</p> </li> <li> <p>Alphabetic characters must 48 * be lowercase.</p> </li> <li> <p>First character must be a letter.</p> </li> <li> 49 * <p>Cannot end with a hyphen or contain two consecutive hyphens.</p> </li> <li> 50 * <p>Must be unique for all clusters within an Amazon Web Services account.</p> 51 * </li> </ul> 52 */ GetClusterIdentifier()53 inline const Aws::String& GetClusterIdentifier() const{ return m_clusterIdentifier; } 54 55 /** 56 * <p>The identifier of the cluster that will be created from restoring the 57 * snapshot.</p> <p>Constraints:</p> <ul> <li> <p>Must contain from 1 to 63 58 * alphanumeric characters or hyphens.</p> </li> <li> <p>Alphabetic characters must 59 * be lowercase.</p> </li> <li> <p>First character must be a letter.</p> </li> <li> 60 * <p>Cannot end with a hyphen or contain two consecutive hyphens.</p> </li> <li> 61 * <p>Must be unique for all clusters within an Amazon Web Services account.</p> 62 * </li> </ul> 63 */ ClusterIdentifierHasBeenSet()64 inline bool ClusterIdentifierHasBeenSet() const { return m_clusterIdentifierHasBeenSet; } 65 66 /** 67 * <p>The identifier of the cluster that will be created from restoring the 68 * snapshot.</p> <p>Constraints:</p> <ul> <li> <p>Must contain from 1 to 63 69 * alphanumeric characters or hyphens.</p> </li> <li> <p>Alphabetic characters must 70 * be lowercase.</p> </li> <li> <p>First character must be a letter.</p> </li> <li> 71 * <p>Cannot end with a hyphen or contain two consecutive hyphens.</p> </li> <li> 72 * <p>Must be unique for all clusters within an Amazon Web Services account.</p> 73 * </li> </ul> 74 */ SetClusterIdentifier(const Aws::String & value)75 inline void SetClusterIdentifier(const Aws::String& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = value; } 76 77 /** 78 * <p>The identifier of the cluster that will be created from restoring the 79 * snapshot.</p> <p>Constraints:</p> <ul> <li> <p>Must contain from 1 to 63 80 * alphanumeric characters or hyphens.</p> </li> <li> <p>Alphabetic characters must 81 * be lowercase.</p> </li> <li> <p>First character must be a letter.</p> </li> <li> 82 * <p>Cannot end with a hyphen or contain two consecutive hyphens.</p> </li> <li> 83 * <p>Must be unique for all clusters within an Amazon Web Services account.</p> 84 * </li> </ul> 85 */ SetClusterIdentifier(Aws::String && value)86 inline void SetClusterIdentifier(Aws::String&& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = std::move(value); } 87 88 /** 89 * <p>The identifier of the cluster that will be created from restoring the 90 * snapshot.</p> <p>Constraints:</p> <ul> <li> <p>Must contain from 1 to 63 91 * alphanumeric characters or hyphens.</p> </li> <li> <p>Alphabetic characters must 92 * be lowercase.</p> </li> <li> <p>First character must be a letter.</p> </li> <li> 93 * <p>Cannot end with a hyphen or contain two consecutive hyphens.</p> </li> <li> 94 * <p>Must be unique for all clusters within an Amazon Web Services account.</p> 95 * </li> </ul> 96 */ SetClusterIdentifier(const char * value)97 inline void SetClusterIdentifier(const char* value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier.assign(value); } 98 99 /** 100 * <p>The identifier of the cluster that will be created from restoring the 101 * snapshot.</p> <p>Constraints:</p> <ul> <li> <p>Must contain from 1 to 63 102 * alphanumeric characters or hyphens.</p> </li> <li> <p>Alphabetic characters must 103 * be lowercase.</p> </li> <li> <p>First character must be a letter.</p> </li> <li> 104 * <p>Cannot end with a hyphen or contain two consecutive hyphens.</p> </li> <li> 105 * <p>Must be unique for all clusters within an Amazon Web Services account.</p> 106 * </li> </ul> 107 */ WithClusterIdentifier(const Aws::String & value)108 inline RestoreFromClusterSnapshotRequest& WithClusterIdentifier(const Aws::String& value) { SetClusterIdentifier(value); return *this;} 109 110 /** 111 * <p>The identifier of the cluster that will be created from restoring the 112 * snapshot.</p> <p>Constraints:</p> <ul> <li> <p>Must contain from 1 to 63 113 * alphanumeric characters or hyphens.</p> </li> <li> <p>Alphabetic characters must 114 * be lowercase.</p> </li> <li> <p>First character must be a letter.</p> </li> <li> 115 * <p>Cannot end with a hyphen or contain two consecutive hyphens.</p> </li> <li> 116 * <p>Must be unique for all clusters within an Amazon Web Services account.</p> 117 * </li> </ul> 118 */ WithClusterIdentifier(Aws::String && value)119 inline RestoreFromClusterSnapshotRequest& WithClusterIdentifier(Aws::String&& value) { SetClusterIdentifier(std::move(value)); return *this;} 120 121 /** 122 * <p>The identifier of the cluster that will be created from restoring the 123 * snapshot.</p> <p>Constraints:</p> <ul> <li> <p>Must contain from 1 to 63 124 * alphanumeric characters or hyphens.</p> </li> <li> <p>Alphabetic characters must 125 * be lowercase.</p> </li> <li> <p>First character must be a letter.</p> </li> <li> 126 * <p>Cannot end with a hyphen or contain two consecutive hyphens.</p> </li> <li> 127 * <p>Must be unique for all clusters within an Amazon Web Services account.</p> 128 * </li> </ul> 129 */ WithClusterIdentifier(const char * value)130 inline RestoreFromClusterSnapshotRequest& WithClusterIdentifier(const char* value) { SetClusterIdentifier(value); return *this;} 131 132 133 /** 134 * <p>The name of the snapshot from which to create the new cluster. This parameter 135 * isn't case sensitive.</p> <p>Example: <code>my-snapshot-id</code> </p> 136 */ GetSnapshotIdentifier()137 inline const Aws::String& GetSnapshotIdentifier() const{ return m_snapshotIdentifier; } 138 139 /** 140 * <p>The name of the snapshot from which to create the new cluster. This parameter 141 * isn't case sensitive.</p> <p>Example: <code>my-snapshot-id</code> </p> 142 */ SnapshotIdentifierHasBeenSet()143 inline bool SnapshotIdentifierHasBeenSet() const { return m_snapshotIdentifierHasBeenSet; } 144 145 /** 146 * <p>The name of the snapshot from which to create the new cluster. This parameter 147 * isn't case sensitive.</p> <p>Example: <code>my-snapshot-id</code> </p> 148 */ SetSnapshotIdentifier(const Aws::String & value)149 inline void SetSnapshotIdentifier(const Aws::String& value) { m_snapshotIdentifierHasBeenSet = true; m_snapshotIdentifier = value; } 150 151 /** 152 * <p>The name of the snapshot from which to create the new cluster. This parameter 153 * isn't case sensitive.</p> <p>Example: <code>my-snapshot-id</code> </p> 154 */ SetSnapshotIdentifier(Aws::String && value)155 inline void SetSnapshotIdentifier(Aws::String&& value) { m_snapshotIdentifierHasBeenSet = true; m_snapshotIdentifier = std::move(value); } 156 157 /** 158 * <p>The name of the snapshot from which to create the new cluster. This parameter 159 * isn't case sensitive.</p> <p>Example: <code>my-snapshot-id</code> </p> 160 */ SetSnapshotIdentifier(const char * value)161 inline void SetSnapshotIdentifier(const char* value) { m_snapshotIdentifierHasBeenSet = true; m_snapshotIdentifier.assign(value); } 162 163 /** 164 * <p>The name of the snapshot from which to create the new cluster. This parameter 165 * isn't case sensitive.</p> <p>Example: <code>my-snapshot-id</code> </p> 166 */ WithSnapshotIdentifier(const Aws::String & value)167 inline RestoreFromClusterSnapshotRequest& WithSnapshotIdentifier(const Aws::String& value) { SetSnapshotIdentifier(value); return *this;} 168 169 /** 170 * <p>The name of the snapshot from which to create the new cluster. This parameter 171 * isn't case sensitive.</p> <p>Example: <code>my-snapshot-id</code> </p> 172 */ WithSnapshotIdentifier(Aws::String && value)173 inline RestoreFromClusterSnapshotRequest& WithSnapshotIdentifier(Aws::String&& value) { SetSnapshotIdentifier(std::move(value)); return *this;} 174 175 /** 176 * <p>The name of the snapshot from which to create the new cluster. This parameter 177 * isn't case sensitive.</p> <p>Example: <code>my-snapshot-id</code> </p> 178 */ WithSnapshotIdentifier(const char * value)179 inline RestoreFromClusterSnapshotRequest& WithSnapshotIdentifier(const char* value) { SetSnapshotIdentifier(value); return *this;} 180 181 182 /** 183 * <p>The name of the cluster the source snapshot was created from. This parameter 184 * is required if your IAM user has a policy containing a snapshot resource element 185 * that specifies anything other than * for the cluster name.</p> 186 */ GetSnapshotClusterIdentifier()187 inline const Aws::String& GetSnapshotClusterIdentifier() const{ return m_snapshotClusterIdentifier; } 188 189 /** 190 * <p>The name of the cluster the source snapshot was created from. This parameter 191 * is required if your IAM user has a policy containing a snapshot resource element 192 * that specifies anything other than * for the cluster name.</p> 193 */ SnapshotClusterIdentifierHasBeenSet()194 inline bool SnapshotClusterIdentifierHasBeenSet() const { return m_snapshotClusterIdentifierHasBeenSet; } 195 196 /** 197 * <p>The name of the cluster the source snapshot was created from. This parameter 198 * is required if your IAM user has a policy containing a snapshot resource element 199 * that specifies anything other than * for the cluster name.</p> 200 */ SetSnapshotClusterIdentifier(const Aws::String & value)201 inline void SetSnapshotClusterIdentifier(const Aws::String& value) { m_snapshotClusterIdentifierHasBeenSet = true; m_snapshotClusterIdentifier = value; } 202 203 /** 204 * <p>The name of the cluster the source snapshot was created from. This parameter 205 * is required if your IAM user has a policy containing a snapshot resource element 206 * that specifies anything other than * for the cluster name.</p> 207 */ SetSnapshotClusterIdentifier(Aws::String && value)208 inline void SetSnapshotClusterIdentifier(Aws::String&& value) { m_snapshotClusterIdentifierHasBeenSet = true; m_snapshotClusterIdentifier = std::move(value); } 209 210 /** 211 * <p>The name of the cluster the source snapshot was created from. This parameter 212 * is required if your IAM user has a policy containing a snapshot resource element 213 * that specifies anything other than * for the cluster name.</p> 214 */ SetSnapshotClusterIdentifier(const char * value)215 inline void SetSnapshotClusterIdentifier(const char* value) { m_snapshotClusterIdentifierHasBeenSet = true; m_snapshotClusterIdentifier.assign(value); } 216 217 /** 218 * <p>The name of the cluster the source snapshot was created from. This parameter 219 * is required if your IAM user has a policy containing a snapshot resource element 220 * that specifies anything other than * for the cluster name.</p> 221 */ WithSnapshotClusterIdentifier(const Aws::String & value)222 inline RestoreFromClusterSnapshotRequest& WithSnapshotClusterIdentifier(const Aws::String& value) { SetSnapshotClusterIdentifier(value); return *this;} 223 224 /** 225 * <p>The name of the cluster the source snapshot was created from. This parameter 226 * is required if your IAM user has a policy containing a snapshot resource element 227 * that specifies anything other than * for the cluster name.</p> 228 */ WithSnapshotClusterIdentifier(Aws::String && value)229 inline RestoreFromClusterSnapshotRequest& WithSnapshotClusterIdentifier(Aws::String&& value) { SetSnapshotClusterIdentifier(std::move(value)); return *this;} 230 231 /** 232 * <p>The name of the cluster the source snapshot was created from. This parameter 233 * is required if your IAM user has a policy containing a snapshot resource element 234 * that specifies anything other than * for the cluster name.</p> 235 */ WithSnapshotClusterIdentifier(const char * value)236 inline RestoreFromClusterSnapshotRequest& WithSnapshotClusterIdentifier(const char* value) { SetSnapshotClusterIdentifier(value); return *this;} 237 238 239 /** 240 * <p>The port number on which the cluster accepts connections.</p> <p>Default: The 241 * same port as the original cluster.</p> <p>Constraints: Must be between 242 * <code>1115</code> and <code>65535</code>.</p> 243 */ GetPort()244 inline int GetPort() const{ return m_port; } 245 246 /** 247 * <p>The port number on which the cluster accepts connections.</p> <p>Default: The 248 * same port as the original cluster.</p> <p>Constraints: Must be between 249 * <code>1115</code> and <code>65535</code>.</p> 250 */ PortHasBeenSet()251 inline bool PortHasBeenSet() const { return m_portHasBeenSet; } 252 253 /** 254 * <p>The port number on which the cluster accepts connections.</p> <p>Default: The 255 * same port as the original cluster.</p> <p>Constraints: Must be between 256 * <code>1115</code> and <code>65535</code>.</p> 257 */ SetPort(int value)258 inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } 259 260 /** 261 * <p>The port number on which the cluster accepts connections.</p> <p>Default: The 262 * same port as the original cluster.</p> <p>Constraints: Must be between 263 * <code>1115</code> and <code>65535</code>.</p> 264 */ WithPort(int value)265 inline RestoreFromClusterSnapshotRequest& WithPort(int value) { SetPort(value); return *this;} 266 267 268 /** 269 * <p>The Amazon EC2 Availability Zone in which to restore the cluster.</p> 270 * <p>Default: A random, system-chosen Availability Zone.</p> <p>Example: 271 * <code>us-east-2a</code> </p> 272 */ GetAvailabilityZone()273 inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; } 274 275 /** 276 * <p>The Amazon EC2 Availability Zone in which to restore the cluster.</p> 277 * <p>Default: A random, system-chosen Availability Zone.</p> <p>Example: 278 * <code>us-east-2a</code> </p> 279 */ AvailabilityZoneHasBeenSet()280 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; } 281 282 /** 283 * <p>The Amazon EC2 Availability Zone in which to restore the cluster.</p> 284 * <p>Default: A random, system-chosen Availability Zone.</p> <p>Example: 285 * <code>us-east-2a</code> </p> 286 */ SetAvailabilityZone(const Aws::String & value)287 inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; } 288 289 /** 290 * <p>The Amazon EC2 Availability Zone in which to restore the cluster.</p> 291 * <p>Default: A random, system-chosen Availability Zone.</p> <p>Example: 292 * <code>us-east-2a</code> </p> 293 */ SetAvailabilityZone(Aws::String && value)294 inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::move(value); } 295 296 /** 297 * <p>The Amazon EC2 Availability Zone in which to restore the cluster.</p> 298 * <p>Default: A random, system-chosen Availability Zone.</p> <p>Example: 299 * <code>us-east-2a</code> </p> 300 */ SetAvailabilityZone(const char * value)301 inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); } 302 303 /** 304 * <p>The Amazon EC2 Availability Zone in which to restore the cluster.</p> 305 * <p>Default: A random, system-chosen Availability Zone.</p> <p>Example: 306 * <code>us-east-2a</code> </p> 307 */ WithAvailabilityZone(const Aws::String & value)308 inline RestoreFromClusterSnapshotRequest& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;} 309 310 /** 311 * <p>The Amazon EC2 Availability Zone in which to restore the cluster.</p> 312 * <p>Default: A random, system-chosen Availability Zone.</p> <p>Example: 313 * <code>us-east-2a</code> </p> 314 */ WithAvailabilityZone(Aws::String && value)315 inline RestoreFromClusterSnapshotRequest& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(std::move(value)); return *this;} 316 317 /** 318 * <p>The Amazon EC2 Availability Zone in which to restore the cluster.</p> 319 * <p>Default: A random, system-chosen Availability Zone.</p> <p>Example: 320 * <code>us-east-2a</code> </p> 321 */ WithAvailabilityZone(const char * value)322 inline RestoreFromClusterSnapshotRequest& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;} 323 324 325 /** 326 * <p>If <code>true</code>, major version upgrades can be applied during the 327 * maintenance window to the Amazon Redshift engine that is running on the cluster. 328 * </p> <p>Default: <code>true</code> </p> 329 */ GetAllowVersionUpgrade()330 inline bool GetAllowVersionUpgrade() const{ return m_allowVersionUpgrade; } 331 332 /** 333 * <p>If <code>true</code>, major version upgrades can be applied during the 334 * maintenance window to the Amazon Redshift engine that is running on the cluster. 335 * </p> <p>Default: <code>true</code> </p> 336 */ AllowVersionUpgradeHasBeenSet()337 inline bool AllowVersionUpgradeHasBeenSet() const { return m_allowVersionUpgradeHasBeenSet; } 338 339 /** 340 * <p>If <code>true</code>, major version upgrades can be applied during the 341 * maintenance window to the Amazon Redshift engine that is running on the cluster. 342 * </p> <p>Default: <code>true</code> </p> 343 */ SetAllowVersionUpgrade(bool value)344 inline void SetAllowVersionUpgrade(bool value) { m_allowVersionUpgradeHasBeenSet = true; m_allowVersionUpgrade = value; } 345 346 /** 347 * <p>If <code>true</code>, major version upgrades can be applied during the 348 * maintenance window to the Amazon Redshift engine that is running on the cluster. 349 * </p> <p>Default: <code>true</code> </p> 350 */ WithAllowVersionUpgrade(bool value)351 inline RestoreFromClusterSnapshotRequest& WithAllowVersionUpgrade(bool value) { SetAllowVersionUpgrade(value); return *this;} 352 353 354 /** 355 * <p>The name of the subnet group where you want to cluster restored.</p> <p>A 356 * snapshot of cluster in VPC can be restored only in VPC. Therefore, you must 357 * provide subnet group name where you want the cluster restored.</p> 358 */ GetClusterSubnetGroupName()359 inline const Aws::String& GetClusterSubnetGroupName() const{ return m_clusterSubnetGroupName; } 360 361 /** 362 * <p>The name of the subnet group where you want to cluster restored.</p> <p>A 363 * snapshot of cluster in VPC can be restored only in VPC. Therefore, you must 364 * provide subnet group name where you want the cluster restored.</p> 365 */ ClusterSubnetGroupNameHasBeenSet()366 inline bool ClusterSubnetGroupNameHasBeenSet() const { return m_clusterSubnetGroupNameHasBeenSet; } 367 368 /** 369 * <p>The name of the subnet group where you want to cluster restored.</p> <p>A 370 * snapshot of cluster in VPC can be restored only in VPC. Therefore, you must 371 * provide subnet group name where you want the cluster restored.</p> 372 */ SetClusterSubnetGroupName(const Aws::String & value)373 inline void SetClusterSubnetGroupName(const Aws::String& value) { m_clusterSubnetGroupNameHasBeenSet = true; m_clusterSubnetGroupName = value; } 374 375 /** 376 * <p>The name of the subnet group where you want to cluster restored.</p> <p>A 377 * snapshot of cluster in VPC can be restored only in VPC. Therefore, you must 378 * provide subnet group name where you want the cluster restored.</p> 379 */ SetClusterSubnetGroupName(Aws::String && value)380 inline void SetClusterSubnetGroupName(Aws::String&& value) { m_clusterSubnetGroupNameHasBeenSet = true; m_clusterSubnetGroupName = std::move(value); } 381 382 /** 383 * <p>The name of the subnet group where you want to cluster restored.</p> <p>A 384 * snapshot of cluster in VPC can be restored only in VPC. Therefore, you must 385 * provide subnet group name where you want the cluster restored.</p> 386 */ SetClusterSubnetGroupName(const char * value)387 inline void SetClusterSubnetGroupName(const char* value) { m_clusterSubnetGroupNameHasBeenSet = true; m_clusterSubnetGroupName.assign(value); } 388 389 /** 390 * <p>The name of the subnet group where you want to cluster restored.</p> <p>A 391 * snapshot of cluster in VPC can be restored only in VPC. Therefore, you must 392 * provide subnet group name where you want the cluster restored.</p> 393 */ WithClusterSubnetGroupName(const Aws::String & value)394 inline RestoreFromClusterSnapshotRequest& WithClusterSubnetGroupName(const Aws::String& value) { SetClusterSubnetGroupName(value); return *this;} 395 396 /** 397 * <p>The name of the subnet group where you want to cluster restored.</p> <p>A 398 * snapshot of cluster in VPC can be restored only in VPC. Therefore, you must 399 * provide subnet group name where you want the cluster restored.</p> 400 */ WithClusterSubnetGroupName(Aws::String && value)401 inline RestoreFromClusterSnapshotRequest& WithClusterSubnetGroupName(Aws::String&& value) { SetClusterSubnetGroupName(std::move(value)); return *this;} 402 403 /** 404 * <p>The name of the subnet group where you want to cluster restored.</p> <p>A 405 * snapshot of cluster in VPC can be restored only in VPC. Therefore, you must 406 * provide subnet group name where you want the cluster restored.</p> 407 */ WithClusterSubnetGroupName(const char * value)408 inline RestoreFromClusterSnapshotRequest& WithClusterSubnetGroupName(const char* value) { SetClusterSubnetGroupName(value); return *this;} 409 410 411 /** 412 * <p>If <code>true</code>, the cluster can be accessed from a public network. </p> 413 */ GetPubliclyAccessible()414 inline bool GetPubliclyAccessible() const{ return m_publiclyAccessible; } 415 416 /** 417 * <p>If <code>true</code>, the cluster can be accessed from a public network. </p> 418 */ PubliclyAccessibleHasBeenSet()419 inline bool PubliclyAccessibleHasBeenSet() const { return m_publiclyAccessibleHasBeenSet; } 420 421 /** 422 * <p>If <code>true</code>, the cluster can be accessed from a public network. </p> 423 */ SetPubliclyAccessible(bool value)424 inline void SetPubliclyAccessible(bool value) { m_publiclyAccessibleHasBeenSet = true; m_publiclyAccessible = value; } 425 426 /** 427 * <p>If <code>true</code>, the cluster can be accessed from a public network. </p> 428 */ WithPubliclyAccessible(bool value)429 inline RestoreFromClusterSnapshotRequest& WithPubliclyAccessible(bool value) { SetPubliclyAccessible(value); return *this;} 430 431 432 /** 433 * <p>The Amazon Web Services account used to create or copy the snapshot. Required 434 * if you are restoring a snapshot you do not own, optional if you own the 435 * snapshot.</p> 436 */ GetOwnerAccount()437 inline const Aws::String& GetOwnerAccount() const{ return m_ownerAccount; } 438 439 /** 440 * <p>The Amazon Web Services account used to create or copy the snapshot. Required 441 * if you are restoring a snapshot you do not own, optional if you own the 442 * snapshot.</p> 443 */ OwnerAccountHasBeenSet()444 inline bool OwnerAccountHasBeenSet() const { return m_ownerAccountHasBeenSet; } 445 446 /** 447 * <p>The Amazon Web Services account used to create or copy the snapshot. Required 448 * if you are restoring a snapshot you do not own, optional if you own the 449 * snapshot.</p> 450 */ SetOwnerAccount(const Aws::String & value)451 inline void SetOwnerAccount(const Aws::String& value) { m_ownerAccountHasBeenSet = true; m_ownerAccount = value; } 452 453 /** 454 * <p>The Amazon Web Services account used to create or copy the snapshot. Required 455 * if you are restoring a snapshot you do not own, optional if you own the 456 * snapshot.</p> 457 */ SetOwnerAccount(Aws::String && value)458 inline void SetOwnerAccount(Aws::String&& value) { m_ownerAccountHasBeenSet = true; m_ownerAccount = std::move(value); } 459 460 /** 461 * <p>The Amazon Web Services account used to create or copy the snapshot. Required 462 * if you are restoring a snapshot you do not own, optional if you own the 463 * snapshot.</p> 464 */ SetOwnerAccount(const char * value)465 inline void SetOwnerAccount(const char* value) { m_ownerAccountHasBeenSet = true; m_ownerAccount.assign(value); } 466 467 /** 468 * <p>The Amazon Web Services account used to create or copy the snapshot. Required 469 * if you are restoring a snapshot you do not own, optional if you own the 470 * snapshot.</p> 471 */ WithOwnerAccount(const Aws::String & value)472 inline RestoreFromClusterSnapshotRequest& WithOwnerAccount(const Aws::String& value) { SetOwnerAccount(value); return *this;} 473 474 /** 475 * <p>The Amazon Web Services account used to create or copy the snapshot. Required 476 * if you are restoring a snapshot you do not own, optional if you own the 477 * snapshot.</p> 478 */ WithOwnerAccount(Aws::String && value)479 inline RestoreFromClusterSnapshotRequest& WithOwnerAccount(Aws::String&& value) { SetOwnerAccount(std::move(value)); return *this;} 480 481 /** 482 * <p>The Amazon Web Services account used to create or copy the snapshot. Required 483 * if you are restoring a snapshot you do not own, optional if you own the 484 * snapshot.</p> 485 */ WithOwnerAccount(const char * value)486 inline RestoreFromClusterSnapshotRequest& WithOwnerAccount(const char* value) { SetOwnerAccount(value); return *this;} 487 488 489 /** 490 * <p>Specifies the name of the HSM client certificate the Amazon Redshift cluster 491 * uses to retrieve the data encryption keys stored in an HSM.</p> 492 */ GetHsmClientCertificateIdentifier()493 inline const Aws::String& GetHsmClientCertificateIdentifier() const{ return m_hsmClientCertificateIdentifier; } 494 495 /** 496 * <p>Specifies the name of the HSM client certificate the Amazon Redshift cluster 497 * uses to retrieve the data encryption keys stored in an HSM.</p> 498 */ HsmClientCertificateIdentifierHasBeenSet()499 inline bool HsmClientCertificateIdentifierHasBeenSet() const { return m_hsmClientCertificateIdentifierHasBeenSet; } 500 501 /** 502 * <p>Specifies the name of the HSM client certificate the Amazon Redshift cluster 503 * uses to retrieve the data encryption keys stored in an HSM.</p> 504 */ SetHsmClientCertificateIdentifier(const Aws::String & value)505 inline void SetHsmClientCertificateIdentifier(const Aws::String& value) { m_hsmClientCertificateIdentifierHasBeenSet = true; m_hsmClientCertificateIdentifier = value; } 506 507 /** 508 * <p>Specifies the name of the HSM client certificate the Amazon Redshift cluster 509 * uses to retrieve the data encryption keys stored in an HSM.</p> 510 */ SetHsmClientCertificateIdentifier(Aws::String && value)511 inline void SetHsmClientCertificateIdentifier(Aws::String&& value) { m_hsmClientCertificateIdentifierHasBeenSet = true; m_hsmClientCertificateIdentifier = std::move(value); } 512 513 /** 514 * <p>Specifies the name of the HSM client certificate the Amazon Redshift cluster 515 * uses to retrieve the data encryption keys stored in an HSM.</p> 516 */ SetHsmClientCertificateIdentifier(const char * value)517 inline void SetHsmClientCertificateIdentifier(const char* value) { m_hsmClientCertificateIdentifierHasBeenSet = true; m_hsmClientCertificateIdentifier.assign(value); } 518 519 /** 520 * <p>Specifies the name of the HSM client certificate the Amazon Redshift cluster 521 * uses to retrieve the data encryption keys stored in an HSM.</p> 522 */ WithHsmClientCertificateIdentifier(const Aws::String & value)523 inline RestoreFromClusterSnapshotRequest& WithHsmClientCertificateIdentifier(const Aws::String& value) { SetHsmClientCertificateIdentifier(value); return *this;} 524 525 /** 526 * <p>Specifies the name of the HSM client certificate the Amazon Redshift cluster 527 * uses to retrieve the data encryption keys stored in an HSM.</p> 528 */ WithHsmClientCertificateIdentifier(Aws::String && value)529 inline RestoreFromClusterSnapshotRequest& WithHsmClientCertificateIdentifier(Aws::String&& value) { SetHsmClientCertificateIdentifier(std::move(value)); return *this;} 530 531 /** 532 * <p>Specifies the name of the HSM client certificate the Amazon Redshift cluster 533 * uses to retrieve the data encryption keys stored in an HSM.</p> 534 */ WithHsmClientCertificateIdentifier(const char * value)535 inline RestoreFromClusterSnapshotRequest& WithHsmClientCertificateIdentifier(const char* value) { SetHsmClientCertificateIdentifier(value); return *this;} 536 537 538 /** 539 * <p>Specifies the name of the HSM configuration that contains the information the 540 * Amazon Redshift cluster can use to retrieve and store keys in an HSM.</p> 541 */ GetHsmConfigurationIdentifier()542 inline const Aws::String& GetHsmConfigurationIdentifier() const{ return m_hsmConfigurationIdentifier; } 543 544 /** 545 * <p>Specifies the name of the HSM configuration that contains the information the 546 * Amazon Redshift cluster can use to retrieve and store keys in an HSM.</p> 547 */ HsmConfigurationIdentifierHasBeenSet()548 inline bool HsmConfigurationIdentifierHasBeenSet() const { return m_hsmConfigurationIdentifierHasBeenSet; } 549 550 /** 551 * <p>Specifies the name of the HSM configuration that contains the information the 552 * Amazon Redshift cluster can use to retrieve and store keys in an HSM.</p> 553 */ SetHsmConfigurationIdentifier(const Aws::String & value)554 inline void SetHsmConfigurationIdentifier(const Aws::String& value) { m_hsmConfigurationIdentifierHasBeenSet = true; m_hsmConfigurationIdentifier = value; } 555 556 /** 557 * <p>Specifies the name of the HSM configuration that contains the information the 558 * Amazon Redshift cluster can use to retrieve and store keys in an HSM.</p> 559 */ SetHsmConfigurationIdentifier(Aws::String && value)560 inline void SetHsmConfigurationIdentifier(Aws::String&& value) { m_hsmConfigurationIdentifierHasBeenSet = true; m_hsmConfigurationIdentifier = std::move(value); } 561 562 /** 563 * <p>Specifies the name of the HSM configuration that contains the information the 564 * Amazon Redshift cluster can use to retrieve and store keys in an HSM.</p> 565 */ SetHsmConfigurationIdentifier(const char * value)566 inline void SetHsmConfigurationIdentifier(const char* value) { m_hsmConfigurationIdentifierHasBeenSet = true; m_hsmConfigurationIdentifier.assign(value); } 567 568 /** 569 * <p>Specifies the name of the HSM configuration that contains the information the 570 * Amazon Redshift cluster can use to retrieve and store keys in an HSM.</p> 571 */ WithHsmConfigurationIdentifier(const Aws::String & value)572 inline RestoreFromClusterSnapshotRequest& WithHsmConfigurationIdentifier(const Aws::String& value) { SetHsmConfigurationIdentifier(value); return *this;} 573 574 /** 575 * <p>Specifies the name of the HSM configuration that contains the information the 576 * Amazon Redshift cluster can use to retrieve and store keys in an HSM.</p> 577 */ WithHsmConfigurationIdentifier(Aws::String && value)578 inline RestoreFromClusterSnapshotRequest& WithHsmConfigurationIdentifier(Aws::String&& value) { SetHsmConfigurationIdentifier(std::move(value)); return *this;} 579 580 /** 581 * <p>Specifies the name of the HSM configuration that contains the information the 582 * Amazon Redshift cluster can use to retrieve and store keys in an HSM.</p> 583 */ WithHsmConfigurationIdentifier(const char * value)584 inline RestoreFromClusterSnapshotRequest& WithHsmConfigurationIdentifier(const char* value) { SetHsmConfigurationIdentifier(value); return *this;} 585 586 587 /** 588 * <p>The elastic IP (EIP) address for the cluster.</p> 589 */ GetElasticIp()590 inline const Aws::String& GetElasticIp() const{ return m_elasticIp; } 591 592 /** 593 * <p>The elastic IP (EIP) address for the cluster.</p> 594 */ ElasticIpHasBeenSet()595 inline bool ElasticIpHasBeenSet() const { return m_elasticIpHasBeenSet; } 596 597 /** 598 * <p>The elastic IP (EIP) address for the cluster.</p> 599 */ SetElasticIp(const Aws::String & value)600 inline void SetElasticIp(const Aws::String& value) { m_elasticIpHasBeenSet = true; m_elasticIp = value; } 601 602 /** 603 * <p>The elastic IP (EIP) address for the cluster.</p> 604 */ SetElasticIp(Aws::String && value)605 inline void SetElasticIp(Aws::String&& value) { m_elasticIpHasBeenSet = true; m_elasticIp = std::move(value); } 606 607 /** 608 * <p>The elastic IP (EIP) address for the cluster.</p> 609 */ SetElasticIp(const char * value)610 inline void SetElasticIp(const char* value) { m_elasticIpHasBeenSet = true; m_elasticIp.assign(value); } 611 612 /** 613 * <p>The elastic IP (EIP) address for the cluster.</p> 614 */ WithElasticIp(const Aws::String & value)615 inline RestoreFromClusterSnapshotRequest& WithElasticIp(const Aws::String& value) { SetElasticIp(value); return *this;} 616 617 /** 618 * <p>The elastic IP (EIP) address for the cluster.</p> 619 */ WithElasticIp(Aws::String && value)620 inline RestoreFromClusterSnapshotRequest& WithElasticIp(Aws::String&& value) { SetElasticIp(std::move(value)); return *this;} 621 622 /** 623 * <p>The elastic IP (EIP) address for the cluster.</p> 624 */ WithElasticIp(const char * value)625 inline RestoreFromClusterSnapshotRequest& WithElasticIp(const char* value) { SetElasticIp(value); return *this;} 626 627 628 /** 629 * <p>The name of the parameter group to be associated with this cluster.</p> 630 * <p>Default: The default Amazon Redshift cluster parameter group. For information 631 * about the default parameter group, go to <a 632 * href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html">Working 633 * with Amazon Redshift Parameter Groups</a>.</p> <p>Constraints:</p> <ul> <li> 634 * <p>Must be 1 to 255 alphanumeric characters or hyphens.</p> </li> <li> <p>First 635 * character must be a letter.</p> </li> <li> <p>Cannot end with a hyphen or 636 * contain two consecutive hyphens.</p> </li> </ul> 637 */ GetClusterParameterGroupName()638 inline const Aws::String& GetClusterParameterGroupName() const{ return m_clusterParameterGroupName; } 639 640 /** 641 * <p>The name of the parameter group to be associated with this cluster.</p> 642 * <p>Default: The default Amazon Redshift cluster parameter group. For information 643 * about the default parameter group, go to <a 644 * href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html">Working 645 * with Amazon Redshift Parameter Groups</a>.</p> <p>Constraints:</p> <ul> <li> 646 * <p>Must be 1 to 255 alphanumeric characters or hyphens.</p> </li> <li> <p>First 647 * character must be a letter.</p> </li> <li> <p>Cannot end with a hyphen or 648 * contain two consecutive hyphens.</p> </li> </ul> 649 */ ClusterParameterGroupNameHasBeenSet()650 inline bool ClusterParameterGroupNameHasBeenSet() const { return m_clusterParameterGroupNameHasBeenSet; } 651 652 /** 653 * <p>The name of the parameter group to be associated with this cluster.</p> 654 * <p>Default: The default Amazon Redshift cluster parameter group. For information 655 * about the default parameter group, go to <a 656 * href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html">Working 657 * with Amazon Redshift Parameter Groups</a>.</p> <p>Constraints:</p> <ul> <li> 658 * <p>Must be 1 to 255 alphanumeric characters or hyphens.</p> </li> <li> <p>First 659 * character must be a letter.</p> </li> <li> <p>Cannot end with a hyphen or 660 * contain two consecutive hyphens.</p> </li> </ul> 661 */ SetClusterParameterGroupName(const Aws::String & value)662 inline void SetClusterParameterGroupName(const Aws::String& value) { m_clusterParameterGroupNameHasBeenSet = true; m_clusterParameterGroupName = value; } 663 664 /** 665 * <p>The name of the parameter group to be associated with this cluster.</p> 666 * <p>Default: The default Amazon Redshift cluster parameter group. For information 667 * about the default parameter group, go to <a 668 * href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html">Working 669 * with Amazon Redshift Parameter Groups</a>.</p> <p>Constraints:</p> <ul> <li> 670 * <p>Must be 1 to 255 alphanumeric characters or hyphens.</p> </li> <li> <p>First 671 * character must be a letter.</p> </li> <li> <p>Cannot end with a hyphen or 672 * contain two consecutive hyphens.</p> </li> </ul> 673 */ SetClusterParameterGroupName(Aws::String && value)674 inline void SetClusterParameterGroupName(Aws::String&& value) { m_clusterParameterGroupNameHasBeenSet = true; m_clusterParameterGroupName = std::move(value); } 675 676 /** 677 * <p>The name of the parameter group to be associated with this cluster.</p> 678 * <p>Default: The default Amazon Redshift cluster parameter group. For information 679 * about the default parameter group, go to <a 680 * href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html">Working 681 * with Amazon Redshift Parameter Groups</a>.</p> <p>Constraints:</p> <ul> <li> 682 * <p>Must be 1 to 255 alphanumeric characters or hyphens.</p> </li> <li> <p>First 683 * character must be a letter.</p> </li> <li> <p>Cannot end with a hyphen or 684 * contain two consecutive hyphens.</p> </li> </ul> 685 */ SetClusterParameterGroupName(const char * value)686 inline void SetClusterParameterGroupName(const char* value) { m_clusterParameterGroupNameHasBeenSet = true; m_clusterParameterGroupName.assign(value); } 687 688 /** 689 * <p>The name of the parameter group to be associated with this cluster.</p> 690 * <p>Default: The default Amazon Redshift cluster parameter group. For information 691 * about the default parameter group, go to <a 692 * href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html">Working 693 * with Amazon Redshift Parameter Groups</a>.</p> <p>Constraints:</p> <ul> <li> 694 * <p>Must be 1 to 255 alphanumeric characters or hyphens.</p> </li> <li> <p>First 695 * character must be a letter.</p> </li> <li> <p>Cannot end with a hyphen or 696 * contain two consecutive hyphens.</p> </li> </ul> 697 */ WithClusterParameterGroupName(const Aws::String & value)698 inline RestoreFromClusterSnapshotRequest& WithClusterParameterGroupName(const Aws::String& value) { SetClusterParameterGroupName(value); return *this;} 699 700 /** 701 * <p>The name of the parameter group to be associated with this cluster.</p> 702 * <p>Default: The default Amazon Redshift cluster parameter group. For information 703 * about the default parameter group, go to <a 704 * href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html">Working 705 * with Amazon Redshift Parameter Groups</a>.</p> <p>Constraints:</p> <ul> <li> 706 * <p>Must be 1 to 255 alphanumeric characters or hyphens.</p> </li> <li> <p>First 707 * character must be a letter.</p> </li> <li> <p>Cannot end with a hyphen or 708 * contain two consecutive hyphens.</p> </li> </ul> 709 */ WithClusterParameterGroupName(Aws::String && value)710 inline RestoreFromClusterSnapshotRequest& WithClusterParameterGroupName(Aws::String&& value) { SetClusterParameterGroupName(std::move(value)); return *this;} 711 712 /** 713 * <p>The name of the parameter group to be associated with this cluster.</p> 714 * <p>Default: The default Amazon Redshift cluster parameter group. For information 715 * about the default parameter group, go to <a 716 * href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html">Working 717 * with Amazon Redshift Parameter Groups</a>.</p> <p>Constraints:</p> <ul> <li> 718 * <p>Must be 1 to 255 alphanumeric characters or hyphens.</p> </li> <li> <p>First 719 * character must be a letter.</p> </li> <li> <p>Cannot end with a hyphen or 720 * contain two consecutive hyphens.</p> </li> </ul> 721 */ WithClusterParameterGroupName(const char * value)722 inline RestoreFromClusterSnapshotRequest& WithClusterParameterGroupName(const char* value) { SetClusterParameterGroupName(value); return *this;} 723 724 725 /** 726 * <p>A list of security groups to be associated with this cluster.</p> <p>Default: 727 * The default cluster security group for Amazon Redshift.</p> <p>Cluster security 728 * groups only apply to clusters outside of VPCs.</p> 729 */ GetClusterSecurityGroups()730 inline const Aws::Vector<Aws::String>& GetClusterSecurityGroups() const{ return m_clusterSecurityGroups; } 731 732 /** 733 * <p>A list of security groups to be associated with this cluster.</p> <p>Default: 734 * The default cluster security group for Amazon Redshift.</p> <p>Cluster security 735 * groups only apply to clusters outside of VPCs.</p> 736 */ ClusterSecurityGroupsHasBeenSet()737 inline bool ClusterSecurityGroupsHasBeenSet() const { return m_clusterSecurityGroupsHasBeenSet; } 738 739 /** 740 * <p>A list of security groups to be associated with this cluster.</p> <p>Default: 741 * The default cluster security group for Amazon Redshift.</p> <p>Cluster security 742 * groups only apply to clusters outside of VPCs.</p> 743 */ SetClusterSecurityGroups(const Aws::Vector<Aws::String> & value)744 inline void SetClusterSecurityGroups(const Aws::Vector<Aws::String>& value) { m_clusterSecurityGroupsHasBeenSet = true; m_clusterSecurityGroups = value; } 745 746 /** 747 * <p>A list of security groups to be associated with this cluster.</p> <p>Default: 748 * The default cluster security group for Amazon Redshift.</p> <p>Cluster security 749 * groups only apply to clusters outside of VPCs.</p> 750 */ SetClusterSecurityGroups(Aws::Vector<Aws::String> && value)751 inline void SetClusterSecurityGroups(Aws::Vector<Aws::String>&& value) { m_clusterSecurityGroupsHasBeenSet = true; m_clusterSecurityGroups = std::move(value); } 752 753 /** 754 * <p>A list of security groups to be associated with this cluster.</p> <p>Default: 755 * The default cluster security group for Amazon Redshift.</p> <p>Cluster security 756 * groups only apply to clusters outside of VPCs.</p> 757 */ WithClusterSecurityGroups(const Aws::Vector<Aws::String> & value)758 inline RestoreFromClusterSnapshotRequest& WithClusterSecurityGroups(const Aws::Vector<Aws::String>& value) { SetClusterSecurityGroups(value); return *this;} 759 760 /** 761 * <p>A list of security groups to be associated with this cluster.</p> <p>Default: 762 * The default cluster security group for Amazon Redshift.</p> <p>Cluster security 763 * groups only apply to clusters outside of VPCs.</p> 764 */ WithClusterSecurityGroups(Aws::Vector<Aws::String> && value)765 inline RestoreFromClusterSnapshotRequest& WithClusterSecurityGroups(Aws::Vector<Aws::String>&& value) { SetClusterSecurityGroups(std::move(value)); return *this;} 766 767 /** 768 * <p>A list of security groups to be associated with this cluster.</p> <p>Default: 769 * The default cluster security group for Amazon Redshift.</p> <p>Cluster security 770 * groups only apply to clusters outside of VPCs.</p> 771 */ AddClusterSecurityGroups(const Aws::String & value)772 inline RestoreFromClusterSnapshotRequest& AddClusterSecurityGroups(const Aws::String& value) { m_clusterSecurityGroupsHasBeenSet = true; m_clusterSecurityGroups.push_back(value); return *this; } 773 774 /** 775 * <p>A list of security groups to be associated with this cluster.</p> <p>Default: 776 * The default cluster security group for Amazon Redshift.</p> <p>Cluster security 777 * groups only apply to clusters outside of VPCs.</p> 778 */ AddClusterSecurityGroups(Aws::String && value)779 inline RestoreFromClusterSnapshotRequest& AddClusterSecurityGroups(Aws::String&& value) { m_clusterSecurityGroupsHasBeenSet = true; m_clusterSecurityGroups.push_back(std::move(value)); return *this; } 780 781 /** 782 * <p>A list of security groups to be associated with this cluster.</p> <p>Default: 783 * The default cluster security group for Amazon Redshift.</p> <p>Cluster security 784 * groups only apply to clusters outside of VPCs.</p> 785 */ AddClusterSecurityGroups(const char * value)786 inline RestoreFromClusterSnapshotRequest& AddClusterSecurityGroups(const char* value) { m_clusterSecurityGroupsHasBeenSet = true; m_clusterSecurityGroups.push_back(value); return *this; } 787 788 789 /** 790 * <p>A list of Virtual Private Cloud (VPC) security groups to be associated with 791 * the cluster.</p> <p>Default: The default VPC security group is associated with 792 * the cluster.</p> <p>VPC security groups only apply to clusters in VPCs.</p> 793 */ GetVpcSecurityGroupIds()794 inline const Aws::Vector<Aws::String>& GetVpcSecurityGroupIds() const{ return m_vpcSecurityGroupIds; } 795 796 /** 797 * <p>A list of Virtual Private Cloud (VPC) security groups to be associated with 798 * the cluster.</p> <p>Default: The default VPC security group is associated with 799 * the cluster.</p> <p>VPC security groups only apply to clusters in VPCs.</p> 800 */ VpcSecurityGroupIdsHasBeenSet()801 inline bool VpcSecurityGroupIdsHasBeenSet() const { return m_vpcSecurityGroupIdsHasBeenSet; } 802 803 /** 804 * <p>A list of Virtual Private Cloud (VPC) security groups to be associated with 805 * the cluster.</p> <p>Default: The default VPC security group is associated with 806 * the cluster.</p> <p>VPC security groups only apply to clusters in VPCs.</p> 807 */ SetVpcSecurityGroupIds(const Aws::Vector<Aws::String> & value)808 inline void SetVpcSecurityGroupIds(const Aws::Vector<Aws::String>& value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds = value; } 809 810 /** 811 * <p>A list of Virtual Private Cloud (VPC) security groups to be associated with 812 * the cluster.</p> <p>Default: The default VPC security group is associated with 813 * the cluster.</p> <p>VPC security groups only apply to clusters in VPCs.</p> 814 */ SetVpcSecurityGroupIds(Aws::Vector<Aws::String> && value)815 inline void SetVpcSecurityGroupIds(Aws::Vector<Aws::String>&& value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds = std::move(value); } 816 817 /** 818 * <p>A list of Virtual Private Cloud (VPC) security groups to be associated with 819 * the cluster.</p> <p>Default: The default VPC security group is associated with 820 * the cluster.</p> <p>VPC security groups only apply to clusters in VPCs.</p> 821 */ WithVpcSecurityGroupIds(const Aws::Vector<Aws::String> & value)822 inline RestoreFromClusterSnapshotRequest& WithVpcSecurityGroupIds(const Aws::Vector<Aws::String>& value) { SetVpcSecurityGroupIds(value); return *this;} 823 824 /** 825 * <p>A list of Virtual Private Cloud (VPC) security groups to be associated with 826 * the cluster.</p> <p>Default: The default VPC security group is associated with 827 * the cluster.</p> <p>VPC security groups only apply to clusters in VPCs.</p> 828 */ WithVpcSecurityGroupIds(Aws::Vector<Aws::String> && value)829 inline RestoreFromClusterSnapshotRequest& WithVpcSecurityGroupIds(Aws::Vector<Aws::String>&& value) { SetVpcSecurityGroupIds(std::move(value)); return *this;} 830 831 /** 832 * <p>A list of Virtual Private Cloud (VPC) security groups to be associated with 833 * the cluster.</p> <p>Default: The default VPC security group is associated with 834 * the cluster.</p> <p>VPC security groups only apply to clusters in VPCs.</p> 835 */ AddVpcSecurityGroupIds(const Aws::String & value)836 inline RestoreFromClusterSnapshotRequest& AddVpcSecurityGroupIds(const Aws::String& value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds.push_back(value); return *this; } 837 838 /** 839 * <p>A list of Virtual Private Cloud (VPC) security groups to be associated with 840 * the cluster.</p> <p>Default: The default VPC security group is associated with 841 * the cluster.</p> <p>VPC security groups only apply to clusters in VPCs.</p> 842 */ AddVpcSecurityGroupIds(Aws::String && value)843 inline RestoreFromClusterSnapshotRequest& AddVpcSecurityGroupIds(Aws::String&& value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds.push_back(std::move(value)); return *this; } 844 845 /** 846 * <p>A list of Virtual Private Cloud (VPC) security groups to be associated with 847 * the cluster.</p> <p>Default: The default VPC security group is associated with 848 * the cluster.</p> <p>VPC security groups only apply to clusters in VPCs.</p> 849 */ AddVpcSecurityGroupIds(const char * value)850 inline RestoreFromClusterSnapshotRequest& AddVpcSecurityGroupIds(const char* value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds.push_back(value); return *this; } 851 852 853 /** 854 * <p>The weekly time range (in UTC) during which automated cluster maintenance can 855 * occur.</p> <p> Format: <code>ddd:hh24:mi-ddd:hh24:mi</code> </p> <p> Default: 856 * The value selected for the cluster from which the snapshot was taken. For more 857 * information about the time blocks for each region, see <a 858 * href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-maintenance-windows">Maintenance 859 * Windows</a> in Amazon Redshift Cluster Management Guide. </p> <p>Valid Days: Mon 860 * | Tue | Wed | Thu | Fri | Sat | Sun</p> <p>Constraints: Minimum 30-minute 861 * window.</p> 862 */ GetPreferredMaintenanceWindow()863 inline const Aws::String& GetPreferredMaintenanceWindow() const{ return m_preferredMaintenanceWindow; } 864 865 /** 866 * <p>The weekly time range (in UTC) during which automated cluster maintenance can 867 * occur.</p> <p> Format: <code>ddd:hh24:mi-ddd:hh24:mi</code> </p> <p> Default: 868 * The value selected for the cluster from which the snapshot was taken. For more 869 * information about the time blocks for each region, see <a 870 * href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-maintenance-windows">Maintenance 871 * Windows</a> in Amazon Redshift Cluster Management Guide. </p> <p>Valid Days: Mon 872 * | Tue | Wed | Thu | Fri | Sat | Sun</p> <p>Constraints: Minimum 30-minute 873 * window.</p> 874 */ PreferredMaintenanceWindowHasBeenSet()875 inline bool PreferredMaintenanceWindowHasBeenSet() const { return m_preferredMaintenanceWindowHasBeenSet; } 876 877 /** 878 * <p>The weekly time range (in UTC) during which automated cluster maintenance can 879 * occur.</p> <p> Format: <code>ddd:hh24:mi-ddd:hh24:mi</code> </p> <p> Default: 880 * The value selected for the cluster from which the snapshot was taken. For more 881 * information about the time blocks for each region, see <a 882 * href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-maintenance-windows">Maintenance 883 * Windows</a> in Amazon Redshift Cluster Management Guide. </p> <p>Valid Days: Mon 884 * | Tue | Wed | Thu | Fri | Sat | Sun</p> <p>Constraints: Minimum 30-minute 885 * window.</p> 886 */ SetPreferredMaintenanceWindow(const Aws::String & value)887 inline void SetPreferredMaintenanceWindow(const Aws::String& value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow = value; } 888 889 /** 890 * <p>The weekly time range (in UTC) during which automated cluster maintenance can 891 * occur.</p> <p> Format: <code>ddd:hh24:mi-ddd:hh24:mi</code> </p> <p> Default: 892 * The value selected for the cluster from which the snapshot was taken. For more 893 * information about the time blocks for each region, see <a 894 * href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-maintenance-windows">Maintenance 895 * Windows</a> in Amazon Redshift Cluster Management Guide. </p> <p>Valid Days: Mon 896 * | Tue | Wed | Thu | Fri | Sat | Sun</p> <p>Constraints: Minimum 30-minute 897 * window.</p> 898 */ SetPreferredMaintenanceWindow(Aws::String && value)899 inline void SetPreferredMaintenanceWindow(Aws::String&& value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow = std::move(value); } 900 901 /** 902 * <p>The weekly time range (in UTC) during which automated cluster maintenance can 903 * occur.</p> <p> Format: <code>ddd:hh24:mi-ddd:hh24:mi</code> </p> <p> Default: 904 * The value selected for the cluster from which the snapshot was taken. For more 905 * information about the time blocks for each region, see <a 906 * href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-maintenance-windows">Maintenance 907 * Windows</a> in Amazon Redshift Cluster Management Guide. </p> <p>Valid Days: Mon 908 * | Tue | Wed | Thu | Fri | Sat | Sun</p> <p>Constraints: Minimum 30-minute 909 * window.</p> 910 */ SetPreferredMaintenanceWindow(const char * value)911 inline void SetPreferredMaintenanceWindow(const char* value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow.assign(value); } 912 913 /** 914 * <p>The weekly time range (in UTC) during which automated cluster maintenance can 915 * occur.</p> <p> Format: <code>ddd:hh24:mi-ddd:hh24:mi</code> </p> <p> Default: 916 * The value selected for the cluster from which the snapshot was taken. For more 917 * information about the time blocks for each region, see <a 918 * href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-maintenance-windows">Maintenance 919 * Windows</a> in Amazon Redshift Cluster Management Guide. </p> <p>Valid Days: Mon 920 * | Tue | Wed | Thu | Fri | Sat | Sun</p> <p>Constraints: Minimum 30-minute 921 * window.</p> 922 */ WithPreferredMaintenanceWindow(const Aws::String & value)923 inline RestoreFromClusterSnapshotRequest& WithPreferredMaintenanceWindow(const Aws::String& value) { SetPreferredMaintenanceWindow(value); return *this;} 924 925 /** 926 * <p>The weekly time range (in UTC) during which automated cluster maintenance can 927 * occur.</p> <p> Format: <code>ddd:hh24:mi-ddd:hh24:mi</code> </p> <p> Default: 928 * The value selected for the cluster from which the snapshot was taken. For more 929 * information about the time blocks for each region, see <a 930 * href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-maintenance-windows">Maintenance 931 * Windows</a> in Amazon Redshift Cluster Management Guide. </p> <p>Valid Days: Mon 932 * | Tue | Wed | Thu | Fri | Sat | Sun</p> <p>Constraints: Minimum 30-minute 933 * window.</p> 934 */ WithPreferredMaintenanceWindow(Aws::String && value)935 inline RestoreFromClusterSnapshotRequest& WithPreferredMaintenanceWindow(Aws::String&& value) { SetPreferredMaintenanceWindow(std::move(value)); return *this;} 936 937 /** 938 * <p>The weekly time range (in UTC) during which automated cluster maintenance can 939 * occur.</p> <p> Format: <code>ddd:hh24:mi-ddd:hh24:mi</code> </p> <p> Default: 940 * The value selected for the cluster from which the snapshot was taken. For more 941 * information about the time blocks for each region, see <a 942 * href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-maintenance-windows">Maintenance 943 * Windows</a> in Amazon Redshift Cluster Management Guide. </p> <p>Valid Days: Mon 944 * | Tue | Wed | Thu | Fri | Sat | Sun</p> <p>Constraints: Minimum 30-minute 945 * window.</p> 946 */ WithPreferredMaintenanceWindow(const char * value)947 inline RestoreFromClusterSnapshotRequest& WithPreferredMaintenanceWindow(const char* value) { SetPreferredMaintenanceWindow(value); return *this;} 948 949 950 /** 951 * <p>The number of days that automated snapshots are retained. If the value is 0, 952 * automated snapshots are disabled. Even if automated snapshots are disabled, you 953 * can still create manual snapshots when you want with 954 * <a>CreateClusterSnapshot</a>. </p> <p>You can't disable automated snapshots for 955 * RA3 node types. Set the automated retention period from 1-35 days.</p> 956 * <p>Default: The value selected for the cluster from which the snapshot was 957 * taken.</p> <p>Constraints: Must be a value from 0 to 35.</p> 958 */ GetAutomatedSnapshotRetentionPeriod()959 inline int GetAutomatedSnapshotRetentionPeriod() const{ return m_automatedSnapshotRetentionPeriod; } 960 961 /** 962 * <p>The number of days that automated snapshots are retained. If the value is 0, 963 * automated snapshots are disabled. Even if automated snapshots are disabled, you 964 * can still create manual snapshots when you want with 965 * <a>CreateClusterSnapshot</a>. </p> <p>You can't disable automated snapshots for 966 * RA3 node types. Set the automated retention period from 1-35 days.</p> 967 * <p>Default: The value selected for the cluster from which the snapshot was 968 * taken.</p> <p>Constraints: Must be a value from 0 to 35.</p> 969 */ AutomatedSnapshotRetentionPeriodHasBeenSet()970 inline bool AutomatedSnapshotRetentionPeriodHasBeenSet() const { return m_automatedSnapshotRetentionPeriodHasBeenSet; } 971 972 /** 973 * <p>The number of days that automated snapshots are retained. If the value is 0, 974 * automated snapshots are disabled. Even if automated snapshots are disabled, you 975 * can still create manual snapshots when you want with 976 * <a>CreateClusterSnapshot</a>. </p> <p>You can't disable automated snapshots for 977 * RA3 node types. Set the automated retention period from 1-35 days.</p> 978 * <p>Default: The value selected for the cluster from which the snapshot was 979 * taken.</p> <p>Constraints: Must be a value from 0 to 35.</p> 980 */ SetAutomatedSnapshotRetentionPeriod(int value)981 inline void SetAutomatedSnapshotRetentionPeriod(int value) { m_automatedSnapshotRetentionPeriodHasBeenSet = true; m_automatedSnapshotRetentionPeriod = value; } 982 983 /** 984 * <p>The number of days that automated snapshots are retained. If the value is 0, 985 * automated snapshots are disabled. Even if automated snapshots are disabled, you 986 * can still create manual snapshots when you want with 987 * <a>CreateClusterSnapshot</a>. </p> <p>You can't disable automated snapshots for 988 * RA3 node types. Set the automated retention period from 1-35 days.</p> 989 * <p>Default: The value selected for the cluster from which the snapshot was 990 * taken.</p> <p>Constraints: Must be a value from 0 to 35.</p> 991 */ WithAutomatedSnapshotRetentionPeriod(int value)992 inline RestoreFromClusterSnapshotRequest& WithAutomatedSnapshotRetentionPeriod(int value) { SetAutomatedSnapshotRetentionPeriod(value); return *this;} 993 994 995 /** 996 * <p>The default number of days to retain a manual snapshot. If the value is -1, 997 * the snapshot is retained indefinitely. This setting doesn't change the retention 998 * period of existing snapshots.</p> <p>The value must be either -1 or an integer 999 * between 1 and 3,653.</p> 1000 */ GetManualSnapshotRetentionPeriod()1001 inline int GetManualSnapshotRetentionPeriod() const{ return m_manualSnapshotRetentionPeriod; } 1002 1003 /** 1004 * <p>The default number of days to retain a manual snapshot. If the value is -1, 1005 * the snapshot is retained indefinitely. This setting doesn't change the retention 1006 * period of existing snapshots.</p> <p>The value must be either -1 or an integer 1007 * between 1 and 3,653.</p> 1008 */ ManualSnapshotRetentionPeriodHasBeenSet()1009 inline bool ManualSnapshotRetentionPeriodHasBeenSet() const { return m_manualSnapshotRetentionPeriodHasBeenSet; } 1010 1011 /** 1012 * <p>The default number of days to retain a manual snapshot. If the value is -1, 1013 * the snapshot is retained indefinitely. This setting doesn't change the retention 1014 * period of existing snapshots.</p> <p>The value must be either -1 or an integer 1015 * between 1 and 3,653.</p> 1016 */ SetManualSnapshotRetentionPeriod(int value)1017 inline void SetManualSnapshotRetentionPeriod(int value) { m_manualSnapshotRetentionPeriodHasBeenSet = true; m_manualSnapshotRetentionPeriod = value; } 1018 1019 /** 1020 * <p>The default number of days to retain a manual snapshot. If the value is -1, 1021 * the snapshot is retained indefinitely. This setting doesn't change the retention 1022 * period of existing snapshots.</p> <p>The value must be either -1 or an integer 1023 * between 1 and 3,653.</p> 1024 */ WithManualSnapshotRetentionPeriod(int value)1025 inline RestoreFromClusterSnapshotRequest& WithManualSnapshotRetentionPeriod(int value) { SetManualSnapshotRetentionPeriod(value); return *this;} 1026 1027 1028 /** 1029 * <p>The Key Management Service (KMS) key ID of the encryption key that you want 1030 * to use to encrypt data in the cluster that you restore from a shared 1031 * snapshot.</p> 1032 */ GetKmsKeyId()1033 inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } 1034 1035 /** 1036 * <p>The Key Management Service (KMS) key ID of the encryption key that you want 1037 * to use to encrypt data in the cluster that you restore from a shared 1038 * snapshot.</p> 1039 */ KmsKeyIdHasBeenSet()1040 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } 1041 1042 /** 1043 * <p>The Key Management Service (KMS) key ID of the encryption key that you want 1044 * to use to encrypt data in the cluster that you restore from a shared 1045 * snapshot.</p> 1046 */ SetKmsKeyId(const Aws::String & value)1047 inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } 1048 1049 /** 1050 * <p>The Key Management Service (KMS) key ID of the encryption key that you want 1051 * to use to encrypt data in the cluster that you restore from a shared 1052 * snapshot.</p> 1053 */ SetKmsKeyId(Aws::String && value)1054 inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } 1055 1056 /** 1057 * <p>The Key Management Service (KMS) key ID of the encryption key that you want 1058 * to use to encrypt data in the cluster that you restore from a shared 1059 * snapshot.</p> 1060 */ SetKmsKeyId(const char * value)1061 inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } 1062 1063 /** 1064 * <p>The Key Management Service (KMS) key ID of the encryption key that you want 1065 * to use to encrypt data in the cluster that you restore from a shared 1066 * snapshot.</p> 1067 */ WithKmsKeyId(const Aws::String & value)1068 inline RestoreFromClusterSnapshotRequest& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} 1069 1070 /** 1071 * <p>The Key Management Service (KMS) key ID of the encryption key that you want 1072 * to use to encrypt data in the cluster that you restore from a shared 1073 * snapshot.</p> 1074 */ WithKmsKeyId(Aws::String && value)1075 inline RestoreFromClusterSnapshotRequest& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} 1076 1077 /** 1078 * <p>The Key Management Service (KMS) key ID of the encryption key that you want 1079 * to use to encrypt data in the cluster that you restore from a shared 1080 * snapshot.</p> 1081 */ WithKmsKeyId(const char * value)1082 inline RestoreFromClusterSnapshotRequest& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} 1083 1084 1085 /** 1086 * <p>The node type that the restored cluster will be provisioned with.</p> 1087 * <p>Default: The node type of the cluster from which the snapshot was taken. You 1088 * can modify this if you are using any DS node type. In that case, you can choose 1089 * to restore into another DS node type of the same size. For example, you can 1090 * restore ds1.8xlarge into ds2.8xlarge, or ds1.xlarge into ds2.xlarge. If you have 1091 * a DC instance type, you must restore into that same instance type and size. In 1092 * other words, you can only restore a dc1.large instance type into another 1093 * dc1.large instance type or dc2.large instance type. You can't restore 1094 * dc1.8xlarge to dc2.8xlarge. First restore to a dc1.8xlarge cluster, then resize 1095 * to a dc2.8large cluster. For more information about node types, see <a 1096 * href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-about-clusters-and-nodes"> 1097 * About Clusters and Nodes</a> in the <i>Amazon Redshift Cluster Management 1098 * Guide</i>. </p> 1099 */ GetNodeType()1100 inline const Aws::String& GetNodeType() const{ return m_nodeType; } 1101 1102 /** 1103 * <p>The node type that the restored cluster will be provisioned with.</p> 1104 * <p>Default: The node type of the cluster from which the snapshot was taken. You 1105 * can modify this if you are using any DS node type. In that case, you can choose 1106 * to restore into another DS node type of the same size. For example, you can 1107 * restore ds1.8xlarge into ds2.8xlarge, or ds1.xlarge into ds2.xlarge. If you have 1108 * a DC instance type, you must restore into that same instance type and size. In 1109 * other words, you can only restore a dc1.large instance type into another 1110 * dc1.large instance type or dc2.large instance type. You can't restore 1111 * dc1.8xlarge to dc2.8xlarge. First restore to a dc1.8xlarge cluster, then resize 1112 * to a dc2.8large cluster. For more information about node types, see <a 1113 * href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-about-clusters-and-nodes"> 1114 * About Clusters and Nodes</a> in the <i>Amazon Redshift Cluster Management 1115 * Guide</i>. </p> 1116 */ NodeTypeHasBeenSet()1117 inline bool NodeTypeHasBeenSet() const { return m_nodeTypeHasBeenSet; } 1118 1119 /** 1120 * <p>The node type that the restored cluster will be provisioned with.</p> 1121 * <p>Default: The node type of the cluster from which the snapshot was taken. You 1122 * can modify this if you are using any DS node type. In that case, you can choose 1123 * to restore into another DS node type of the same size. For example, you can 1124 * restore ds1.8xlarge into ds2.8xlarge, or ds1.xlarge into ds2.xlarge. If you have 1125 * a DC instance type, you must restore into that same instance type and size. In 1126 * other words, you can only restore a dc1.large instance type into another 1127 * dc1.large instance type or dc2.large instance type. You can't restore 1128 * dc1.8xlarge to dc2.8xlarge. First restore to a dc1.8xlarge cluster, then resize 1129 * to a dc2.8large cluster. For more information about node types, see <a 1130 * href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-about-clusters-and-nodes"> 1131 * About Clusters and Nodes</a> in the <i>Amazon Redshift Cluster Management 1132 * Guide</i>. </p> 1133 */ SetNodeType(const Aws::String & value)1134 inline void SetNodeType(const Aws::String& value) { m_nodeTypeHasBeenSet = true; m_nodeType = value; } 1135 1136 /** 1137 * <p>The node type that the restored cluster will be provisioned with.</p> 1138 * <p>Default: The node type of the cluster from which the snapshot was taken. You 1139 * can modify this if you are using any DS node type. In that case, you can choose 1140 * to restore into another DS node type of the same size. For example, you can 1141 * restore ds1.8xlarge into ds2.8xlarge, or ds1.xlarge into ds2.xlarge. If you have 1142 * a DC instance type, you must restore into that same instance type and size. In 1143 * other words, you can only restore a dc1.large instance type into another 1144 * dc1.large instance type or dc2.large instance type. You can't restore 1145 * dc1.8xlarge to dc2.8xlarge. First restore to a dc1.8xlarge cluster, then resize 1146 * to a dc2.8large cluster. For more information about node types, see <a 1147 * href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-about-clusters-and-nodes"> 1148 * About Clusters and Nodes</a> in the <i>Amazon Redshift Cluster Management 1149 * Guide</i>. </p> 1150 */ SetNodeType(Aws::String && value)1151 inline void SetNodeType(Aws::String&& value) { m_nodeTypeHasBeenSet = true; m_nodeType = std::move(value); } 1152 1153 /** 1154 * <p>The node type that the restored cluster will be provisioned with.</p> 1155 * <p>Default: The node type of the cluster from which the snapshot was taken. You 1156 * can modify this if you are using any DS node type. In that case, you can choose 1157 * to restore into another DS node type of the same size. For example, you can 1158 * restore ds1.8xlarge into ds2.8xlarge, or ds1.xlarge into ds2.xlarge. If you have 1159 * a DC instance type, you must restore into that same instance type and size. In 1160 * other words, you can only restore a dc1.large instance type into another 1161 * dc1.large instance type or dc2.large instance type. You can't restore 1162 * dc1.8xlarge to dc2.8xlarge. First restore to a dc1.8xlarge cluster, then resize 1163 * to a dc2.8large cluster. For more information about node types, see <a 1164 * href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-about-clusters-and-nodes"> 1165 * About Clusters and Nodes</a> in the <i>Amazon Redshift Cluster Management 1166 * Guide</i>. </p> 1167 */ SetNodeType(const char * value)1168 inline void SetNodeType(const char* value) { m_nodeTypeHasBeenSet = true; m_nodeType.assign(value); } 1169 1170 /** 1171 * <p>The node type that the restored cluster will be provisioned with.</p> 1172 * <p>Default: The node type of the cluster from which the snapshot was taken. You 1173 * can modify this if you are using any DS node type. In that case, you can choose 1174 * to restore into another DS node type of the same size. For example, you can 1175 * restore ds1.8xlarge into ds2.8xlarge, or ds1.xlarge into ds2.xlarge. If you have 1176 * a DC instance type, you must restore into that same instance type and size. In 1177 * other words, you can only restore a dc1.large instance type into another 1178 * dc1.large instance type or dc2.large instance type. You can't restore 1179 * dc1.8xlarge to dc2.8xlarge. First restore to a dc1.8xlarge cluster, then resize 1180 * to a dc2.8large cluster. For more information about node types, see <a 1181 * href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-about-clusters-and-nodes"> 1182 * About Clusters and Nodes</a> in the <i>Amazon Redshift Cluster Management 1183 * Guide</i>. </p> 1184 */ WithNodeType(const Aws::String & value)1185 inline RestoreFromClusterSnapshotRequest& WithNodeType(const Aws::String& value) { SetNodeType(value); return *this;} 1186 1187 /** 1188 * <p>The node type that the restored cluster will be provisioned with.</p> 1189 * <p>Default: The node type of the cluster from which the snapshot was taken. You 1190 * can modify this if you are using any DS node type. In that case, you can choose 1191 * to restore into another DS node type of the same size. For example, you can 1192 * restore ds1.8xlarge into ds2.8xlarge, or ds1.xlarge into ds2.xlarge. If you have 1193 * a DC instance type, you must restore into that same instance type and size. In 1194 * other words, you can only restore a dc1.large instance type into another 1195 * dc1.large instance type or dc2.large instance type. You can't restore 1196 * dc1.8xlarge to dc2.8xlarge. First restore to a dc1.8xlarge cluster, then resize 1197 * to a dc2.8large cluster. For more information about node types, see <a 1198 * href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-about-clusters-and-nodes"> 1199 * About Clusters and Nodes</a> in the <i>Amazon Redshift Cluster Management 1200 * Guide</i>. </p> 1201 */ WithNodeType(Aws::String && value)1202 inline RestoreFromClusterSnapshotRequest& WithNodeType(Aws::String&& value) { SetNodeType(std::move(value)); return *this;} 1203 1204 /** 1205 * <p>The node type that the restored cluster will be provisioned with.</p> 1206 * <p>Default: The node type of the cluster from which the snapshot was taken. You 1207 * can modify this if you are using any DS node type. In that case, you can choose 1208 * to restore into another DS node type of the same size. For example, you can 1209 * restore ds1.8xlarge into ds2.8xlarge, or ds1.xlarge into ds2.xlarge. If you have 1210 * a DC instance type, you must restore into that same instance type and size. In 1211 * other words, you can only restore a dc1.large instance type into another 1212 * dc1.large instance type or dc2.large instance type. You can't restore 1213 * dc1.8xlarge to dc2.8xlarge. First restore to a dc1.8xlarge cluster, then resize 1214 * to a dc2.8large cluster. For more information about node types, see <a 1215 * href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-about-clusters-and-nodes"> 1216 * About Clusters and Nodes</a> in the <i>Amazon Redshift Cluster Management 1217 * Guide</i>. </p> 1218 */ WithNodeType(const char * value)1219 inline RestoreFromClusterSnapshotRequest& WithNodeType(const char* value) { SetNodeType(value); return *this;} 1220 1221 1222 /** 1223 * <p>An option that specifies whether to create the cluster with enhanced VPC 1224 * routing enabled. To create a cluster that uses enhanced VPC routing, the cluster 1225 * must be in a VPC. For more information, see <a 1226 * href="https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html">Enhanced 1227 * VPC Routing</a> in the Amazon Redshift Cluster Management Guide.</p> <p>If this 1228 * option is <code>true</code>, enhanced VPC routing is enabled. </p> <p>Default: 1229 * false</p> 1230 */ GetEnhancedVpcRouting()1231 inline bool GetEnhancedVpcRouting() const{ return m_enhancedVpcRouting; } 1232 1233 /** 1234 * <p>An option that specifies whether to create the cluster with enhanced VPC 1235 * routing enabled. To create a cluster that uses enhanced VPC routing, the cluster 1236 * must be in a VPC. For more information, see <a 1237 * href="https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html">Enhanced 1238 * VPC Routing</a> in the Amazon Redshift Cluster Management Guide.</p> <p>If this 1239 * option is <code>true</code>, enhanced VPC routing is enabled. </p> <p>Default: 1240 * false</p> 1241 */ EnhancedVpcRoutingHasBeenSet()1242 inline bool EnhancedVpcRoutingHasBeenSet() const { return m_enhancedVpcRoutingHasBeenSet; } 1243 1244 /** 1245 * <p>An option that specifies whether to create the cluster with enhanced VPC 1246 * routing enabled. To create a cluster that uses enhanced VPC routing, the cluster 1247 * must be in a VPC. For more information, see <a 1248 * href="https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html">Enhanced 1249 * VPC Routing</a> in the Amazon Redshift Cluster Management Guide.</p> <p>If this 1250 * option is <code>true</code>, enhanced VPC routing is enabled. </p> <p>Default: 1251 * false</p> 1252 */ SetEnhancedVpcRouting(bool value)1253 inline void SetEnhancedVpcRouting(bool value) { m_enhancedVpcRoutingHasBeenSet = true; m_enhancedVpcRouting = value; } 1254 1255 /** 1256 * <p>An option that specifies whether to create the cluster with enhanced VPC 1257 * routing enabled. To create a cluster that uses enhanced VPC routing, the cluster 1258 * must be in a VPC. For more information, see <a 1259 * href="https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html">Enhanced 1260 * VPC Routing</a> in the Amazon Redshift Cluster Management Guide.</p> <p>If this 1261 * option is <code>true</code>, enhanced VPC routing is enabled. </p> <p>Default: 1262 * false</p> 1263 */ WithEnhancedVpcRouting(bool value)1264 inline RestoreFromClusterSnapshotRequest& WithEnhancedVpcRouting(bool value) { SetEnhancedVpcRouting(value); return *this;} 1265 1266 1267 /** 1268 * <p>Reserved.</p> 1269 */ GetAdditionalInfo()1270 inline const Aws::String& GetAdditionalInfo() const{ return m_additionalInfo; } 1271 1272 /** 1273 * <p>Reserved.</p> 1274 */ AdditionalInfoHasBeenSet()1275 inline bool AdditionalInfoHasBeenSet() const { return m_additionalInfoHasBeenSet; } 1276 1277 /** 1278 * <p>Reserved.</p> 1279 */ SetAdditionalInfo(const Aws::String & value)1280 inline void SetAdditionalInfo(const Aws::String& value) { m_additionalInfoHasBeenSet = true; m_additionalInfo = value; } 1281 1282 /** 1283 * <p>Reserved.</p> 1284 */ SetAdditionalInfo(Aws::String && value)1285 inline void SetAdditionalInfo(Aws::String&& value) { m_additionalInfoHasBeenSet = true; m_additionalInfo = std::move(value); } 1286 1287 /** 1288 * <p>Reserved.</p> 1289 */ SetAdditionalInfo(const char * value)1290 inline void SetAdditionalInfo(const char* value) { m_additionalInfoHasBeenSet = true; m_additionalInfo.assign(value); } 1291 1292 /** 1293 * <p>Reserved.</p> 1294 */ WithAdditionalInfo(const Aws::String & value)1295 inline RestoreFromClusterSnapshotRequest& WithAdditionalInfo(const Aws::String& value) { SetAdditionalInfo(value); return *this;} 1296 1297 /** 1298 * <p>Reserved.</p> 1299 */ WithAdditionalInfo(Aws::String && value)1300 inline RestoreFromClusterSnapshotRequest& WithAdditionalInfo(Aws::String&& value) { SetAdditionalInfo(std::move(value)); return *this;} 1301 1302 /** 1303 * <p>Reserved.</p> 1304 */ WithAdditionalInfo(const char * value)1305 inline RestoreFromClusterSnapshotRequest& WithAdditionalInfo(const char* value) { SetAdditionalInfo(value); return *this;} 1306 1307 1308 /** 1309 * <p>A list of Identity and Access Management (IAM) roles that can be used by the 1310 * cluster to access other Amazon Web Services services. You must supply the IAM 1311 * roles in their Amazon Resource Name (ARN) format. You can supply up to 10 IAM 1312 * roles in a single request.</p> <p>A cluster can have up to 10 IAM roles 1313 * associated at any time.</p> 1314 */ GetIamRoles()1315 inline const Aws::Vector<Aws::String>& GetIamRoles() const{ return m_iamRoles; } 1316 1317 /** 1318 * <p>A list of Identity and Access Management (IAM) roles that can be used by the 1319 * cluster to access other Amazon Web Services services. You must supply the IAM 1320 * roles in their Amazon Resource Name (ARN) format. You can supply up to 10 IAM 1321 * roles in a single request.</p> <p>A cluster can have up to 10 IAM roles 1322 * associated at any time.</p> 1323 */ IamRolesHasBeenSet()1324 inline bool IamRolesHasBeenSet() const { return m_iamRolesHasBeenSet; } 1325 1326 /** 1327 * <p>A list of Identity and Access Management (IAM) roles that can be used by the 1328 * cluster to access other Amazon Web Services services. You must supply the IAM 1329 * roles in their Amazon Resource Name (ARN) format. You can supply up to 10 IAM 1330 * roles in a single request.</p> <p>A cluster can have up to 10 IAM roles 1331 * associated at any time.</p> 1332 */ SetIamRoles(const Aws::Vector<Aws::String> & value)1333 inline void SetIamRoles(const Aws::Vector<Aws::String>& value) { m_iamRolesHasBeenSet = true; m_iamRoles = value; } 1334 1335 /** 1336 * <p>A list of Identity and Access Management (IAM) roles that can be used by the 1337 * cluster to access other Amazon Web Services services. You must supply the IAM 1338 * roles in their Amazon Resource Name (ARN) format. You can supply up to 10 IAM 1339 * roles in a single request.</p> <p>A cluster can have up to 10 IAM roles 1340 * associated at any time.</p> 1341 */ SetIamRoles(Aws::Vector<Aws::String> && value)1342 inline void SetIamRoles(Aws::Vector<Aws::String>&& value) { m_iamRolesHasBeenSet = true; m_iamRoles = std::move(value); } 1343 1344 /** 1345 * <p>A list of Identity and Access Management (IAM) roles that can be used by the 1346 * cluster to access other Amazon Web Services services. You must supply the IAM 1347 * roles in their Amazon Resource Name (ARN) format. You can supply up to 10 IAM 1348 * roles in a single request.</p> <p>A cluster can have up to 10 IAM roles 1349 * associated at any time.</p> 1350 */ WithIamRoles(const Aws::Vector<Aws::String> & value)1351 inline RestoreFromClusterSnapshotRequest& WithIamRoles(const Aws::Vector<Aws::String>& value) { SetIamRoles(value); return *this;} 1352 1353 /** 1354 * <p>A list of Identity and Access Management (IAM) roles that can be used by the 1355 * cluster to access other Amazon Web Services services. You must supply the IAM 1356 * roles in their Amazon Resource Name (ARN) format. You can supply up to 10 IAM 1357 * roles in a single request.</p> <p>A cluster can have up to 10 IAM roles 1358 * associated at any time.</p> 1359 */ WithIamRoles(Aws::Vector<Aws::String> && value)1360 inline RestoreFromClusterSnapshotRequest& WithIamRoles(Aws::Vector<Aws::String>&& value) { SetIamRoles(std::move(value)); return *this;} 1361 1362 /** 1363 * <p>A list of Identity and Access Management (IAM) roles that can be used by the 1364 * cluster to access other Amazon Web Services services. You must supply the IAM 1365 * roles in their Amazon Resource Name (ARN) format. You can supply up to 10 IAM 1366 * roles in a single request.</p> <p>A cluster can have up to 10 IAM roles 1367 * associated at any time.</p> 1368 */ AddIamRoles(const Aws::String & value)1369 inline RestoreFromClusterSnapshotRequest& AddIamRoles(const Aws::String& value) { m_iamRolesHasBeenSet = true; m_iamRoles.push_back(value); return *this; } 1370 1371 /** 1372 * <p>A list of Identity and Access Management (IAM) roles that can be used by the 1373 * cluster to access other Amazon Web Services services. You must supply the IAM 1374 * roles in their Amazon Resource Name (ARN) format. You can supply up to 10 IAM 1375 * roles in a single request.</p> <p>A cluster can have up to 10 IAM roles 1376 * associated at any time.</p> 1377 */ AddIamRoles(Aws::String && value)1378 inline RestoreFromClusterSnapshotRequest& AddIamRoles(Aws::String&& value) { m_iamRolesHasBeenSet = true; m_iamRoles.push_back(std::move(value)); return *this; } 1379 1380 /** 1381 * <p>A list of Identity and Access Management (IAM) roles that can be used by the 1382 * cluster to access other Amazon Web Services services. You must supply the IAM 1383 * roles in their Amazon Resource Name (ARN) format. You can supply up to 10 IAM 1384 * roles in a single request.</p> <p>A cluster can have up to 10 IAM roles 1385 * associated at any time.</p> 1386 */ AddIamRoles(const char * value)1387 inline RestoreFromClusterSnapshotRequest& AddIamRoles(const char* value) { m_iamRolesHasBeenSet = true; m_iamRoles.push_back(value); return *this; } 1388 1389 1390 /** 1391 * <p>The name of the maintenance track for the restored cluster. When you take a 1392 * snapshot, the snapshot inherits the <code>MaintenanceTrack</code> value from the 1393 * cluster. The snapshot might be on a different track than the cluster that was 1394 * the source for the snapshot. For example, suppose that you take a snapshot of a 1395 * cluster that is on the current track and then change the cluster to be on the 1396 * trailing track. In this case, the snapshot and the source cluster are on 1397 * different tracks.</p> 1398 */ GetMaintenanceTrackName()1399 inline const Aws::String& GetMaintenanceTrackName() const{ return m_maintenanceTrackName; } 1400 1401 /** 1402 * <p>The name of the maintenance track for the restored cluster. When you take a 1403 * snapshot, the snapshot inherits the <code>MaintenanceTrack</code> value from the 1404 * cluster. The snapshot might be on a different track than the cluster that was 1405 * the source for the snapshot. For example, suppose that you take a snapshot of a 1406 * cluster that is on the current track and then change the cluster to be on the 1407 * trailing track. In this case, the snapshot and the source cluster are on 1408 * different tracks.</p> 1409 */ MaintenanceTrackNameHasBeenSet()1410 inline bool MaintenanceTrackNameHasBeenSet() const { return m_maintenanceTrackNameHasBeenSet; } 1411 1412 /** 1413 * <p>The name of the maintenance track for the restored cluster. When you take a 1414 * snapshot, the snapshot inherits the <code>MaintenanceTrack</code> value from the 1415 * cluster. The snapshot might be on a different track than the cluster that was 1416 * the source for the snapshot. For example, suppose that you take a snapshot of a 1417 * cluster that is on the current track and then change the cluster to be on the 1418 * trailing track. In this case, the snapshot and the source cluster are on 1419 * different tracks.</p> 1420 */ SetMaintenanceTrackName(const Aws::String & value)1421 inline void SetMaintenanceTrackName(const Aws::String& value) { m_maintenanceTrackNameHasBeenSet = true; m_maintenanceTrackName = value; } 1422 1423 /** 1424 * <p>The name of the maintenance track for the restored cluster. When you take a 1425 * snapshot, the snapshot inherits the <code>MaintenanceTrack</code> value from the 1426 * cluster. The snapshot might be on a different track than the cluster that was 1427 * the source for the snapshot. For example, suppose that you take a snapshot of a 1428 * cluster that is on the current track and then change the cluster to be on the 1429 * trailing track. In this case, the snapshot and the source cluster are on 1430 * different tracks.</p> 1431 */ SetMaintenanceTrackName(Aws::String && value)1432 inline void SetMaintenanceTrackName(Aws::String&& value) { m_maintenanceTrackNameHasBeenSet = true; m_maintenanceTrackName = std::move(value); } 1433 1434 /** 1435 * <p>The name of the maintenance track for the restored cluster. When you take a 1436 * snapshot, the snapshot inherits the <code>MaintenanceTrack</code> value from the 1437 * cluster. The snapshot might be on a different track than the cluster that was 1438 * the source for the snapshot. For example, suppose that you take a snapshot of a 1439 * cluster that is on the current track and then change the cluster to be on the 1440 * trailing track. In this case, the snapshot and the source cluster are on 1441 * different tracks.</p> 1442 */ SetMaintenanceTrackName(const char * value)1443 inline void SetMaintenanceTrackName(const char* value) { m_maintenanceTrackNameHasBeenSet = true; m_maintenanceTrackName.assign(value); } 1444 1445 /** 1446 * <p>The name of the maintenance track for the restored cluster. When you take a 1447 * snapshot, the snapshot inherits the <code>MaintenanceTrack</code> value from the 1448 * cluster. The snapshot might be on a different track than the cluster that was 1449 * the source for the snapshot. For example, suppose that you take a snapshot of a 1450 * cluster that is on the current track and then change the cluster to be on the 1451 * trailing track. In this case, the snapshot and the source cluster are on 1452 * different tracks.</p> 1453 */ WithMaintenanceTrackName(const Aws::String & value)1454 inline RestoreFromClusterSnapshotRequest& WithMaintenanceTrackName(const Aws::String& value) { SetMaintenanceTrackName(value); return *this;} 1455 1456 /** 1457 * <p>The name of the maintenance track for the restored cluster. When you take a 1458 * snapshot, the snapshot inherits the <code>MaintenanceTrack</code> value from the 1459 * cluster. The snapshot might be on a different track than the cluster that was 1460 * the source for the snapshot. For example, suppose that you take a snapshot of a 1461 * cluster that is on the current track and then change the cluster to be on the 1462 * trailing track. In this case, the snapshot and the source cluster are on 1463 * different tracks.</p> 1464 */ WithMaintenanceTrackName(Aws::String && value)1465 inline RestoreFromClusterSnapshotRequest& WithMaintenanceTrackName(Aws::String&& value) { SetMaintenanceTrackName(std::move(value)); return *this;} 1466 1467 /** 1468 * <p>The name of the maintenance track for the restored cluster. When you take a 1469 * snapshot, the snapshot inherits the <code>MaintenanceTrack</code> value from the 1470 * cluster. The snapshot might be on a different track than the cluster that was 1471 * the source for the snapshot. For example, suppose that you take a snapshot of a 1472 * cluster that is on the current track and then change the cluster to be on the 1473 * trailing track. In this case, the snapshot and the source cluster are on 1474 * different tracks.</p> 1475 */ WithMaintenanceTrackName(const char * value)1476 inline RestoreFromClusterSnapshotRequest& WithMaintenanceTrackName(const char* value) { SetMaintenanceTrackName(value); return *this;} 1477 1478 1479 /** 1480 * <p>A unique identifier for the snapshot schedule.</p> 1481 */ GetSnapshotScheduleIdentifier()1482 inline const Aws::String& GetSnapshotScheduleIdentifier() const{ return m_snapshotScheduleIdentifier; } 1483 1484 /** 1485 * <p>A unique identifier for the snapshot schedule.</p> 1486 */ SnapshotScheduleIdentifierHasBeenSet()1487 inline bool SnapshotScheduleIdentifierHasBeenSet() const { return m_snapshotScheduleIdentifierHasBeenSet; } 1488 1489 /** 1490 * <p>A unique identifier for the snapshot schedule.</p> 1491 */ SetSnapshotScheduleIdentifier(const Aws::String & value)1492 inline void SetSnapshotScheduleIdentifier(const Aws::String& value) { m_snapshotScheduleIdentifierHasBeenSet = true; m_snapshotScheduleIdentifier = value; } 1493 1494 /** 1495 * <p>A unique identifier for the snapshot schedule.</p> 1496 */ SetSnapshotScheduleIdentifier(Aws::String && value)1497 inline void SetSnapshotScheduleIdentifier(Aws::String&& value) { m_snapshotScheduleIdentifierHasBeenSet = true; m_snapshotScheduleIdentifier = std::move(value); } 1498 1499 /** 1500 * <p>A unique identifier for the snapshot schedule.</p> 1501 */ SetSnapshotScheduleIdentifier(const char * value)1502 inline void SetSnapshotScheduleIdentifier(const char* value) { m_snapshotScheduleIdentifierHasBeenSet = true; m_snapshotScheduleIdentifier.assign(value); } 1503 1504 /** 1505 * <p>A unique identifier for the snapshot schedule.</p> 1506 */ WithSnapshotScheduleIdentifier(const Aws::String & value)1507 inline RestoreFromClusterSnapshotRequest& WithSnapshotScheduleIdentifier(const Aws::String& value) { SetSnapshotScheduleIdentifier(value); return *this;} 1508 1509 /** 1510 * <p>A unique identifier for the snapshot schedule.</p> 1511 */ WithSnapshotScheduleIdentifier(Aws::String && value)1512 inline RestoreFromClusterSnapshotRequest& WithSnapshotScheduleIdentifier(Aws::String&& value) { SetSnapshotScheduleIdentifier(std::move(value)); return *this;} 1513 1514 /** 1515 * <p>A unique identifier for the snapshot schedule.</p> 1516 */ WithSnapshotScheduleIdentifier(const char * value)1517 inline RestoreFromClusterSnapshotRequest& WithSnapshotScheduleIdentifier(const char* value) { SetSnapshotScheduleIdentifier(value); return *this;} 1518 1519 1520 /** 1521 * <p>The number of nodes specified when provisioning the restored cluster.</p> 1522 */ GetNumberOfNodes()1523 inline int GetNumberOfNodes() const{ return m_numberOfNodes; } 1524 1525 /** 1526 * <p>The number of nodes specified when provisioning the restored cluster.</p> 1527 */ NumberOfNodesHasBeenSet()1528 inline bool NumberOfNodesHasBeenSet() const { return m_numberOfNodesHasBeenSet; } 1529 1530 /** 1531 * <p>The number of nodes specified when provisioning the restored cluster.</p> 1532 */ SetNumberOfNodes(int value)1533 inline void SetNumberOfNodes(int value) { m_numberOfNodesHasBeenSet = true; m_numberOfNodes = value; } 1534 1535 /** 1536 * <p>The number of nodes specified when provisioning the restored cluster.</p> 1537 */ WithNumberOfNodes(int value)1538 inline RestoreFromClusterSnapshotRequest& WithNumberOfNodes(int value) { SetNumberOfNodes(value); return *this;} 1539 1540 1541 /** 1542 * <p>The option to enable relocation for an Amazon Redshift cluster between 1543 * Availability Zones after the cluster is restored.</p> 1544 */ GetAvailabilityZoneRelocation()1545 inline bool GetAvailabilityZoneRelocation() const{ return m_availabilityZoneRelocation; } 1546 1547 /** 1548 * <p>The option to enable relocation for an Amazon Redshift cluster between 1549 * Availability Zones after the cluster is restored.</p> 1550 */ AvailabilityZoneRelocationHasBeenSet()1551 inline bool AvailabilityZoneRelocationHasBeenSet() const { return m_availabilityZoneRelocationHasBeenSet; } 1552 1553 /** 1554 * <p>The option to enable relocation for an Amazon Redshift cluster between 1555 * Availability Zones after the cluster is restored.</p> 1556 */ SetAvailabilityZoneRelocation(bool value)1557 inline void SetAvailabilityZoneRelocation(bool value) { m_availabilityZoneRelocationHasBeenSet = true; m_availabilityZoneRelocation = value; } 1558 1559 /** 1560 * <p>The option to enable relocation for an Amazon Redshift cluster between 1561 * Availability Zones after the cluster is restored.</p> 1562 */ WithAvailabilityZoneRelocation(bool value)1563 inline RestoreFromClusterSnapshotRequest& WithAvailabilityZoneRelocation(bool value) { SetAvailabilityZoneRelocation(value); return *this;} 1564 1565 1566 /** 1567 * <p>The value represents how the cluster is configured to use AQUA (Advanced 1568 * Query Accelerator) after the cluster is restored. Possible values include the 1569 * following.</p> <ul> <li> <p>enabled - Use AQUA if it is available for the 1570 * current Amazon Web Services Region and Amazon Redshift node type.</p> </li> <li> 1571 * <p>disabled - Don't use AQUA. </p> </li> <li> <p>auto - Amazon Redshift 1572 * determines whether to use AQUA.</p> </li> </ul> 1573 */ GetAquaConfigurationStatus()1574 inline const AquaConfigurationStatus& GetAquaConfigurationStatus() const{ return m_aquaConfigurationStatus; } 1575 1576 /** 1577 * <p>The value represents how the cluster is configured to use AQUA (Advanced 1578 * Query Accelerator) after the cluster is restored. Possible values include the 1579 * following.</p> <ul> <li> <p>enabled - Use AQUA if it is available for the 1580 * current Amazon Web Services Region and Amazon Redshift node type.</p> </li> <li> 1581 * <p>disabled - Don't use AQUA. </p> </li> <li> <p>auto - Amazon Redshift 1582 * determines whether to use AQUA.</p> </li> </ul> 1583 */ AquaConfigurationStatusHasBeenSet()1584 inline bool AquaConfigurationStatusHasBeenSet() const { return m_aquaConfigurationStatusHasBeenSet; } 1585 1586 /** 1587 * <p>The value represents how the cluster is configured to use AQUA (Advanced 1588 * Query Accelerator) after the cluster is restored. Possible values include the 1589 * following.</p> <ul> <li> <p>enabled - Use AQUA if it is available for the 1590 * current Amazon Web Services Region and Amazon Redshift node type.</p> </li> <li> 1591 * <p>disabled - Don't use AQUA. </p> </li> <li> <p>auto - Amazon Redshift 1592 * determines whether to use AQUA.</p> </li> </ul> 1593 */ SetAquaConfigurationStatus(const AquaConfigurationStatus & value)1594 inline void SetAquaConfigurationStatus(const AquaConfigurationStatus& value) { m_aquaConfigurationStatusHasBeenSet = true; m_aquaConfigurationStatus = value; } 1595 1596 /** 1597 * <p>The value represents how the cluster is configured to use AQUA (Advanced 1598 * Query Accelerator) after the cluster is restored. Possible values include the 1599 * following.</p> <ul> <li> <p>enabled - Use AQUA if it is available for the 1600 * current Amazon Web Services Region and Amazon Redshift node type.</p> </li> <li> 1601 * <p>disabled - Don't use AQUA. </p> </li> <li> <p>auto - Amazon Redshift 1602 * determines whether to use AQUA.</p> </li> </ul> 1603 */ SetAquaConfigurationStatus(AquaConfigurationStatus && value)1604 inline void SetAquaConfigurationStatus(AquaConfigurationStatus&& value) { m_aquaConfigurationStatusHasBeenSet = true; m_aquaConfigurationStatus = std::move(value); } 1605 1606 /** 1607 * <p>The value represents how the cluster is configured to use AQUA (Advanced 1608 * Query Accelerator) after the cluster is restored. Possible values include the 1609 * following.</p> <ul> <li> <p>enabled - Use AQUA if it is available for the 1610 * current Amazon Web Services Region and Amazon Redshift node type.</p> </li> <li> 1611 * <p>disabled - Don't use AQUA. </p> </li> <li> <p>auto - Amazon Redshift 1612 * determines whether to use AQUA.</p> </li> </ul> 1613 */ WithAquaConfigurationStatus(const AquaConfigurationStatus & value)1614 inline RestoreFromClusterSnapshotRequest& WithAquaConfigurationStatus(const AquaConfigurationStatus& value) { SetAquaConfigurationStatus(value); return *this;} 1615 1616 /** 1617 * <p>The value represents how the cluster is configured to use AQUA (Advanced 1618 * Query Accelerator) after the cluster is restored. Possible values include the 1619 * following.</p> <ul> <li> <p>enabled - Use AQUA if it is available for the 1620 * current Amazon Web Services Region and Amazon Redshift node type.</p> </li> <li> 1621 * <p>disabled - Don't use AQUA. </p> </li> <li> <p>auto - Amazon Redshift 1622 * determines whether to use AQUA.</p> </li> </ul> 1623 */ WithAquaConfigurationStatus(AquaConfigurationStatus && value)1624 inline RestoreFromClusterSnapshotRequest& WithAquaConfigurationStatus(AquaConfigurationStatus&& value) { SetAquaConfigurationStatus(std::move(value)); return *this;} 1625 1626 private: 1627 1628 Aws::String m_clusterIdentifier; 1629 bool m_clusterIdentifierHasBeenSet; 1630 1631 Aws::String m_snapshotIdentifier; 1632 bool m_snapshotIdentifierHasBeenSet; 1633 1634 Aws::String m_snapshotClusterIdentifier; 1635 bool m_snapshotClusterIdentifierHasBeenSet; 1636 1637 int m_port; 1638 bool m_portHasBeenSet; 1639 1640 Aws::String m_availabilityZone; 1641 bool m_availabilityZoneHasBeenSet; 1642 1643 bool m_allowVersionUpgrade; 1644 bool m_allowVersionUpgradeHasBeenSet; 1645 1646 Aws::String m_clusterSubnetGroupName; 1647 bool m_clusterSubnetGroupNameHasBeenSet; 1648 1649 bool m_publiclyAccessible; 1650 bool m_publiclyAccessibleHasBeenSet; 1651 1652 Aws::String m_ownerAccount; 1653 bool m_ownerAccountHasBeenSet; 1654 1655 Aws::String m_hsmClientCertificateIdentifier; 1656 bool m_hsmClientCertificateIdentifierHasBeenSet; 1657 1658 Aws::String m_hsmConfigurationIdentifier; 1659 bool m_hsmConfigurationIdentifierHasBeenSet; 1660 1661 Aws::String m_elasticIp; 1662 bool m_elasticIpHasBeenSet; 1663 1664 Aws::String m_clusterParameterGroupName; 1665 bool m_clusterParameterGroupNameHasBeenSet; 1666 1667 Aws::Vector<Aws::String> m_clusterSecurityGroups; 1668 bool m_clusterSecurityGroupsHasBeenSet; 1669 1670 Aws::Vector<Aws::String> m_vpcSecurityGroupIds; 1671 bool m_vpcSecurityGroupIdsHasBeenSet; 1672 1673 Aws::String m_preferredMaintenanceWindow; 1674 bool m_preferredMaintenanceWindowHasBeenSet; 1675 1676 int m_automatedSnapshotRetentionPeriod; 1677 bool m_automatedSnapshotRetentionPeriodHasBeenSet; 1678 1679 int m_manualSnapshotRetentionPeriod; 1680 bool m_manualSnapshotRetentionPeriodHasBeenSet; 1681 1682 Aws::String m_kmsKeyId; 1683 bool m_kmsKeyIdHasBeenSet; 1684 1685 Aws::String m_nodeType; 1686 bool m_nodeTypeHasBeenSet; 1687 1688 bool m_enhancedVpcRouting; 1689 bool m_enhancedVpcRoutingHasBeenSet; 1690 1691 Aws::String m_additionalInfo; 1692 bool m_additionalInfoHasBeenSet; 1693 1694 Aws::Vector<Aws::String> m_iamRoles; 1695 bool m_iamRolesHasBeenSet; 1696 1697 Aws::String m_maintenanceTrackName; 1698 bool m_maintenanceTrackNameHasBeenSet; 1699 1700 Aws::String m_snapshotScheduleIdentifier; 1701 bool m_snapshotScheduleIdentifierHasBeenSet; 1702 1703 int m_numberOfNodes; 1704 bool m_numberOfNodesHasBeenSet; 1705 1706 bool m_availabilityZoneRelocation; 1707 bool m_availabilityZoneRelocationHasBeenSet; 1708 1709 AquaConfigurationStatus m_aquaConfigurationStatus; 1710 bool m_aquaConfigurationStatusHasBeenSet; 1711 }; 1712 1713 } // namespace Model 1714 } // namespace Redshift 1715 } // namespace Aws 1716