/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the dms-2016-01-01.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.DatabaseMigrationService.Model
{
///
/// Container for the parameters to the CreateReplicationInstance operation.
/// Creates the replication instance using the specified parameters.
///
///
///
/// DMS requires that your account have certain roles with appropriate permissions before
/// you can create a replication instance. For information on the required roles, see
/// Creating
/// the IAM Roles to Use With the CLI and DMS API. For information on the required
/// permissions, see IAM
/// Permissions Needed to Use DMS.
///
///
public partial class CreateReplicationInstanceRequest : AmazonDatabaseMigrationServiceRequest
{
private int? _allocatedStorage;
private bool? _autoMinorVersionUpgrade;
private string _availabilityZone;
private string _dnsNameServers;
private string _engineVersion;
private string _kmsKeyId;
private bool? _multiAZ;
private string _networkType;
private string _preferredMaintenanceWindow;
private bool? _publiclyAccessible;
private string _replicationInstanceClass;
private string _replicationInstanceIdentifier;
private string _replicationSubnetGroupIdentifier;
private string _resourceIdentifier;
private List _tags = new List();
private List _vpcSecurityGroupIds = new List();
///
/// Gets and sets the property AllocatedStorage.
///
/// The amount of storage (in gigabytes) to be initially allocated for the replication
/// instance.
///
///
public int AllocatedStorage
{
get { return this._allocatedStorage.GetValueOrDefault(); }
set { this._allocatedStorage = value; }
}
// Check to see if AllocatedStorage property is set
internal bool IsSetAllocatedStorage()
{
return this._allocatedStorage.HasValue;
}
///
/// Gets and sets the property 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.
///
///
public bool AutoMinorVersionUpgrade
{
get { return this._autoMinorVersionUpgrade.GetValueOrDefault(); }
set { this._autoMinorVersionUpgrade = value; }
}
// Check to see if AutoMinorVersionUpgrade property is set
internal bool IsSetAutoMinorVersionUpgrade()
{
return this._autoMinorVersionUpgrade.HasValue;
}
///
/// Gets and sets the property 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
.
///
///
public string AvailabilityZone
{
get { return this._availabilityZone; }
set { this._availabilityZone = value; }
}
// Check to see if AvailabilityZone property is set
internal bool IsSetAvailabilityZone()
{
return this._availabilityZone != null;
}
///
/// Gets and sets the property 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"
///
///
///
public string DnsNameServers
{
get { return this._dnsNameServers; }
set { this._dnsNameServers = value; }
}
// Check to see if DnsNameServers property is set
internal bool IsSetDnsNameServers()
{
return this._dnsNameServers != null;
}
///
/// Gets and sets the property 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.
///
///
public string EngineVersion
{
get { return this._engineVersion; }
set { this._engineVersion = value; }
}
// Check to see if EngineVersion property is set
internal bool IsSetEngineVersion()
{
return this._engineVersion != null;
}
///
/// Gets and sets the property 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.
///
///
public string KmsKeyId
{
get { return this._kmsKeyId; }
set { this._kmsKeyId = value; }
}
// Check to see if KmsKeyId property is set
internal bool IsSetKmsKeyId()
{
return this._kmsKeyId != null;
}
///
/// Gets and sets the property 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
.
///
///
///
public bool MultiAZ
{
get { return this._multiAZ.GetValueOrDefault(); }
set { this._multiAZ = value; }
}
// Check to see if MultiAZ property is set
internal bool IsSetMultiAZ()
{
return this._multiAZ.HasValue;
}
///
/// Gets and sets the property 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.
///
///
public string NetworkType
{
get { return this._networkType; }
set { this._networkType = value; }
}
// Check to see if NetworkType property is set
internal bool IsSetNetworkType()
{
return this._networkType != null;
}
///
/// Gets and sets the property 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.
///
///
public string PreferredMaintenanceWindow
{
get { return this._preferredMaintenanceWindow; }
set { this._preferredMaintenanceWindow = value; }
}
// Check to see if PreferredMaintenanceWindow property is set
internal bool IsSetPreferredMaintenanceWindow()
{
return this._preferredMaintenanceWindow != null;
}
///
/// Gets and sets the property 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
.
///
///
public bool PubliclyAccessible
{
get { return this._publiclyAccessible.GetValueOrDefault(); }
set { this._publiclyAccessible = value; }
}
// Check to see if PubliclyAccessible property is set
internal bool IsSetPubliclyAccessible()
{
return this._publiclyAccessible.HasValue;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Required=true)]
public string ReplicationInstanceClass
{
get { return this._replicationInstanceClass; }
set { this._replicationInstanceClass = value; }
}
// Check to see if ReplicationInstanceClass property is set
internal bool IsSetReplicationInstanceClass()
{
return this._replicationInstanceClass != null;
}
///
/// Gets and sets the property 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
///
///
[AWSProperty(Required=true)]
public string ReplicationInstanceIdentifier
{
get { return this._replicationInstanceIdentifier; }
set { this._replicationInstanceIdentifier = value; }
}
// Check to see if ReplicationInstanceIdentifier property is set
internal bool IsSetReplicationInstanceIdentifier()
{
return this._replicationInstanceIdentifier != null;
}
///
/// Gets and sets the property ReplicationSubnetGroupIdentifier.
///
/// A subnet group to associate with the replication instance.
///
///
public string ReplicationSubnetGroupIdentifier
{
get { return this._replicationSubnetGroupIdentifier; }
set { this._replicationSubnetGroupIdentifier = value; }
}
// Check to see if ReplicationSubnetGroupIdentifier property is set
internal bool IsSetReplicationSubnetGroupIdentifier()
{
return this._replicationSubnetGroupIdentifier != null;
}
///
/// Gets and sets the property 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
.
///
///
public string ResourceIdentifier
{
get { return this._resourceIdentifier; }
set { this._resourceIdentifier = value; }
}
// Check to see if ResourceIdentifier property is set
internal bool IsSetResourceIdentifier()
{
return this._resourceIdentifier != null;
}
///
/// Gets and sets the property Tags.
///
/// One or more tags to be assigned to the replication instance.
///
///
public List Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
///
/// Gets and sets the property 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.
///
///
public List VpcSecurityGroupIds
{
get { return this._vpcSecurityGroupIds; }
set { this._vpcSecurityGroupIds = value; }
}
// Check to see if VpcSecurityGroupIds property is set
internal bool IsSetVpcSecurityGroupIds()
{
return this._vpcSecurityGroupIds != null && this._vpcSecurityGroupIds.Count > 0;
}
}
}