Class: AWSCDK::IAM::UnknownPrincipal

Inherits:
Jsii::Object
  • Object
show all
Includes:
IPrincipal
Defined in:
iam/unknown_principal.rb

Overview

A principal for use in resources that need to have a role but it's unknown.

Some resources have roles associated with them which they assume, such as Lambda Functions, CodeBuild projects, StepFunctions machines, etc.

When those resources are imported, their actual roles are not always imported with them. When that happens, we use an instance of this class instead, which will add user warnings when statements are attempted to be added to it.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(props) ⇒ UnknownPrincipal

Returns a new instance of UnknownPrincipal.



18
19
20
21
22
# File 'iam/unknown_principal.rb', line 18

def initialize(props)
  props = props.is_a?(Hash) ? ::AWSCDK::IAM::UnknownPrincipalProps.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLlVua25vd25QcmluY2lwYWxQcm9wcyJ9")), "props")
  Jsii::Object.instance_method(:initialize).bind(self).call(props)
end

Class Method Details

.jsii_overridable_methodsObject



24
25
26
27
28
29
30
31
32
# File 'iam/unknown_principal.rb', line 24

def self.jsii_overridable_methods
  {
    :assume_role_action => { kind: :property, name: "assumeRoleAction", is_optional: false },
    :grant_principal => { kind: :property, name: "grantPrincipal", is_optional: false },
    :policy_fragment => { kind: :property, name: "policyFragment", is_optional: false },
    :add_to_policy => { kind: :method, name: "addToPolicy", is_optional: false },
    :add_to_principal_policy => { kind: :method, name: "addToPrincipalPolicy", is_optional: false },
  }
end

Instance Method Details

#add_to_policy(statement) ⇒ Boolean

Add to the policy of this principal.

Parameters:

Returns:

  • (Boolean)


59
60
61
62
# File 'iam/unknown_principal.rb', line 59

def add_to_policy(statement)
  Jsii::Type.check_type(statement, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLlBvbGljeVN0YXRlbWVudCJ9")), "statement")
  jsii_call_method("addToPolicy", [statement])
end

#add_to_principal_policy(statement) ⇒ AWSCDK::IAM::AddToPrincipalPolicyResult

Add to the policy of this principal.



68
69
70
71
# File 'iam/unknown_principal.rb', line 68

def add_to_principal_policy(statement)
  Jsii::Type.check_type(statement, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLlBvbGljeVN0YXRlbWVudCJ9")), "statement")
  jsii_call_method("addToPrincipalPolicy", [statement])
end

#assume_role_actionString

When this Principal is used in an AssumeRole policy, the action to use.

Returns:

  • (String)


37
38
39
# File 'iam/unknown_principal.rb', line 37

def assume_role_action()
  jsii_get_property("assumeRoleAction")
end

#grant_principalAWSCDK::IAM::IPrincipal

The principal to grant permissions to.



44
45
46
# File 'iam/unknown_principal.rb', line 44

def grant_principal()
  jsii_get_property("grantPrincipal")
end

#policy_fragmentAWSCDK::IAM::PrincipalPolicyFragment

Return the policy fragment that identifies this principal in a Policy.



51
52
53
# File 'iam/unknown_principal.rb', line 51

def policy_fragment()
  jsii_get_property("policyFragment")
end