Class: AWSCDK::DocDB::Login

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
doc_db/login.rb

Overview

Login credentials for a database cluster.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(username:, exclude_characters: nil, kms_key: nil, password: nil, secret_name: nil) ⇒ Login

Returns a new instance of Login.

Parameters:

  • username (String)

    Username.

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

    Specifies characters to not include in generated passwords.

  • kms_key (AWSCDK::KMS::IKey, nil) (defaults to: nil)

    KMS encryption key to encrypt the generated secret.

  • password (AWSCDK::SecretValue, nil) (defaults to: nil)

    Password.

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

    The physical name of the secret, that will be generated.



12
13
14
15
16
17
18
19
20
21
22
23
# File 'doc_db/login.rb', line 12

def initialize(username:, exclude_characters: nil, kms_key: nil, password: nil, secret_name: nil)
  @username = username
  Jsii::Type.check_type(@username, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "username")
  @exclude_characters = exclude_characters
  Jsii::Type.check_type(@exclude_characters, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "excludeCharacters") unless @exclude_characters.nil?
  @kms_key = kms_key
  Jsii::Type.check_type(@kms_key, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfa21zLklLZXkifQ==")), "kmsKey") unless @kms_key.nil?
  @password = password
  Jsii::Type.check_type(@password, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5TZWNyZXRWYWx1ZSJ9")), "password") unless @password.nil?
  @secret_name = secret_name
  Jsii::Type.check_type(@secret_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "secretName") unless @secret_name.nil?
end

Instance Attribute Details

#exclude_charactersString? (readonly)

Note:

Default: "\"@/"

Specifies characters to not include in generated passwords.

Returns:

  • (String, nil)


33
34
35
# File 'doc_db/login.rb', line 33

def exclude_characters
  @exclude_characters
end

#kms_keyAWSCDK::KMS::IKey? (readonly)

Note:

Default: default master key

KMS encryption key to encrypt the generated secret.

Returns:



38
39
40
# File 'doc_db/login.rb', line 38

def kms_key
  @kms_key
end

#passwordAWSCDK::SecretValue? (readonly)

Note:

Default: a Secrets Manager generated password

Password.

Do not put passwords in your CDK code directly.

Returns:



45
46
47
# File 'doc_db/login.rb', line 45

def password
  @password
end

#secret_nameString? (readonly)

Note:

Default: Secretsmanager will generate a physical name for the secret

The physical name of the secret, that will be generated.

Returns:

  • (String, nil)


50
51
52
# File 'doc_db/login.rb', line 50

def secret_name
  @secret_name
end

#usernameString (readonly)

Username.

Returns:

  • (String)


28
29
30
# File 'doc_db/login.rb', line 28

def username
  @username
end

Class Method Details

.jsii_propertiesObject



52
53
54
55
56
57
58
59
60
# File 'doc_db/login.rb', line 52

def self.jsii_properties
  {
    :username => "username",
    :exclude_characters => "excludeCharacters",
    :kms_key => "kmsKey",
    :password => "password",
    :secret_name => "secretName",
  }
end

Instance Method Details

#to_jsiiObject



62
63
64
65
66
67
68
69
70
71
72
# File 'doc_db/login.rb', line 62

def to_jsii
  result = {}
  result.merge!({
    "username" => @username,
    "excludeCharacters" => @exclude_characters,
    "kmsKey" => @kms_key,
    "password" => @password,
    "secretName" => @secret_name,
  })
  result.compact
end