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

See Also:

AWS * API Reference

*/ class CreateReplicationInstanceRequest : public DatabaseMigrationServiceRequest { public: AWS_DATABASEMIGRATIONSERVICE_API CreateReplicationInstanceRequest(); // 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 "CreateReplicationInstance"; } AWS_DATABASEMIGRATIONSERVICE_API Aws::String SerializePayload() const override; AWS_DATABASEMIGRATIONSERVICE_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The replication instance identifier. This parameter is stored as a lowercase * string.

Constraints:

  • Must contain 1-63 alphanumeric * characters or hyphens.

  • First character must be a letter.

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

    *

Example: myrepinstance

*/ inline const Aws::String& GetReplicationInstanceIdentifier() const{ return m_replicationInstanceIdentifier; } /** *

The replication instance identifier. This parameter is stored as a lowercase * string.

Constraints:

  • Must contain 1-63 alphanumeric * characters or hyphens.

  • First character must be a letter.

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

    *

Example: myrepinstance

*/ inline bool ReplicationInstanceIdentifierHasBeenSet() const { return m_replicationInstanceIdentifierHasBeenSet; } /** *

The replication instance identifier. This parameter is stored as a lowercase * string.

Constraints:

  • Must contain 1-63 alphanumeric * characters or hyphens.

  • First character must be a letter.

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

    *

Example: myrepinstance

*/ inline void SetReplicationInstanceIdentifier(const Aws::String& value) { m_replicationInstanceIdentifierHasBeenSet = true; m_replicationInstanceIdentifier = value; } /** *

The replication instance identifier. This parameter is stored as a lowercase * string.

Constraints:

  • Must contain 1-63 alphanumeric * characters or hyphens.

  • First character must be a letter.

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

    *

Example: myrepinstance

*/ inline void SetReplicationInstanceIdentifier(Aws::String&& value) { m_replicationInstanceIdentifierHasBeenSet = true; m_replicationInstanceIdentifier = std::move(value); } /** *

The replication instance identifier. This parameter is stored as a lowercase * string.

Constraints:

  • Must contain 1-63 alphanumeric * characters or hyphens.

  • First character must be a letter.

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

    *

Example: myrepinstance

*/ inline void SetReplicationInstanceIdentifier(const char* value) { m_replicationInstanceIdentifierHasBeenSet = true; m_replicationInstanceIdentifier.assign(value); } /** *

The replication instance identifier. This parameter is stored as a lowercase * string.

Constraints:

  • Must contain 1-63 alphanumeric * characters or hyphens.

  • First character must be a letter.

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

    *

Example: myrepinstance

*/ inline CreateReplicationInstanceRequest& WithReplicationInstanceIdentifier(const Aws::String& value) { SetReplicationInstanceIdentifier(value); return *this;} /** *

The replication instance identifier. This parameter is stored as a lowercase * string.

Constraints:

  • Must contain 1-63 alphanumeric * characters or hyphens.

  • First character must be a letter.

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

    *

Example: myrepinstance

*/ inline CreateReplicationInstanceRequest& WithReplicationInstanceIdentifier(Aws::String&& value) { SetReplicationInstanceIdentifier(std::move(value)); return *this;} /** *

The replication instance identifier. This parameter is stored as a lowercase * string.

Constraints:

  • Must contain 1-63 alphanumeric * characters or hyphens.

  • First character must be a letter.

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

    *

Example: myrepinstance

*/ inline CreateReplicationInstanceRequest& WithReplicationInstanceIdentifier(const char* value) { SetReplicationInstanceIdentifier(value); return *this;} /** *

The amount of storage (in gigabytes) to be initially allocated for the * replication instance.

*/ inline int GetAllocatedStorage() const{ return m_allocatedStorage; } /** *

The amount of storage (in gigabytes) to be initially allocated for the * replication instance.

*/ inline bool AllocatedStorageHasBeenSet() const { return m_allocatedStorageHasBeenSet; } /** *

The amount of storage (in gigabytes) to be initially allocated for the * replication instance.

*/ inline void SetAllocatedStorage(int value) { m_allocatedStorageHasBeenSet = true; m_allocatedStorage = value; } /** *

The amount of storage (in gigabytes) to be initially allocated for the * replication instance.

*/ inline CreateReplicationInstanceRequest& WithAllocatedStorage(int value) { SetAllocatedStorage(value); return *this;} /** *

The compute and memory capacity of the replication instance as defined for * the specified replication instance class. For example to specify the instance * class dms.c4.large, set this parameter to "dms.c4.large".

*

For more information on the settings and capacities for the available * replication instance classes, see Choosing the right DMS replication instance; and, Selecting * the best size for a replication instance.

*/ inline const Aws::String& GetReplicationInstanceClass() const{ return m_replicationInstanceClass; } /** *

The compute and memory capacity of the replication instance as defined for * the specified replication instance class. For example to specify the instance * class dms.c4.large, set this parameter to "dms.c4.large".

*

For more information on the settings and capacities for the available * replication instance classes, see Choosing the right DMS replication instance; and, Selecting * the best size for a replication instance.

*/ inline bool ReplicationInstanceClassHasBeenSet() const { return m_replicationInstanceClassHasBeenSet; } /** *

The compute and memory capacity of the replication instance as defined for * the specified replication instance class. For example to specify the instance * class dms.c4.large, set this parameter to "dms.c4.large".

*

For more information on the settings and capacities for the available * replication instance classes, see Choosing the right DMS replication instance; and, Selecting * the best size for a replication instance.

*/ inline void SetReplicationInstanceClass(const Aws::String& value) { m_replicationInstanceClassHasBeenSet = true; m_replicationInstanceClass = value; } /** *

The compute and memory capacity of the replication instance as defined for * the specified replication instance class. For example to specify the instance * class dms.c4.large, set this parameter to "dms.c4.large".

*

For more information on the settings and capacities for the available * replication instance classes, see Choosing the right DMS replication instance; and, Selecting * the best size for a replication instance.

*/ inline void SetReplicationInstanceClass(Aws::String&& value) { m_replicationInstanceClassHasBeenSet = true; m_replicationInstanceClass = std::move(value); } /** *

The compute and memory capacity of the replication instance as defined for * the specified replication instance class. For example to specify the instance * class dms.c4.large, set this parameter to "dms.c4.large".

*

For more information on the settings and capacities for the available * replication instance classes, see Choosing the right DMS replication instance; and, Selecting * the best size for a replication instance.

*/ inline void SetReplicationInstanceClass(const char* value) { m_replicationInstanceClassHasBeenSet = true; m_replicationInstanceClass.assign(value); } /** *

The compute and memory capacity of the replication instance as defined for * the specified replication instance class. For example to specify the instance * class dms.c4.large, set this parameter to "dms.c4.large".

*

For more information on the settings and capacities for the available * replication instance classes, see Choosing the right DMS replication instance; and, Selecting * the best size for a replication instance.

*/ inline CreateReplicationInstanceRequest& WithReplicationInstanceClass(const Aws::String& value) { SetReplicationInstanceClass(value); return *this;} /** *

The compute and memory capacity of the replication instance as defined for * the specified replication instance class. For example to specify the instance * class dms.c4.large, set this parameter to "dms.c4.large".

*

For more information on the settings and capacities for the available * replication instance classes, see Choosing the right DMS replication instance; and, Selecting * the best size for a replication instance.

*/ inline CreateReplicationInstanceRequest& WithReplicationInstanceClass(Aws::String&& value) { SetReplicationInstanceClass(std::move(value)); return *this;} /** *

The compute and memory capacity of the replication instance as defined for * the specified replication instance class. For example to specify the instance * class dms.c4.large, set this parameter to "dms.c4.large".

*

For more information on the settings and capacities for the available * replication instance classes, see Choosing the right DMS replication instance; and, Selecting * the best size for a replication instance.

*/ inline CreateReplicationInstanceRequest& WithReplicationInstanceClass(const char* value) { SetReplicationInstanceClass(value); return *this;} /** *

Specifies the VPC security group to be used with the replication instance. * The VPC security group must work with the VPC containing the replication * instance.

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

Specifies the VPC security group to be used with the replication instance. * The VPC security group must work with the VPC containing the replication * instance.

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

Specifies the VPC security group to be used with the replication instance. * The VPC security group must work with the VPC containing the replication * instance.

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

Specifies the VPC security group to be used with the replication instance. * The VPC security group must work with the VPC containing the replication * instance.

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

Specifies the VPC security group to be used with the replication instance. * The VPC security group must work with the VPC containing the replication * instance.

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

Specifies the VPC security group to be used with the replication instance. * The VPC security group must work with the VPC containing the replication * instance.

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

Specifies the VPC security group to be used with the replication instance. * The VPC security group must work with the VPC containing the replication * instance.

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

Specifies the VPC security group to be used with the replication instance. * The VPC security group must work with the VPC containing the replication * instance.

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

Specifies the VPC security group to be used with the replication instance. * The VPC security group must work with the VPC containing the replication * instance.

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

The Availability Zone where the replication instance will be created. The * default value is a random, system-chosen Availability Zone in the endpoint's * Amazon Web Services Region, for example: us-east-1d.

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

The Availability Zone where the replication instance will be created. The * default value is a random, system-chosen Availability Zone in the endpoint's * Amazon Web Services Region, for example: us-east-1d.

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

The Availability Zone where the replication instance will be created. The * default value is a random, system-chosen Availability Zone in the endpoint's * Amazon Web Services Region, for example: us-east-1d.

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

The Availability Zone where the replication instance will be created. The * default value is a random, system-chosen Availability Zone in the endpoint's * Amazon Web Services Region, for example: us-east-1d.

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

The Availability Zone where the replication instance will be created. The * default value is a random, system-chosen Availability Zone in the endpoint's * Amazon Web Services Region, for example: us-east-1d.

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

The Availability Zone where the replication instance will be created. The * default value is a random, system-chosen Availability Zone in the endpoint's * Amazon Web Services Region, for example: us-east-1d.

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

The Availability Zone where the replication instance will be created. The * default value is a random, system-chosen Availability Zone in the endpoint's * Amazon Web Services Region, for example: us-east-1d.

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

The Availability Zone where the replication instance will be created. The * default value is a random, system-chosen Availability Zone in the endpoint's * Amazon Web Services Region, for example: us-east-1d.

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

A subnet group to associate with the replication instance.

*/ inline const Aws::String& GetReplicationSubnetGroupIdentifier() const{ return m_replicationSubnetGroupIdentifier; } /** *

A subnet group to associate with the replication instance.

*/ inline bool ReplicationSubnetGroupIdentifierHasBeenSet() const { return m_replicationSubnetGroupIdentifierHasBeenSet; } /** *

A subnet group to associate with the replication instance.

*/ inline void SetReplicationSubnetGroupIdentifier(const Aws::String& value) { m_replicationSubnetGroupIdentifierHasBeenSet = true; m_replicationSubnetGroupIdentifier = value; } /** *

A subnet group to associate with the replication instance.

*/ inline void SetReplicationSubnetGroupIdentifier(Aws::String&& value) { m_replicationSubnetGroupIdentifierHasBeenSet = true; m_replicationSubnetGroupIdentifier = std::move(value); } /** *

A subnet group to associate with the replication instance.

*/ inline void SetReplicationSubnetGroupIdentifier(const char* value) { m_replicationSubnetGroupIdentifierHasBeenSet = true; m_replicationSubnetGroupIdentifier.assign(value); } /** *

A subnet group to associate with the replication instance.

*/ inline CreateReplicationInstanceRequest& WithReplicationSubnetGroupIdentifier(const Aws::String& value) { SetReplicationSubnetGroupIdentifier(value); return *this;} /** *

A subnet group to associate with the replication instance.

*/ inline CreateReplicationInstanceRequest& WithReplicationSubnetGroupIdentifier(Aws::String&& value) { SetReplicationSubnetGroupIdentifier(std::move(value)); return *this;} /** *

A subnet group to associate with the replication instance.

*/ inline CreateReplicationInstanceRequest& WithReplicationSubnetGroupIdentifier(const char* value) { SetReplicationSubnetGroupIdentifier(value); return *this;} /** *

The weekly time range during which system maintenance can occur, in Universal * Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi *

Default: A 30-minute window selected at random from an 8-hour block of * time per Amazon Web Services Region, occurring on a random day of the week.

*

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum * 30-minute window.

*/ inline const Aws::String& GetPreferredMaintenanceWindow() const{ return m_preferredMaintenanceWindow; } /** *

The weekly time range during which system maintenance can occur, in Universal * Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi *

Default: A 30-minute window selected at random from an 8-hour block of * time per Amazon Web Services Region, occurring on a random day of the week.

*

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum * 30-minute window.

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

The weekly time range during which system maintenance can occur, in Universal * Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi *

Default: A 30-minute window selected at random from an 8-hour block of * time per Amazon Web Services Region, occurring on a random day of the week.

*

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum * 30-minute window.

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

The weekly time range during which system maintenance can occur, in Universal * Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi *

Default: A 30-minute window selected at random from an 8-hour block of * time per Amazon Web Services Region, occurring on a random day of the week.

*

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum * 30-minute window.

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

The weekly time range during which system maintenance can occur, in Universal * Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi *

Default: A 30-minute window selected at random from an 8-hour block of * time per Amazon Web Services Region, occurring on a random day of the week.

*

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum * 30-minute window.

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

The weekly time range during which system maintenance can occur, in Universal * Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi *

Default: A 30-minute window selected at random from an 8-hour block of * time per Amazon Web Services Region, occurring on a random day of the week.

*

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum * 30-minute window.

*/ inline CreateReplicationInstanceRequest& WithPreferredMaintenanceWindow(const Aws::String& value) { SetPreferredMaintenanceWindow(value); return *this;} /** *

The weekly time range during which system maintenance can occur, in Universal * Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi *

Default: A 30-minute window selected at random from an 8-hour block of * time per Amazon Web Services Region, occurring on a random day of the week.

*

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum * 30-minute window.

*/ inline CreateReplicationInstanceRequest& WithPreferredMaintenanceWindow(Aws::String&& value) { SetPreferredMaintenanceWindow(std::move(value)); return *this;} /** *

The weekly time range during which system maintenance can occur, in Universal * Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi *

Default: A 30-minute window selected at random from an 8-hour block of * time per Amazon Web Services Region, occurring on a random day of the week.

*

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum * 30-minute window.

*/ inline CreateReplicationInstanceRequest& WithPreferredMaintenanceWindow(const char* value) { SetPreferredMaintenanceWindow(value); return *this;} /** *

Specifies whether the replication instance is a Multi-AZ deployment. You * can't set the AvailabilityZone parameter if the Multi-AZ parameter * is set to true.

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

Specifies whether the replication instance is a Multi-AZ deployment. You * can't set the AvailabilityZone parameter if the Multi-AZ parameter * is set to true.

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

Specifies whether the replication instance is a Multi-AZ deployment. You * can't set the AvailabilityZone parameter if the Multi-AZ parameter * is set to true.

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

Specifies whether the replication instance is a Multi-AZ deployment. You * can't set the AvailabilityZone parameter if the Multi-AZ parameter * is set to true.

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

The engine version number of the replication instance.

If an engine * version number is not specified when a replication instance is created, the * default is the latest engine version available.

*/ inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; } /** *

The engine version number of the replication instance.

If an engine * version number is not specified when a replication instance is created, the * default is the latest engine version available.

*/ inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; } /** *

The engine version number of the replication instance.

If an engine * version number is not specified when a replication instance is created, the * default is the latest engine version available.

*/ inline void SetEngineVersion(const Aws::String& value) { m_engineVersionHasBeenSet = true; m_engineVersion = value; } /** *

The engine version number of the replication instance.

If an engine * version number is not specified when a replication instance is created, the * default is the latest engine version available.

*/ inline void SetEngineVersion(Aws::String&& value) { m_engineVersionHasBeenSet = true; m_engineVersion = std::move(value); } /** *

The engine version number of the replication instance.

If an engine * version number is not specified when a replication instance is created, the * default is the latest engine version available.

*/ inline void SetEngineVersion(const char* value) { m_engineVersionHasBeenSet = true; m_engineVersion.assign(value); } /** *

The engine version number of the replication instance.

If an engine * version number is not specified when a replication instance is created, the * default is the latest engine version available.

*/ inline CreateReplicationInstanceRequest& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;} /** *

The engine version number of the replication instance.

If an engine * version number is not specified when a replication instance is created, the * default is the latest engine version available.

*/ inline CreateReplicationInstanceRequest& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;} /** *

The engine version number of the replication instance.

If an engine * version number is not specified when a replication instance is created, the * default is the latest engine version available.

*/ inline CreateReplicationInstanceRequest& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;} /** *

A value that indicates whether minor engine upgrades are applied * automatically to the replication instance during the maintenance window. This * parameter defaults to true.

Default: true

*

When AutoMinorVersionUpgrade is enabled, DMS uses the current * default engine version when you create a replication instance. For example, if * you set EngineVersion to a lower version number than the current * default version, DMS uses the default version.

If * AutoMinorVersionUpgrade isn’t enabled when you create a * replication instance, DMS uses the engine version specified by the * EngineVersion parameter.

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

A value that indicates whether minor engine upgrades are applied * automatically to the replication instance during the maintenance window. This * parameter defaults to true.

Default: true

*

When AutoMinorVersionUpgrade is enabled, DMS uses the current * default engine version when you create a replication instance. For example, if * you set EngineVersion to a lower version number than the current * default version, DMS uses the default version.

If * AutoMinorVersionUpgrade isn’t enabled when you create a * replication instance, DMS uses the engine version specified by the * EngineVersion parameter.

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

A value that indicates whether minor engine upgrades are applied * automatically to the replication instance during the maintenance window. This * parameter defaults to true.

Default: true

*

When AutoMinorVersionUpgrade is enabled, DMS uses the current * default engine version when you create a replication instance. For example, if * you set EngineVersion to a lower version number than the current * default version, DMS uses the default version.

If * AutoMinorVersionUpgrade isn’t enabled when you create a * replication instance, DMS uses the engine version specified by the * EngineVersion parameter.

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

A value that indicates whether minor engine upgrades are applied * automatically to the replication instance during the maintenance window. This * parameter defaults to true.

Default: true

*

When AutoMinorVersionUpgrade is enabled, DMS uses the current * default engine version when you create a replication instance. For example, if * you set EngineVersion to a lower version number than the current * default version, DMS uses the default version.

If * AutoMinorVersionUpgrade isn’t enabled when you create a * replication instance, DMS uses the engine version specified by the * EngineVersion parameter.

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

One or more tags to be assigned to the replication instance.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

One or more tags to be assigned to the replication instance.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

One or more tags to be assigned to the replication instance.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

One or more tags to be assigned to the replication instance.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

One or more tags to be assigned to the replication instance.

*/ inline CreateReplicationInstanceRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

