Class: AWSCDK::DMS::CfnEndpoint::DocDBSettingsProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
dms/cfn_endpoint.rb

Overview

Provides information that defines a DocumentDB endpoint.

This information includes the output format of records applied to the endpoint and details of transaction and control table data information. For more information about other available settings, see Using extra connections attributes with Amazon DocumentDB as a source and Using Amazon DocumentDB as a target for AWS Database Migration Service in the AWS Database Migration Service User Guide .

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(docs_to_investigate: nil, extract_doc_id: nil, nesting_level: nil, secrets_manager_access_role_arn: nil, secrets_manager_secret_id: nil) ⇒ DocDBSettingsProperty

Returns a new instance of DocDBSettingsProperty.

Parameters:

  • docs_to_investigate (Numeric, nil) (defaults to: nil)

    Indicates the number of documents to preview to determine the document organization.

  • extract_doc_id (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Specifies the document ID. Use this setting when NestingLevel is set to "none" .

  • nesting_level (String, nil) (defaults to: nil)

    Specifies either document or table mode.

  • secrets_manager_access_role_arn (String, nil) (defaults to: nil)

    The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in SecretsManagerSecret .

  • secrets_manager_secret_id (String, nil) (defaults to: nil)

    The full ARN, partial ARN, or display name of the SecretsManagerSecret that contains the DocumentDB endpoint connection details.



953
954
955
956
957
958
959
960
961
962
963
964
# File 'dms/cfn_endpoint.rb', line 953

def initialize(docs_to_investigate: nil, extract_doc_id: nil, nesting_level: nil, secrets_manager_access_role_arn: nil, secrets_manager_secret_id: nil)
  @docs_to_investigate = docs_to_investigate
  Jsii::Type.check_type(@docs_to_investigate, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "docsToInvestigate") unless @docs_to_investigate.nil?
  @extract_doc_id = extract_doc_id
  Jsii::Type.check_type(@extract_doc_id, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "extractDocId") unless @extract_doc_id.nil?
  @nesting_level = nesting_level
  Jsii::Type.check_type(@nesting_level, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "nestingLevel") unless @nesting_level.nil?
  @secrets_manager_access_role_arn = secrets_manager_access_role_arn
  Jsii::Type.check_type(@secrets_manager_access_role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "secretsManagerAccessRoleArn") unless @secrets_manager_access_role_arn.nil?
  @secrets_manager_secret_id = secrets_manager_secret_id
  Jsii::Type.check_type(@secrets_manager_secret_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "secretsManagerSecretId") unless @secrets_manager_secret_id.nil?
end

Instance Attribute Details

#docs_to_investigateNumeric? (readonly)

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 .



974
975
976
# File 'dms/cfn_endpoint.rb', line 974

def docs_to_investigate
  @docs_to_investigate
end

#extract_doc_idBoolean, ... (readonly)

Specifies the document ID. Use this setting when NestingLevel is set to "none" .

Default value is "false" .



981
982
983
# File 'dms/cfn_endpoint.rb', line 981

def extract_doc_id
  @extract_doc_id
end

#nesting_levelString? (readonly)

Specifies either document or table mode.

Default value is "none" . Specify "none" to use document mode. Specify "one" to use table mode.



988
989
990
# File 'dms/cfn_endpoint.rb', line 988

def nesting_level
  @nesting_level
end

#secrets_manager_access_role_arnString? (readonly)

The full Amazon Resource Name (ARN) of the IAM role that specifies AWS 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 AWS Secrets Manager secret that allows access to the DocumentDB 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 , the corresponding SecretsManagerAccessRoleArn , and the SecretsManagerSecretId that is required to access it, see Using secrets to access AWS Database Migration Service resources in the AWS Database Migration Service User Guide .



999
1000
1001
# File 'dms/cfn_endpoint.rb', line 999

def secrets_manager_access_role_arn
  @secrets_manager_access_role_arn
end

#secrets_manager_secret_idString? (readonly)

The full ARN, partial ARN, or display name of the SecretsManagerSecret that contains the DocumentDB endpoint connection details.



1004
1005
1006
# File 'dms/cfn_endpoint.rb', line 1004

def secrets_manager_secret_id
  @secrets_manager_secret_id
end

Class Method Details

.jsii_propertiesObject



1006
1007
1008
1009
1010
1011
1012
1013
1014
# File 'dms/cfn_endpoint.rb', line 1006

def self.jsii_properties
  {
    :docs_to_investigate => "docsToInvestigate",
    :extract_doc_id => "extractDocId",
    :nesting_level => "nestingLevel",
    :secrets_manager_access_role_arn => "secretsManagerAccessRoleArn",
    :secrets_manager_secret_id => "secretsManagerSecretId",
  }
end

Instance Method Details

#to_jsiiObject



1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
# File 'dms/cfn_endpoint.rb', line 1016

def to_jsii
  result = {}
  result.merge!({
    "docsToInvestigate" => @docs_to_investigate,
    "extractDocId" => @extract_doc_id,
    "nestingLevel" => @nesting_level,
    "secretsManagerAccessRoleArn" => @secrets_manager_access_role_arn,
    "secretsManagerSecretId" => @secrets_manager_secret_id,
  })
  result.compact
end