/*
* 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 CreateReplicationTask operation.
/// Creates a replication task using the specified parameters.
///
public partial class CreateReplicationTaskRequest : AmazonDatabaseMigrationServiceRequest
{
private string _cdcStartPosition;
private DateTime? _cdcStartTime;
private string _cdcStopPosition;
private MigrationTypeValue _migrationType;
private string _replicationInstanceArn;
private string _replicationTaskIdentifier;
private string _replicationTaskSettings;
private string _resourceIdentifier;
private string _sourceEndpointArn;
private string _tableMappings;
private List _tags = new List();
private string _targetEndpointArn;
private string _taskData;
///
/// Gets and sets the property CdcStartPosition.
///
/// Indicates when you want a change data capture (CDC) operation to start. Use either
/// CdcStartPosition or CdcStartTime to specify when you want a CDC operation to start.
/// Specifying both values results in an error.
///
///
///
/// The value can be in date, checkpoint, or LSN/SCN format.
///
///
///
/// Date Example: --cdc-start-position “2018-03-08T12:12:12”
///
///
///
/// Checkpoint Example: --cdc-start-position "checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93"
///
///
///
/// LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”
///
///
///
/// When you use this task setting with a source PostgreSQL database, a logical replication
/// slot should already be created and associated with the source endpoint. You can verify
/// this by setting the slotName
extra connection attribute to the name of
/// this logical replication slot. For more information, see Extra
/// Connection Attributes When Using PostgreSQL as a Source for DMS.
///
///
///
public string CdcStartPosition
{
get { return this._cdcStartPosition; }
set { this._cdcStartPosition = value; }
}
// Check to see if CdcStartPosition property is set
internal bool IsSetCdcStartPosition()
{
return this._cdcStartPosition != null;
}
///
/// Gets and sets the property CdcStartTime.
///
/// Indicates the start time for a change data capture (CDC) operation. Use either CdcStartTime
/// or CdcStartPosition to specify when you want a CDC operation to start. Specifying
/// both values results in an error.
///
///
///
/// Timestamp Example: --cdc-start-time “2018-03-08T12:12:12”
///
///
public DateTime CdcStartTime
{
get { return this._cdcStartTime.GetValueOrDefault(); }
set { this._cdcStartTime = value; }
}
// Check to see if CdcStartTime property is set
internal bool IsSetCdcStartTime()
{
return this._cdcStartTime.HasValue;
}
///
/// Gets and sets the property CdcStopPosition.
///
/// Indicates when you want a change data capture (CDC) operation to stop. The value can
/// be either server time or commit time.
///
///
///
/// Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12”
///
///
///
/// Commit time example: --cdc-stop-position “commit_time: 2018-02-09T12:12:12“
///
///
public string CdcStopPosition
{
get { return this._cdcStopPosition; }
set { this._cdcStopPosition = value; }
}
// Check to see if CdcStopPosition property is set
internal bool IsSetCdcStopPosition()
{
return this._cdcStopPosition != null;
}
///
/// Gets and sets the property MigrationType.
///
/// The migration type. Valid values: full-load
| cdc
| full-load-and-cdc
///
///
///
[AWSProperty(Required=true)]
public MigrationTypeValue MigrationType
{
get { return this._migrationType; }
set { this._migrationType = value; }
}
// Check to see if MigrationType property is set
internal bool IsSetMigrationType()
{
return this._migrationType != null;
}
///
/// Gets and sets the property ReplicationInstanceArn.
///
/// The Amazon Resource Name (ARN) of a replication instance.
///
///
[AWSProperty(Required=true)]
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 ReplicationTaskIdentifier.
///
/// An identifier for the replication task.
///
///
///
/// Constraints:
///
/// -
///
/// Must contain 1-255 alphanumeric characters or hyphens.
///
///
-
///
/// First character must be a letter.
///
///
-
///
/// Cannot end with a hyphen or contain two consecutive hyphens.
///
///
///
[AWSProperty(Required=true)]
public string ReplicationTaskIdentifier
{
get { return this._replicationTaskIdentifier; }
set { this._replicationTaskIdentifier = value; }
}
// Check to see if ReplicationTaskIdentifier property is set
internal bool IsSetReplicationTaskIdentifier()
{
return this._replicationTaskIdentifier != null;
}
///
/// Gets and sets the property ReplicationTaskSettings.
///
/// Overall settings for the task, in JSON format. For more information, see Specifying
/// Task Settings for Database Migration Service Tasks in the Database Migration
/// Service User Guide.
///
///
public string ReplicationTaskSettings
{
get { return this._replicationTaskSettings; }
set { this._replicationTaskSettings = value; }
}
// Check to see if ReplicationTaskSettings property is set
internal bool IsSetReplicationTaskSettings()
{
return this._replicationTaskSettings != 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 SourceEndpointArn.
///
/// An Amazon Resource Name (ARN) that uniquely identifies the source endpoint.
///
///
[AWSProperty(Required=true)]
public string SourceEndpointArn
{
get { return this._sourceEndpointArn; }
set { this._sourceEndpointArn = value; }
}
// Check to see if SourceEndpointArn property is set
internal bool IsSetSourceEndpointArn()
{
return this._sourceEndpointArn != null;
}
///
/// Gets and sets the property TableMappings.
///
/// The table mappings for the task, in JSON format. For more information, see Using
/// Table Mapping to Specify Task Settings in the Database Migration Service User
/// Guide.
///
///
[AWSProperty(Required=true)]
public string TableMappings
{
get { return this._tableMappings; }
set { this._tableMappings = value; }
}
// Check to see if TableMappings property is set
internal bool IsSetTableMappings()
{
return this._tableMappings != null;
}
///
/// Gets and sets the property Tags.
///
/// One or more tags to be assigned to the replication task.
///
///
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 TargetEndpointArn.
///
/// An Amazon Resource Name (ARN) that uniquely identifies the target endpoint.
///
///
[AWSProperty(Required=true)]
public string TargetEndpointArn
{
get { return this._targetEndpointArn; }
set { this._targetEndpointArn = value; }
}
// Check to see if TargetEndpointArn property is set
internal bool IsSetTargetEndpointArn()
{
return this._targetEndpointArn != null;
}
///
/// Gets and sets the property TaskData.
///
/// Supplemental information that the task requires to migrate the data for certain source
/// and target endpoints. For more information, see Specifying
/// Supplemental Data for Task Settings in the Database Migration Service User
/// Guide.
///
///
public string TaskData
{
get { return this._taskData; }
set { this._taskData = value; }
}
// Check to see if TaskData property is set
internal bool IsSetTaskData()
{
return this._taskData != null;
}
}
}