/* * 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 { /// /// Settings in JSON format for the source GCP MySQL endpoint. /// public partial class GcpMySQLSettings { private string _afterConnectScript; private bool? _cleanSourceMetadataOnMismatch; private string _databaseName; private int? _eventsPollInterval; private int? _maxFileSize; private int? _parallelLoadThreads; private string _password; private int? _port; private string _secretsManagerAccessRoleArn; private string _secretsManagerSecretId; private string _serverName; private string _serverTimezone; private TargetDbType _targetDbType; private string _username; /// /// Gets and sets the property AfterConnectScript. /// /// Specifies a script to run immediately after DMS connects to the endpoint. The migration /// task continues running regardless if the SQL statement succeeds or fails. /// /// /// /// For this parameter, provide the code of the script itself, not the name of a file /// containing the script. /// /// public string AfterConnectScript { get { return this._afterConnectScript; } set { this._afterConnectScript = value; } } // Check to see if AfterConnectScript property is set internal bool IsSetAfterConnectScript() { return this._afterConnectScript != null; } /// /// Gets and sets the property CleanSourceMetadataOnMismatch. /// /// Cleans and recreates table metadata information on the replication instance when a /// mismatch occurs. For example, in a situation where running an alter DDL on the table /// could result in different information about the table cached in the replication instance. /// /// /// public bool CleanSourceMetadataOnMismatch { get { return this._cleanSourceMetadataOnMismatch.GetValueOrDefault(); } set { this._cleanSourceMetadataOnMismatch = value; } } // Check to see if CleanSourceMetadataOnMismatch property is set internal bool IsSetCleanSourceMetadataOnMismatch() { return this._cleanSourceMetadataOnMismatch.HasValue; } /// /// Gets and sets the property DatabaseName. /// /// Database name for the endpoint. For a MySQL source or target endpoint, don't explicitly /// specify the database using the DatabaseName request parameter on either /// the CreateEndpoint or ModifyEndpoint API call. Specifying /// DatabaseName when you create or 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 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 EventsPollInterval. /// /// Specifies how often to check the binary log for new changes/events when the database /// is idle. The default is five seconds. /// /// /// /// Example: eventsPollInterval=5; /// /// /// /// In the example, DMS checks for changes in the binary logs every five seconds. /// /// public int EventsPollInterval { get { return this._eventsPollInterval.GetValueOrDefault(); } set { this._eventsPollInterval = value; } } // Check to see if EventsPollInterval property is set internal bool IsSetEventsPollInterval() { return this._eventsPollInterval.HasValue; } /// /// Gets and sets the property MaxFileSize. /// /// Specifies the maximum size (in KB) of any .csv file used to transfer data to a MySQL-compatible /// database. /// /// /// /// Example: maxFileSize=512 /// /// public int MaxFileSize { get { return this._maxFileSize.GetValueOrDefault(); } set { this._maxFileSize = value; } } // Check to see if MaxFileSize property is set internal bool IsSetMaxFileSize() { return this._maxFileSize.HasValue; } /// /// Gets and sets the property ParallelLoadThreads. /// /// Improves performance when loading data into the MySQL-compatible target database. /// Specifies how many threads to use to load the data into the MySQL-compatible target /// database. Setting a large number of threads can have an adverse effect on database /// performance, because a separate connection is required for each thread. The default /// is one. /// /// /// /// Example: parallelLoadThreads=1 /// /// public int ParallelLoadThreads { get { return this._parallelLoadThreads.GetValueOrDefault(); } set { this._parallelLoadThreads = value; } } // Check to see if ParallelLoadThreads property is set internal bool IsSetParallelLoadThreads() { return this._parallelLoadThreads.HasValue; } /// /// Gets and sets the property Password. /// /// Endpoint connection password. /// /// [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. /// /// Endpoint TCP port. /// /// 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 SecretsManagerAccessRoleArn. /// /// The full Amazon Resource Name (ARN) of the IAM role that specifies DMS as the trusted /// entity and grants the required permissions to access the value in SecretsManagerSecret. /// The role must allow the iam:PassRole action. SecretsManagerSecret /// has the value of the Amazon Web Services Secrets Manager secret that allows access /// to the MySQL endpoint. /// /// /// /// You can specify one of two sets of values for these permissions. You can specify the /// values for this setting and SecretsManagerSecretId. Or you can specify /// clear-text values for UserName, Password, ServerName, /// and Port. You can't specify both. For more information on creating this /// SecretsManagerSecret and the SecretsManagerAccessRoleArn /// and SecretsManagerSecretId required to access it, see Using /// secrets to access Database Migration Service resources in the Database Migration /// Service User Guide. /// /// /// public string SecretsManagerAccessRoleArn { get { return this._secretsManagerAccessRoleArn; } set { this._secretsManagerAccessRoleArn = value; } } // Check to see if SecretsManagerAccessRoleArn property is set internal bool IsSetSecretsManagerAccessRoleArn() { return this._secretsManagerAccessRoleArn != null; } /// /// Gets and sets the property SecretsManagerSecretId. /// /// The full ARN, partial ARN, or friendly name of the SecretsManagerSecret /// that contains the MySQL endpoint connection details. /// /// public string SecretsManagerSecretId { get { return this._secretsManagerSecretId; } set { this._secretsManagerSecretId = value; } } // Check to see if SecretsManagerSecretId property is set internal bool IsSetSecretsManagerSecretId() { return this._secretsManagerSecretId != null; } /// /// Gets and sets the property ServerName. /// /// The MySQL host name. /// /// 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 ServerTimezone. /// /// Specifies the time zone for the source MySQL database. /// /// /// /// Example: serverTimezone=US/Pacific; /// /// /// /// Note: Do not enclose time zones in single quotes. /// /// public string ServerTimezone { get { return this._serverTimezone; } set { this._serverTimezone = value; } } // Check to see if ServerTimezone property is set internal bool IsSetServerTimezone() { return this._serverTimezone != null; } /// /// Gets and sets the property TargetDbType. /// /// Specifies where to migrate source tables on the target, either to a single database /// or multiple databases. /// /// /// /// Example: targetDbType=MULTIPLE_DATABASES /// /// public TargetDbType TargetDbType { get { return this._targetDbType; } set { this._targetDbType = value; } } // Check to see if TargetDbType property is set internal bool IsSetTargetDbType() { return this._targetDbType != null; } /// /// Gets and sets the property Username. /// /// Endpoint connection user name. /// /// 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; } } }