/* * 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 ModifyEndpoint operation. /// Modifies the specified endpoint. /// /// /// /// For a MySQL source or target endpoint, don't explicitly specify the database using /// the DatabaseName request parameter on the ModifyEndpoint /// API call. Specifying DatabaseName when you modify 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 ModifyEndpointRequest : AmazonDatabaseMigrationServiceRequest { private string _certificateArn; private string _databaseName; private DmsTransferSettings _dmsTransferSettings; private DocDbSettings _docDbSettings; private DynamoDbSettings _dynamoDbSettings; private ElasticsearchSettings _elasticsearchSettings; private string _endpointArn; private string _endpointIdentifier; private ReplicationEndpointTypeValue _endpointType; private string _engineName; private bool? _exactSettings; private string _externalTableDefinition; private string _extraConnectionAttributes; private GcpMySQLSettings _gcpMySQLSettings; private IBMDb2Settings _ibmDb2Settings; private KafkaSettings _kafkaSettings; private KinesisSettings _kinesisSettings; 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 S3Settings _s3Settings; private string _serverName; private string _serviceAccessRoleArn; private DmsSslModeValue _sslMode; private SybaseSettings _sybaseSettings; private TimestreamSettings _timestreamSettings; private string _username; /// /// Gets and sets the property CertificateArn. /// /// The Amazon Resource Name (ARN) of the certificate used for SSL connection. /// /// 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. /// /// 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. /// /// /// /// Attributes include the following: /// /// /// /// 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. /// /// Settings in JSON format for the source DocumentDB endpoint. For more information about /// the available settings, see the configuration properties section in /// Using DocumentDB as a Target for Database Migration Service in the Database /// Migration Service User Guide. /// /// 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 EndpointArn. /// /// The Amazon Resource Name (ARN) string that uniquely identifies the endpoint. /// /// [AWSProperty(Required=true)] public string EndpointArn { get { return this._endpointArn; } set { this._endpointArn = value; } } // Check to see if EndpointArn property is set internal bool IsSetEndpointArn() { return this._endpointArn != 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. /// /// 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. /// /// 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 database engine name. Valid values, depending on the EndpointType, include "mysql", /// "oracle", "postgres", "mariadb", "aurora", /// "aurora-postgresql", "redshift", "s3", "db2", /// "db2-zos", "azuredb", "sybase", "dynamodb", /// "mongodb", "kinesis", "kafka", "elasticsearch", /// "documentdb", "sqlserver", "neptune", and "babelfish". /// /// 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 ExactSettings. /// /// If this attribute is Y, the current call to ModifyEndpoint replaces all /// existing endpoint settings with the exact settings that you specify in this call. /// If this attribute is N, the current call to ModifyEndpoint does two things: /// /// /// /// /// For example, if you call create-endpoint ... --endpoint-settings '{"a":1}' ..., /// the endpoint has the following endpoint settings: '{"a":1}'. If you then /// call modify-endpoint ... --endpoint-settings '{"b":2}' ... for the same /// endpoint, the endpoint has the following settings: '{"a":1,"b":2}'. /// /// /// /// However, suppose that you follow this with a call to modify-endpoint ... --endpoint-settings /// '{"b":2}' --exact-settings ... for that same endpoint again. Then the endpoint /// has the following settings: '{"b":2}'. All existing settings are replaced /// with the exact settings that you specify. /// /// public bool ExactSettings { get { return this._exactSettings.GetValueOrDefault(); } set { this._exactSettings = value; } } // Check to see if ExactSettings property is set internal bool IsSetExactSettings() { return this._exactSettings.HasValue; } /// /// 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. To reset this parameter, pass /// the empty string ("") as an argument. /// /// 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 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 the configuration properties section in 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 login 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 Redis target 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 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 IAM role you want to use to modify 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 SSL mode used to connect to the endpoint. The default value 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 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 login 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; } } }