/* * 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 { /// /// Provides information that defines a MongoDB endpoint. /// public partial class MongoDbSettings { private AuthMechanismValue _authMechanism; private string _authSource; private AuthTypeValue _authType; private string _databaseName; private string _docsToInvestigate; private string _extractDocId; private string _kmsKeyId; private NestingLevelValue _nestingLevel; private string _password; private int? _port; private bool? _replicateShardCollections; private string _secretsManagerAccessRoleArn; private string _secretsManagerSecretId; private string _serverName; private string _username; private bool? _useUpdateLookUp; /// /// Gets and sets the property AuthMechanism. /// /// The authentication mechanism you use to access the MongoDB source endpoint. /// /// /// /// For the default value, in MongoDB version 2.x, "default" is "mongodb_cr". /// For MongoDB version 3.x or later, "default" is "scram_sha_1". /// This setting isn't used when AuthType is set to "no". /// /// public AuthMechanismValue AuthMechanism { get { return this._authMechanism; } set { this._authMechanism = value; } } // Check to see if AuthMechanism property is set internal bool IsSetAuthMechanism() { return this._authMechanism != null; } /// /// Gets and sets the property AuthSource. /// /// The MongoDB database name. This setting isn't used when AuthType is /// set to "no". /// /// /// /// The default is "admin". /// /// public string AuthSource { get { return this._authSource; } set { this._authSource = value; } } // Check to see if AuthSource property is set internal bool IsSetAuthSource() { return this._authSource != null; } /// /// Gets and sets the property AuthType. /// /// The authentication type you use to access the MongoDB source endpoint. /// /// /// /// When when set to "no", user name and password parameters are not used /// and can be empty. /// /// public AuthTypeValue AuthType { get { return this._authType; } set { this._authType = value; } } // Check to see if AuthType property is set internal bool IsSetAuthType() { return this._authType != null; } /// /// Gets and sets the property DatabaseName. /// /// The database name on the MongoDB source endpoint. /// /// 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 DocsToInvestigate. /// /// Indicates the number of documents to preview to determine the document organization. /// Use this setting when NestingLevel is set to "one". /// /// /// /// Must be a positive value greater than 0. Default value is 1000. /// /// public string DocsToInvestigate { get { return this._docsToInvestigate; } set { this._docsToInvestigate = value; } } // Check to see if DocsToInvestigate property is set internal bool IsSetDocsToInvestigate() { return this._docsToInvestigate != null; } /// /// Gets and sets the property ExtractDocId. /// /// Specifies the document ID. Use this setting when NestingLevel is set /// to "none". /// /// /// /// Default value is "false". /// /// public string ExtractDocId { get { return this._extractDocId; } set { this._extractDocId = value; } } // Check to see if ExtractDocId property is set internal bool IsSetExtractDocId() { return this._extractDocId != null; } /// /// Gets and sets the property KmsKeyId. /// /// The KMS key identifier that is used to encrypt the content on the replication instance. /// 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 NestingLevel. /// /// Specifies either document or table mode. /// /// /// /// Default value is "none". Specify "none" to use document /// mode. Specify "one" to use table mode. /// /// public NestingLevelValue NestingLevel { get { return this._nestingLevel; } set { this._nestingLevel = value; } } // Check to see if NestingLevel property is set internal bool IsSetNestingLevel() { return this._nestingLevel != null; } /// /// Gets and sets the property Password. /// /// The password for the user account you use to access the MongoDB source endpoint. /// /// /// [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 value for the MongoDB source endpoint. /// /// 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 ReplicateShardCollections. /// /// If true, DMS replicates data to shard collections. DMS only uses this /// setting if the target endpoint is a DocumentDB elastic cluster. /// /// /// /// When this setting is true, note the following: /// /// /// public bool ReplicateShardCollections { get { return this._replicateShardCollections.GetValueOrDefault(); } set { this._replicateShardCollections = value; } } // Check to see if ReplicateShardCollections property is set internal bool IsSetReplicateShardCollections() { return this._replicateShardCollections.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 MongoDB 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 MongoDB 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 name of the server on the MongoDB source endpoint. /// /// 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 Username. /// /// The user name you use to access the MongoDB source endpoint. /// /// 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; } /// /// Gets and sets the property UseUpdateLookUp. /// /// If true, DMS retrieves the entire document from the MongoDB source during /// migration. This may cause a migration failure if the server response exceeds bandwidth /// limits. To fetch only updates and deletes during migration, set this parameter to /// false. /// /// public bool UseUpdateLookUp { get { return this._useUpdateLookUp.GetValueOrDefault(); } set { this._useUpdateLookUp = value; } } // Check to see if UseUpdateLookUp property is set internal bool IsSetUseUpdateLookUp() { return this._useUpdateLookUp.HasValue; } } }