One or more tags to be assigned to the replication instance.

*/ inline CreateReplicationInstanceRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

One or more tags to be assigned to the replication instance.

*/ inline CreateReplicationInstanceRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

One or more tags to be assigned to the replication instance.

*/ inline CreateReplicationInstanceRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

An KMS key identifier that is used to encrypt the data on the replication * instance.

If you don't specify a value for the KmsKeyId * parameter, then DMS uses your default encryption key.

KMS creates the * default encryption key for your Amazon Web Services account. Your Amazon Web * Services account has a different default encryption key for each Amazon Web * Services Region.

*/ inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } /** *

An KMS key identifier that is used to encrypt the data on the replication * instance.

If you don't specify a value for the KmsKeyId * parameter, then DMS uses your default encryption key.

KMS creates the * default encryption key for your Amazon Web Services account. Your Amazon Web * Services account has a different default encryption key for each Amazon Web * Services Region.

*/ inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } /** *

An KMS key identifier that is used to encrypt the data on the replication * instance.

If you don't specify a value for the KmsKeyId * parameter, then DMS uses your default encryption key.

KMS creates the * default encryption key for your Amazon Web Services account. Your Amazon Web * Services account has a different default encryption key for each Amazon Web * Services Region.

*/ inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } /** *

An KMS key identifier that is used to encrypt the data on the replication * instance.

If you don't specify a value for the KmsKeyId * parameter, then DMS uses your default encryption key.

KMS creates the * default encryption key for your Amazon Web Services account. Your Amazon Web * Services account has a different default encryption key for each Amazon Web * Services Region.

*/ inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } /** *

An KMS key identifier that is used to encrypt the data on the replication * instance.

If you don't specify a value for the KmsKeyId * parameter, then DMS uses your default encryption key.

KMS creates the * default encryption key for your Amazon Web Services account. Your Amazon Web * Services account has a different default encryption key for each Amazon Web * Services Region.

*/ inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } /** *

An KMS key identifier that is used to encrypt the data on the replication * instance.

If you don't specify a value for the KmsKeyId * parameter, then DMS uses your default encryption key.

KMS creates the * default encryption key for your Amazon Web Services account. Your Amazon Web * Services account has a different default encryption key for each Amazon Web * Services Region.

*/ inline CreateReplicationInstanceRequest& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} /** *

An KMS key identifier that is used to encrypt the data on the replication * instance.

If you don't specify a value for the KmsKeyId * parameter, then DMS uses your default encryption key.

KMS creates the * default encryption key for your Amazon Web Services account. Your Amazon Web * Services account has a different default encryption key for each Amazon Web * Services Region.

*/ inline CreateReplicationInstanceRequest& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} /** *

An KMS key identifier that is used to encrypt the data on the replication * instance.

If you don't specify a value for the KmsKeyId * parameter, then DMS uses your default encryption key.

KMS creates the * default encryption key for your Amazon Web Services account. Your Amazon Web * Services account has a different default encryption key for each Amazon Web * Services Region.

*/ inline CreateReplicationInstanceRequest& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} /** *

Specifies the accessibility options for the replication instance. A value of * true represents an instance with a public IP address. A value of * false represents an instance with a private IP address. The default * value is true.

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

Specifies the accessibility options for the replication instance. A value of * true represents an instance with a public IP address. A value of * false represents an instance with a private IP address. The default * value is true.

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

Specifies the accessibility options for the replication instance. A value of * true represents an instance with a public IP address. A value of * false represents an instance with a private IP address. The default * value is true.

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

Specifies the accessibility options for the replication instance. A value of * true represents an instance with a public IP address. A value of * false represents an instance with a private IP address. The default * value is true.

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

A list of custom DNS name servers supported for the replication instance to * access your on-premise source or target database. This list overrides the * default name servers supported by the replication instance. You can specify a * comma-separated list of internet addresses for up to four on-premise DNS name * servers. For example: "1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"

*/ inline const Aws::String& GetDnsNameServers() const{ return m_dnsNameServers; } /** *

A list of custom DNS name servers supported for the replication instance to * access your on-premise source or target database. This list overrides the * default name servers supported by the replication instance. You can specify a * comma-separated list of internet addresses for up to four on-premise DNS name * servers. For example: "1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"

*/ inline bool DnsNameServersHasBeenSet() const { return m_dnsNameServersHasBeenSet; } /** *

A list of custom DNS name servers supported for the replication instance to * access your on-premise source or target database. This list overrides the * default name servers supported by the replication instance. You can specify a * comma-separated list of internet addresses for up to four on-premise DNS name * servers. For example: "1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"

*/ inline void SetDnsNameServers(const Aws::String& value) { m_dnsNameServersHasBeenSet = true; m_dnsNameServers = value; } /** *

A list of custom DNS name servers supported for the replication instance to * access your on-premise source or target database. This list overrides the * default name servers supported by the replication instance. You can specify a * comma-separated list of internet addresses for up to four on-premise DNS name * servers. For example: "1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"

*/ inline void SetDnsNameServers(Aws::String&& value) { m_dnsNameServersHasBeenSet = true; m_dnsNameServers = std::move(value); } /** *

A list of custom DNS name servers supported for the replication instance to * access your on-premise source or target database. This list overrides the * default name servers supported by the replication instance. You can specify a * comma-separated list of internet addresses for up to four on-premise DNS name * servers. For example: "1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"

*/ inline void SetDnsNameServers(const char* value) { m_dnsNameServersHasBeenSet = true; m_dnsNameServers.assign(value); } /** *

A list of custom DNS name servers supported for the replication instance to * access your on-premise source or target database. This list overrides the * default name servers supported by the replication instance. You can specify a * comma-separated list of internet addresses for up to four on-premise DNS name * servers. For example: "1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"

*/ inline CreateReplicationInstanceRequest& WithDnsNameServers(const Aws::String& value) { SetDnsNameServers(value); return *this;} /** *

A list of custom DNS name servers supported for the replication instance to * access your on-premise source or target database. This list overrides the * default name servers supported by the replication instance. You can specify a * comma-separated list of internet addresses for up to four on-premise DNS name * servers. For example: "1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"

*/ inline CreateReplicationInstanceRequest& WithDnsNameServers(Aws::String&& value) { SetDnsNameServers(std::move(value)); return *this;} /** *

A list of custom DNS name servers supported for the replication instance to * access your on-premise source or target database. This list overrides the * default name servers supported by the replication instance. You can specify a * comma-separated list of internet addresses for up to four on-premise DNS name * servers. For example: "1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"

*/ inline CreateReplicationInstanceRequest& WithDnsNameServers(const char* value) { SetDnsNameServers(value); return *this;} /** *

A friendly name for the resource identifier at the end of the * EndpointArn response parameter that is returned in the created * Endpoint object. The value for this parameter can have up to 31 * characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, * it can't end with a hyphen or contain two consecutive hyphens, and can only * begin with a letter, such as Example-App-ARN1. For example, this * value might result in the EndpointArn value * arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you * don't specify a ResourceIdentifier value, DMS generates a default * identifier value for the end of EndpointArn.

*/ inline const Aws::String& GetResourceIdentifier() const{ return m_resourceIdentifier; } /** *

A friendly name for the resource identifier at the end of the * EndpointArn response parameter that is returned in the created * Endpoint object. The value for this parameter can have up to 31 * characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, * it can't end with a hyphen or contain two consecutive hyphens, and can only * begin with a letter, such as Example-App-ARN1. For example, this * value might result in the EndpointArn value * arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you * don't specify a ResourceIdentifier value, DMS generates a default * identifier value for the end of EndpointArn.

*/ inline bool ResourceIdentifierHasBeenSet() const { return m_resourceIdentifierHasBeenSet; } /** *

A friendly name for the resource identifier at the end of the * EndpointArn response parameter that is returned in the created * Endpoint object. The value for this parameter can have up to 31 * characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, * it can't end with a hyphen or contain two consecutive hyphens, and can only * begin with a letter, such as Example-App-ARN1. For example, this * value might result in the EndpointArn value * arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you * don't specify a ResourceIdentifier value, DMS generates a default * identifier value for the end of EndpointArn.

*/ inline void SetResourceIdentifier(const Aws::String& value) { m_resourceIdentifierHasBeenSet = true; m_resourceIdentifier = value; } /** *

A friendly name for the resource identifier at the end of the * EndpointArn response parameter that is returned in the created * Endpoint object. The value for this parameter can have up to 31 * characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, * it can't end with a hyphen or contain two consecutive hyphens, and can only * begin with a letter, such as Example-App-ARN1. For example, this * value might result in the EndpointArn value * arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you * don't specify a ResourceIdentifier value, DMS generates a default * identifier value for the end of EndpointArn.

*/ inline void SetResourceIdentifier(Aws::String&& value) { m_resourceIdentifierHasBeenSet = true; m_resourceIdentifier = std::move(value); } /** *

A friendly name for the resource identifier at the end of the * EndpointArn response parameter that is returned in the created * Endpoint object. The value for this parameter can have up to 31 * characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, * it can't end with a hyphen or contain two consecutive hyphens, and can only * begin with a letter, such as Example-App-ARN1. For example, this * value might result in the EndpointArn value * arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you * don't specify a ResourceIdentifier value, DMS generates a default * identifier value for the end of EndpointArn.

*/ inline void SetResourceIdentifier(const char* value) { m_resourceIdentifierHasBeenSet = true; m_resourceIdentifier.assign(value); } /** *

A friendly name for the resource identifier at the end of the * EndpointArn response parameter that is returned in the created * Endpoint object. The value for this parameter can have up to 31 * characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, * it can't end with a hyphen or contain two consecutive hyphens, and can only * begin with a letter, such as Example-App-ARN1. For example, this * value might result in the EndpointArn value * arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you * don't specify a ResourceIdentifier value, DMS generates a default * identifier value for the end of EndpointArn.

*/ inline CreateReplicationInstanceRequest& WithResourceIdentifier(const Aws::String& value) { SetResourceIdentifier(value); return *this;} /** *

A friendly name for the resource identifier at the end of the * EndpointArn response parameter that is returned in the created * Endpoint object. The value for this parameter can have up to 31 * characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, * it can't end with a hyphen or contain two consecutive hyphens, and can only * begin with a letter, such as Example-App-ARN1. For example, this * value might result in the EndpointArn value * arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you * don't specify a ResourceIdentifier value, DMS generates a default * identifier value for the end of EndpointArn.

*/ inline CreateReplicationInstanceRequest& WithResourceIdentifier(Aws::String&& value) { SetResourceIdentifier(std::move(value)); return *this;} /** *

A friendly name for the resource identifier at the end of the * EndpointArn response parameter that is returned in the created * Endpoint object. The value for this parameter can have up to 31 * characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, * it can't end with a hyphen or contain two consecutive hyphens, and can only * begin with a letter, such as Example-App-ARN1. For example, this * value might result in the EndpointArn value * arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you * don't specify a ResourceIdentifier value, DMS generates a default * identifier value for the end of EndpointArn.

*/ inline CreateReplicationInstanceRequest& WithResourceIdentifier(const char* value) { SetResourceIdentifier(value); return *this;} /** *

The type of IP address protocol used by a replication instance, such as IPv4 * only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only is not * yet supported.

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

The type of IP address protocol used by a replication instance, such as IPv4 * only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only is not * yet supported.

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

The type of IP address protocol used by a replication instance, such as IPv4 * only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only is not * yet supported.

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

The type of IP address protocol used by a replication instance, such as IPv4 * only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only is not * yet supported.

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

The type of IP address protocol used by a replication instance, such as IPv4 * only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only is not * yet supported.

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

The type of IP address protocol used by a replication instance, such as IPv4 * only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only is not * yet supported.

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

The type of IP address protocol used by a replication instance, such as IPv4 * only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only is not * yet supported.

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

The type of IP address protocol used by a replication instance, such as IPv4 * only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only is not * yet supported.

*/ inline CreateReplicationInstanceRequest& WithNetworkType(const char* value) { SetNetworkType(value); return *this;} private: Aws::String m_replicationInstanceIdentifier; bool m_replicationInstanceIdentifierHasBeenSet = false; int m_allocatedStorage; bool m_allocatedStorageHasBeenSet = false; Aws::String m_replicationInstanceClass; bool m_replicationInstanceClassHasBeenSet = false; Aws::Vector m_vpcSecurityGroupIds; bool m_vpcSecurityGroupIdsHasBeenSet = false; Aws::String m_availabilityZone; bool m_availabilityZoneHasBeenSet = false; Aws::String m_replicationSubnetGroupIdentifier; bool m_replicationSubnetGroupIdentifierHasBeenSet = false; Aws::String m_preferredMaintenanceWindow; bool m_preferredMaintenanceWindowHasBeenSet = false; bool m_multiAZ; bool m_multiAZHasBeenSet = false; Aws::String m_engineVersion; bool m_engineVersionHasBeenSet = false; bool m_autoMinorVersionUpgrade; bool m_autoMinorVersionUpgradeHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet = false; bool m_publiclyAccessible; bool m_publiclyAccessibleHasBeenSet = false; Aws::String m_dnsNameServers; bool m_dnsNameServersHasBeenSet = false; Aws::String m_resourceIdentifier; bool m_resourceIdentifierHasBeenSet = false; Aws::String m_networkType; bool m_networkTypeHasBeenSet = false; }; } // namespace Model } // namespace DatabaseMigrationService } // namespace Aws