Class: AWSCDK::RoleOptions

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
role_options.rb

Overview

Options for specifying a role.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(assume_role_arn:, assume_role_additional_options: nil, assume_role_external_id: nil) ⇒ RoleOptions

Returns a new instance of RoleOptions.

Parameters:

  • assume_role_arn (String)

    ARN of the role to assume.

  • assume_role_additional_options (Hash{String => Object}, nil) (defaults to: nil)

    Additional options to pass to STS when assuming the role for cloudformation deployments.

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

    External ID to use when assuming the role.



10
11
12
13
14
15
16
17
# File 'role_options.rb', line 10

def initialize(assume_role_arn:, assume_role_additional_options: nil, assume_role_external_id: nil)
  @assume_role_arn = assume_role_arn
  Jsii::Type.check_type(@assume_role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "assumeRoleArn")
  @assume_role_additional_options = assume_role_additional_options
  Jsii::Type.check_type(@assume_role_additional_options, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6ImFueSJ9LCJraW5kIjoibWFwIn19")), "assumeRoleAdditionalOptions") unless @assume_role_additional_options.nil?
  @assume_role_external_id = assume_role_external_id
  Jsii::Type.check_type(@assume_role_external_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "assumeRoleExternalId") unless @assume_role_external_id.nil?
end

Instance Attribute Details

#assume_role_additional_optionsHash{String => Object}? (readonly)

Note:

Default: - No additional options.

Additional options to pass to STS when assuming the role for cloudformation deployments.

  • RoleArn should not be used. Use the dedicated assume_role_arn property instead.
  • ExternalId should not be used. Use the dedicated assume_role_external_id instead.
  • TransitiveTagKeys defaults to use all keys (if any) specified in Tags. E.g, all tags are transitive by default.


32
33
34
# File 'role_options.rb', line 32

def assume_role_additional_options
  @assume_role_additional_options
end

#assume_role_arnString (readonly)

ARN of the role to assume.

Returns:

  • (String)


22
23
24
# File 'role_options.rb', line 22

def assume_role_arn
  @assume_role_arn
end

#assume_role_external_idString? (readonly)

Note:

Default: - No external ID

External ID to use when assuming the role.

Returns:

  • (String, nil)


37
38
39
# File 'role_options.rb', line 37

def assume_role_external_id
  @assume_role_external_id
end

Class Method Details

.jsii_propertiesObject



39
40
41
42
43
44
45
# File 'role_options.rb', line 39

def self.jsii_properties
  {
    :assume_role_arn => "assumeRoleArn",
    :assume_role_additional_options => "assumeRoleAdditionalOptions",
    :assume_role_external_id => "assumeRoleExternalId",
  }
end

Instance Method Details

#to_jsiiObject



47
48
49
50
51
52
53
54
55
# File 'role_options.rb', line 47

def to_jsii
  result = {}
  result.merge!({
    "assumeRoleArn" => @assume_role_arn,
    "assumeRoleAdditionalOptions" => @assume_role_additional_options,
    "assumeRoleExternalId" => @assume_role_external_id,
  })
  result.compact
end