/*
* 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 mgn-2020-02-26.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.Mgn.Model
{
///
///
///
public partial class ReplicationConfigurationTemplate
{
private string _arn;
private bool? _associateDefaultSecurityGroup;
private long? _bandwidthThrottling;
private bool? _createPublicIP;
private ReplicationConfigurationDataPlaneRouting _dataPlaneRouting;
private ReplicationConfigurationDefaultLargeStagingDiskType _defaultLargeStagingDiskType;
private ReplicationConfigurationEbsEncryption _ebsEncryption;
private string _ebsEncryptionKeyArn;
private string _replicationConfigurationTemplateID;
private string _replicationServerInstanceType;
private List _replicationServersSecurityGroupsIDs = new List();
private string _stagingAreaSubnetId;
private Dictionary _stagingAreaTags = new Dictionary();
private Dictionary _tags = new Dictionary();
private bool? _useDedicatedReplicationServer;
private bool? _useFipsEndpoint;
///
/// Gets and sets the property Arn.
///
/// Replication Configuration template ARN.
///
///
[AWSProperty(Min=20, Max=2048)]
public string Arn
{
get { return this._arn; }
set { this._arn = value; }
}
// Check to see if Arn property is set
internal bool IsSetArn()
{
return this._arn != null;
}
///
/// Gets and sets the property AssociateDefaultSecurityGroup.
///
/// Replication Configuration template associate default Application Migration Service
/// Security group.
///
///
public bool AssociateDefaultSecurityGroup
{
get { return this._associateDefaultSecurityGroup.GetValueOrDefault(); }
set { this._associateDefaultSecurityGroup = value; }
}
// Check to see if AssociateDefaultSecurityGroup property is set
internal bool IsSetAssociateDefaultSecurityGroup()
{
return this._associateDefaultSecurityGroup.HasValue;
}
///
/// Gets and sets the property BandwidthThrottling.
///
/// Replication Configuration template bandwidth throttling.
///
///
[AWSProperty(Min=0, Max=10000)]
public long BandwidthThrottling
{
get { return this._bandwidthThrottling.GetValueOrDefault(); }
set { this._bandwidthThrottling = value; }
}
// Check to see if BandwidthThrottling property is set
internal bool IsSetBandwidthThrottling()
{
return this._bandwidthThrottling.HasValue;
}
///
/// Gets and sets the property CreatePublicIP.
///
/// Replication Configuration template create Public IP.
///
///
public bool CreatePublicIP
{
get { return this._createPublicIP.GetValueOrDefault(); }
set { this._createPublicIP = value; }
}
// Check to see if CreatePublicIP property is set
internal bool IsSetCreatePublicIP()
{
return this._createPublicIP.HasValue;
}
///
/// Gets and sets the property DataPlaneRouting.
///
/// Replication Configuration template data plane routing.
///
///
public ReplicationConfigurationDataPlaneRouting DataPlaneRouting
{
get { return this._dataPlaneRouting; }
set { this._dataPlaneRouting = value; }
}
// Check to see if DataPlaneRouting property is set
internal bool IsSetDataPlaneRouting()
{
return this._dataPlaneRouting != null;
}
///
/// Gets and sets the property DefaultLargeStagingDiskType.
///
/// Replication Configuration template use default large Staging Disk type.
///
///
public ReplicationConfigurationDefaultLargeStagingDiskType DefaultLargeStagingDiskType
{
get { return this._defaultLargeStagingDiskType; }
set { this._defaultLargeStagingDiskType = value; }
}
// Check to see if DefaultLargeStagingDiskType property is set
internal bool IsSetDefaultLargeStagingDiskType()
{
return this._defaultLargeStagingDiskType != null;
}
///
/// Gets and sets the property EbsEncryption.
///
/// Replication Configuration template EBS encryption.
///
///
public ReplicationConfigurationEbsEncryption EbsEncryption
{
get { return this._ebsEncryption; }
set { this._ebsEncryption = value; }
}
// Check to see if EbsEncryption property is set
internal bool IsSetEbsEncryption()
{
return this._ebsEncryption != null;
}
///
/// Gets and sets the property EbsEncryptionKeyArn.
///
/// Replication Configuration template EBS encryption key ARN.
///
///
[AWSProperty(Min=20, Max=2048)]
public string EbsEncryptionKeyArn
{
get { return this._ebsEncryptionKeyArn; }
set { this._ebsEncryptionKeyArn = value; }
}
// Check to see if EbsEncryptionKeyArn property is set
internal bool IsSetEbsEncryptionKeyArn()
{
return this._ebsEncryptionKeyArn != null;
}
///
/// Gets and sets the property ReplicationConfigurationTemplateID.
///
/// Replication Configuration template ID.
///
///
[AWSProperty(Required=true, Min=21, Max=21)]
public string ReplicationConfigurationTemplateID
{
get { return this._replicationConfigurationTemplateID; }
set { this._replicationConfigurationTemplateID = value; }
}
// Check to see if ReplicationConfigurationTemplateID property is set
internal bool IsSetReplicationConfigurationTemplateID()
{
return this._replicationConfigurationTemplateID != null;
}
///
/// Gets and sets the property ReplicationServerInstanceType.
///
/// Replication Configuration template server instance type.
///
///
[AWSProperty(Min=0, Max=255)]
public string ReplicationServerInstanceType
{
get { return this._replicationServerInstanceType; }
set { this._replicationServerInstanceType = value; }
}
// Check to see if ReplicationServerInstanceType property is set
internal bool IsSetReplicationServerInstanceType()
{
return this._replicationServerInstanceType != null;
}
///
/// Gets and sets the property ReplicationServersSecurityGroupsIDs.
///
/// Replication Configuration template server Security Groups IDs.
///
///
[AWSProperty(Min=0, Max=32)]
public List ReplicationServersSecurityGroupsIDs
{
get { return this._replicationServersSecurityGroupsIDs; }
set { this._replicationServersSecurityGroupsIDs = value; }
}
// Check to see if ReplicationServersSecurityGroupsIDs property is set
internal bool IsSetReplicationServersSecurityGroupsIDs()
{
return this._replicationServersSecurityGroupsIDs != null && this._replicationServersSecurityGroupsIDs.Count > 0;
}
///
/// Gets and sets the property StagingAreaSubnetId.
///
/// Replication Configuration template Staging Area subnet ID.
///
///
[AWSProperty(Min=0, Max=255)]
public string StagingAreaSubnetId
{
get { return this._stagingAreaSubnetId; }
set { this._stagingAreaSubnetId = value; }
}
// Check to see if StagingAreaSubnetId property is set
internal bool IsSetStagingAreaSubnetId()
{
return this._stagingAreaSubnetId != null;
}
///
/// Gets and sets the property StagingAreaTags.
///
/// Replication Configuration template Staging Area Tags.
///
///
[AWSProperty(Sensitive=true, Min=0, Max=50)]
public Dictionary StagingAreaTags
{
get { return this._stagingAreaTags; }
set { this._stagingAreaTags = value; }
}
// Check to see if StagingAreaTags property is set
internal bool IsSetStagingAreaTags()
{
return this._stagingAreaTags != null && this._stagingAreaTags.Count > 0;
}
///
/// Gets and sets the property Tags.
///
/// Replication Configuration template Tags.
///
///
[AWSProperty(Sensitive=true, Min=0, Max=50)]
public Dictionary 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 UseDedicatedReplicationServer.
///
/// Replication Configuration template use Dedicated Replication Server.
///
///
public bool UseDedicatedReplicationServer
{
get { return this._useDedicatedReplicationServer.GetValueOrDefault(); }
set { this._useDedicatedReplicationServer = value; }
}
// Check to see if UseDedicatedReplicationServer property is set
internal bool IsSetUseDedicatedReplicationServer()
{
return this._useDedicatedReplicationServer.HasValue;
}
///
/// Gets and sets the property UseFipsEndpoint.
///
/// Replication Configuration template use Fips Endpoint.
///
///
public bool UseFipsEndpoint
{
get { return this._useFipsEndpoint.GetValueOrDefault(); }
set { this._useFipsEndpoint = value; }
}
// Check to see if UseFipsEndpoint property is set
internal bool IsSetUseFipsEndpoint()
{
return this._useFipsEndpoint.HasValue;
}
}
}