/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace RDS { namespace Model { /** *

See Also:

AWS * API Reference

*/ class RestoreDBInstanceFromDBSnapshotRequest : public RDSRequest { public: AWS_RDS_API RestoreDBInstanceFromDBSnapshotRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "RestoreDBInstanceFromDBSnapshot"; } AWS_RDS_API Aws::String SerializePayload() const override; protected: AWS_RDS_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

Name of the DB instance to create from the DB snapshot. This parameter isn't * case-sensitive.

Constraints:

  • Must contain from 1 to 63 * numbers, letters, or hyphens

  • First character must be a * letter

  • Can't end with a hyphen or contain two consecutive * hyphens

Example: my-snapshot-id

*/ inline const Aws::String& GetDBInstanceIdentifier() const{ return m_dBInstanceIdentifier; } /** *

Name of the DB instance to create from the DB snapshot. This parameter isn't * case-sensitive.

Constraints:

  • Must contain from 1 to 63 * numbers, letters, or hyphens

  • First character must be a * letter

  • Can't end with a hyphen or contain two consecutive * hyphens

Example: my-snapshot-id

*/ inline bool DBInstanceIdentifierHasBeenSet() const { return m_dBInstanceIdentifierHasBeenSet; } /** *

Name of the DB instance to create from the DB snapshot. This parameter isn't * case-sensitive.

Constraints:

  • Must contain from 1 to 63 * numbers, letters, or hyphens

  • First character must be a * letter

  • Can't end with a hyphen or contain two consecutive * hyphens

Example: my-snapshot-id

*/ inline void SetDBInstanceIdentifier(const Aws::String& value) { m_dBInstanceIdentifierHasBeenSet = true; m_dBInstanceIdentifier = value; } /** *

Name of the DB instance to create from the DB snapshot. This parameter isn't * case-sensitive.

Constraints:

  • Must contain from 1 to 63 * numbers, letters, or hyphens

  • First character must be a * letter

  • Can't end with a hyphen or contain two consecutive * hyphens

Example: my-snapshot-id

*/ inline void SetDBInstanceIdentifier(Aws::String&& value) { m_dBInstanceIdentifierHasBeenSet = true; m_dBInstanceIdentifier = std::move(value); } /** *

Name of the DB instance to create from the DB snapshot. This parameter isn't * case-sensitive.

Constraints:

  • Must contain from 1 to 63 * numbers, letters, or hyphens

  • First character must be a * letter

  • Can't end with a hyphen or contain two consecutive * hyphens

Example: my-snapshot-id

*/ inline void SetDBInstanceIdentifier(const char* value) { m_dBInstanceIdentifierHasBeenSet = true; m_dBInstanceIdentifier.assign(value); } /** *

Name of the DB instance to create from the DB snapshot. This parameter isn't * case-sensitive.

Constraints:

  • Must contain from 1 to 63 * numbers, letters, or hyphens

  • First character must be a * letter

  • Can't end with a hyphen or contain two consecutive * hyphens

Example: my-snapshot-id

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDBInstanceIdentifier(const Aws::String& value) { SetDBInstanceIdentifier(value); return *this;} /** *

Name of the DB instance to create from the DB snapshot. This parameter isn't * case-sensitive.

Constraints:

  • Must contain from 1 to 63 * numbers, letters, or hyphens

  • First character must be a * letter

  • Can't end with a hyphen or contain two consecutive * hyphens

Example: my-snapshot-id

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDBInstanceIdentifier(Aws::String&& value) { SetDBInstanceIdentifier(std::move(value)); return *this;} /** *

Name of the DB instance to create from the DB snapshot. This parameter isn't * case-sensitive.

Constraints:

  • Must contain from 1 to 63 * numbers, letters, or hyphens

  • First character must be a * letter

  • Can't end with a hyphen or contain two consecutive * hyphens

Example: my-snapshot-id

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDBInstanceIdentifier(const char* value) { SetDBInstanceIdentifier(value); return *this;} /** *

The identifier for the DB snapshot to restore from.

Constraints:

*
  • Must match the identifier of an existing DBSnapshot.

  • *

    Can't be specified when DBClusterSnapshotIdentifier is * specified.

  • Must be specified when * DBClusterSnapshotIdentifier isn't specified.

  • If * you are restoring from a shared manual DB snapshot, the * DBSnapshotIdentifier must be the ARN of the shared DB snapshot.

    *
*/ inline const Aws::String& GetDBSnapshotIdentifier() const{ return m_dBSnapshotIdentifier; } /** *

The identifier for the DB snapshot to restore from.

Constraints:

*
  • Must match the identifier of an existing DBSnapshot.

  • *

    Can't be specified when DBClusterSnapshotIdentifier is * specified.

  • Must be specified when * DBClusterSnapshotIdentifier isn't specified.

  • If * you are restoring from a shared manual DB snapshot, the * DBSnapshotIdentifier must be the ARN of the shared DB snapshot.

    *
*/ inline bool DBSnapshotIdentifierHasBeenSet() const { return m_dBSnapshotIdentifierHasBeenSet; } /** *

The identifier for the DB snapshot to restore from.

Constraints:

*
  • Must match the identifier of an existing DBSnapshot.

  • *

    Can't be specified when DBClusterSnapshotIdentifier is * specified.

  • Must be specified when * DBClusterSnapshotIdentifier isn't specified.

  • If * you are restoring from a shared manual DB snapshot, the * DBSnapshotIdentifier must be the ARN of the shared DB snapshot.

    *
*/ inline void SetDBSnapshotIdentifier(const Aws::String& value) { m_dBSnapshotIdentifierHasBeenSet = true; m_dBSnapshotIdentifier = value; } /** *

The identifier for the DB snapshot to restore from.

Constraints:

*
  • Must match the identifier of an existing DBSnapshot.

  • *

    Can't be specified when DBClusterSnapshotIdentifier is * specified.

  • Must be specified when * DBClusterSnapshotIdentifier isn't specified.

  • If * you are restoring from a shared manual DB snapshot, the * DBSnapshotIdentifier must be the ARN of the shared DB snapshot.

    *
*/ inline void SetDBSnapshotIdentifier(Aws::String&& value) { m_dBSnapshotIdentifierHasBeenSet = true; m_dBSnapshotIdentifier = std::move(value); } /** *

The identifier for the DB snapshot to restore from.

Constraints:

*
  • Must match the identifier of an existing DBSnapshot.

  • *

    Can't be specified when DBClusterSnapshotIdentifier is * specified.

  • Must be specified when * DBClusterSnapshotIdentifier isn't specified.

  • If * you are restoring from a shared manual DB snapshot, the * DBSnapshotIdentifier must be the ARN of the shared DB snapshot.

    *
*/ inline void SetDBSnapshotIdentifier(const char* value) { m_dBSnapshotIdentifierHasBeenSet = true; m_dBSnapshotIdentifier.assign(value); } /** *

The identifier for the DB snapshot to restore from.

Constraints:

*
  • Must match the identifier of an existing DBSnapshot.

  • *

    Can't be specified when DBClusterSnapshotIdentifier is * specified.

  • Must be specified when * DBClusterSnapshotIdentifier isn't specified.

  • If * you are restoring from a shared manual DB snapshot, the * DBSnapshotIdentifier must be the ARN of the shared DB snapshot.

    *
*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDBSnapshotIdentifier(const Aws::String& value) { SetDBSnapshotIdentifier(value); return *this;} /** *

The identifier for the DB snapshot to restore from.

Constraints:

*
  • Must match the identifier of an existing DBSnapshot.

  • *

    Can't be specified when DBClusterSnapshotIdentifier is * specified.

  • Must be specified when * DBClusterSnapshotIdentifier isn't specified.

  • If * you are restoring from a shared manual DB snapshot, the * DBSnapshotIdentifier must be the ARN of the shared DB snapshot.

    *
*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDBSnapshotIdentifier(Aws::String&& value) { SetDBSnapshotIdentifier(std::move(value)); return *this;} /** *

The identifier for the DB snapshot to restore from.

Constraints:

*
  • Must match the identifier of an existing DBSnapshot.

  • *

    Can't be specified when DBClusterSnapshotIdentifier is * specified.

  • Must be specified when * DBClusterSnapshotIdentifier isn't specified.

  • If * you are restoring from a shared manual DB snapshot, the * DBSnapshotIdentifier must be the ARN of the shared DB snapshot.

    *
*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDBSnapshotIdentifier(const char* value) { SetDBSnapshotIdentifier(value); return *this;} /** *

The compute and memory capacity of the Amazon RDS DB instance, for example * db.m4.large. Not all DB instance classes are available in all Amazon Web * Services Regions, or for all database engines. For the full list of DB instance * classes, and availability for your engine, see DB * Instance Class in the Amazon RDS User Guide.

Default: The * same DBInstanceClass as the original DB instance.

*/ inline const Aws::String& GetDBInstanceClass() const{ return m_dBInstanceClass; } /** *

The compute and memory capacity of the Amazon RDS DB instance, for example * db.m4.large. Not all DB instance classes are available in all Amazon Web * Services Regions, or for all database engines. For the full list of DB instance * classes, and availability for your engine, see DB * Instance Class in the Amazon RDS User Guide.

Default: The * same DBInstanceClass as the original DB instance.

*/ inline bool DBInstanceClassHasBeenSet() const { return m_dBInstanceClassHasBeenSet; } /** *

The compute and memory capacity of the Amazon RDS DB instance, for example * db.m4.large. Not all DB instance classes are available in all Amazon Web * Services Regions, or for all database engines. For the full list of DB instance * classes, and availability for your engine, see DB * Instance Class in the Amazon RDS User Guide.

Default: The * same DBInstanceClass as the original DB instance.

*/ inline void SetDBInstanceClass(const Aws::String& value) { m_dBInstanceClassHasBeenSet = true; m_dBInstanceClass = value; } /** *

The compute and memory capacity of the Amazon RDS DB instance, for example * db.m4.large. Not all DB instance classes are available in all Amazon Web * Services Regions, or for all database engines. For the full list of DB instance * classes, and availability for your engine, see DB * Instance Class in the Amazon RDS User Guide.

Default: The * same DBInstanceClass as the original DB instance.

*/ inline void SetDBInstanceClass(Aws::String&& value) { m_dBInstanceClassHasBeenSet = true; m_dBInstanceClass = std::move(value); } /** *

The compute and memory capacity of the Amazon RDS DB instance, for example * db.m4.large. Not all DB instance classes are available in all Amazon Web * Services Regions, or for all database engines. For the full list of DB instance * classes, and availability for your engine, see DB * Instance Class in the Amazon RDS User Guide.

Default: The * same DBInstanceClass as the original DB instance.

*/ inline void SetDBInstanceClass(const char* value) { m_dBInstanceClassHasBeenSet = true; m_dBInstanceClass.assign(value); } /** *

The compute and memory capacity of the Amazon RDS DB instance, for example * db.m4.large. Not all DB instance classes are available in all Amazon Web * Services Regions, or for all database engines. For the full list of DB instance * classes, and availability for your engine, see DB * Instance Class in the Amazon RDS User Guide.

Default: The * same DBInstanceClass as the original DB instance.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDBInstanceClass(const Aws::String& value) { SetDBInstanceClass(value); return *this;} /** *

The compute and memory capacity of the Amazon RDS DB instance, for example * db.m4.large. Not all DB instance classes are available in all Amazon Web * Services Regions, or for all database engines. For the full list of DB instance * classes, and availability for your engine, see DB * Instance Class in the Amazon RDS User Guide.

Default: The * same DBInstanceClass as the original DB instance.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDBInstanceClass(Aws::String&& value) { SetDBInstanceClass(std::move(value)); return *this;} /** *

The compute and memory capacity of the Amazon RDS DB instance, for example * db.m4.large. Not all DB instance classes are available in all Amazon Web * Services Regions, or for all database engines. For the full list of DB instance * classes, and availability for your engine, see DB * Instance Class in the Amazon RDS User Guide.

Default: The * same DBInstanceClass as the original DB instance.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDBInstanceClass(const char* value) { SetDBInstanceClass(value); return *this;} /** *

The port number on which the database accepts connections.

Default: * The same port as the original DB instance

Constraints: Value must be * 1150-65535

*/ inline int GetPort() const{ return m_port; } /** *

The port number on which the database accepts connections.

Default: * The same port as the original DB instance

Constraints: Value must be * 1150-65535

*/ inline bool PortHasBeenSet() const { return m_portHasBeenSet; } /** *

The port number on which the database accepts connections.

Default: * The same port as the original DB instance

Constraints: Value must be * 1150-65535

*/ inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } /** *

The port number on which the database accepts connections.

Default: * The same port as the original DB instance

Constraints: Value must be * 1150-65535

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithPort(int value) { SetPort(value); return *this;} /** *

The Availability Zone (AZ) where the DB instance will be created.

*

Default: A random, system-chosen Availability Zone.

Constraint: You * can't specify the AvailabilityZone parameter if the DB instance is * a Multi-AZ deployment.

Example: us-east-1a

*/ inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; } /** *

The Availability Zone (AZ) where the DB instance will be created.

*

Default: A random, system-chosen Availability Zone.

Constraint: You * can't specify the AvailabilityZone parameter if the DB instance is * a Multi-AZ deployment.

Example: us-east-1a

*/ inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; } /** *

The Availability Zone (AZ) where the DB instance will be created.

*

Default: A random, system-chosen Availability Zone.

Constraint: You * can't specify the AvailabilityZone parameter if the DB instance is * a Multi-AZ deployment.

Example: us-east-1a

*/ inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; } /** *

The Availability Zone (AZ) where the DB instance will be created.

*

Default: A random, system-chosen Availability Zone.

Constraint: You * can't specify the AvailabilityZone parameter if the DB instance is * a Multi-AZ deployment.

Example: us-east-1a

*/ inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::move(value); } /** *

The Availability Zone (AZ) where the DB instance will be created.

*

Default: A random, system-chosen Availability Zone.

Constraint: You * can't specify the AvailabilityZone parameter if the DB instance is * a Multi-AZ deployment.

Example: us-east-1a

*/ inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); } /** *

The Availability Zone (AZ) where the DB instance will be created.

*

Default: A random, system-chosen Availability Zone.

Constraint: You * can't specify the AvailabilityZone parameter if the DB instance is * a Multi-AZ deployment.

Example: us-east-1a

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;} /** *

The Availability Zone (AZ) where the DB instance will be created.

*

Default: A random, system-chosen Availability Zone.

Constraint: You * can't specify the AvailabilityZone parameter if the DB instance is * a Multi-AZ deployment.

Example: us-east-1a

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(std::move(value)); return *this;} /** *

The Availability Zone (AZ) where the DB instance will be created.

*

Default: A random, system-chosen Availability Zone.

Constraint: You * can't specify the AvailabilityZone parameter if the DB instance is * a Multi-AZ deployment.

Example: us-east-1a

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;} /** *

The DB subnet group name to use for the new instance.

Constraints: If * supplied, must match the name of an existing DBSubnetGroup.

Example: * mydbsubnetgroup

*/ inline const Aws::String& GetDBSubnetGroupName() const{ return m_dBSubnetGroupName; } /** *

The DB subnet group name to use for the new instance.

Constraints: If * supplied, must match the name of an existing DBSubnetGroup.

Example: * mydbsubnetgroup

*/ inline bool DBSubnetGroupNameHasBeenSet() const { return m_dBSubnetGroupNameHasBeenSet; } /** *

The DB subnet group name to use for the new instance.

Constraints: If * supplied, must match the name of an existing DBSubnetGroup.

Example: * mydbsubnetgroup

*/ inline void SetDBSubnetGroupName(const Aws::String& value) { m_dBSubnetGroupNameHasBeenSet = true; m_dBSubnetGroupName = value; } /** *

The DB subnet group name to use for the new instance.

Constraints: If * supplied, must match the name of an existing DBSubnetGroup.

Example: * mydbsubnetgroup

*/ inline void SetDBSubnetGroupName(Aws::String&& value) { m_dBSubnetGroupNameHasBeenSet = true; m_dBSubnetGroupName = std::move(value); } /** *

The DB subnet group name to use for the new instance.

Constraints: If * supplied, must match the name of an existing DBSubnetGroup.

Example: * mydbsubnetgroup

*/ inline void SetDBSubnetGroupName(const char* value) { m_dBSubnetGroupNameHasBeenSet = true; m_dBSubnetGroupName.assign(value); } /** *

The DB subnet group name to use for the new instance.

Constraints: If * supplied, must match the name of an existing DBSubnetGroup.

Example: * mydbsubnetgroup

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDBSubnetGroupName(const Aws::String& value) { SetDBSubnetGroupName(value); return *this;} /** *

The DB subnet group name to use for the new instance.

Constraints: If * supplied, must match the name of an existing DBSubnetGroup.

Example: * mydbsubnetgroup

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDBSubnetGroupName(Aws::String&& value) { SetDBSubnetGroupName(std::move(value)); return *this;} /** *

The DB subnet group name to use for the new instance.

Constraints: If * supplied, must match the name of an existing DBSubnetGroup.

Example: * mydbsubnetgroup

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDBSubnetGroupName(const char* value) { SetDBSubnetGroupName(value); return *this;} /** *

A value that indicates whether the DB instance is a Multi-AZ deployment.

*

This setting doesn't apply to RDS Custom.

Constraint: You can't * specify the AvailabilityZone parameter if the DB instance is a * Multi-AZ deployment.

*/ inline bool GetMultiAZ() const{ return m_multiAZ; } /** *

A value that indicates whether the DB instance is a Multi-AZ deployment.

*

This setting doesn't apply to RDS Custom.

Constraint: You can't * specify the AvailabilityZone parameter if the DB instance is a * Multi-AZ deployment.

*/ inline bool MultiAZHasBeenSet() const { return m_multiAZHasBeenSet; } /** *

A value that indicates whether the DB instance is a Multi-AZ deployment.

*

This setting doesn't apply to RDS Custom.

Constraint: You can't * specify the AvailabilityZone parameter if the DB instance is a * Multi-AZ deployment.

*/ inline void SetMultiAZ(bool value) { m_multiAZHasBeenSet = true; m_multiAZ = value; } /** *

A value that indicates whether the DB instance is a Multi-AZ deployment.

*

This setting doesn't apply to RDS Custom.

Constraint: You can't * specify the AvailabilityZone parameter if the DB instance is a * Multi-AZ deployment.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithMultiAZ(bool value) { SetMultiAZ(value); return *this;} /** *

A value that indicates whether the DB instance is publicly accessible.

*

When the DB instance is publicly accessible, its Domain Name System (DNS) * endpoint resolves to the private IP address from within the DB instance's * virtual private cloud (VPC). It resolves to the public IP address from outside * of the DB instance's VPC. Access to the DB instance is ultimately controlled by * the security group it uses. That public access is not permitted if the security * group assigned to the DB instance doesn't permit it.

When the DB instance * isn't publicly accessible, it is an internal DB instance with a DNS name that * resolves to a private IP address.

For more information, see * CreateDBInstance.

*/ inline bool GetPubliclyAccessible() const{ return m_publiclyAccessible; } /** *

A value that indicates whether the DB instance is publicly accessible.

*

When the DB instance is publicly accessible, its Domain Name System (DNS) * endpoint resolves to the private IP address from within the DB instance's * virtual private cloud (VPC). It resolves to the public IP address from outside * of the DB instance's VPC. Access to the DB instance is ultimately controlled by * the security group it uses. That public access is not permitted if the security * group assigned to the DB instance doesn't permit it.

When the DB instance * isn't publicly accessible, it is an internal DB instance with a DNS name that * resolves to a private IP address.

For more information, see * CreateDBInstance.

*/ inline bool PubliclyAccessibleHasBeenSet() const { return m_publiclyAccessibleHasBeenSet; } /** *

A value that indicates whether the DB instance is publicly accessible.

*

When the DB instance is publicly accessible, its Domain Name System (DNS) * endpoint resolves to the private IP address from within the DB instance's * virtual private cloud (VPC). It resolves to the public IP address from outside * of the DB instance's VPC. Access to the DB instance is ultimately controlled by * the security group it uses. That public access is not permitted if the security * group assigned to the DB instance doesn't permit it.

When the DB instance * isn't publicly accessible, it is an internal DB instance with a DNS name that * resolves to a private IP address.

For more information, see * CreateDBInstance.

*/ inline void SetPubliclyAccessible(bool value) { m_publiclyAccessibleHasBeenSet = true; m_publiclyAccessible = value; } /** *

A value that indicates whether the DB instance is publicly accessible.

*

When the DB instance is publicly accessible, its Domain Name System (DNS) * endpoint resolves to the private IP address from within the DB instance's * virtual private cloud (VPC). It resolves to the public IP address from outside * of the DB instance's VPC. Access to the DB instance is ultimately controlled by * the security group it uses. That public access is not permitted if the security * group assigned to the DB instance doesn't permit it.

When the DB instance * isn't publicly accessible, it is an internal DB instance with a DNS name that * resolves to a private IP address.

For more information, see * CreateDBInstance.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithPubliclyAccessible(bool value) { SetPubliclyAccessible(value); return *this;} /** *

A value that indicates whether minor version upgrades are applied * automatically to the DB instance during the maintenance window.

If you * restore an RDS Custom DB instance, you must disable this parameter.

*/ inline bool GetAutoMinorVersionUpgrade() const{ return m_autoMinorVersionUpgrade; } /** *

A value that indicates whether minor version upgrades are applied * automatically to the DB instance during the maintenance window.

If you * restore an RDS Custom DB instance, you must disable this parameter.

*/ inline bool AutoMinorVersionUpgradeHasBeenSet() const { return m_autoMinorVersionUpgradeHasBeenSet; } /** *

A value that indicates whether minor version upgrades are applied * automatically to the DB instance during the maintenance window.

If you * restore an RDS Custom DB instance, you must disable this parameter.

*/ inline void SetAutoMinorVersionUpgrade(bool value) { m_autoMinorVersionUpgradeHasBeenSet = true; m_autoMinorVersionUpgrade = value; } /** *

A value that indicates whether minor version upgrades are applied * automatically to the DB instance during the maintenance window.

If you * restore an RDS Custom DB instance, you must disable this parameter.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithAutoMinorVersionUpgrade(bool value) { SetAutoMinorVersionUpgrade(value); return *this;} /** *

License model information for the restored DB instance.

This setting * doesn't apply to RDS Custom.

Default: Same as source.

Valid * values: license-included | bring-your-own-license | * general-public-license

*/ inline const Aws::String& GetLicenseModel() const{ return m_licenseModel; } /** *

License model information for the restored DB instance.

This setting * doesn't apply to RDS Custom.

Default: Same as source.

Valid * values: license-included | bring-your-own-license | * general-public-license

*/ inline bool LicenseModelHasBeenSet() const { return m_licenseModelHasBeenSet; } /** *

License model information for the restored DB instance.

This setting * doesn't apply to RDS Custom.

Default: Same as source.

Valid * values: license-included | bring-your-own-license | * general-public-license

*/ inline void SetLicenseModel(const Aws::String& value) { m_licenseModelHasBeenSet = true; m_licenseModel = value; } /** *

License model information for the restored DB instance.

This setting * doesn't apply to RDS Custom.

Default: Same as source.

Valid * values: license-included | bring-your-own-license | * general-public-license

*/ inline void SetLicenseModel(Aws::String&& value) { m_licenseModelHasBeenSet = true; m_licenseModel = std::move(value); } /** *

License model information for the restored DB instance.

This setting * doesn't apply to RDS Custom.

Default: Same as source.

Valid * values: license-included | bring-your-own-license | * general-public-license

*/ inline void SetLicenseModel(const char* value) { m_licenseModelHasBeenSet = true; m_licenseModel.assign(value); } /** *

License model information for the restored DB instance.

This setting * doesn't apply to RDS Custom.

Default: Same as source.

Valid * values: license-included | bring-your-own-license | * general-public-license

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithLicenseModel(const Aws::String& value) { SetLicenseModel(value); return *this;} /** *

License model information for the restored DB instance.

This setting * doesn't apply to RDS Custom.

Default: Same as source.

Valid * values: license-included | bring-your-own-license | * general-public-license

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithLicenseModel(Aws::String&& value) { SetLicenseModel(std::move(value)); return *this;} /** *

License model information for the restored DB instance.

This setting * doesn't apply to RDS Custom.

Default: Same as source.

Valid * values: license-included | bring-your-own-license | * general-public-license

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithLicenseModel(const char* value) { SetLicenseModel(value); return *this;} /** *

The database name for the restored DB instance.

This parameter doesn't * apply to the MySQL, PostgreSQL, or MariaDB engines. It also doesn't apply to RDS * Custom DB instances.

*/ inline const Aws::String& GetDBName() const{ return m_dBName; } /** *

The database name for the restored DB instance.

This parameter doesn't * apply to the MySQL, PostgreSQL, or MariaDB engines. It also doesn't apply to RDS * Custom DB instances.

*/ inline bool DBNameHasBeenSet() const { return m_dBNameHasBeenSet; } /** *

The database name for the restored DB instance.

This parameter doesn't * apply to the MySQL, PostgreSQL, or MariaDB engines. It also doesn't apply to RDS * Custom DB instances.

*/ inline void SetDBName(const Aws::String& value) { m_dBNameHasBeenSet = true; m_dBName = value; } /** *

The database name for the restored DB instance.

This parameter doesn't * apply to the MySQL, PostgreSQL, or MariaDB engines. It also doesn't apply to RDS * Custom DB instances.

*/ inline void SetDBName(Aws::String&& value) { m_dBNameHasBeenSet = true; m_dBName = std::move(value); } /** *

The database name for the restored DB instance.

This parameter doesn't * apply to the MySQL, PostgreSQL, or MariaDB engines. It also doesn't apply to RDS * Custom DB instances.

*/ inline void SetDBName(const char* value) { m_dBNameHasBeenSet = true; m_dBName.assign(value); } /** *

The database name for the restored DB instance.

This parameter doesn't * apply to the MySQL, PostgreSQL, or MariaDB engines. It also doesn't apply to RDS * Custom DB instances.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDBName(const Aws::String& value) { SetDBName(value); return *this;} /** *

The database name for the restored DB instance.

This parameter doesn't * apply to the MySQL, PostgreSQL, or MariaDB engines. It also doesn't apply to RDS * Custom DB instances.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDBName(Aws::String&& value) { SetDBName(std::move(value)); return *this;} /** *

The database name for the restored DB instance.

This parameter doesn't * apply to the MySQL, PostgreSQL, or MariaDB engines. It also doesn't apply to RDS * Custom DB instances.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDBName(const char* value) { SetDBName(value); return *this;} /** *

The database engine to use for the new instance.

This setting doesn't * apply to RDS Custom.

Default: The same as source

Constraint: Must * be compatible with the engine of the source. For example, you can restore a * MariaDB 10.1 DB instance from a MySQL 5.6 snapshot.

Valid Values:

*
  • mariadb

  • mysql

    *
  • oracle-ee

  • * oracle-ee-cdb

  • oracle-se2

    *
  • oracle-se2-cdb

  • * postgres

  • sqlserver-ee

  • *
  • sqlserver-se

  • sqlserver-ex *

  • sqlserver-web

*/ inline const Aws::String& GetEngine() const{ return m_engine; } /** *

The database engine to use for the new instance.

This setting doesn't * apply to RDS Custom.

Default: The same as source

Constraint: Must * be compatible with the engine of the source. For example, you can restore a * MariaDB 10.1 DB instance from a MySQL 5.6 snapshot.

Valid Values:

*
  • mariadb

  • mysql

    *
  • oracle-ee

  • * oracle-ee-cdb

  • oracle-se2

    *
  • oracle-se2-cdb

  • * postgres

  • sqlserver-ee

  • *
  • sqlserver-se

  • sqlserver-ex *

  • sqlserver-web

*/ inline bool EngineHasBeenSet() const { return m_engineHasBeenSet; } /** *

The database engine to use for the new instance.

This setting doesn't * apply to RDS Custom.

Default: The same as source

Constraint: Must * be compatible with the engine of the source. For example, you can restore a * MariaDB 10.1 DB instance from a MySQL 5.6 snapshot.

Valid Values:

*
  • mariadb

  • mysql

    *
  • oracle-ee

  • * oracle-ee-cdb

  • oracle-se2

    *
  • oracle-se2-cdb

  • * postgres

  • sqlserver-ee

  • *
  • sqlserver-se

  • sqlserver-ex *

  • sqlserver-web

*/ inline void SetEngine(const Aws::String& value) { m_engineHasBeenSet = true; m_engine = value; } /** *

The database engine to use for the new instance.

This setting doesn't * apply to RDS Custom.

Default: The same as source

Constraint: Must * be compatible with the engine of the source. For example, you can restore a * MariaDB 10.1 DB instance from a MySQL 5.6 snapshot.

Valid Values:

*
  • mariadb

  • mysql

    *
  • oracle-ee

  • * oracle-ee-cdb

  • oracle-se2

    *
  • oracle-se2-cdb

  • * postgres

  • sqlserver-ee

  • *
  • sqlserver-se

  • sqlserver-ex *

  • sqlserver-web

*/ inline void SetEngine(Aws::String&& value) { m_engineHasBeenSet = true; m_engine = std::move(value); } /** *

The database engine to use for the new instance.

This setting doesn't * apply to RDS Custom.

Default: The same as source

Constraint: Must * be compatible with the engine of the source. For example, you can restore a * MariaDB 10.1 DB instance from a MySQL 5.6 snapshot.

Valid Values:

*
  • mariadb

  • mysql

    *
  • oracle-ee

  • * oracle-ee-cdb

  • oracle-se2

    *
  • oracle-se2-cdb

  • * postgres

  • sqlserver-ee

  • *
  • sqlserver-se

  • sqlserver-ex *

  • sqlserver-web

*/ inline void SetEngine(const char* value) { m_engineHasBeenSet = true; m_engine.assign(value); } /** *

The database engine to use for the new instance.

This setting doesn't * apply to RDS Custom.

Default: The same as source

Constraint: Must * be compatible with the engine of the source. For example, you can restore a * MariaDB 10.1 DB instance from a MySQL 5.6 snapshot.

Valid Values:

*
  • mariadb

  • mysql

    *
  • oracle-ee

  • * oracle-ee-cdb

  • oracle-se2

    *
  • oracle-se2-cdb

  • * postgres

  • sqlserver-ee

  • *
  • sqlserver-se

  • sqlserver-ex *

  • sqlserver-web

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithEngine(const Aws::String& value) { SetEngine(value); return *this;} /** *

The database engine to use for the new instance.

This setting doesn't * apply to RDS Custom.

Default: The same as source

Constraint: Must * be compatible with the engine of the source. For example, you can restore a * MariaDB 10.1 DB instance from a MySQL 5.6 snapshot.

Valid Values:

*
  • mariadb

  • mysql

    *
  • oracle-ee

  • * oracle-ee-cdb

  • oracle-se2

    *
  • oracle-se2-cdb

  • * postgres

  • sqlserver-ee

  • *
  • sqlserver-se

  • sqlserver-ex *

  • sqlserver-web

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithEngine(Aws::String&& value) { SetEngine(std::move(value)); return *this;} /** *

The database engine to use for the new instance.

This setting doesn't * apply to RDS Custom.

Default: The same as source

Constraint: Must * be compatible with the engine of the source. For example, you can restore a * MariaDB 10.1 DB instance from a MySQL 5.6 snapshot.

Valid Values:

*
  • mariadb

  • mysql

    *
  • oracle-ee

  • * oracle-ee-cdb

  • oracle-se2

    *
  • oracle-se2-cdb

  • * postgres

  • sqlserver-ee

  • *
  • sqlserver-se

  • sqlserver-ex *

  • sqlserver-web

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithEngine(const char* value) { SetEngine(value); return *this;} /** *

Specifies the amount of provisioned IOPS for the DB instance, expressed in * I/O operations per second. If this parameter isn't specified, the IOPS value is * taken from the backup. If this parameter is set to 0, the new instance is * converted to a non-PIOPS instance. The conversion takes additional time, though * your DB instance is available for connections before the conversion starts.

*

The provisioned IOPS value must follow the requirements for your database * engine. For more information, see Amazon * RDS Provisioned IOPS storage in the Amazon RDS User Guide.

*

Constraints: Must be an integer greater than 1000.

*/ inline int GetIops() const{ return m_iops; } /** *

Specifies the amount of provisioned IOPS for the DB instance, expressed in * I/O operations per second. If this parameter isn't specified, the IOPS value is * taken from the backup. If this parameter is set to 0, the new instance is * converted to a non-PIOPS instance. The conversion takes additional time, though * your DB instance is available for connections before the conversion starts.

*

The provisioned IOPS value must follow the requirements for your database * engine. For more information, see Amazon * RDS Provisioned IOPS storage in the Amazon RDS User Guide.

*

Constraints: Must be an integer greater than 1000.

*/ inline bool IopsHasBeenSet() const { return m_iopsHasBeenSet; } /** *

Specifies the amount of provisioned IOPS for the DB instance, expressed in * I/O operations per second. If this parameter isn't specified, the IOPS value is * taken from the backup. If this parameter is set to 0, the new instance is * converted to a non-PIOPS instance. The conversion takes additional time, though * your DB instance is available for connections before the conversion starts.

*

The provisioned IOPS value must follow the requirements for your database * engine. For more information, see Amazon * RDS Provisioned IOPS storage in the Amazon RDS User Guide.

*

Constraints: Must be an integer greater than 1000.

*/ inline void SetIops(int value) { m_iopsHasBeenSet = true; m_iops = value; } /** *

Specifies the amount of provisioned IOPS for the DB instance, expressed in * I/O operations per second. If this parameter isn't specified, the IOPS value is * taken from the backup. If this parameter is set to 0, the new instance is * converted to a non-PIOPS instance. The conversion takes additional time, though * your DB instance is available for connections before the conversion starts.

*

The provisioned IOPS value must follow the requirements for your database * engine. For more information, see Amazon * RDS Provisioned IOPS storage in the Amazon RDS User Guide.

*

Constraints: Must be an integer greater than 1000.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithIops(int value) { SetIops(value); return *this;} /** *

The name of the option group to be used for the restored DB instance.

*

Permanent options, such as the TDE option for Oracle Advanced Security TDE, * can't be removed from an option group, and that option group can't be removed * from a DB instance after it is associated with a DB instance.

This * setting doesn't apply to RDS Custom.

*/ inline const Aws::String& GetOptionGroupName() const{ return m_optionGroupName; } /** *

The name of the option group to be used for the restored DB instance.

*

Permanent options, such as the TDE option for Oracle Advanced Security TDE, * can't be removed from an option group, and that option group can't be removed * from a DB instance after it is associated with a DB instance.

This * setting doesn't apply to RDS Custom.

*/ inline bool OptionGroupNameHasBeenSet() const { return m_optionGroupNameHasBeenSet; } /** *

The name of the option group to be used for the restored DB instance.

*

Permanent options, such as the TDE option for Oracle Advanced Security TDE, * can't be removed from an option group, and that option group can't be removed * from a DB instance after it is associated with a DB instance.

This * setting doesn't apply to RDS Custom.

*/ inline void SetOptionGroupName(const Aws::String& value) { m_optionGroupNameHasBeenSet = true; m_optionGroupName = value; } /** *

The name of the option group to be used for the restored DB instance.

*

Permanent options, such as the TDE option for Oracle Advanced Security TDE, * can't be removed from an option group, and that option group can't be removed * from a DB instance after it is associated with a DB instance.

This * setting doesn't apply to RDS Custom.

*/ inline void SetOptionGroupName(Aws::String&& value) { m_optionGroupNameHasBeenSet = true; m_optionGroupName = std::move(value); } /** *

The name of the option group to be used for the restored DB instance.

*

Permanent options, such as the TDE option for Oracle Advanced Security TDE, * can't be removed from an option group, and that option group can't be removed * from a DB instance after it is associated with a DB instance.

This * setting doesn't apply to RDS Custom.

*/ inline void SetOptionGroupName(const char* value) { m_optionGroupNameHasBeenSet = true; m_optionGroupName.assign(value); } /** *

The name of the option group to be used for the restored DB instance.

*

Permanent options, such as the TDE option for Oracle Advanced Security TDE, * can't be removed from an option group, and that option group can't be removed * from a DB instance after it is associated with a DB instance.

This * setting doesn't apply to RDS Custom.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithOptionGroupName(const Aws::String& value) { SetOptionGroupName(value); return *this;} /** *

The name of the option group to be used for the restored DB instance.

*

Permanent options, such as the TDE option for Oracle Advanced Security TDE, * can't be removed from an option group, and that option group can't be removed * from a DB instance after it is associated with a DB instance.

This * setting doesn't apply to RDS Custom.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithOptionGroupName(Aws::String&& value) { SetOptionGroupName(std::move(value)); return *this;} /** *

The name of the option group to be used for the restored DB instance.

*

Permanent options, such as the TDE option for Oracle Advanced Security TDE, * can't be removed from an option group, and that option group can't be removed * from a DB instance after it is associated with a DB instance.

This * setting doesn't apply to RDS Custom.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithOptionGroupName(const char* value) { SetOptionGroupName(value); return *this;} inline const Aws::Vector& GetTags() const{ return m_tags; } inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } inline RestoreDBInstanceFromDBSnapshotRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} inline RestoreDBInstanceFromDBSnapshotRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} inline RestoreDBInstanceFromDBSnapshotRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } inline RestoreDBInstanceFromDBSnapshotRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

Specifies the storage type to be associated with the DB instance.

*

Valid values: gp2 | gp3 | io1 | standard

If you specify * io1 or gp3, you must also include a value for the * Iops parameter.

Default: io1 if the * Iops parameter is specified, otherwise gp2

*/ inline const Aws::String& GetStorageType() const{ return m_storageType; } /** *

Specifies the storage type to be associated with the DB instance.

*

Valid values: gp2 | gp3 | io1 | standard

If you specify * io1 or gp3, you must also include a value for the * Iops parameter.

Default: io1 if the * Iops parameter is specified, otherwise gp2

*/ inline bool StorageTypeHasBeenSet() const { return m_storageTypeHasBeenSet; } /** *

Specifies the storage type to be associated with the DB instance.

*

Valid values: gp2 | gp3 | io1 | standard

If you specify * io1 or gp3, you must also include a value for the * Iops parameter.

Default: io1 if the * Iops parameter is specified, otherwise gp2

*/ inline void SetStorageType(const Aws::String& value) { m_storageTypeHasBeenSet = true; m_storageType = value; } /** *

Specifies the storage type to be associated with the DB instance.

*

Valid values: gp2 | gp3 | io1 | standard

If you specify * io1 or gp3, you must also include a value for the * Iops parameter.

Default: io1 if the * Iops parameter is specified, otherwise gp2

*/ inline void SetStorageType(Aws::String&& value) { m_storageTypeHasBeenSet = true; m_storageType = std::move(value); } /** *

Specifies the storage type to be associated with the DB instance.

*

Valid values: gp2 | gp3 | io1 | standard

If you specify * io1 or gp3, you must also include a value for the * Iops parameter.

Default: io1 if the * Iops parameter is specified, otherwise gp2

*/ inline void SetStorageType(const char* value) { m_storageTypeHasBeenSet = true; m_storageType.assign(value); } /** *

Specifies the storage type to be associated with the DB instance.

*

Valid values: gp2 | gp3 | io1 | standard

If you specify * io1 or gp3, you must also include a value for the * Iops parameter.

Default: io1 if the * Iops parameter is specified, otherwise gp2

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithStorageType(const Aws::String& value) { SetStorageType(value); return *this;} /** *

Specifies the storage type to be associated with the DB instance.

*

Valid values: gp2 | gp3 | io1 | standard

If you specify * io1 or gp3, you must also include a value for the * Iops parameter.

Default: io1 if the * Iops parameter is specified, otherwise gp2

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithStorageType(Aws::String&& value) { SetStorageType(std::move(value)); return *this;} /** *

Specifies the storage type to be associated with the DB instance.

*

Valid values: gp2 | gp3 | io1 | standard

If you specify * io1 or gp3, you must also include a value for the * Iops parameter.

Default: io1 if the * Iops parameter is specified, otherwise gp2

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithStorageType(const char* value) { SetStorageType(value); return *this;} /** *

The ARN from the key store with which to associate the instance for TDE * encryption.

This setting doesn't apply to RDS Custom.

*/ inline const Aws::String& GetTdeCredentialArn() const{ return m_tdeCredentialArn; } /** *

The ARN from the key store with which to associate the instance for TDE * encryption.

This setting doesn't apply to RDS Custom.

*/ inline bool TdeCredentialArnHasBeenSet() const { return m_tdeCredentialArnHasBeenSet; } /** *

The ARN from the key store with which to associate the instance for TDE * encryption.

This setting doesn't apply to RDS Custom.

*/ inline void SetTdeCredentialArn(const Aws::String& value) { m_tdeCredentialArnHasBeenSet = true; m_tdeCredentialArn = value; } /** *

The ARN from the key store with which to associate the instance for TDE * encryption.

This setting doesn't apply to RDS Custom.

*/ inline void SetTdeCredentialArn(Aws::String&& value) { m_tdeCredentialArnHasBeenSet = true; m_tdeCredentialArn = std::move(value); } /** *

The ARN from the key store with which to associate the instance for TDE * encryption.

This setting doesn't apply to RDS Custom.

*/ inline void SetTdeCredentialArn(const char* value) { m_tdeCredentialArnHasBeenSet = true; m_tdeCredentialArn.assign(value); } /** *

The ARN from the key store with which to associate the instance for TDE * encryption.

This setting doesn't apply to RDS Custom.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithTdeCredentialArn(const Aws::String& value) { SetTdeCredentialArn(value); return *this;} /** *

The ARN from the key store with which to associate the instance for TDE * encryption.

This setting doesn't apply to RDS Custom.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithTdeCredentialArn(Aws::String&& value) { SetTdeCredentialArn(std::move(value)); return *this;} /** *

The ARN from the key store with which to associate the instance for TDE * encryption.

This setting doesn't apply to RDS Custom.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithTdeCredentialArn(const char* value) { SetTdeCredentialArn(value); return *this;} /** *

The password for the given ARN from the key store in order to access the * device.

This setting doesn't apply to RDS Custom.

*/ inline const Aws::String& GetTdeCredentialPassword() const{ return m_tdeCredentialPassword; } /** *

The password for the given ARN from the key store in order to access the * device.

This setting doesn't apply to RDS Custom.

*/ inline bool TdeCredentialPasswordHasBeenSet() const { return m_tdeCredentialPasswordHasBeenSet; } /** *

The password for the given ARN from the key store in order to access the * device.

This setting doesn't apply to RDS Custom.

*/ inline void SetTdeCredentialPassword(const Aws::String& value) { m_tdeCredentialPasswordHasBeenSet = true; m_tdeCredentialPassword = value; } /** *

The password for the given ARN from the key store in order to access the * device.

This setting doesn't apply to RDS Custom.

*/ inline void SetTdeCredentialPassword(Aws::String&& value) { m_tdeCredentialPasswordHasBeenSet = true; m_tdeCredentialPassword = std::move(value); } /** *

The password for the given ARN from the key store in order to access the * device.

This setting doesn't apply to RDS Custom.

*/ inline void SetTdeCredentialPassword(const char* value) { m_tdeCredentialPasswordHasBeenSet = true; m_tdeCredentialPassword.assign(value); } /** *

The password for the given ARN from the key store in order to access the * device.

This setting doesn't apply to RDS Custom.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithTdeCredentialPassword(const Aws::String& value) { SetTdeCredentialPassword(value); return *this;} /** *

The password for the given ARN from the key store in order to access the * device.

This setting doesn't apply to RDS Custom.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithTdeCredentialPassword(Aws::String&& value) { SetTdeCredentialPassword(std::move(value)); return *this;} /** *

The password for the given ARN from the key store in order to access the * device.

This setting doesn't apply to RDS Custom.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithTdeCredentialPassword(const char* value) { SetTdeCredentialPassword(value); return *this;} /** *

A list of EC2 VPC security groups to associate with this DB instance.

*

Default: The default EC2 VPC security group for the DB subnet group's * VPC.

*/ inline const Aws::Vector& GetVpcSecurityGroupIds() const{ return m_vpcSecurityGroupIds; } /** *

A list of EC2 VPC security groups to associate with this DB instance.

*

Default: The default EC2 VPC security group for the DB subnet group's * VPC.

*/ inline bool VpcSecurityGroupIdsHasBeenSet() const { return m_vpcSecurityGroupIdsHasBeenSet; } /** *

A list of EC2 VPC security groups to associate with this DB instance.

*

Default: The default EC2 VPC security group for the DB subnet group's * VPC.

*/ inline void SetVpcSecurityGroupIds(const Aws::Vector& value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds = value; } /** *

A list of EC2 VPC security groups to associate with this DB instance.

*

Default: The default EC2 VPC security group for the DB subnet group's * VPC.

*/ inline void SetVpcSecurityGroupIds(Aws::Vector&& value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds = std::move(value); } /** *

A list of EC2 VPC security groups to associate with this DB instance.

*

Default: The default EC2 VPC security group for the DB subnet group's * VPC.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithVpcSecurityGroupIds(const Aws::Vector& value) { SetVpcSecurityGroupIds(value); return *this;} /** *

A list of EC2 VPC security groups to associate with this DB instance.

*

Default: The default EC2 VPC security group for the DB subnet group's * VPC.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithVpcSecurityGroupIds(Aws::Vector&& value) { SetVpcSecurityGroupIds(std::move(value)); return *this;} /** *

A list of EC2 VPC security groups to associate with this DB instance.

*

Default: The default EC2 VPC security group for the DB subnet group's * VPC.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& AddVpcSecurityGroupIds(const Aws::String& value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds.push_back(value); return *this; } /** *

A list of EC2 VPC security groups to associate with this DB instance.

*

Default: The default EC2 VPC security group for the DB subnet group's * VPC.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& AddVpcSecurityGroupIds(Aws::String&& value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds.push_back(std::move(value)); return *this; } /** *

A list of EC2 VPC security groups to associate with this DB instance.

*

Default: The default EC2 VPC security group for the DB subnet group's * VPC.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& AddVpcSecurityGroupIds(const char* value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds.push_back(value); return *this; } /** *

Specify the Active Directory directory ID to restore the DB instance in. The * domain/ must be created prior to this operation. Currently, you can create only * MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances in an Active * Directory Domain.

For more information, see * Kerberos Authentication in the Amazon RDS User Guide.

This * setting doesn't apply to RDS Custom.

*/ inline const Aws::String& GetDomain() const{ return m_domain; } /** *

Specify the Active Directory directory ID to restore the DB instance in. The * domain/ must be created prior to this operation. Currently, you can create only * MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances in an Active * Directory Domain.

For more information, see * Kerberos Authentication in the Amazon RDS User Guide.

This * setting doesn't apply to RDS Custom.

*/ inline bool DomainHasBeenSet() const { return m_domainHasBeenSet; } /** *

Specify the Active Directory directory ID to restore the DB instance in. The * domain/ must be created prior to this operation. Currently, you can create only * MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances in an Active * Directory Domain.

For more information, see * Kerberos Authentication in the Amazon RDS User Guide.

This * setting doesn't apply to RDS Custom.

*/ inline void SetDomain(const Aws::String& value) { m_domainHasBeenSet = true; m_domain = value; } /** *

Specify the Active Directory directory ID to restore the DB instance in. The * domain/ must be created prior to this operation. Currently, you can create only * MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances in an Active * Directory Domain.

For more information, see * Kerberos Authentication in the Amazon RDS User Guide.

This * setting doesn't apply to RDS Custom.

*/ inline void SetDomain(Aws::String&& value) { m_domainHasBeenSet = true; m_domain = std::move(value); } /** *

Specify the Active Directory directory ID to restore the DB instance in. The * domain/ must be created prior to this operation. Currently, you can create only * MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances in an Active * Directory Domain.

For more information, see * Kerberos Authentication in the Amazon RDS User Guide.

This * setting doesn't apply to RDS Custom.

*/ inline void SetDomain(const char* value) { m_domainHasBeenSet = true; m_domain.assign(value); } /** *

Specify the Active Directory directory ID to restore the DB instance in. The * domain/ must be created prior to this operation. Currently, you can create only * MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances in an Active * Directory Domain.

For more information, see * Kerberos Authentication in the Amazon RDS User Guide.

This * setting doesn't apply to RDS Custom.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDomain(const Aws::String& value) { SetDomain(value); return *this;} /** *

Specify the Active Directory directory ID to restore the DB instance in. The * domain/ must be created prior to this operation. Currently, you can create only * MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances in an Active * Directory Domain.

For more information, see * Kerberos Authentication in the Amazon RDS User Guide.

This * setting doesn't apply to RDS Custom.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDomain(Aws::String&& value) { SetDomain(std::move(value)); return *this;} /** *

Specify the Active Directory directory ID to restore the DB instance in. The * domain/ must be created prior to this operation. Currently, you can create only * MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances in an Active * Directory Domain.

For more information, see * Kerberos Authentication in the Amazon RDS User Guide.

This * setting doesn't apply to RDS Custom.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDomain(const char* value) { SetDomain(value); return *this;} /** *

The fully qualified domain name (FQDN) of an Active Directory domain.

*

Constraints:

  • Can't be longer than 64 characters.

  • *

Example: mymanagedADtest.mymanagedAD.mydomain

*/ inline const Aws::String& GetDomainFqdn() const{ return m_domainFqdn; } /** *

The fully qualified domain name (FQDN) of an Active Directory domain.

*

Constraints:

  • Can't be longer than 64 characters.

  • *

Example: mymanagedADtest.mymanagedAD.mydomain

*/ inline bool DomainFqdnHasBeenSet() const { return m_domainFqdnHasBeenSet; } /** *

The fully qualified domain name (FQDN) of an Active Directory domain.

*

Constraints:

  • Can't be longer than 64 characters.

  • *

Example: mymanagedADtest.mymanagedAD.mydomain

*/ inline void SetDomainFqdn(const Aws::String& value) { m_domainFqdnHasBeenSet = true; m_domainFqdn = value; } /** *

The fully qualified domain name (FQDN) of an Active Directory domain.

*

Constraints:

  • Can't be longer than 64 characters.

  • *

Example: mymanagedADtest.mymanagedAD.mydomain

*/ inline void SetDomainFqdn(Aws::String&& value) { m_domainFqdnHasBeenSet = true; m_domainFqdn = std::move(value); } /** *

The fully qualified domain name (FQDN) of an Active Directory domain.

*

Constraints:

  • Can't be longer than 64 characters.

  • *

Example: mymanagedADtest.mymanagedAD.mydomain

*/ inline void SetDomainFqdn(const char* value) { m_domainFqdnHasBeenSet = true; m_domainFqdn.assign(value); } /** *

The fully qualified domain name (FQDN) of an Active Directory domain.

*

Constraints:

  • Can't be longer than 64 characters.

  • *

Example: mymanagedADtest.mymanagedAD.mydomain

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDomainFqdn(const Aws::String& value) { SetDomainFqdn(value); return *this;} /** *

The fully qualified domain name (FQDN) of an Active Directory domain.

*

Constraints:

  • Can't be longer than 64 characters.

  • *

Example: mymanagedADtest.mymanagedAD.mydomain

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDomainFqdn(Aws::String&& value) { SetDomainFqdn(std::move(value)); return *this;} /** *

The fully qualified domain name (FQDN) of an Active Directory domain.

*

Constraints:

  • Can't be longer than 64 characters.

  • *

Example: mymanagedADtest.mymanagedAD.mydomain

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDomainFqdn(const char* value) { SetDomainFqdn(value); return *this;} /** *

The Active Directory organizational unit for your DB instance to join.

*

Constraints:

  • Must be in the distinguished name format.

    *
  • Can't be longer than 64 characters.

Example: * OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain *

*/ inline const Aws::String& GetDomainOu() const{ return m_domainOu; } /** *

The Active Directory organizational unit for your DB instance to join.

*

Constraints:

  • Must be in the distinguished name format.

    *
  • Can't be longer than 64 characters.

Example: * OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain *

*/ inline bool DomainOuHasBeenSet() const { return m_domainOuHasBeenSet; } /** *

The Active Directory organizational unit for your DB instance to join.

*

Constraints:

  • Must be in the distinguished name format.

    *
  • Can't be longer than 64 characters.

Example: * OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain *

*/ inline void SetDomainOu(const Aws::String& value) { m_domainOuHasBeenSet = true; m_domainOu = value; } /** *

The Active Directory organizational unit for your DB instance to join.

*

Constraints:

  • Must be in the distinguished name format.

    *
  • Can't be longer than 64 characters.

Example: * OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain *

*/ inline void SetDomainOu(Aws::String&& value) { m_domainOuHasBeenSet = true; m_domainOu = std::move(value); } /** *

The Active Directory organizational unit for your DB instance to join.

*

Constraints:

  • Must be in the distinguished name format.

    *
  • Can't be longer than 64 characters.

Example: * OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain *

*/ inline void SetDomainOu(const char* value) { m_domainOuHasBeenSet = true; m_domainOu.assign(value); } /** *

The Active Directory organizational unit for your DB instance to join.

*

Constraints:

  • Must be in the distinguished name format.

    *
  • Can't be longer than 64 characters.

Example: * OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain *

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDomainOu(const Aws::String& value) { SetDomainOu(value); return *this;} /** *

The Active Directory organizational unit for your DB instance to join.

*

Constraints:

  • Must be in the distinguished name format.

    *
  • Can't be longer than 64 characters.

Example: * OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain *

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDomainOu(Aws::String&& value) { SetDomainOu(std::move(value)); return *this;} /** *

The Active Directory organizational unit for your DB instance to join.

*

Constraints:

  • Must be in the distinguished name format.

    *
  • Can't be longer than 64 characters.

Example: * OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain *

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDomainOu(const char* value) { SetDomainOu(value); return *this;} /** *

The ARN for the Secrets Manager secret with the credentials for the user * joining the domain.

Constraints:

Example: * arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456 *

*/ inline const Aws::String& GetDomainAuthSecretArn() const{ return m_domainAuthSecretArn; } /** *

The ARN for the Secrets Manager secret with the credentials for the user * joining the domain.

Constraints:

Example: * arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456 *

*/ inline bool DomainAuthSecretArnHasBeenSet() const { return m_domainAuthSecretArnHasBeenSet; } /** *

The ARN for the Secrets Manager secret with the credentials for the user * joining the domain.

Constraints:

Example: * arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456 *

*/ inline void SetDomainAuthSecretArn(const Aws::String& value) { m_domainAuthSecretArnHasBeenSet = true; m_domainAuthSecretArn = value; } /** *

The ARN for the Secrets Manager secret with the credentials for the user * joining the domain.

Constraints:

Example: * arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456 *

*/ inline void SetDomainAuthSecretArn(Aws::String&& value) { m_domainAuthSecretArnHasBeenSet = true; m_domainAuthSecretArn = std::move(value); } /** *

The ARN for the Secrets Manager secret with the credentials for the user * joining the domain.

Constraints:

Example: * arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456 *

*/ inline void SetDomainAuthSecretArn(const char* value) { m_domainAuthSecretArnHasBeenSet = true; m_domainAuthSecretArn.assign(value); } /** *

The ARN for the Secrets Manager secret with the credentials for the user * joining the domain.

Constraints:

Example: * arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456 *

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDomainAuthSecretArn(const Aws::String& value) { SetDomainAuthSecretArn(value); return *this;} /** *

The ARN for the Secrets Manager secret with the credentials for the user * joining the domain.

Constraints:

Example: * arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456 *

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDomainAuthSecretArn(Aws::String&& value) { SetDomainAuthSecretArn(std::move(value)); return *this;} /** *

The ARN for the Secrets Manager secret with the credentials for the user * joining the domain.

Constraints:

Example: * arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456 *

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDomainAuthSecretArn(const char* value) { SetDomainAuthSecretArn(value); return *this;} /** *

The IPv4 DNS IP addresses of your primary and secondary Active Directory * domain controllers.

Constraints:

  • Two IP addresses must * be provided. If there isn't a secondary domain controller, use the IP address of * the primary domain controller for both entries in the list.

*

Example: 123.124.125.126,234.235.236.237

*/ inline const Aws::Vector& GetDomainDnsIps() const{ return m_domainDnsIps; } /** *

The IPv4 DNS IP addresses of your primary and secondary Active Directory * domain controllers.

Constraints:

  • Two IP addresses must * be provided. If there isn't a secondary domain controller, use the IP address of * the primary domain controller for both entries in the list.

*

Example: 123.124.125.126,234.235.236.237

*/ inline bool DomainDnsIpsHasBeenSet() const { return m_domainDnsIpsHasBeenSet; } /** *

The IPv4 DNS IP addresses of your primary and secondary Active Directory * domain controllers.

Constraints:

  • Two IP addresses must * be provided. If there isn't a secondary domain controller, use the IP address of * the primary domain controller for both entries in the list.

*

Example: 123.124.125.126,234.235.236.237

*/ inline void SetDomainDnsIps(const Aws::Vector& value) { m_domainDnsIpsHasBeenSet = true; m_domainDnsIps = value; } /** *

The IPv4 DNS IP addresses of your primary and secondary Active Directory * domain controllers.

Constraints:

  • Two IP addresses must * be provided. If there isn't a secondary domain controller, use the IP address of * the primary domain controller for both entries in the list.

*

Example: 123.124.125.126,234.235.236.237

*/ inline void SetDomainDnsIps(Aws::Vector&& value) { m_domainDnsIpsHasBeenSet = true; m_domainDnsIps = std::move(value); } /** *

The IPv4 DNS IP addresses of your primary and secondary Active Directory * domain controllers.

Constraints:

  • Two IP addresses must * be provided. If there isn't a secondary domain controller, use the IP address of * the primary domain controller for both entries in the list.

*

Example: 123.124.125.126,234.235.236.237

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDomainDnsIps(const Aws::Vector& value) { SetDomainDnsIps(value); return *this;} /** *

The IPv4 DNS IP addresses of your primary and secondary Active Directory * domain controllers.

Constraints:

  • Two IP addresses must * be provided. If there isn't a secondary domain controller, use the IP address of * the primary domain controller for both entries in the list.

*

Example: 123.124.125.126,234.235.236.237

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDomainDnsIps(Aws::Vector&& value) { SetDomainDnsIps(std::move(value)); return *this;} /** *

The IPv4 DNS IP addresses of your primary and secondary Active Directory * domain controllers.

Constraints:

  • Two IP addresses must * be provided. If there isn't a secondary domain controller, use the IP address of * the primary domain controller for both entries in the list.

*

Example: 123.124.125.126,234.235.236.237

*/ inline RestoreDBInstanceFromDBSnapshotRequest& AddDomainDnsIps(const Aws::String& value) { m_domainDnsIpsHasBeenSet = true; m_domainDnsIps.push_back(value); return *this; } /** *

The IPv4 DNS IP addresses of your primary and secondary Active Directory * domain controllers.

Constraints:

  • Two IP addresses must * be provided. If there isn't a secondary domain controller, use the IP address of * the primary domain controller for both entries in the list.

*

Example: 123.124.125.126,234.235.236.237

*/ inline RestoreDBInstanceFromDBSnapshotRequest& AddDomainDnsIps(Aws::String&& value) { m_domainDnsIpsHasBeenSet = true; m_domainDnsIps.push_back(std::move(value)); return *this; } /** *

The IPv4 DNS IP addresses of your primary and secondary Active Directory * domain controllers.

Constraints:

  • Two IP addresses must * be provided. If there isn't a secondary domain controller, use the IP address of * the primary domain controller for both entries in the list.

*

Example: 123.124.125.126,234.235.236.237

*/ inline RestoreDBInstanceFromDBSnapshotRequest& AddDomainDnsIps(const char* value) { m_domainDnsIpsHasBeenSet = true; m_domainDnsIps.push_back(value); return *this; } /** *

A value that indicates whether to copy all tags from the restored DB instance * to snapshots of the DB instance.

In most cases, tags aren't copied by * default. However, when you restore a DB instance from a DB snapshot, RDS checks * whether you specify new tags. If yes, the new tags are added to the restored DB * instance. If there are no new tags, RDS looks for the tags from the source DB * instance for the DB snapshot, and then adds those tags to the restored DB * instance.

For more information, see * Copying tags to DB instance snapshots in the Amazon RDS User * Guide.

*/ inline bool GetCopyTagsToSnapshot() const{ return m_copyTagsToSnapshot; } /** *

A value that indicates whether to copy all tags from the restored DB instance * to snapshots of the DB instance.

In most cases, tags aren't copied by * default. However, when you restore a DB instance from a DB snapshot, RDS checks * whether you specify new tags. If yes, the new tags are added to the restored DB * instance. If there are no new tags, RDS looks for the tags from the source DB * instance for the DB snapshot, and then adds those tags to the restored DB * instance.

For more information, see * Copying tags to DB instance snapshots in the Amazon RDS User * Guide.

*/ inline bool CopyTagsToSnapshotHasBeenSet() const { return m_copyTagsToSnapshotHasBeenSet; } /** *

A value that indicates whether to copy all tags from the restored DB instance * to snapshots of the DB instance.

In most cases, tags aren't copied by * default. However, when you restore a DB instance from a DB snapshot, RDS checks * whether you specify new tags. If yes, the new tags are added to the restored DB * instance. If there are no new tags, RDS looks for the tags from the source DB * instance for the DB snapshot, and then adds those tags to the restored DB * instance.

For more information, see * Copying tags to DB instance snapshots in the Amazon RDS User * Guide.

*/ inline void SetCopyTagsToSnapshot(bool value) { m_copyTagsToSnapshotHasBeenSet = true; m_copyTagsToSnapshot = value; } /** *

A value that indicates whether to copy all tags from the restored DB instance * to snapshots of the DB instance.

In most cases, tags aren't copied by * default. However, when you restore a DB instance from a DB snapshot, RDS checks * whether you specify new tags. If yes, the new tags are added to the restored DB * instance. If there are no new tags, RDS looks for the tags from the source DB * instance for the DB snapshot, and then adds those tags to the restored DB * instance.

For more information, see * Copying tags to DB instance snapshots in the Amazon RDS User * Guide.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithCopyTagsToSnapshot(bool value) { SetCopyTagsToSnapshot(value); return *this;} /** *

The name of the IAM role to use when making API calls to the Directory * Service.

This setting doesn't apply to RDS Custom DB instances.

*/ inline const Aws::String& GetDomainIAMRoleName() const{ return m_domainIAMRoleName; } /** *

The name of the IAM role to use when making API calls to the Directory * Service.

This setting doesn't apply to RDS Custom DB instances.

*/ inline bool DomainIAMRoleNameHasBeenSet() const { return m_domainIAMRoleNameHasBeenSet; } /** *

The name of the IAM role to use when making API calls to the Directory * Service.

This setting doesn't apply to RDS Custom DB instances.

*/ inline void SetDomainIAMRoleName(const Aws::String& value) { m_domainIAMRoleNameHasBeenSet = true; m_domainIAMRoleName = value; } /** *

The name of the IAM role to use when making API calls to the Directory * Service.

This setting doesn't apply to RDS Custom DB instances.

*/ inline void SetDomainIAMRoleName(Aws::String&& value) { m_domainIAMRoleNameHasBeenSet = true; m_domainIAMRoleName = std::move(value); } /** *

The name of the IAM role to use when making API calls to the Directory * Service.

This setting doesn't apply to RDS Custom DB instances.

*/ inline void SetDomainIAMRoleName(const char* value) { m_domainIAMRoleNameHasBeenSet = true; m_domainIAMRoleName.assign(value); } /** *

The name of the IAM role to use when making API calls to the Directory * Service.

This setting doesn't apply to RDS Custom DB instances.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDomainIAMRoleName(const Aws::String& value) { SetDomainIAMRoleName(value); return *this;} /** *

The name of the IAM role to use when making API calls to the Directory * Service.

This setting doesn't apply to RDS Custom DB instances.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDomainIAMRoleName(Aws::String&& value) { SetDomainIAMRoleName(std::move(value)); return *this;} /** *

The name of the IAM role to use when making API calls to the Directory * Service.

This setting doesn't apply to RDS Custom DB instances.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDomainIAMRoleName(const char* value) { SetDomainIAMRoleName(value); return *this;} /** *

A value that indicates whether to enable mapping of Amazon Web Services * Identity and Access Management (IAM) accounts to database accounts. By default, * mapping is disabled.

For more information about IAM database * authentication, see * IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS * User Guide.

This setting doesn't apply to RDS Custom.

*/ inline bool GetEnableIAMDatabaseAuthentication() const{ return m_enableIAMDatabaseAuthentication; } /** *

A value that indicates whether to enable mapping of Amazon Web Services * Identity and Access Management (IAM) accounts to database accounts. By default, * mapping is disabled.

For more information about IAM database * authentication, see * IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS * User Guide.

This setting doesn't apply to RDS Custom.

*/ inline bool EnableIAMDatabaseAuthenticationHasBeenSet() const { return m_enableIAMDatabaseAuthenticationHasBeenSet; } /** *

A value that indicates whether to enable mapping of Amazon Web Services * Identity and Access Management (IAM) accounts to database accounts. By default, * mapping is disabled.

For more information about IAM database * authentication, see * IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS * User Guide.

This setting doesn't apply to RDS Custom.

*/ inline void SetEnableIAMDatabaseAuthentication(bool value) { m_enableIAMDatabaseAuthenticationHasBeenSet = true; m_enableIAMDatabaseAuthentication = value; } /** *

A value that indicates whether to enable mapping of Amazon Web Services * Identity and Access Management (IAM) accounts to database accounts. By default, * mapping is disabled.

For more information about IAM database * authentication, see * IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS * User Guide.

This setting doesn't apply to RDS Custom.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithEnableIAMDatabaseAuthentication(bool value) { SetEnableIAMDatabaseAuthentication(value); return *this;} /** *

The list of logs that the restored DB instance is to export to CloudWatch * Logs. The values in the list depend on the DB engine being used. For more * information, see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User * Guide.

This setting doesn't apply to RDS Custom.

*/ inline const Aws::Vector& GetEnableCloudwatchLogsExports() const{ return m_enableCloudwatchLogsExports; } /** *

The list of logs that the restored DB instance is to export to CloudWatch * Logs. The values in the list depend on the DB engine being used. For more * information, see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User * Guide.

This setting doesn't apply to RDS Custom.

*/ inline bool EnableCloudwatchLogsExportsHasBeenSet() const { return m_enableCloudwatchLogsExportsHasBeenSet; } /** *

The list of logs that the restored DB instance is to export to CloudWatch * Logs. The values in the list depend on the DB engine being used. For more * information, see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User * Guide.

This setting doesn't apply to RDS Custom.

*/ inline void SetEnableCloudwatchLogsExports(const Aws::Vector& value) { m_enableCloudwatchLogsExportsHasBeenSet = true; m_enableCloudwatchLogsExports = value; } /** *

The list of logs that the restored DB instance is to export to CloudWatch * Logs. The values in the list depend on the DB engine being used. For more * information, see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User * Guide.

This setting doesn't apply to RDS Custom.

*/ inline void SetEnableCloudwatchLogsExports(Aws::Vector&& value) { m_enableCloudwatchLogsExportsHasBeenSet = true; m_enableCloudwatchLogsExports = std::move(value); } /** *

The list of logs that the restored DB instance is to export to CloudWatch * Logs. The values in the list depend on the DB engine being used. For more * information, see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User * Guide.

This setting doesn't apply to RDS Custom.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithEnableCloudwatchLogsExports(const Aws::Vector& value) { SetEnableCloudwatchLogsExports(value); return *this;} /** *

The list of logs that the restored DB instance is to export to CloudWatch * Logs. The values in the list depend on the DB engine being used. For more * information, see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User * Guide.

This setting doesn't apply to RDS Custom.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithEnableCloudwatchLogsExports(Aws::Vector&& value) { SetEnableCloudwatchLogsExports(std::move(value)); return *this;} /** *

The list of logs that the restored DB instance is to export to CloudWatch * Logs. The values in the list depend on the DB engine being used. For more * information, see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User * Guide.

This setting doesn't apply to RDS Custom.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& AddEnableCloudwatchLogsExports(const Aws::String& value) { m_enableCloudwatchLogsExportsHasBeenSet = true; m_enableCloudwatchLogsExports.push_back(value); return *this; } /** *

The list of logs that the restored DB instance is to export to CloudWatch * Logs. The values in the list depend on the DB engine being used. For more * information, see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User * Guide.

This setting doesn't apply to RDS Custom.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& AddEnableCloudwatchLogsExports(Aws::String&& value) { m_enableCloudwatchLogsExportsHasBeenSet = true; m_enableCloudwatchLogsExports.push_back(std::move(value)); return *this; } /** *

The list of logs that the restored DB instance is to export to CloudWatch * Logs. The values in the list depend on the DB engine being used. For more * information, see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User * Guide.

This setting doesn't apply to RDS Custom.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& AddEnableCloudwatchLogsExports(const char* value) { m_enableCloudwatchLogsExportsHasBeenSet = true; m_enableCloudwatchLogsExports.push_back(value); return *this; } /** *

The number of CPU cores and the number of threads per core for the DB * instance class of the DB instance.

This setting doesn't apply to RDS * Custom.

*/ inline const Aws::Vector& GetProcessorFeatures() const{ return m_processorFeatures; } /** *

The number of CPU cores and the number of threads per core for the DB * instance class of the DB instance.

This setting doesn't apply to RDS * Custom.

*/ inline bool ProcessorFeaturesHasBeenSet() const { return m_processorFeaturesHasBeenSet; } /** *

The number of CPU cores and the number of threads per core for the DB * instance class of the DB instance.

This setting doesn't apply to RDS * Custom.

*/ inline void SetProcessorFeatures(const Aws::Vector& value) { m_processorFeaturesHasBeenSet = true; m_processorFeatures = value; } /** *

The number of CPU cores and the number of threads per core for the DB * instance class of the DB instance.

This setting doesn't apply to RDS * Custom.

*/ inline void SetProcessorFeatures(Aws::Vector&& value) { m_processorFeaturesHasBeenSet = true; m_processorFeatures = std::move(value); } /** *

The number of CPU cores and the number of threads per core for the DB * instance class of the DB instance.

This setting doesn't apply to RDS * Custom.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithProcessorFeatures(const Aws::Vector& value) { SetProcessorFeatures(value); return *this;} /** *

The number of CPU cores and the number of threads per core for the DB * instance class of the DB instance.

This setting doesn't apply to RDS * Custom.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithProcessorFeatures(Aws::Vector&& value) { SetProcessorFeatures(std::move(value)); return *this;} /** *

The number of CPU cores and the number of threads per core for the DB * instance class of the DB instance.

This setting doesn't apply to RDS * Custom.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& AddProcessorFeatures(const ProcessorFeature& value) { m_processorFeaturesHasBeenSet = true; m_processorFeatures.push_back(value); return *this; } /** *

The number of CPU cores and the number of threads per core for the DB * instance class of the DB instance.

This setting doesn't apply to RDS * Custom.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& AddProcessorFeatures(ProcessorFeature&& value) { m_processorFeaturesHasBeenSet = true; m_processorFeatures.push_back(std::move(value)); return *this; } /** *

A value that indicates whether the DB instance class of the DB instance uses * its default processor features.

This setting doesn't apply to RDS * Custom.

*/ inline bool GetUseDefaultProcessorFeatures() const{ return m_useDefaultProcessorFeatures; } /** *

A value that indicates whether the DB instance class of the DB instance uses * its default processor features.

This setting doesn't apply to RDS * Custom.

*/ inline bool UseDefaultProcessorFeaturesHasBeenSet() const { return m_useDefaultProcessorFeaturesHasBeenSet; } /** *

A value that indicates whether the DB instance class of the DB instance uses * its default processor features.

This setting doesn't apply to RDS * Custom.

*/ inline void SetUseDefaultProcessorFeatures(bool value) { m_useDefaultProcessorFeaturesHasBeenSet = true; m_useDefaultProcessorFeatures = value; } /** *

A value that indicates whether the DB instance class of the DB instance uses * its default processor features.

This setting doesn't apply to RDS * Custom.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithUseDefaultProcessorFeatures(bool value) { SetUseDefaultProcessorFeatures(value); return *this;} /** *

The name of the DB parameter group to associate with this DB instance.

*

If you don't specify a value for DBParameterGroupName, then RDS * uses the default DBParameterGroup for the specified DB engine.

*

This setting doesn't apply to RDS Custom.

Constraints:

  • *

    If supplied, must match the name of an existing DBParameterGroup.

  • *
  • Must be 1 to 255 letters, numbers, or hyphens.

  • First * character must be a letter.

  • Can't end with a hyphen or contain * two consecutive hyphens.

*/ inline const Aws::String& GetDBParameterGroupName() const{ return m_dBParameterGroupName; } /** *

The name of the DB parameter group to associate with this DB instance.

*

If you don't specify a value for DBParameterGroupName, then RDS * uses the default DBParameterGroup for the specified DB engine.

*

This setting doesn't apply to RDS Custom.

Constraints:

  • *

    If supplied, must match the name of an existing DBParameterGroup.

  • *
  • Must be 1 to 255 letters, numbers, or hyphens.

  • First * character must be a letter.

  • Can't end with a hyphen or contain * two consecutive hyphens.

*/ inline bool DBParameterGroupNameHasBeenSet() const { return m_dBParameterGroupNameHasBeenSet; } /** *

The name of the DB parameter group to associate with this DB instance.

*

If you don't specify a value for DBParameterGroupName, then RDS * uses the default DBParameterGroup for the specified DB engine.

*

This setting doesn't apply to RDS Custom.

Constraints:

  • *

    If supplied, must match the name of an existing DBParameterGroup.

  • *
  • Must be 1 to 255 letters, numbers, or hyphens.

  • First * character must be a letter.

  • Can't end with a hyphen or contain * two consecutive hyphens.

*/ inline void SetDBParameterGroupName(const Aws::String& value) { m_dBParameterGroupNameHasBeenSet = true; m_dBParameterGroupName = value; } /** *

The name of the DB parameter group to associate with this DB instance.

*

If you don't specify a value for DBParameterGroupName, then RDS * uses the default DBParameterGroup for the specified DB engine.

*

This setting doesn't apply to RDS Custom.

Constraints:

  • *

    If supplied, must match the name of an existing DBParameterGroup.

  • *
  • Must be 1 to 255 letters, numbers, or hyphens.

  • First * character must be a letter.

  • Can't end with a hyphen or contain * two consecutive hyphens.

*/ inline void SetDBParameterGroupName(Aws::String&& value) { m_dBParameterGroupNameHasBeenSet = true; m_dBParameterGroupName = std::move(value); } /** *

The name of the DB parameter group to associate with this DB instance.

*

If you don't specify a value for DBParameterGroupName, then RDS * uses the default DBParameterGroup for the specified DB engine.

*

This setting doesn't apply to RDS Custom.

Constraints:

  • *

    If supplied, must match the name of an existing DBParameterGroup.

  • *
  • Must be 1 to 255 letters, numbers, or hyphens.

  • First * character must be a letter.

  • Can't end with a hyphen or contain * two consecutive hyphens.

*/ inline void SetDBParameterGroupName(const char* value) { m_dBParameterGroupNameHasBeenSet = true; m_dBParameterGroupName.assign(value); } /** *

The name of the DB parameter group to associate with this DB instance.

*

If you don't specify a value for DBParameterGroupName, then RDS * uses the default DBParameterGroup for the specified DB engine.

*

This setting doesn't apply to RDS Custom.

Constraints:

  • *

    If supplied, must match the name of an existing DBParameterGroup.

  • *
  • Must be 1 to 255 letters, numbers, or hyphens.

  • First * character must be a letter.

  • Can't end with a hyphen or contain * two consecutive hyphens.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDBParameterGroupName(const Aws::String& value) { SetDBParameterGroupName(value); return *this;} /** *

The name of the DB parameter group to associate with this DB instance.

*

If you don't specify a value for DBParameterGroupName, then RDS * uses the default DBParameterGroup for the specified DB engine.

*

This setting doesn't apply to RDS Custom.

Constraints:

  • *

    If supplied, must match the name of an existing DBParameterGroup.

  • *
  • Must be 1 to 255 letters, numbers, or hyphens.

  • First * character must be a letter.

  • Can't end with a hyphen or contain * two consecutive hyphens.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDBParameterGroupName(Aws::String&& value) { SetDBParameterGroupName(std::move(value)); return *this;} /** *

The name of the DB parameter group to associate with this DB instance.

*

If you don't specify a value for DBParameterGroupName, then RDS * uses the default DBParameterGroup for the specified DB engine.

*

This setting doesn't apply to RDS Custom.

Constraints:

  • *

    If supplied, must match the name of an existing DBParameterGroup.

  • *
  • Must be 1 to 255 letters, numbers, or hyphens.

  • First * character must be a letter.

  • Can't end with a hyphen or contain * two consecutive hyphens.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDBParameterGroupName(const char* value) { SetDBParameterGroupName(value); return *this;} /** *

A value that indicates whether the DB instance has deletion protection * enabled. The database can't be deleted when deletion protection is enabled. By * default, deletion protection isn't enabled. For more information, see * Deleting a DB Instance.

*/ inline bool GetDeletionProtection() const{ return m_deletionProtection; } /** *

A value that indicates whether the DB instance has deletion protection * enabled. The database can't be deleted when deletion protection is enabled. By * default, deletion protection isn't enabled. For more information, see * Deleting a DB Instance.

*/ inline bool DeletionProtectionHasBeenSet() const { return m_deletionProtectionHasBeenSet; } /** *

A value that indicates whether the DB instance has deletion protection * enabled. The database can't be deleted when deletion protection is enabled. By * default, deletion protection isn't enabled. For more information, see * Deleting a DB Instance.

*/ inline void SetDeletionProtection(bool value) { m_deletionProtectionHasBeenSet = true; m_deletionProtection = value; } /** *

A value that indicates whether the DB instance has deletion protection * enabled. The database can't be deleted when deletion protection is enabled. By * default, deletion protection isn't enabled. For more information, see * Deleting a DB Instance.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDeletionProtection(bool value) { SetDeletionProtection(value); return *this;} /** *

A value that indicates whether to enable a customer-owned IP address (CoIP) * for an RDS on Outposts DB instance.

A CoIP provides local or * external connectivity to resources in your Outpost subnets through your * on-premises network. For some use cases, a CoIP can provide lower latency for * connections to the DB instance from outside of its virtual private cloud (VPC) * on your local network.

This setting doesn't apply to RDS Custom.

*

For more information about RDS on Outposts, see Working * with Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User * Guide.

For more information about CoIPs, see Customer-owned * IP addresses in the Amazon Web Services Outposts User Guide.

*/ inline bool GetEnableCustomerOwnedIp() const{ return m_enableCustomerOwnedIp; } /** *

A value that indicates whether to enable a customer-owned IP address (CoIP) * for an RDS on Outposts DB instance.

A CoIP provides local or * external connectivity to resources in your Outpost subnets through your * on-premises network. For some use cases, a CoIP can provide lower latency for * connections to the DB instance from outside of its virtual private cloud (VPC) * on your local network.

This setting doesn't apply to RDS Custom.

*

For more information about RDS on Outposts, see Working * with Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User * Guide.

For more information about CoIPs, see Customer-owned * IP addresses in the Amazon Web Services Outposts User Guide.

*/ inline bool EnableCustomerOwnedIpHasBeenSet() const { return m_enableCustomerOwnedIpHasBeenSet; } /** *

A value that indicates whether to enable a customer-owned IP address (CoIP) * for an RDS on Outposts DB instance.

A CoIP provides local or * external connectivity to resources in your Outpost subnets through your * on-premises network. For some use cases, a CoIP can provide lower latency for * connections to the DB instance from outside of its virtual private cloud (VPC) * on your local network.

This setting doesn't apply to RDS Custom.

*

For more information about RDS on Outposts, see Working * with Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User * Guide.

For more information about CoIPs, see Customer-owned * IP addresses in the Amazon Web Services Outposts User Guide.

*/ inline void SetEnableCustomerOwnedIp(bool value) { m_enableCustomerOwnedIpHasBeenSet = true; m_enableCustomerOwnedIp = value; } /** *

A value that indicates whether to enable a customer-owned IP address (CoIP) * for an RDS on Outposts DB instance.

A CoIP provides local or * external connectivity to resources in your Outpost subnets through your * on-premises network. For some use cases, a CoIP can provide lower latency for * connections to the DB instance from outside of its virtual private cloud (VPC) * on your local network.

This setting doesn't apply to RDS Custom.

*

For more information about RDS on Outposts, see Working * with Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User * Guide.

For more information about CoIPs, see Customer-owned * IP addresses in the Amazon Web Services Outposts User Guide.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithEnableCustomerOwnedIp(bool value) { SetEnableCustomerOwnedIp(value); return *this;} /** *

The instance profile associated with the underlying Amazon EC2 instance of an * RDS Custom DB instance. The instance profile must meet the following * requirements:

  • The profile must exist in your account.

  • *
  • The profile must have an IAM role that Amazon EC2 has permissions to * assume.

  • The instance profile name and the associated IAM role * name must start with the prefix AWSRDSCustom.

*

For the list of permissions required for the IAM role, see * Configure IAM and your VPC in the Amazon RDS User Guide.

This * setting is required for RDS Custom.

*/ inline const Aws::String& GetCustomIamInstanceProfile() const{ return m_customIamInstanceProfile; } /** *

The instance profile associated with the underlying Amazon EC2 instance of an * RDS Custom DB instance. The instance profile must meet the following * requirements:

  • The profile must exist in your account.

  • *
  • The profile must have an IAM role that Amazon EC2 has permissions to * assume.

  • The instance profile name and the associated IAM role * name must start with the prefix AWSRDSCustom.

*

For the list of permissions required for the IAM role, see * Configure IAM and your VPC in the Amazon RDS User Guide.

This * setting is required for RDS Custom.

*/ inline bool CustomIamInstanceProfileHasBeenSet() const { return m_customIamInstanceProfileHasBeenSet; } /** *

The instance profile associated with the underlying Amazon EC2 instance of an * RDS Custom DB instance. The instance profile must meet the following * requirements:

  • The profile must exist in your account.

  • *
  • The profile must have an IAM role that Amazon EC2 has permissions to * assume.

  • The instance profile name and the associated IAM role * name must start with the prefix AWSRDSCustom.

*

For the list of permissions required for the IAM role, see * Configure IAM and your VPC in the Amazon RDS User Guide.

This * setting is required for RDS Custom.

*/ inline void SetCustomIamInstanceProfile(const Aws::String& value) { m_customIamInstanceProfileHasBeenSet = true; m_customIamInstanceProfile = value; } /** *

The instance profile associated with the underlying Amazon EC2 instance of an * RDS Custom DB instance. The instance profile must meet the following * requirements:

  • The profile must exist in your account.

  • *
  • The profile must have an IAM role that Amazon EC2 has permissions to * assume.

  • The instance profile name and the associated IAM role * name must start with the prefix AWSRDSCustom.

*

For the list of permissions required for the IAM role, see * Configure IAM and your VPC in the Amazon RDS User Guide.

This * setting is required for RDS Custom.

*/ inline void SetCustomIamInstanceProfile(Aws::String&& value) { m_customIamInstanceProfileHasBeenSet = true; m_customIamInstanceProfile = std::move(value); } /** *

The instance profile associated with the underlying Amazon EC2 instance of an * RDS Custom DB instance. The instance profile must meet the following * requirements:

  • The profile must exist in your account.

  • *
  • The profile must have an IAM role that Amazon EC2 has permissions to * assume.

  • The instance profile name and the associated IAM role * name must start with the prefix AWSRDSCustom.

*

For the list of permissions required for the IAM role, see * Configure IAM and your VPC in the Amazon RDS User Guide.

This * setting is required for RDS Custom.

*/ inline void SetCustomIamInstanceProfile(const char* value) { m_customIamInstanceProfileHasBeenSet = true; m_customIamInstanceProfile.assign(value); } /** *

The instance profile associated with the underlying Amazon EC2 instance of an * RDS Custom DB instance. The instance profile must meet the following * requirements:

  • The profile must exist in your account.

  • *
  • The profile must have an IAM role that Amazon EC2 has permissions to * assume.

  • The instance profile name and the associated IAM role * name must start with the prefix AWSRDSCustom.

*

For the list of permissions required for the IAM role, see * Configure IAM and your VPC in the Amazon RDS User Guide.

This * setting is required for RDS Custom.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithCustomIamInstanceProfile(const Aws::String& value) { SetCustomIamInstanceProfile(value); return *this;} /** *

The instance profile associated with the underlying Amazon EC2 instance of an * RDS Custom DB instance. The instance profile must meet the following * requirements:

  • The profile must exist in your account.

  • *
  • The profile must have an IAM role that Amazon EC2 has permissions to * assume.

  • The instance profile name and the associated IAM role * name must start with the prefix AWSRDSCustom.

*

For the list of permissions required for the IAM role, see * Configure IAM and your VPC in the Amazon RDS User Guide.

This * setting is required for RDS Custom.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithCustomIamInstanceProfile(Aws::String&& value) { SetCustomIamInstanceProfile(std::move(value)); return *this;} /** *

The instance profile associated with the underlying Amazon EC2 instance of an * RDS Custom DB instance. The instance profile must meet the following * requirements:

  • The profile must exist in your account.

  • *
  • The profile must have an IAM role that Amazon EC2 has permissions to * assume.

  • The instance profile name and the associated IAM role * name must start with the prefix AWSRDSCustom.

*

For the list of permissions required for the IAM role, see * Configure IAM and your VPC in the Amazon RDS User Guide.

This * setting is required for RDS Custom.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithCustomIamInstanceProfile(const char* value) { SetCustomIamInstanceProfile(value); return *this;} /** *

Specifies where automated backups and manual snapshots are stored for the * restored DB instance.

Possible values are outposts (Amazon * Web Services Outposts) and region (Amazon Web Services Region). The * default is region.

For more information, see Working * with Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User * Guide.

*/ inline const Aws::String& GetBackupTarget() const{ return m_backupTarget; } /** *

Specifies where automated backups and manual snapshots are stored for the * restored DB instance.

Possible values are outposts (Amazon * Web Services Outposts) and region (Amazon Web Services Region). The * default is region.

For more information, see Working * with Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User * Guide.

*/ inline bool BackupTargetHasBeenSet() const { return m_backupTargetHasBeenSet; } /** *

Specifies where automated backups and manual snapshots are stored for the * restored DB instance.

Possible values are outposts (Amazon * Web Services Outposts) and region (Amazon Web Services Region). The * default is region.

For more information, see Working * with Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User * Guide.

*/ inline void SetBackupTarget(const Aws::String& value) { m_backupTargetHasBeenSet = true; m_backupTarget = value; } /** *

Specifies where automated backups and manual snapshots are stored for the * restored DB instance.

Possible values are outposts (Amazon * Web Services Outposts) and region (Amazon Web Services Region). The * default is region.

For more information, see Working * with Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User * Guide.

*/ inline void SetBackupTarget(Aws::String&& value) { m_backupTargetHasBeenSet = true; m_backupTarget = std::move(value); } /** *

Specifies where automated backups and manual snapshots are stored for the * restored DB instance.

Possible values are outposts (Amazon * Web Services Outposts) and region (Amazon Web Services Region). The * default is region.

For more information, see Working * with Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User * Guide.

*/ inline void SetBackupTarget(const char* value) { m_backupTargetHasBeenSet = true; m_backupTarget.assign(value); } /** *

Specifies where automated backups and manual snapshots are stored for the * restored DB instance.

Possible values are outposts (Amazon * Web Services Outposts) and region (Amazon Web Services Region). The * default is region.

For more information, see Working * with Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User * Guide.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithBackupTarget(const Aws::String& value) { SetBackupTarget(value); return *this;} /** *

Specifies where automated backups and manual snapshots are stored for the * restored DB instance.

Possible values are outposts (Amazon * Web Services Outposts) and region (Amazon Web Services Region). The * default is region.

For more information, see Working * with Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User * Guide.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithBackupTarget(Aws::String&& value) { SetBackupTarget(std::move(value)); return *this;} /** *

Specifies where automated backups and manual snapshots are stored for the * restored DB instance.

Possible values are outposts (Amazon * Web Services Outposts) and region (Amazon Web Services Region). The * default is region.

For more information, see Working * with Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User * Guide.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithBackupTarget(const char* value) { SetBackupTarget(value); return *this;} /** *

The network type of the DB instance.

Valid values:

  • * IPV4

  • DUAL

The * network type is determined by the DBSubnetGroup specified for the * DB instance. A DBSubnetGroup can support only the IPv4 protocol or * the IPv4 and the IPv6 protocols (DUAL).

For more * information, see * Working with a DB instance in a VPC in the Amazon RDS User Guide. *

*/ inline const Aws::String& GetNetworkType() const{ return m_networkType; } /** *

The network type of the DB instance.

Valid values:

  • * IPV4

  • DUAL

The * network type is determined by the DBSubnetGroup specified for the * DB instance. A DBSubnetGroup can support only the IPv4 protocol or * the IPv4 and the IPv6 protocols (DUAL).

For more * information, see * Working with a DB instance in a VPC in the Amazon RDS User Guide. *

*/ inline bool NetworkTypeHasBeenSet() const { return m_networkTypeHasBeenSet; } /** *

The network type of the DB instance.

Valid values:

  • * IPV4

  • DUAL

The * network type is determined by the DBSubnetGroup specified for the * DB instance. A DBSubnetGroup can support only the IPv4 protocol or * the IPv4 and the IPv6 protocols (DUAL).

For more * information, see * Working with a DB instance in a VPC in the Amazon RDS User Guide. *

*/ inline void SetNetworkType(const Aws::String& value) { m_networkTypeHasBeenSet = true; m_networkType = value; } /** *

The network type of the DB instance.

Valid values:

  • * IPV4

  • DUAL

The * network type is determined by the DBSubnetGroup specified for the * DB instance. A DBSubnetGroup can support only the IPv4 protocol or * the IPv4 and the IPv6 protocols (DUAL).

For more * information, see * Working with a DB instance in a VPC in the Amazon RDS User Guide. *

*/ inline void SetNetworkType(Aws::String&& value) { m_networkTypeHasBeenSet = true; m_networkType = std::move(value); } /** *

The network type of the DB instance.

Valid values:

  • * IPV4

  • DUAL

The * network type is determined by the DBSubnetGroup specified for the * DB instance. A DBSubnetGroup can support only the IPv4 protocol or * the IPv4 and the IPv6 protocols (DUAL).

For more * information, see * Working with a DB instance in a VPC in the Amazon RDS User Guide. *

*/ inline void SetNetworkType(const char* value) { m_networkTypeHasBeenSet = true; m_networkType.assign(value); } /** *

The network type of the DB instance.

Valid values:

  • * IPV4

  • DUAL

The * network type is determined by the DBSubnetGroup specified for the * DB instance. A DBSubnetGroup can support only the IPv4 protocol or * the IPv4 and the IPv6 protocols (DUAL).

For more * information, see * Working with a DB instance in a VPC in the Amazon RDS User Guide. *

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithNetworkType(const Aws::String& value) { SetNetworkType(value); return *this;} /** *

The network type of the DB instance.

Valid values:

  • * IPV4

  • DUAL

The * network type is determined by the DBSubnetGroup specified for the * DB instance. A DBSubnetGroup can support only the IPv4 protocol or * the IPv4 and the IPv6 protocols (DUAL).

For more * information, see * Working with a DB instance in a VPC in the Amazon RDS User Guide. *

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithNetworkType(Aws::String&& value) { SetNetworkType(std::move(value)); return *this;} /** *

The network type of the DB instance.

Valid values:

  • * IPV4

  • DUAL

The * network type is determined by the DBSubnetGroup specified for the * DB instance. A DBSubnetGroup can support only the IPv4 protocol or * the IPv4 and the IPv6 protocols (DUAL).

For more * information, see * Working with a DB instance in a VPC in the Amazon RDS User Guide. *

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithNetworkType(const char* value) { SetNetworkType(value); return *this;} /** *

Specifies the storage throughput value for the DB instance.

This * setting doesn't apply to RDS Custom or Amazon Aurora.

*/ inline int GetStorageThroughput() const{ return m_storageThroughput; } /** *

Specifies the storage throughput value for the DB instance.

This * setting doesn't apply to RDS Custom or Amazon Aurora.

*/ inline bool StorageThroughputHasBeenSet() const { return m_storageThroughputHasBeenSet; } /** *

Specifies the storage throughput value for the DB instance.

This * setting doesn't apply to RDS Custom or Amazon Aurora.

*/ inline void SetStorageThroughput(int value) { m_storageThroughputHasBeenSet = true; m_storageThroughput = value; } /** *

Specifies the storage throughput value for the DB instance.

This * setting doesn't apply to RDS Custom or Amazon Aurora.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithStorageThroughput(int value) { SetStorageThroughput(value); return *this;} /** *

The identifier for the RDS for MySQL Multi-AZ DB cluster snapshot to restore * from.

For more information on Multi-AZ DB clusters, see * Multi-AZ DB cluster deployments in the Amazon RDS User Guide.

*

Constraints:

  • Must match the identifier of an existing * Multi-AZ DB cluster snapshot.

  • Can't be specified when * DBSnapshotIdentifier is specified.

  • Must be * specified when DBSnapshotIdentifier isn't specified.

  • *

    If you are restoring from a shared manual Multi-AZ DB cluster snapshot, the * DBClusterSnapshotIdentifier must be the ARN of the shared * snapshot.

  • Can't be the identifier of an Aurora DB cluster * snapshot.

  • Can't be the identifier of an RDS for PostgreSQL * Multi-AZ DB cluster snapshot.

*/ inline const Aws::String& GetDBClusterSnapshotIdentifier() const{ return m_dBClusterSnapshotIdentifier; } /** *

The identifier for the RDS for MySQL Multi-AZ DB cluster snapshot to restore * from.

For more information on Multi-AZ DB clusters, see * Multi-AZ DB cluster deployments in the Amazon RDS User Guide.

*

Constraints:

  • Must match the identifier of an existing * Multi-AZ DB cluster snapshot.

  • Can't be specified when * DBSnapshotIdentifier is specified.

  • Must be * specified when DBSnapshotIdentifier isn't specified.

  • *

    If you are restoring from a shared manual Multi-AZ DB cluster snapshot, the * DBClusterSnapshotIdentifier must be the ARN of the shared * snapshot.

  • Can't be the identifier of an Aurora DB cluster * snapshot.

  • Can't be the identifier of an RDS for PostgreSQL * Multi-AZ DB cluster snapshot.

*/ inline bool DBClusterSnapshotIdentifierHasBeenSet() const { return m_dBClusterSnapshotIdentifierHasBeenSet; } /** *

The identifier for the RDS for MySQL Multi-AZ DB cluster snapshot to restore * from.

For more information on Multi-AZ DB clusters, see * Multi-AZ DB cluster deployments in the Amazon RDS User Guide.

*

Constraints:

  • Must match the identifier of an existing * Multi-AZ DB cluster snapshot.

  • Can't be specified when * DBSnapshotIdentifier is specified.

  • Must be * specified when DBSnapshotIdentifier isn't specified.

  • *

    If you are restoring from a shared manual Multi-AZ DB cluster snapshot, the * DBClusterSnapshotIdentifier must be the ARN of the shared * snapshot.

  • Can't be the identifier of an Aurora DB cluster * snapshot.

  • Can't be the identifier of an RDS for PostgreSQL * Multi-AZ DB cluster snapshot.

*/ inline void SetDBClusterSnapshotIdentifier(const Aws::String& value) { m_dBClusterSnapshotIdentifierHasBeenSet = true; m_dBClusterSnapshotIdentifier = value; } /** *

The identifier for the RDS for MySQL Multi-AZ DB cluster snapshot to restore * from.

For more information on Multi-AZ DB clusters, see * Multi-AZ DB cluster deployments in the Amazon RDS User Guide.

*

Constraints:

  • Must match the identifier of an existing * Multi-AZ DB cluster snapshot.

  • Can't be specified when * DBSnapshotIdentifier is specified.

  • Must be * specified when DBSnapshotIdentifier isn't specified.

  • *

    If you are restoring from a shared manual Multi-AZ DB cluster snapshot, the * DBClusterSnapshotIdentifier must be the ARN of the shared * snapshot.

  • Can't be the identifier of an Aurora DB cluster * snapshot.

  • Can't be the identifier of an RDS for PostgreSQL * Multi-AZ DB cluster snapshot.

*/ inline void SetDBClusterSnapshotIdentifier(Aws::String&& value) { m_dBClusterSnapshotIdentifierHasBeenSet = true; m_dBClusterSnapshotIdentifier = std::move(value); } /** *

The identifier for the RDS for MySQL Multi-AZ DB cluster snapshot to restore * from.

For more information on Multi-AZ DB clusters, see * Multi-AZ DB cluster deployments in the Amazon RDS User Guide.

*

Constraints:

  • Must match the identifier of an existing * Multi-AZ DB cluster snapshot.

  • Can't be specified when * DBSnapshotIdentifier is specified.

  • Must be * specified when DBSnapshotIdentifier isn't specified.

  • *

    If you are restoring from a shared manual Multi-AZ DB cluster snapshot, the * DBClusterSnapshotIdentifier must be the ARN of the shared * snapshot.

  • Can't be the identifier of an Aurora DB cluster * snapshot.

  • Can't be the identifier of an RDS for PostgreSQL * Multi-AZ DB cluster snapshot.

*/ inline void SetDBClusterSnapshotIdentifier(const char* value) { m_dBClusterSnapshotIdentifierHasBeenSet = true; m_dBClusterSnapshotIdentifier.assign(value); } /** *

The identifier for the RDS for MySQL Multi-AZ DB cluster snapshot to restore * from.

For more information on Multi-AZ DB clusters, see * Multi-AZ DB cluster deployments in the Amazon RDS User Guide.

*

Constraints:

  • Must match the identifier of an existing * Multi-AZ DB cluster snapshot.

  • Can't be specified when * DBSnapshotIdentifier is specified.

  • Must be * specified when DBSnapshotIdentifier isn't specified.

  • *

    If you are restoring from a shared manual Multi-AZ DB cluster snapshot, the * DBClusterSnapshotIdentifier must be the ARN of the shared * snapshot.

  • Can't be the identifier of an Aurora DB cluster * snapshot.

  • Can't be the identifier of an RDS for PostgreSQL * Multi-AZ DB cluster snapshot.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDBClusterSnapshotIdentifier(const Aws::String& value) { SetDBClusterSnapshotIdentifier(value); return *this;} /** *

The identifier for the RDS for MySQL Multi-AZ DB cluster snapshot to restore * from.

For more information on Multi-AZ DB clusters, see * Multi-AZ DB cluster deployments in the Amazon RDS User Guide.

*

Constraints:

  • Must match the identifier of an existing * Multi-AZ DB cluster snapshot.

  • Can't be specified when * DBSnapshotIdentifier is specified.

  • Must be * specified when DBSnapshotIdentifier isn't specified.

  • *

    If you are restoring from a shared manual Multi-AZ DB cluster snapshot, the * DBClusterSnapshotIdentifier must be the ARN of the shared * snapshot.

  • Can't be the identifier of an Aurora DB cluster * snapshot.

  • Can't be the identifier of an RDS for PostgreSQL * Multi-AZ DB cluster snapshot.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDBClusterSnapshotIdentifier(Aws::String&& value) { SetDBClusterSnapshotIdentifier(std::move(value)); return *this;} /** *

The identifier for the RDS for MySQL Multi-AZ DB cluster snapshot to restore * from.

For more information on Multi-AZ DB clusters, see * Multi-AZ DB cluster deployments in the Amazon RDS User Guide.

*

Constraints:

  • Must match the identifier of an existing * Multi-AZ DB cluster snapshot.

  • Can't be specified when * DBSnapshotIdentifier is specified.

  • Must be * specified when DBSnapshotIdentifier isn't specified.

  • *

    If you are restoring from a shared manual Multi-AZ DB cluster snapshot, the * DBClusterSnapshotIdentifier must be the ARN of the shared * snapshot.

  • Can't be the identifier of an Aurora DB cluster * snapshot.

  • Can't be the identifier of an RDS for PostgreSQL * Multi-AZ DB cluster snapshot.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithDBClusterSnapshotIdentifier(const char* value) { SetDBClusterSnapshotIdentifier(value); return *this;} /** *

The amount of storage (in gibibytes) to allocate initially for the DB * instance. Follow the allocation rules specified in CreateDBInstance.

*

Be sure to allocate enough storage for your new DB instance so that the * restore operation can succeed. You can also allocate additional storage for * future growth.

*/ inline int GetAllocatedStorage() const{ return m_allocatedStorage; } /** *

The amount of storage (in gibibytes) to allocate initially for the DB * instance. Follow the allocation rules specified in CreateDBInstance.

*

Be sure to allocate enough storage for your new DB instance so that the * restore operation can succeed. You can also allocate additional storage for * future growth.

*/ inline bool AllocatedStorageHasBeenSet() const { return m_allocatedStorageHasBeenSet; } /** *

The amount of storage (in gibibytes) to allocate initially for the DB * instance. Follow the allocation rules specified in CreateDBInstance.

*

Be sure to allocate enough storage for your new DB instance so that the * restore operation can succeed. You can also allocate additional storage for * future growth.

*/ inline void SetAllocatedStorage(int value) { m_allocatedStorageHasBeenSet = true; m_allocatedStorage = value; } /** *

The amount of storage (in gibibytes) to allocate initially for the DB * instance. Follow the allocation rules specified in CreateDBInstance.

*

Be sure to allocate enough storage for your new DB instance so that the * restore operation can succeed. You can also allocate additional storage for * future growth.

*/ inline RestoreDBInstanceFromDBSnapshotRequest& WithAllocatedStorage(int value) { SetAllocatedStorage(value); return *this;} private: Aws::String m_dBInstanceIdentifier; bool m_dBInstanceIdentifierHasBeenSet = false; Aws::String m_dBSnapshotIdentifier; bool m_dBSnapshotIdentifierHasBeenSet = false; Aws::String m_dBInstanceClass; bool m_dBInstanceClassHasBeenSet = false; int m_port; bool m_portHasBeenSet = false; Aws::String m_availabilityZone; bool m_availabilityZoneHasBeenSet = false; Aws::String m_dBSubnetGroupName; bool m_dBSubnetGroupNameHasBeenSet = false; bool m_multiAZ; bool m_multiAZHasBeenSet = false; bool m_publiclyAccessible; bool m_publiclyAccessibleHasBeenSet = false; bool m_autoMinorVersionUpgrade; bool m_autoMinorVersionUpgradeHasBeenSet = false; Aws::String m_licenseModel; bool m_licenseModelHasBeenSet = false; Aws::String m_dBName; bool m_dBNameHasBeenSet = false; Aws::String m_engine; bool m_engineHasBeenSet = false; int m_iops; bool m_iopsHasBeenSet = false; Aws::String m_optionGroupName; bool m_optionGroupNameHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; Aws::String m_storageType; bool m_storageTypeHasBeenSet = false; Aws::String m_tdeCredentialArn; bool m_tdeCredentialArnHasBeenSet = false; Aws::String m_tdeCredentialPassword; bool m_tdeCredentialPasswordHasBeenSet = false; Aws::Vector m_vpcSecurityGroupIds; bool m_vpcSecurityGroupIdsHasBeenSet = false; Aws::String m_domain; bool m_domainHasBeenSet = false; Aws::String m_domainFqdn; bool m_domainFqdnHasBeenSet = false; Aws::String m_domainOu; bool m_domainOuHasBeenSet = false; Aws::String m_domainAuthSecretArn; bool m_domainAuthSecretArnHasBeenSet = false; Aws::Vector m_domainDnsIps; bool m_domainDnsIpsHasBeenSet = false; bool m_copyTagsToSnapshot; bool m_copyTagsToSnapshotHasBeenSet = false; Aws::String m_domainIAMRoleName; bool m_domainIAMRoleNameHasBeenSet = false; bool m_enableIAMDatabaseAuthentication; bool m_enableIAMDatabaseAuthenticationHasBeenSet = false; Aws::Vector m_enableCloudwatchLogsExports; bool m_enableCloudwatchLogsExportsHasBeenSet = false; Aws::Vector m_processorFeatures; bool m_processorFeaturesHasBeenSet = false; bool m_useDefaultProcessorFeatures; bool m_useDefaultProcessorFeaturesHasBeenSet = false; Aws::String m_dBParameterGroupName; bool m_dBParameterGroupNameHasBeenSet = false; bool m_deletionProtection; bool m_deletionProtectionHasBeenSet = false; bool m_enableCustomerOwnedIp; bool m_enableCustomerOwnedIpHasBeenSet = false; Aws::String m_customIamInstanceProfile; bool m_customIamInstanceProfileHasBeenSet = false; Aws::String m_backupTarget; bool m_backupTargetHasBeenSet = false; Aws::String m_networkType; bool m_networkTypeHasBeenSet = false; int m_storageThroughput; bool m_storageThroughputHasBeenSet = false; Aws::String m_dBClusterSnapshotIdentifier; bool m_dBClusterSnapshotIdentifierHasBeenSet = false; int m_allocatedStorage; bool m_allocatedStorageHasBeenSet = false; }; } // namespace Model } // namespace RDS } // namespace Aws