/*
* 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:
///
/// -
///
/// 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.
///
/// 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:
///
///
/// -
///
/// It replaces any endpoint settings that already exist with new values, for settings
/// with the same names.
///
///
-
///
/// It creates new endpoint settings that you specify in the call, for settings with different
/// names.
///
///
///
/// 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;
}
}
}