Class: AWSCDK::SecretsManager::MultiUserHostedRotationOptions
- Inherits:
-
SingleUserHostedRotationOptions
- Object
- SingleUserHostedRotationOptions
- AWSCDK::SecretsManager::MultiUserHostedRotationOptions
- Defined in:
- secrets_manager/multi_user_hosted_rotation_options.rb
Overview
Multi user hosted rotation options.
Instance Attribute Summary collapse
-
#exclude_characters ⇒ String?
readonly
A string of the characters that you don't want in the password.
-
#function_name ⇒ String?
readonly
A name for the Lambda created to rotate the secret.
-
#master_secret ⇒ AWSCDK::SecretsManager::ISecret
readonly
The master secret for a multi user rotation scheme.
-
#security_groups ⇒ Array<AWSCDK::EC2::ISecurityGroup>?
readonly
A list of security groups for the Lambda created to rotate the secret.
-
#vpc ⇒ AWSCDK::EC2::IVPC?
readonly
The VPC where the Lambda rotation function will run.
-
#vpc_subnets ⇒ AWSCDK::EC2::SubnetSelection?
readonly
The type of subnets in the VPC where the Lambda rotation function will run.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(exclude_characters: nil, function_name: nil, security_groups: nil, vpc: nil, vpc_subnets: nil, master_secret:) ⇒ MultiUserHostedRotationOptions
constructor
A new instance of MultiUserHostedRotationOptions.
- #to_jsii ⇒ Object
Constructor Details
#initialize(exclude_characters: nil, function_name: nil, security_groups: nil, vpc: nil, vpc_subnets: nil, master_secret:) ⇒ MultiUserHostedRotationOptions
Returns a new instance of MultiUserHostedRotationOptions.
13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'secrets_manager/multi_user_hosted_rotation_options.rb', line 13 def initialize(exclude_characters: nil, function_name: nil, security_groups: nil, vpc: nil, vpc_subnets: nil, master_secret:) @exclude_characters = exclude_characters Jsii::Type.check_type(@exclude_characters, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "excludeCharacters") unless @exclude_characters.nil? @function_name = function_name Jsii::Type.check_type(@function_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "functionName") unless @function_name.nil? @security_groups = security_groups Jsii::Type.check_type(@security_groups, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuSVNlY3VyaXR5R3JvdXAifSwia2luZCI6ImFycmF5In19")), "securityGroups") unless @security_groups.nil? @vpc = vpc Jsii::Type.check_type(@vpc, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLklWcGMifQ==")), "vpc") unless @vpc.nil? @vpc_subnets = vpc_subnets.is_a?(Hash) ? ::AWSCDK::EC2::SubnetSelection.new(**vpc_subnets.transform_keys(&:to_sym)) : vpc_subnets Jsii::Type.check_type(@vpc_subnets, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLlN1Ym5ldFNlbGVjdGlvbiJ9")), "vpcSubnets") unless @vpc_subnets.nil? @master_secret = master_secret Jsii::Type.check_type(@master_secret, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc2VjcmV0c21hbmFnZXIuSVNlY3JldCJ9")), "masterSecret") end |
Instance Attribute Details
#exclude_characters ⇒ String? (readonly)
Default: the same exclude characters as the ones used for the secret or " %+~`#$&*()|[]{}:;<>?!'/@\"\"
A string of the characters that you don't want in the password.
32 33 34 |
# File 'secrets_manager/multi_user_hosted_rotation_options.rb', line 32 def exclude_characters @exclude_characters end |
#function_name ⇒ String? (readonly)
Default: - a CloudFormation generated name
A name for the Lambda created to rotate the secret.
37 38 39 |
# File 'secrets_manager/multi_user_hosted_rotation_options.rb', line 37 def function_name @function_name end |
#master_secret ⇒ AWSCDK::SecretsManager::ISecret (readonly)
The master secret for a multi user rotation scheme.
56 57 58 |
# File 'secrets_manager/multi_user_hosted_rotation_options.rb', line 56 def master_secret @master_secret end |
#security_groups ⇒ Array<AWSCDK::EC2::ISecurityGroup>? (readonly)
Default: - a new security group is created
A list of security groups for the Lambda created to rotate the secret.
42 43 44 |
# File 'secrets_manager/multi_user_hosted_rotation_options.rb', line 42 def security_groups @security_groups end |
#vpc ⇒ AWSCDK::EC2::IVPC? (readonly)
Default: - the Lambda is not deployed in a VPC
The VPC where the Lambda rotation function will run.
47 48 49 |
# File 'secrets_manager/multi_user_hosted_rotation_options.rb', line 47 def vpc @vpc end |
#vpc_subnets ⇒ AWSCDK::EC2::SubnetSelection? (readonly)
Default: - the Vpc default strategy if not specified.
The type of subnets in the VPC where the Lambda rotation function will run.
52 53 54 |
# File 'secrets_manager/multi_user_hosted_rotation_options.rb', line 52 def vpc_subnets @vpc_subnets end |
Class Method Details
.jsii_properties ⇒ Object
58 59 60 61 62 63 64 65 66 67 |
# File 'secrets_manager/multi_user_hosted_rotation_options.rb', line 58 def self.jsii_properties { :exclude_characters => "excludeCharacters", :function_name => "functionName", :security_groups => "securityGroups", :vpc => "vpc", :vpc_subnets => "vpcSubnets", :master_secret => "masterSecret", } end |
Instance Method Details
#to_jsii ⇒ Object
69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'secrets_manager/multi_user_hosted_rotation_options.rb', line 69 def to_jsii result = {} result.merge!(super) result.merge!({ "excludeCharacters" => @exclude_characters, "functionName" => @function_name, "securityGroups" => @security_groups, "vpc" => @vpc, "vpcSubnets" => @vpc_subnets, "masterSecret" => @master_secret, }) result.compact end |