/* * 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 an Amazon Redshift endpoint. /// public partial class RedshiftSettings { private bool? _acceptAnyDate; private string _afterConnectScript; private string _bucketFolder; private string _bucketName; private bool? _caseSensitiveNames; private bool? _compUpdate; private int? _connectionTimeout; private string _databaseName; private string _dateFormat; private bool? _emptyAsNull; private EncryptionModeValue _encryptionMode; private bool? _explicitIds; private int? _fileTransferUploadStreams; private int? _loadTimeout; private bool? _mapBooleanAsBoolean; private int? _maxFileSize; private string _password; private int? _port; private bool? _removeQuotes; private string _replaceChars; private string _replaceInvalidChars; private string _secretsManagerAccessRoleArn; private string _secretsManagerSecretId; private string _serverName; private string _serverSideEncryptionKmsKeyId; private string _serviceAccessRoleArn; private string _timeFormat; private bool? _trimBlanks; private bool? _truncateColumns; private string _username; private int? _writeBufferSize; /// /// Gets and sets the property AcceptAnyDate. /// /// A value that indicates to allow any date format, including invalid formats such as /// 00/00/00 00:00:00, to be loaded without generating an error. You can choose true /// or false (the default). /// /// /// /// This parameter applies only to TIMESTAMP and DATE columns. Always use ACCEPTANYDATE /// with the DATEFORMAT parameter. If the date format for the data doesn't match the DATEFORMAT /// specification, Amazon Redshift inserts a NULL value into that field. /// /// public bool AcceptAnyDate { get { return this._acceptAnyDate.GetValueOrDefault(); } set { this._acceptAnyDate = value; } } // Check to see if AcceptAnyDate property is set internal bool IsSetAcceptAnyDate() { return this._acceptAnyDate.HasValue; } /// /// Gets and sets the property AfterConnectScript. /// /// Code to run after connecting. This parameter should contain the code itself, not the /// name of a file containing the code. /// /// 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 BucketFolder. /// /// An S3 folder where the comma-separated-value (.csv) files are stored before being /// uploaded to the target Redshift cluster. /// /// /// /// For full load mode, DMS converts source records into .csv files and loads them to /// the BucketFolder/TableID path. DMS uses the Redshift COPY command /// to upload the .csv files to the target table. The files are deleted once the COPY /// operation has finished. For more information, see COPY /// in the Amazon Redshift Database Developer Guide. /// /// /// /// For change-data-capture (CDC) mode, DMS creates a NetChanges table, and loads /// the .csv files to this BucketFolder/NetChangesTableID path. /// /// public string BucketFolder { get { return this._bucketFolder; } set { this._bucketFolder = value; } } // Check to see if BucketFolder property is set internal bool IsSetBucketFolder() { return this._bucketFolder != null; } /// /// Gets and sets the property BucketName. /// /// The name of the intermediate S3 bucket used to store .csv files before uploading data /// to Redshift. /// /// public string BucketName { get { return this._bucketName; } set { this._bucketName = value; } } // Check to see if BucketName property is set internal bool IsSetBucketName() { return this._bucketName != null; } /// /// Gets and sets the property CaseSensitiveNames. /// /// If Amazon Redshift is configured to support case sensitive schema names, set CaseSensitiveNames /// to true. The default is false. /// /// public bool CaseSensitiveNames { get { return this._caseSensitiveNames.GetValueOrDefault(); } set { this._caseSensitiveNames = value; } } // Check to see if CaseSensitiveNames property is set internal bool IsSetCaseSensitiveNames() { return this._caseSensitiveNames.HasValue; } /// /// Gets and sets the property CompUpdate. /// /// If you set CompUpdate to true Amazon Redshift applies automatic /// compression if the table is empty. This applies even if the table columns already /// have encodings other than RAW. If you set CompUpdate to /// false, automatic compression is disabled and existing column encodings /// aren't changed. The default is true. /// /// public bool CompUpdate { get { return this._compUpdate.GetValueOrDefault(); } set { this._compUpdate = value; } } // Check to see if CompUpdate property is set internal bool IsSetCompUpdate() { return this._compUpdate.HasValue; } /// /// Gets and sets the property ConnectionTimeout. /// /// A value that sets the amount of time to wait (in milliseconds) before timing out, /// beginning from when you initially establish a connection. /// /// public int ConnectionTimeout { get { return this._connectionTimeout.GetValueOrDefault(); } set { this._connectionTimeout = value; } } // Check to see if ConnectionTimeout property is set internal bool IsSetConnectionTimeout() { return this._connectionTimeout.HasValue; } /// /// Gets and sets the property DatabaseName. /// /// The name of the Amazon Redshift data warehouse (service) that you are working with. /// /// 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 DateFormat. /// /// The date format that you are using. Valid values are auto (case-sensitive), /// your date format string enclosed in quotes, or NULL. If this parameter is left unset /// (NULL), it defaults to a format of 'YYYY-MM-DD'. Using auto recognizes /// most strings, even some that aren't supported when you use a date format string. /// /// /// /// If your date and time values use formats different from each other, set this to auto. /// /// /// public string DateFormat { get { return this._dateFormat; } set { this._dateFormat = value; } } // Check to see if DateFormat property is set internal bool IsSetDateFormat() { return this._dateFormat != null; } /// /// Gets and sets the property EmptyAsNull. /// /// A value that specifies whether DMS should migrate empty CHAR and VARCHAR fields as /// NULL. A value of true sets empty CHAR and VARCHAR fields to null. The /// default is false. /// /// public bool EmptyAsNull { get { return this._emptyAsNull.GetValueOrDefault(); } set { this._emptyAsNull = value; } } // Check to see if EmptyAsNull property is set internal bool IsSetEmptyAsNull() { return this._emptyAsNull.HasValue; } /// /// Gets and sets the property EncryptionMode. /// /// The type of server-side encryption that you want to use for your data. This encryption /// type is part of the endpoint settings or the extra connections attributes for Amazon /// S3. You can choose either SSE_S3 (the default) or SSE_KMS. /// /// /// /// /// For the ModifyEndpoint operation, you can change the existing value of /// the EncryptionMode parameter from SSE_KMS to SSE_S3. /// But you can’t change the existing value from SSE_S3 to SSE_KMS. /// /// /// /// To use SSE_S3, create an Identity and Access Management (IAM) role with /// a policy that allows "arn:aws:s3:::*" to use the following actions: "s3:PutObject", /// "s3:ListBucket" /// /// public EncryptionModeValue EncryptionMode { get { return this._encryptionMode; } set { this._encryptionMode = value; } } // Check to see if EncryptionMode property is set internal bool IsSetEncryptionMode() { return this._encryptionMode != null; } /// /// Gets and sets the property ExplicitIds. /// /// This setting is only valid for a full-load migration task. Set ExplicitIds /// to true to have tables with IDENTITY columns override their /// auto-generated values with explicit values loaded from the source data files used /// to populate the tables. The default is false. /// /// public bool ExplicitIds { get { return this._explicitIds.GetValueOrDefault(); } set { this._explicitIds = value; } } // Check to see if ExplicitIds property is set internal bool IsSetExplicitIds() { return this._explicitIds.HasValue; } /// /// Gets and sets the property FileTransferUploadStreams. /// /// The number of threads used to upload a single file. This parameter accepts a value /// from 1 through 64. It defaults to 10. /// /// /// /// The number of parallel streams used to upload a single .csv file to an S3 bucket using /// S3 Multipart Upload. For more information, see Multipart /// upload overview. /// /// /// /// FileTransferUploadStreams accepts a value from 1 through 64. It defaults /// to 10. /// /// public int FileTransferUploadStreams { get { return this._fileTransferUploadStreams.GetValueOrDefault(); } set { this._fileTransferUploadStreams = value; } } // Check to see if FileTransferUploadStreams property is set internal bool IsSetFileTransferUploadStreams() { return this._fileTransferUploadStreams.HasValue; } /// /// Gets and sets the property LoadTimeout. /// /// The amount of time to wait (in milliseconds) before timing out of operations performed /// by DMS on a Redshift cluster, such as Redshift COPY, INSERT, DELETE, and UPDATE. /// /// public int LoadTimeout { get { return this._loadTimeout.GetValueOrDefault(); } set { this._loadTimeout = value; } } // Check to see if LoadTimeout property is set internal bool IsSetLoadTimeout() { return this._loadTimeout.HasValue; } /// /// Gets and sets the property MapBooleanAsBoolean. /// /// When true, lets Redshift migrate the boolean type as boolean. By default, Redshift /// migrates booleans as varchar(1). /// /// public bool MapBooleanAsBoolean { get { return this._mapBooleanAsBoolean.GetValueOrDefault(); } set { this._mapBooleanAsBoolean = value; } } // Check to see if MapBooleanAsBoolean property is set internal bool IsSetMapBooleanAsBoolean() { return this._mapBooleanAsBoolean.HasValue; } /// /// Gets and sets the property MaxFileSize. /// /// The maximum size (in KB) of any .csv file used to load data on an S3 bucket and transfer /// data to Amazon Redshift. It defaults to 1048576KB (1 GB). /// /// 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 Password. /// /// The password for the user named in the username property. /// /// [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 number for Amazon Redshift. The default value is 5439. /// /// 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 RemoveQuotes. /// /// A value that specifies to remove surrounding quotation marks from strings in the incoming /// data. All characters within the quotation marks, including delimiters, are retained. /// Choose true to remove quotation marks. The default is false. /// /// public bool RemoveQuotes { get { return this._removeQuotes.GetValueOrDefault(); } set { this._removeQuotes = value; } } // Check to see if RemoveQuotes property is set internal bool IsSetRemoveQuotes() { return this._removeQuotes.HasValue; } /// /// Gets and sets the property ReplaceChars. /// /// A value that specifies to replaces the invalid characters specified in ReplaceInvalidChars, /// substituting the specified characters instead. The default is "?". /// /// public string ReplaceChars { get { return this._replaceChars; } set { this._replaceChars = value; } } // Check to see if ReplaceChars property is set internal bool IsSetReplaceChars() { return this._replaceChars != null; } /// /// Gets and sets the property ReplaceInvalidChars. /// /// A list of characters that you want to replace. Use with ReplaceChars. /// /// public string ReplaceInvalidChars { get { return this._replaceInvalidChars; } set { this._replaceInvalidChars = value; } } // Check to see if ReplaceInvalidChars property is set internal bool IsSetReplaceInvalidChars() { return this._replaceInvalidChars != null; } /// /// 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 Amazon Redshift 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 Amazon Redshift 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 Amazon Redshift cluster you are using. /// /// 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 ServerSideEncryptionKmsKeyId. /// /// The KMS key ID. If you are using SSE_KMS for the EncryptionMode, /// provide this key ID. The key that you use needs an attached policy that enables IAM /// user permissions and allows use of the key. /// /// public string ServerSideEncryptionKmsKeyId { get { return this._serverSideEncryptionKmsKeyId; } set { this._serverSideEncryptionKmsKeyId = value; } } // Check to see if ServerSideEncryptionKmsKeyId property is set internal bool IsSetServerSideEncryptionKmsKeyId() { return this._serverSideEncryptionKmsKeyId != null; } /// /// Gets and sets the property ServiceAccessRoleArn. /// /// The Amazon Resource Name (ARN) of the IAM role that has access to the Amazon Redshift /// service. 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 TimeFormat. /// /// The time format that you want to use. Valid values are auto (case-sensitive), /// 'timeformat_string', 'epochsecs', or 'epochmillisecs'. /// It defaults to 10. Using auto recognizes most strings, even some that /// aren't supported when you use a time format string. /// /// /// /// If your date and time values use formats different from each other, set this parameter /// to auto. /// /// public string TimeFormat { get { return this._timeFormat; } set { this._timeFormat = value; } } // Check to see if TimeFormat property is set internal bool IsSetTimeFormat() { return this._timeFormat != null; } /// /// Gets and sets the property TrimBlanks. /// /// A value that specifies to remove the trailing white space characters from a VARCHAR /// string. This parameter applies only to columns with a VARCHAR data type. Choose true /// to remove unneeded white space. The default is false. /// /// public bool TrimBlanks { get { return this._trimBlanks.GetValueOrDefault(); } set { this._trimBlanks = value; } } // Check to see if TrimBlanks property is set internal bool IsSetTrimBlanks() { return this._trimBlanks.HasValue; } /// /// Gets and sets the property TruncateColumns. /// /// A value that specifies to truncate data in columns to the appropriate number of characters, /// so that the data fits in the column. This parameter applies only to columns with a /// VARCHAR or CHAR data type, and rows with a size of 4 MB or less. Choose true /// to truncate data. The default is false. /// /// public bool TruncateColumns { get { return this._truncateColumns.GetValueOrDefault(); } set { this._truncateColumns = value; } } // Check to see if TruncateColumns property is set internal bool IsSetTruncateColumns() { return this._truncateColumns.HasValue; } /// /// Gets and sets the property Username. /// /// An Amazon Redshift user name for a registered user. /// /// 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 WriteBufferSize. /// /// The size (in KB) of the in-memory file write buffer used when generating .csv files /// on the local disk at the DMS replication instance. The default value is 1000 (buffer /// size is 1000KB). /// /// public int WriteBufferSize { get { return this._writeBufferSize.GetValueOrDefault(); } set { this._writeBufferSize = value; } } // Check to see if WriteBufferSize property is set internal bool IsSetWriteBufferSize() { return this._writeBufferSize.HasValue; } } }