/** * 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 #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace DatabaseMigrationService { namespace Model { /** *

Provides information that defines a replication instance.

See * Also:

AWS * API Reference

*/ class ReplicationInstance { public: AWS_DATABASEMIGRATIONSERVICE_API ReplicationInstance(); AWS_DATABASEMIGRATIONSERVICE_API ReplicationInstance(Aws::Utils::Json::JsonView jsonValue); AWS_DATABASEMIGRATIONSERVICE_API ReplicationInstance& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_DATABASEMIGRATIONSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

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

Constraints:

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

  • First * character must be a letter.

  • Cannot end with a hyphen or * contain two consecutive hyphens.

Example: * myrepinstance

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

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

Constraints:

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

  • First * character must be a letter.

  • Cannot end with a hyphen or * contain two consecutive hyphens.

Example: * myrepinstance

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

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

Constraints:

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

  • First * character must be a letter.

  • Cannot 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 is a required parameter. This parameter * is stored as a lowercase string.

Constraints:

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

  • First * character must be a letter.

  • Cannot 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 is a required parameter. This parameter * is stored as a lowercase string.

Constraints:

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

  • First * character must be a letter.

  • Cannot 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 is a required parameter. This parameter * is stored as a lowercase string.

Constraints:

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

  • First * character must be a letter.

  • Cannot end with a hyphen or * contain two consecutive hyphens.

Example: * myrepinstance

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

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

Constraints:

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

  • First * character must be a letter.

  • Cannot end with a hyphen or * contain two consecutive hyphens.

Example: * myrepinstance

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

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

Constraints:

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

  • First * character must be a letter.

  • Cannot end with a hyphen or * contain two consecutive hyphens.

Example: * myrepinstance

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

The compute and memory capacity of the replication instance as defined for * the specified replication instance class. It is a required parameter, although a * default value is pre-selected in the DMS console.

For more information on * the settings and capacities for the available replication instance classes, see * * Selecting the right DMS replication instance for your migration.

*/ 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. It is a required parameter, although a * default value is pre-selected in the DMS console.

For more information on * the settings and capacities for the available replication instance classes, see * * Selecting the right DMS replication instance for your migration.

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

The compute and memory capacity of the replication instance as defined for * the specified replication instance class. It is a required parameter, although a * default value is pre-selected in the DMS console.

For more information on * the settings and capacities for the available replication instance classes, see * * Selecting the right DMS replication instance for your migration.

*/ 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. It is a required parameter, although a * default value is pre-selected in the DMS console.

For more information on * the settings and capacities for the available replication instance classes, see * * Selecting the right DMS replication instance for your migration.

*/ 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. It is a required parameter, although a * default value is pre-selected in the DMS console.

For more information on * the settings and capacities for the available replication instance classes, see * * Selecting the right DMS replication instance for your migration.

*/ 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. It is a required parameter, although a * default value is pre-selected in the DMS console.

For more information on * the settings and capacities for the available replication instance classes, see * * Selecting the right DMS replication instance for your migration.

*/ inline ReplicationInstance& 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. It is a required parameter, although a * default value is pre-selected in the DMS console.

For more information on * the settings and capacities for the available replication instance classes, see * * Selecting the right DMS replication instance for your migration.

*/ inline ReplicationInstance& 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. It is a required parameter, although a * default value is pre-selected in the DMS console.

For more information on * the settings and capacities for the available replication instance classes, see * * Selecting the right DMS replication instance for your migration.

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

The status of the replication instance. The possible return values * include:

  • "available"

  • * "creating"

  • "deleted"

  • *
  • "deleting"

  • "failed"

    *
  • "modifying"

  • * "upgrading"

  • "rebooting"

  • *
  • "resetting-master-credentials"

  • * "storage-full"

  • * "incompatible-credentials"

  • * "incompatible-network"

  • * "maintenance"

*/ inline const Aws::String& GetReplicationInstanceStatus() const{ return m_replicationInstanceStatus; } /** *

The status of the replication instance. The possible return values * include:

  • "available"

  • * "creating"

  • "deleted"

  • *
  • "deleting"

  • "failed"

    *
  • "modifying"

  • * "upgrading"

  • "rebooting"

  • *
  • "resetting-master-credentials"

  • * "storage-full"

  • * "incompatible-credentials"

  • * "incompatible-network"

  • * "maintenance"

*/ inline bool ReplicationInstanceStatusHasBeenSet() const { return m_replicationInstanceStatusHasBeenSet; } /** *

The status of the replication instance. The possible return values * include:

  • "available"

  • * "creating"

  • "deleted"

  • *
  • "deleting"

  • "failed"

    *
  • "modifying"

  • * "upgrading"

  • "rebooting"

  • *
  • "resetting-master-credentials"

  • * "storage-full"

  • * "incompatible-credentials"

  • * "incompatible-network"

  • * "maintenance"

*/ inline void SetReplicationInstanceStatus(const Aws::String& value) { m_replicationInstanceStatusHasBeenSet = true; m_replicationInstanceStatus = value; } /** *

The status of the replication instance. The possible return values * include:

  • "available"

  • * "creating"

  • "deleted"

  • *
  • "deleting"

  • "failed"

    *
  • "modifying"

  • * "upgrading"

  • "rebooting"

  • *
  • "resetting-master-credentials"

  • * "storage-full"

  • * "incompatible-credentials"

  • * "incompatible-network"

  • * "maintenance"

*/ inline void SetReplicationInstanceStatus(Aws::String&& value) { m_replicationInstanceStatusHasBeenSet = true; m_replicationInstanceStatus = std::move(value); } /** *

The status of the replication instance. The possible return values * include:

  • "available"

  • * "creating"

  • "deleted"

  • *
  • "deleting"

  • "failed"

    *
  • "modifying"

  • * "upgrading"

  • "rebooting"

  • *
  • "resetting-master-credentials"

  • * "storage-full"

  • * "incompatible-credentials"

  • * "incompatible-network"

  • * "maintenance"

*/ inline void SetReplicationInstanceStatus(const char* value) { m_replicationInstanceStatusHasBeenSet = true; m_replicationInstanceStatus.assign(value); } /** *

The status of the replication instance. The possible return values * include:

  • "available"

  • * "creating"

  • "deleted"

  • *
  • "deleting"

  • "failed"

    *
  • "modifying"

  • * "upgrading"

  • "rebooting"

  • *
  • "resetting-master-credentials"

  • * "storage-full"

  • * "incompatible-credentials"

  • * "incompatible-network"

  • * "maintenance"

*/ inline ReplicationInstance& WithReplicationInstanceStatus(const Aws::String& value) { SetReplicationInstanceStatus(value); return *this;} /** *

The status of the replication instance. The possible return values * include:

  • "available"

  • * "creating"

  • "deleted"

  • *
  • "deleting"

  • "failed"

    *
  • "modifying"

  • * "upgrading"

  • "rebooting"

  • *
  • "resetting-master-credentials"

  • * "storage-full"

  • * "incompatible-credentials"

  • * "incompatible-network"

  • * "maintenance"

*/ inline ReplicationInstance& WithReplicationInstanceStatus(Aws::String&& value) { SetReplicationInstanceStatus(std::move(value)); return *this;} /** *

The status of the replication instance. The possible return values * include:

  • "available"

  • * "creating"

  • "deleted"

  • *
  • "deleting"

  • "failed"

    *
  • "modifying"

  • * "upgrading"

  • "rebooting"

  • *
  • "resetting-master-credentials"

  • * "storage-full"

  • * "incompatible-credentials"

  • * "incompatible-network"

  • * "maintenance"

*/ inline ReplicationInstance& WithReplicationInstanceStatus(const char* value) { SetReplicationInstanceStatus(value); return *this;} /** *

The amount of storage (in gigabytes) that is allocated for the replication * instance.

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

The amount of storage (in gigabytes) that is allocated for the replication * instance.

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

The amount of storage (in gigabytes) that is allocated for the replication * instance.

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

The amount of storage (in gigabytes) that is allocated for the replication * instance.

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

The time the replication instance was created.

*/ inline const Aws::Utils::DateTime& GetInstanceCreateTime() const{ return m_instanceCreateTime; } /** *

The time the replication instance was created.

*/ inline bool InstanceCreateTimeHasBeenSet() const { return m_instanceCreateTimeHasBeenSet; } /** *

The time the replication instance was created.

*/ inline void SetInstanceCreateTime(const Aws::Utils::DateTime& value) { m_instanceCreateTimeHasBeenSet = true; m_instanceCreateTime = value; } /** *

The time the replication instance was created.

*/ inline void SetInstanceCreateTime(Aws::Utils::DateTime&& value) { m_instanceCreateTimeHasBeenSet = true; m_instanceCreateTime = std::move(value); } /** *

The time the replication instance was created.

*/ inline ReplicationInstance& WithInstanceCreateTime(const Aws::Utils::DateTime& value) { SetInstanceCreateTime(value); return *this;} /** *

The time the replication instance was created.

*/ inline ReplicationInstance& WithInstanceCreateTime(Aws::Utils::DateTime&& value) { SetInstanceCreateTime(std::move(value)); return *this;} /** *

The VPC security group for the instance.

*/ inline const Aws::Vector& GetVpcSecurityGroups() const{ return m_vpcSecurityGroups; } /** *

The VPC security group for the instance.

*/ inline bool VpcSecurityGroupsHasBeenSet() const { return m_vpcSecurityGroupsHasBeenSet; } /** *

The VPC security group for the instance.

*/ inline void SetVpcSecurityGroups(const Aws::Vector& value) { m_vpcSecurityGroupsHasBeenSet = true; m_vpcSecurityGroups = value; } /** *

The VPC security group for the instance.

*/ inline void SetVpcSecurityGroups(Aws::Vector&& value) { m_vpcSecurityGroupsHasBeenSet = true; m_vpcSecurityGroups = std::move(value); } /** *

The VPC security group for the instance.

*/ inline ReplicationInstance& WithVpcSecurityGroups(const Aws::Vector& value) { SetVpcSecurityGroups(value); return *this;} /** *

The VPC security group for the instance.

*/ inline ReplicationInstance& WithVpcSecurityGroups(Aws::Vector&& value) { SetVpcSecurityGroups(std::move(value)); return *this;} /** *

The VPC security group for the instance.

*/ inline ReplicationInstance& AddVpcSecurityGroups(const VpcSecurityGroupMembership& value) { m_vpcSecurityGroupsHasBeenSet = true; m_vpcSecurityGroups.push_back(value); return *this; } /** *

The VPC security group for the instance.

*/ inline ReplicationInstance& AddVpcSecurityGroups(VpcSecurityGroupMembership&& value) { m_vpcSecurityGroupsHasBeenSet = true; m_vpcSecurityGroups.push_back(std::move(value)); return *this; } /** *

The Availability Zone for the instance.

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

The Availability Zone for the instance.

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

The Availability Zone for the instance.

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

The Availability Zone for the instance.

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

The Availability Zone for the instance.

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

The Availability Zone for the instance.

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

The Availability Zone for the instance.

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

The Availability Zone for the instance.

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

The subnet group for the replication instance.

*/ inline const ReplicationSubnetGroup& GetReplicationSubnetGroup() const{ return m_replicationSubnetGroup; } /** *

The subnet group for the replication instance.

*/ inline bool ReplicationSubnetGroupHasBeenSet() const { return m_replicationSubnetGroupHasBeenSet; } /** *

The subnet group for the replication instance.

*/ inline void SetReplicationSubnetGroup(const ReplicationSubnetGroup& value) { m_replicationSubnetGroupHasBeenSet = true; m_replicationSubnetGroup = value; } /** *

The subnet group for the replication instance.

*/ inline void SetReplicationSubnetGroup(ReplicationSubnetGroup&& value) { m_replicationSubnetGroupHasBeenSet = true; m_replicationSubnetGroup = std::move(value); } /** *

The subnet group for the replication instance.

*/ inline ReplicationInstance& WithReplicationSubnetGroup(const ReplicationSubnetGroup& value) { SetReplicationSubnetGroup(value); return *this;} /** *

The subnet group for the replication instance.

*/ inline ReplicationInstance& WithReplicationSubnetGroup(ReplicationSubnetGroup&& value) { SetReplicationSubnetGroup(std::move(value)); return *this;} /** *

The maintenance window times for the replication instance. Any pending * upgrades to the replication instance are performed during this time.

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

The maintenance window times for the replication instance. Any pending * upgrades to the replication instance are performed during this time.

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

The maintenance window times for the replication instance. Any pending * upgrades to the replication instance are performed during this time.

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

The maintenance window times for the replication instance. Any pending * upgrades to the replication instance are performed during this time.

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

The maintenance window times for the replication instance. Any pending * upgrades to the replication instance are performed during this time.

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

The maintenance window times for the replication instance. Any pending * upgrades to the replication instance are performed during this time.

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

The maintenance window times for the replication instance. Any pending * upgrades to the replication instance are performed during this time.

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

The maintenance window times for the replication instance. Any pending * upgrades to the replication instance are performed during this time.

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

The pending modification values.

*/ inline const ReplicationPendingModifiedValues& GetPendingModifiedValues() const{ return m_pendingModifiedValues; } /** *

The pending modification values.

*/ inline bool PendingModifiedValuesHasBeenSet() const { return m_pendingModifiedValuesHasBeenSet; } /** *

The pending modification values.

*/ inline void SetPendingModifiedValues(const ReplicationPendingModifiedValues& value) { m_pendingModifiedValuesHasBeenSet = true; m_pendingModifiedValues = value; } /** *

The pending modification values.

*/ inline void SetPendingModifiedValues(ReplicationPendingModifiedValues&& value) { m_pendingModifiedValuesHasBeenSet = true; m_pendingModifiedValues = std::move(value); } /** *

The pending modification values.

*/ inline ReplicationInstance& WithPendingModifiedValues(const ReplicationPendingModifiedValues& value) { SetPendingModifiedValues(value); return *this;} /** *

The pending modification values.

*/ inline ReplicationInstance& WithPendingModifiedValues(ReplicationPendingModifiedValues&& value) { SetPendingModifiedValues(std::move(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 ReplicationInstance& 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.

When modifying a major * engine version of an instance, also set AllowMajorVersionUpgrade to * true.

*/ 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.

When modifying a major * engine version of an instance, also set AllowMajorVersionUpgrade to * true.

*/ 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.

When modifying a major * engine version of an instance, also set AllowMajorVersionUpgrade to * true.

*/ 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.

When modifying a major * engine version of an instance, also set AllowMajorVersionUpgrade to * true.

*/ 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.

When modifying a major * engine version of an instance, also set AllowMajorVersionUpgrade to * true.

*/ 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.

When modifying a major * engine version of an instance, also set AllowMajorVersionUpgrade to * true.

*/ inline ReplicationInstance& 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.

When modifying a major * engine version of an instance, also set AllowMajorVersionUpgrade to * true.

*/ inline ReplicationInstance& 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.

When modifying a major * engine version of an instance, also set AllowMajorVersionUpgrade to * true.

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

Boolean value indicating if minor version upgrades will be automatically * applied to the instance.

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

Boolean value indicating if minor version upgrades will be automatically * applied to the instance.

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

Boolean value indicating if minor version upgrades will be automatically * applied to the instance.

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

Boolean value indicating if minor version upgrades will be automatically * applied to the instance.

*/ inline ReplicationInstance& WithAutoMinorVersionUpgrade(bool value) { SetAutoMinorVersionUpgrade(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 ReplicationInstance& 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 ReplicationInstance& 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 ReplicationInstance& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} /** *

The Amazon Resource Name (ARN) of the replication instance.

*/ inline const Aws::String& GetReplicationInstanceArn() const{ return m_replicationInstanceArn; } /** *

The Amazon Resource Name (ARN) of the replication instance.

*/ inline bool ReplicationInstanceArnHasBeenSet() const { return m_replicationInstanceArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the replication instance.

*/ inline void SetReplicationInstanceArn(const Aws::String& value) { m_replicationInstanceArnHasBeenSet = true; m_replicationInstanceArn = value; } /** *

The Amazon Resource Name (ARN) of the replication instance.

*/ inline void SetReplicationInstanceArn(Aws::String&& value) { m_replicationInstanceArnHasBeenSet = true; m_replicationInstanceArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the replication instance.

*/ inline void SetReplicationInstanceArn(const char* value) { m_replicationInstanceArnHasBeenSet = true; m_replicationInstanceArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the replication instance.

*/ inline ReplicationInstance& WithReplicationInstanceArn(const Aws::String& value) { SetReplicationInstanceArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the replication instance.

*/ inline ReplicationInstance& WithReplicationInstanceArn(Aws::String&& value) { SetReplicationInstanceArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the replication instance.

*/ inline ReplicationInstance& WithReplicationInstanceArn(const char* value) { SetReplicationInstanceArn(value); return *this;} /** *

One or more public IP addresses for the replication instance.

*/ inline const Aws::Vector& GetReplicationInstancePublicIpAddresses() const{ return m_replicationInstancePublicIpAddresses; } /** *

One or more public IP addresses for the replication instance.

*/ inline bool ReplicationInstancePublicIpAddressesHasBeenSet() const { return m_replicationInstancePublicIpAddressesHasBeenSet; } /** *

One or more public IP addresses for the replication instance.

*/ inline void SetReplicationInstancePublicIpAddresses(const Aws::Vector& value) { m_replicationInstancePublicIpAddressesHasBeenSet = true; m_replicationInstancePublicIpAddresses = value; } /** *

One or more public IP addresses for the replication instance.

*/ inline void SetReplicationInstancePublicIpAddresses(Aws::Vector&& value) { m_replicationInstancePublicIpAddressesHasBeenSet = true; m_replicationInstancePublicIpAddresses = std::move(value); } /** *

One or more public IP addresses for the replication instance.

*/ inline ReplicationInstance& WithReplicationInstancePublicIpAddresses(const Aws::Vector& value) { SetReplicationInstancePublicIpAddresses(value); return *this;} /** *

One or more public IP addresses for the replication instance.

*/ inline ReplicationInstance& WithReplicationInstancePublicIpAddresses(Aws::Vector&& value) { SetReplicationInstancePublicIpAddresses(std::move(value)); return *this;} /** *

One or more public IP addresses for the replication instance.

*/ inline ReplicationInstance& AddReplicationInstancePublicIpAddresses(const Aws::String& value) { m_replicationInstancePublicIpAddressesHasBeenSet = true; m_replicationInstancePublicIpAddresses.push_back(value); return *this; } /** *

One or more public IP addresses for the replication instance.

*/ inline ReplicationInstance& AddReplicationInstancePublicIpAddresses(Aws::String&& value) { m_replicationInstancePublicIpAddressesHasBeenSet = true; m_replicationInstancePublicIpAddresses.push_back(std::move(value)); return *this; } /** *

One or more public IP addresses for the replication instance.

*/ inline ReplicationInstance& AddReplicationInstancePublicIpAddresses(const char* value) { m_replicationInstancePublicIpAddressesHasBeenSet = true; m_replicationInstancePublicIpAddresses.push_back(value); return *this; } /** *

One or more private IP addresses for the replication instance.

*/ inline const Aws::Vector& GetReplicationInstancePrivateIpAddresses() const{ return m_replicationInstancePrivateIpAddresses; } /** *

One or more private IP addresses for the replication instance.

*/ inline bool ReplicationInstancePrivateIpAddressesHasBeenSet() const { return m_replicationInstancePrivateIpAddressesHasBeenSet; } /** *

One or more private IP addresses for the replication instance.

*/ inline void SetReplicationInstancePrivateIpAddresses(const Aws::Vector& value) { m_replicationInstancePrivateIpAddressesHasBeenSet = true; m_replicationInstancePrivateIpAddresses = value; } /** *

One or more private IP addresses for the replication instance.

*/ inline void SetReplicationInstancePrivateIpAddresses(Aws::Vector&& value) { m_replicationInstancePrivateIpAddressesHasBeenSet = true; m_replicationInstancePrivateIpAddresses = std::move(value); } /** *

One or more private IP addresses for the replication instance.

*/ inline ReplicationInstance& WithReplicationInstancePrivateIpAddresses(const Aws::Vector& value) { SetReplicationInstancePrivateIpAddresses(value); return *this;} /** *

One or more private IP addresses for the replication instance.

*/ inline ReplicationInstance& WithReplicationInstancePrivateIpAddresses(Aws::Vector&& value) { SetReplicationInstancePrivateIpAddresses(std::move(value)); return *this;} /** *

One or more private IP addresses for the replication instance.

*/ inline ReplicationInstance& AddReplicationInstancePrivateIpAddresses(const Aws::String& value) { m_replicationInstancePrivateIpAddressesHasBeenSet = true; m_replicationInstancePrivateIpAddresses.push_back(value); return *this; } /** *

One or more private IP addresses for the replication instance.

*/ inline ReplicationInstance& AddReplicationInstancePrivateIpAddresses(Aws::String&& value) { m_replicationInstancePrivateIpAddressesHasBeenSet = true; m_replicationInstancePrivateIpAddresses.push_back(std::move(value)); return *this; } /** *

One or more private IP addresses for the replication instance.

*/ inline ReplicationInstance& AddReplicationInstancePrivateIpAddresses(const char* value) { m_replicationInstancePrivateIpAddressesHasBeenSet = true; m_replicationInstancePrivateIpAddresses.push_back(value); return *this; } /** *

One or more IPv6 addresses for the replication instance.

*/ inline const Aws::Vector& GetReplicationInstanceIpv6Addresses() const{ return m_replicationInstanceIpv6Addresses; } /** *

One or more IPv6 addresses for the replication instance.

*/ inline bool ReplicationInstanceIpv6AddressesHasBeenSet() const { return m_replicationInstanceIpv6AddressesHasBeenSet; } /** *

One or more IPv6 addresses for the replication instance.

*/ inline void SetReplicationInstanceIpv6Addresses(const Aws::Vector& value) { m_replicationInstanceIpv6AddressesHasBeenSet = true; m_replicationInstanceIpv6Addresses = value; } /** *

One or more IPv6 addresses for the replication instance.

*/ inline void SetReplicationInstanceIpv6Addresses(Aws::Vector&& value) { m_replicationInstanceIpv6AddressesHasBeenSet = true; m_replicationInstanceIpv6Addresses = std::move(value); } /** *

One or more IPv6 addresses for the replication instance.

*/ inline ReplicationInstance& WithReplicationInstanceIpv6Addresses(const Aws::Vector& value) { SetReplicationInstanceIpv6Addresses(value); return *this;} /** *

One or more IPv6 addresses for the replication instance.

*/ inline ReplicationInstance& WithReplicationInstanceIpv6Addresses(Aws::Vector&& value) { SetReplicationInstanceIpv6Addresses(std::move(value)); return *this;} /** *

One or more IPv6 addresses for the replication instance.

*/ inline ReplicationInstance& AddReplicationInstanceIpv6Addresses(const Aws::String& value) { m_replicationInstanceIpv6AddressesHasBeenSet = true; m_replicationInstanceIpv6Addresses.push_back(value); return *this; } /** *

One or more IPv6 addresses for the replication instance.

*/ inline ReplicationInstance& AddReplicationInstanceIpv6Addresses(Aws::String&& value) { m_replicationInstanceIpv6AddressesHasBeenSet = true; m_replicationInstanceIpv6Addresses.push_back(std::move(value)); return *this; } /** *

One or more IPv6 addresses for the replication instance.

*/ inline ReplicationInstance& AddReplicationInstanceIpv6Addresses(const char* value) { m_replicationInstanceIpv6AddressesHasBeenSet = true; m_replicationInstanceIpv6Addresses.push_back(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 ReplicationInstance& WithPubliclyAccessible(bool value) { SetPubliclyAccessible(value); return *this;} /** *

The Availability Zone of the standby replication instance in a Multi-AZ * deployment.

*/ inline const Aws::String& GetSecondaryAvailabilityZone() const{ return m_secondaryAvailabilityZone; } /** *

The Availability Zone of the standby replication instance in a Multi-AZ * deployment.

*/ inline bool SecondaryAvailabilityZoneHasBeenSet() const { return m_secondaryAvailabilityZoneHasBeenSet; } /** *

The Availability Zone of the standby replication instance in a Multi-AZ * deployment.

*/ inline void SetSecondaryAvailabilityZone(const Aws::String& value) { m_secondaryAvailabilityZoneHasBeenSet = true; m_secondaryAvailabilityZone = value; } /** *

The Availability Zone of the standby replication instance in a Multi-AZ * deployment.

*/ inline void SetSecondaryAvailabilityZone(Aws::String&& value) { m_secondaryAvailabilityZoneHasBeenSet = true; m_secondaryAvailabilityZone = std::move(value); } /** *

The Availability Zone of the standby replication instance in a Multi-AZ * deployment.

*/ inline void SetSecondaryAvailabilityZone(const char* value) { m_secondaryAvailabilityZoneHasBeenSet = true; m_secondaryAvailabilityZone.assign(value); } /** *

The Availability Zone of the standby replication instance in a Multi-AZ * deployment.

*/ inline ReplicationInstance& WithSecondaryAvailabilityZone(const Aws::String& value) { SetSecondaryAvailabilityZone(value); return *this;} /** *

The Availability Zone of the standby replication instance in a Multi-AZ * deployment.

*/ inline ReplicationInstance& WithSecondaryAvailabilityZone(Aws::String&& value) { SetSecondaryAvailabilityZone(std::move(value)); return *this;} /** *

The Availability Zone of the standby replication instance in a Multi-AZ * deployment.

*/ inline ReplicationInstance& WithSecondaryAvailabilityZone(const char* value) { SetSecondaryAvailabilityZone(value); return *this;} /** *

The expiration date of the free replication instance that is part of the * Free DMS program.

*/ inline const Aws::Utils::DateTime& GetFreeUntil() const{ return m_freeUntil; } /** *

The expiration date of the free replication instance that is part of the * Free DMS program.

*/ inline bool FreeUntilHasBeenSet() const { return m_freeUntilHasBeenSet; } /** *

The expiration date of the free replication instance that is part of the * Free DMS program.

*/ inline void SetFreeUntil(const Aws::Utils::DateTime& value) { m_freeUntilHasBeenSet = true; m_freeUntil = value; } /** *

The expiration date of the free replication instance that is part of the * Free DMS program.

*/ inline void SetFreeUntil(Aws::Utils::DateTime&& value) { m_freeUntilHasBeenSet = true; m_freeUntil = std::move(value); } /** *

The expiration date of the free replication instance that is part of the * Free DMS program.

*/ inline ReplicationInstance& WithFreeUntil(const Aws::Utils::DateTime& value) { SetFreeUntil(value); return *this;} /** *

The expiration date of the free replication instance that is part of the * Free DMS program.

*/ inline ReplicationInstance& WithFreeUntil(Aws::Utils::DateTime&& value) { SetFreeUntil(std::move(value)); return *this;} /** *

The DNS name servers supported for the replication instance to access your * on-premise source or target database.

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

The DNS name servers supported for the replication instance to access your * on-premise source or target database.

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

The DNS name servers supported for the replication instance to access your * on-premise source or target database.

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

The DNS name servers supported for the replication instance to access your * on-premise source or target database.

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

The DNS name servers supported for the replication instance to access your * on-premise source or target database.

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

The DNS name servers supported for the replication instance to access your * on-premise source or target database.

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

The DNS name servers supported for the replication instance to access your * on-premise source or target database.

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

The DNS name servers supported for the replication instance to access your * on-premise source or target database.

*/ inline ReplicationInstance& WithDnsNameServers(const char* value) { SetDnsNameServers(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 ReplicationInstance& 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 ReplicationInstance& 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 ReplicationInstance& WithNetworkType(const char* value) { SetNetworkType(value); return *this;} private: Aws::String m_replicationInstanceIdentifier; bool m_replicationInstanceIdentifierHasBeenSet = false; Aws::String m_replicationInstanceClass; bool m_replicationInstanceClassHasBeenSet = false; Aws::String m_replicationInstanceStatus; bool m_replicationInstanceStatusHasBeenSet = false; int m_allocatedStorage; bool m_allocatedStorageHasBeenSet = false; Aws::Utils::DateTime m_instanceCreateTime; bool m_instanceCreateTimeHasBeenSet = false; Aws::Vector m_vpcSecurityGroups; bool m_vpcSecurityGroupsHasBeenSet = false; Aws::String m_availabilityZone; bool m_availabilityZoneHasBeenSet = false; ReplicationSubnetGroup m_replicationSubnetGroup; bool m_replicationSubnetGroupHasBeenSet = false; Aws::String m_preferredMaintenanceWindow; bool m_preferredMaintenanceWindowHasBeenSet = false; ReplicationPendingModifiedValues m_pendingModifiedValues; bool m_pendingModifiedValuesHasBeenSet = false; bool m_multiAZ; bool m_multiAZHasBeenSet = false; Aws::String m_engineVersion; bool m_engineVersionHasBeenSet = false; bool m_autoMinorVersionUpgrade; bool m_autoMinorVersionUpgradeHasBeenSet = false; Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet = false; Aws::String m_replicationInstanceArn; bool m_replicationInstanceArnHasBeenSet = false; Aws::Vector m_replicationInstancePublicIpAddresses; bool m_replicationInstancePublicIpAddressesHasBeenSet = false; Aws::Vector m_replicationInstancePrivateIpAddresses; bool m_replicationInstancePrivateIpAddressesHasBeenSet = false; Aws::Vector m_replicationInstanceIpv6Addresses; bool m_replicationInstanceIpv6AddressesHasBeenSet = false; bool m_publiclyAccessible; bool m_publiclyAccessibleHasBeenSet = false; Aws::String m_secondaryAvailabilityZone; bool m_secondaryAvailabilityZoneHasBeenSet = false; Aws::Utils::DateTime m_freeUntil; bool m_freeUntilHasBeenSet = false; Aws::String m_dnsNameServers; bool m_dnsNameServersHasBeenSet = false; Aws::String m_networkType; bool m_networkTypeHasBeenSet = false; }; } // namespace Model } // namespace DatabaseMigrationService } // namespace Aws