/* * 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 CreateEndpoint operation. /// Creates an endpoint using the provided settings. /// /// /// /// For a MySQL source or target endpoint, don't explicitly specify the database using /// the DatabaseName request parameter on the CreateEndpoint /// API call. Specifying DatabaseName when you create a MySQL endpoint replicates /// all the task tables to this single database. For MySQL endpoints, you specify the /// database only when you specify the schema in the table-mapping rules of the DMS task. /// /// /// public partial class CreateEndpointRequest : AmazonDatabaseMigrationServiceRequest { private string _certificateArn; private string _databaseName; private DmsTransferSettings _dmsTransferSettings; private DocDbSettings _docDbSettings; private DynamoDbSettings _dynamoDbSettings; private ElasticsearchSettings _elasticsearchSettings; private string _endpointIdentifier; private ReplicationEndpointTypeValue _endpointType; private string _engineName; private string _externalTableDefinition; private string _extraConnectionAttributes; private GcpMySQLSettings _gcpMySQLSettings; private IBMDb2Settings _ibmDb2Settings; private KafkaSettings _kafkaSettings; private KinesisSettings _kinesisSettings; private string _kmsKeyId; private MicrosoftSQLServerSettings _microsoftSQLServerSettings; private MongoDbSettings _mongoDbSettings; private MySQLSettings _mySQLSettings; private NeptuneSettings _neptuneSettings; private OracleSettings _oracleSettings; private string _password; private int? _port; private PostgreSQLSettings _postgreSQLSettings; private RedisSettings _redisSettings; private RedshiftSettings _redshiftSettings; private string _resourceIdentifier; private S3Settings _s3Settings; private string _serverName; private string _serviceAccessRoleArn; private DmsSslModeValue _sslMode; private SybaseSettings _sybaseSettings; private List _tags = new List(); private TimestreamSettings _timestreamSettings; private string _username; /// /// Gets and sets the property CertificateArn. /// /// The Amazon Resource Name (ARN) for the certificate. /// /// public string CertificateArn { get { return this._certificateArn; } set { this._certificateArn = value; } } // Check to see if CertificateArn property is set internal bool IsSetCertificateArn() { return this._certificateArn != null; } /// /// Gets and sets the property DatabaseName. /// /// The name of the endpoint database. For a MySQL source or target endpoint, do not specify /// DatabaseName. To migrate to a specific database, use this setting and targetDbType. /// /// public string DatabaseName { get { return this._databaseName; } set { this._databaseName = value; } } // Check to see if DatabaseName property is set internal bool IsSetDatabaseName() { return this._databaseName != null; } /// /// Gets and sets the property DmsTransferSettings. /// /// The settings in JSON format for the DMS transfer type of source endpoint. /// /// /// /// Possible settings include the following: /// ///
  • /// /// ServiceAccessRoleArn - The Amazon Resource Name (ARN) used by the service /// access IAM role. The role must allow the iam:PassRole action. /// ///
  • /// /// BucketName - The name of the S3 bucket to use. /// ///
/// /// Shorthand syntax for these settings is as follows: ServiceAccessRoleArn=string,BucketName=string /// /// /// /// /// JSON syntax for these settings is as follows: { "ServiceAccessRoleArn": "string", /// "BucketName": "string", } /// ///
public DmsTransferSettings DmsTransferSettings { get { return this._dmsTransferSettings; } set { this._dmsTransferSettings = value; } } // Check to see if DmsTransferSettings property is set internal bool IsSetDmsTransferSettings() { return this._dmsTransferSettings != null; } /// /// Gets and sets the property DocDbSettings. /// public DocDbSettings DocDbSettings { get { return this._docDbSettings; } set { this._docDbSettings = value; } } // Check to see if DocDbSettings property is set internal bool IsSetDocDbSettings() { return this._docDbSettings != null; } /// /// Gets and sets the property DynamoDbSettings. /// /// Settings in JSON format for the target Amazon DynamoDB endpoint. For information about /// other available settings, see Using /// Object Mapping to Migrate Data to DynamoDB in the Database Migration Service /// User Guide. /// /// public DynamoDbSettings DynamoDbSettings { get { return this._dynamoDbSettings; } set { this._dynamoDbSettings = value; } } // Check to see if DynamoDbSettings property is set internal bool IsSetDynamoDbSettings() { return this._dynamoDbSettings != null; } /// /// Gets and sets the property ElasticsearchSettings. /// /// Settings in JSON format for the target OpenSearch endpoint. For more information about /// the available settings, see Extra /// Connection Attributes When Using OpenSearch as a Target for DMS in the Database /// Migration Service User Guide. /// /// public ElasticsearchSettings ElasticsearchSettings { get { return this._elasticsearchSettings; } set { this._elasticsearchSettings = value; } } // Check to see if ElasticsearchSettings property is set internal bool IsSetElasticsearchSettings() { return this._elasticsearchSettings != null; } /// /// Gets and sets the property EndpointIdentifier. /// /// The database endpoint identifier. Identifiers must begin with a letter and must contain /// only ASCII letters, digits, and hyphens. They can't end with a hyphen, or contain /// two consecutive hyphens. /// /// [AWSProperty(Required=true)] public string EndpointIdentifier { get { return this._endpointIdentifier; } set { this._endpointIdentifier = value; } } // Check to see if EndpointIdentifier property is set internal bool IsSetEndpointIdentifier() { return this._endpointIdentifier != null; } /// /// Gets and sets the property EndpointType. /// /// The type of endpoint. Valid values are source and target. /// /// [AWSProperty(Required=true)] public ReplicationEndpointTypeValue EndpointType { get { return this._endpointType; } set { this._endpointType = value; } } // Check to see if EndpointType property is set internal bool IsSetEndpointType() { return this._endpointType != null; } /// /// Gets and sets the property EngineName. /// /// The type of engine for the endpoint. Valid values, depending on the EndpointType /// value, include "mysql", "oracle", "postgres", /// "mariadb", "aurora", "aurora-postgresql", "opensearch", /// "redshift", "s3", "db2", "db2-zos", /// "azuredb", "sybase", "dynamodb", "mongodb", /// "kinesis", "kafka", "elasticsearch", "docdb", /// "sqlserver", "neptune", and "babelfish". /// /// [AWSProperty(Required=true)] public string EngineName { get { return this._engineName; } set { this._engineName = value; } } // Check to see if EngineName property is set internal bool IsSetEngineName() { return this._engineName != null; } /// /// Gets and sets the property ExternalTableDefinition. /// /// The external table definition. /// /// public string ExternalTableDefinition { get { return this._externalTableDefinition; } set { this._externalTableDefinition = value; } } // Check to see if ExternalTableDefinition property is set internal bool IsSetExternalTableDefinition() { return this._externalTableDefinition != null; } /// /// Gets and sets the property ExtraConnectionAttributes. /// /// Additional attributes associated with the connection. Each attribute is specified /// as a name-value pair associated by an equal sign (=). Multiple attributes are separated /// by a semicolon (;) with no additional white space. For information on the attributes /// available for connecting your source or target endpoint, see Working /// with DMS Endpoints in the Database Migration Service User Guide. /// /// public string ExtraConnectionAttributes { get { return this._extraConnectionAttributes; } set { this._extraConnectionAttributes = value; } } // Check to see if ExtraConnectionAttributes property is set internal bool IsSetExtraConnectionAttributes() { return this._extraConnectionAttributes != null; } /// /// Gets and sets the property GcpMySQLSettings. /// /// Settings in JSON format for the source GCP MySQL endpoint. /// /// public GcpMySQLSettings GcpMySQLSettings { get { return this._gcpMySQLSettings; } set { this._gcpMySQLSettings = value; } } // Check to see if GcpMySQLSettings property is set internal bool IsSetGcpMySQLSettings() { return this._gcpMySQLSettings != null; } /// /// Gets and sets the property IBMDb2Settings. /// /// Settings in JSON format for the source IBM Db2 LUW endpoint. For information about /// other available settings, see Extra /// connection attributes when using Db2 LUW as a source for DMS in the Database /// Migration Service User Guide. /// /// public IBMDb2Settings IBMDb2Settings { get { return this._ibmDb2Settings; } set { this._ibmDb2Settings = value; } } // Check to see if IBMDb2Settings property is set internal bool IsSetIBMDb2Settings() { return this._ibmDb2Settings != null; } /// /// Gets and sets the property KafkaSettings. /// /// Settings in JSON format for the target Apache Kafka endpoint. For more information /// about the available settings, see Using /// object mapping to migrate data to a Kafka topic in the Database Migration Service /// User Guide. /// /// public KafkaSettings KafkaSettings { get { return this._kafkaSettings; } set { this._kafkaSettings = value; } } // Check to see if KafkaSettings property is set internal bool IsSetKafkaSettings() { return this._kafkaSettings != null; } /// /// Gets and sets the property KinesisSettings. /// /// Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams. For /// more information about the available settings, see Using /// object mapping to migrate data to a Kinesis data stream in the Database Migration /// Service User Guide. /// /// public KinesisSettings KinesisSettings { get { return this._kinesisSettings; } set { this._kinesisSettings = value; } } // Check to see if KinesisSettings property is set internal bool IsSetKinesisSettings() { return this._kinesisSettings != null; } /// /// Gets and sets the property KmsKeyId. /// /// An KMS key identifier that is used to encrypt the connection parameters for the endpoint. /// /// /// /// 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 MicrosoftSQLServerSettings. /// /// Settings in JSON format for the source and target Microsoft SQL Server endpoint. For /// information about other available settings, see Extra /// connection attributes when using SQL Server as a source for DMS and /// Extra connection attributes when using SQL Server as a target for DMS in the Database /// Migration Service User Guide. /// /// public MicrosoftSQLServerSettings MicrosoftSQLServerSettings { get { return this._microsoftSQLServerSettings; } set { this._microsoftSQLServerSettings = value; } } // Check to see if MicrosoftSQLServerSettings property is set internal bool IsSetMicrosoftSQLServerSettings() { return this._microsoftSQLServerSettings != null; } /// /// Gets and sets the property MongoDbSettings. /// /// Settings in JSON format for the source MongoDB endpoint. For more information about /// the available settings, see Endpoint /// configuration settings when using MongoDB as a source for Database Migration Service /// in the Database Migration Service User Guide. /// /// public MongoDbSettings MongoDbSettings { get { return this._mongoDbSettings; } set { this._mongoDbSettings = value; } } // Check to see if MongoDbSettings property is set internal bool IsSetMongoDbSettings() { return this._mongoDbSettings != null; } /// /// Gets and sets the property MySQLSettings. /// /// Settings in JSON format for the source and target MySQL endpoint. For information /// about other available settings, see Extra /// connection attributes when using MySQL as a source for DMS and Extra /// connection attributes when using a MySQL-compatible database as a target for DMS /// in the Database Migration Service User Guide. /// /// public MySQLSettings MySQLSettings { get { return this._mySQLSettings; } set { this._mySQLSettings = value; } } // Check to see if MySQLSettings property is set internal bool IsSetMySQLSettings() { return this._mySQLSettings != null; } /// /// Gets and sets the property NeptuneSettings. /// /// Settings in JSON format for the target Amazon Neptune endpoint. For more information /// about the available settings, see Specifying /// graph-mapping rules using Gremlin and R2RML for Amazon Neptune as a target in /// the Database Migration Service User Guide. /// /// public NeptuneSettings NeptuneSettings { get { return this._neptuneSettings; } set { this._neptuneSettings = value; } } // Check to see if NeptuneSettings property is set internal bool IsSetNeptuneSettings() { return this._neptuneSettings != null; } /// /// Gets and sets the property OracleSettings. /// /// Settings in JSON format for the source and target Oracle endpoint. For information /// about other available settings, see Extra /// connection attributes when using Oracle as a source for DMS and /// Extra connection attributes when using Oracle as a target for DMS in the Database /// Migration Service User Guide. /// /// public OracleSettings OracleSettings { get { return this._oracleSettings; } set { this._oracleSettings = value; } } // Check to see if OracleSettings property is set internal bool IsSetOracleSettings() { return this._oracleSettings != null; } /// /// Gets and sets the property Password. /// /// The password to be used to log in to the endpoint database. /// /// [AWSProperty(Sensitive=true)] public string Password { get { return this._password; } set { this._password = value; } } // Check to see if Password property is set internal bool IsSetPassword() { return this._password != null; } /// /// Gets and sets the property Port. /// /// The port used by the endpoint database. /// /// public int Port { get { return this._port.GetValueOrDefault(); } set { this._port = value; } } // Check to see if Port property is set internal bool IsSetPort() { return this._port.HasValue; } /// /// Gets and sets the property PostgreSQLSettings. /// /// Settings in JSON format for the source and target PostgreSQL endpoint. For information /// about other available settings, see Extra /// connection attributes when using PostgreSQL as a source for DMS and /// Extra connection attributes when using PostgreSQL as a target for DMS in the Database /// Migration Service User Guide. /// /// public PostgreSQLSettings PostgreSQLSettings { get { return this._postgreSQLSettings; } set { this._postgreSQLSettings = value; } } // Check to see if PostgreSQLSettings property is set internal bool IsSetPostgreSQLSettings() { return this._postgreSQLSettings != null; } /// /// Gets and sets the property RedisSettings. /// /// Settings in JSON format for the target Redis endpoint. /// /// public RedisSettings RedisSettings { get { return this._redisSettings; } set { this._redisSettings = value; } } // Check to see if RedisSettings property is set internal bool IsSetRedisSettings() { return this._redisSettings != null; } /// /// Gets and sets the property RedshiftSettings. /// public RedshiftSettings RedshiftSettings { get { return this._redshiftSettings; } set { this._redshiftSettings = value; } } // Check to see if RedshiftSettings property is set internal bool IsSetRedshiftSettings() { return this._redshiftSettings != 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 S3Settings. /// /// Settings in JSON format for the target Amazon S3 endpoint. For more information about /// the available settings, see Extra /// Connection Attributes When Using Amazon S3 as a Target for DMS in the Database /// Migration Service User Guide. /// /// public S3Settings S3Settings { get { return this._s3Settings; } set { this._s3Settings = value; } } // Check to see if S3Settings property is set internal bool IsSetS3Settings() { return this._s3Settings != null; } /// /// Gets and sets the property ServerName. /// /// The name of the server where the endpoint database resides. /// /// public string ServerName { get { return this._serverName; } set { this._serverName = value; } } // Check to see if ServerName property is set internal bool IsSetServerName() { return this._serverName != null; } /// /// Gets and sets the property ServiceAccessRoleArn. /// /// The Amazon Resource Name (ARN) for the service access role that you want to use to /// create the endpoint. The role must allow the iam:PassRole action. /// /// public string ServiceAccessRoleArn { get { return this._serviceAccessRoleArn; } set { this._serviceAccessRoleArn = value; } } // Check to see if ServiceAccessRoleArn property is set internal bool IsSetServiceAccessRoleArn() { return this._serviceAccessRoleArn != null; } /// /// Gets and sets the property SslMode. /// /// The Secure Sockets Layer (SSL) mode to use for the SSL connection. The default is /// none /// /// public DmsSslModeValue SslMode { get { return this._sslMode; } set { this._sslMode = value; } } // Check to see if SslMode property is set internal bool IsSetSslMode() { return this._sslMode != null; } /// /// Gets and sets the property SybaseSettings. /// /// Settings in JSON format for the source and target SAP ASE endpoint. For information /// about other available settings, see Extra /// connection attributes when using SAP ASE as a source for DMS and Extra /// connection attributes when using SAP ASE as a target for DMS in the Database /// Migration Service User Guide. /// /// public SybaseSettings SybaseSettings { get { return this._sybaseSettings; } set { this._sybaseSettings = value; } } // Check to see if SybaseSettings property is set internal bool IsSetSybaseSettings() { return this._sybaseSettings != null; } /// /// Gets and sets the property Tags. /// /// One or more tags to be assigned to the endpoint. /// /// 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 TimestreamSettings. /// /// Settings in JSON format for the target Amazon Timestream endpoint. /// /// public TimestreamSettings TimestreamSettings { get { return this._timestreamSettings; } set { this._timestreamSettings = value; } } // Check to see if TimestreamSettings property is set internal bool IsSetTimestreamSettings() { return this._timestreamSettings != null; } /// /// Gets and sets the property Username. /// /// The user name to be used to log in to the endpoint database. /// /// public string Username { get { return this._username; } set { this._username = value; } } // Check to see if Username property is set internal bool IsSetUsername() { return this._username != null; } } }