/*
* 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
{
///
/// Provides information that defines a replication instance.
///
public partial class ReplicationInstance
{
private int? _allocatedStorage;
private bool? _autoMinorVersionUpgrade;
private string _availabilityZone;
private string _dnsNameServers;
private string _engineVersion;
private DateTime? _freeUntil;
private DateTime? _instanceCreateTime;
private string _kmsKeyId;
private bool? _multiAZ;
private string _networkType;
private ReplicationPendingModifiedValues _pendingModifiedValues;
private string _preferredMaintenanceWindow;
private bool? _publiclyAccessible;
private string _replicationInstanceArn;
private string _replicationInstanceClass;
private string _replicationInstanceIdentifier;
private List _replicationInstanceIpv6Addresses = new List();
private string _replicationInstancePrivateIpAddress;
private List _replicationInstancePrivateIpAddresses = new List();
private string _replicationInstancePublicIpAddress;
private List _replicationInstancePublicIpAddresses = new List();
private string _replicationInstanceStatus;
private ReplicationSubnetGroup _replicationSubnetGroup;
private string _secondaryAvailabilityZone;
private List _vpcSecurityGroups = new List();
///
/// Gets and sets the property AllocatedStorage.
///
/// The amount of storage (in gigabytes) that is 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.
///
/// Boolean value indicating if minor version upgrades will be automatically applied to
/// the instance.
///
///
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 for the instance.
///
///
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.
///
/// The DNS name servers supported for the replication instance to access your on-premise
/// source or target database.
///
///
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.
///
///
///
/// When modifying a major engine version of an instance, also set AllowMajorVersionUpgrade
/// to true
.
///
///
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 FreeUntil.
///
/// The expiration date of the free replication instance that is part of the Free DMS
/// program.
///
///
public DateTime FreeUntil
{
get { return this._freeUntil.GetValueOrDefault(); }
set { this._freeUntil = value; }
}
// Check to see if FreeUntil property is set
internal bool IsSetFreeUntil()
{
return this._freeUntil.HasValue;
}
///
/// Gets and sets the property InstanceCreateTime.
///
/// The time the replication instance was created.
///
///
public DateTime InstanceCreateTime
{
get { return this._instanceCreateTime.GetValueOrDefault(); }
set { this._instanceCreateTime = value; }
}
// Check to see if InstanceCreateTime property is set
internal bool IsSetInstanceCreateTime()
{
return this._instanceCreateTime.HasValue;
}
///
/// 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 PendingModifiedValues.
///
/// The pending modification values.
///
///
public ReplicationPendingModifiedValues PendingModifiedValues
{
get { return this._pendingModifiedValues; }
set { this._pendingModifiedValues = value; }
}
// Check to see if PendingModifiedValues property is set
internal bool IsSetPendingModifiedValues()
{
return this._pendingModifiedValues != null;
}
///
/// Gets and sets the property PreferredMaintenanceWindow.
///
/// The maintenance window times for the replication instance. Any pending upgrades to
/// the replication instance are performed during this time.
///
///
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 ReplicationInstanceArn.
///
/// The Amazon Resource Name (ARN) of the replication instance.
///
///
public string ReplicationInstanceArn
{
get { return this._replicationInstanceArn; }
set { this._replicationInstanceArn = value; }
}
// Check to see if ReplicationInstanceArn property is set
internal bool IsSetReplicationInstanceArn()
{
return this._replicationInstanceArn != null;
}
///
/// Gets and sets the property 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.
///
///
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 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
///
///
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 ReplicationInstanceIpv6Addresses.
///
/// One or more IPv6 addresses for the replication instance.
///
///
public List ReplicationInstanceIpv6Addresses
{
get { return this._replicationInstanceIpv6Addresses; }
set { this._replicationInstanceIpv6Addresses = value; }
}
// Check to see if ReplicationInstanceIpv6Addresses property is set
internal bool IsSetReplicationInstanceIpv6Addresses()
{
return this._replicationInstanceIpv6Addresses != null && this._replicationInstanceIpv6Addresses.Count > 0;
}
///
/// Gets and sets the property ReplicationInstancePrivateIpAddress.
///
/// The private IP address of the replication instance.
///
///
[Obsolete("This type is deprecated")]
public string ReplicationInstancePrivateIpAddress
{
get { return this._replicationInstancePrivateIpAddress; }
set { this._replicationInstancePrivateIpAddress = value; }
}
// Check to see if ReplicationInstancePrivateIpAddress property is set
internal bool IsSetReplicationInstancePrivateIpAddress()
{
return this._replicationInstancePrivateIpAddress != null;
}
///
/// Gets and sets the property ReplicationInstancePrivateIpAddresses.
///
/// One or more private IP addresses for the replication instance.
///
///
public List ReplicationInstancePrivateIpAddresses
{
get { return this._replicationInstancePrivateIpAddresses; }
set { this._replicationInstancePrivateIpAddresses = value; }
}
// Check to see if ReplicationInstancePrivateIpAddresses property is set
internal bool IsSetReplicationInstancePrivateIpAddresses()
{
return this._replicationInstancePrivateIpAddresses != null && this._replicationInstancePrivateIpAddresses.Count > 0;
}
///
/// Gets and sets the property ReplicationInstancePublicIpAddress.
///
/// The public IP address of the replication instance.
///
///
[Obsolete("This type is deprecated")]
public string ReplicationInstancePublicIpAddress
{
get { return this._replicationInstancePublicIpAddress; }
set { this._replicationInstancePublicIpAddress = value; }
}
// Check to see if ReplicationInstancePublicIpAddress property is set
internal bool IsSetReplicationInstancePublicIpAddress()
{
return this._replicationInstancePublicIpAddress != null;
}
///
/// Gets and sets the property ReplicationInstancePublicIpAddresses.
///
/// One or more public IP addresses for the replication instance.
///
///
public List ReplicationInstancePublicIpAddresses
{
get { return this._replicationInstancePublicIpAddresses; }
set { this._replicationInstancePublicIpAddresses = value; }
}
// Check to see if ReplicationInstancePublicIpAddresses property is set
internal bool IsSetReplicationInstancePublicIpAddresses()
{
return this._replicationInstancePublicIpAddresses != null && this._replicationInstancePublicIpAddresses.Count > 0;
}
///
/// Gets and sets the property 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"
///
///
///
public string ReplicationInstanceStatus
{
get { return this._replicationInstanceStatus; }
set { this._replicationInstanceStatus = value; }
}
// Check to see if ReplicationInstanceStatus property is set
internal bool IsSetReplicationInstanceStatus()
{
return this._replicationInstanceStatus != null;
}
///
/// Gets and sets the property ReplicationSubnetGroup.
///
/// The subnet group for the replication instance.
///
///
public ReplicationSubnetGroup ReplicationSubnetGroup
{
get { return this._replicationSubnetGroup; }
set { this._replicationSubnetGroup = value; }
}
// Check to see if ReplicationSubnetGroup property is set
internal bool IsSetReplicationSubnetGroup()
{
return this._replicationSubnetGroup != null;
}
///
/// Gets and sets the property SecondaryAvailabilityZone.
///
/// The Availability Zone of the standby replication instance in a Multi-AZ deployment.
///
///
public string SecondaryAvailabilityZone
{
get { return this._secondaryAvailabilityZone; }
set { this._secondaryAvailabilityZone = value; }
}
// Check to see if SecondaryAvailabilityZone property is set
internal bool IsSetSecondaryAvailabilityZone()
{
return this._secondaryAvailabilityZone != null;
}
///
/// Gets and sets the property VpcSecurityGroups.
///
/// The VPC security group for the instance.
///
///
public List VpcSecurityGroups
{
get { return this._vpcSecurityGroups; }
set { this._vpcSecurityGroups = value; }
}
// Check to see if VpcSecurityGroups property is set
internal bool IsSetVpcSecurityGroups()
{
return this._vpcSecurityGroups != null && this._vpcSecurityGroups.Count > 0;
}
}
}