Class: AWSCDK::IAM::GrantWithResourceOptions
- Inherits:
-
CommonGrantOptions
- Object
- CommonGrantOptions
- AWSCDK::IAM::GrantWithResourceOptions
- Defined in:
- iam/grant_with_resource_options.rb
Overview
Options for a grant operation.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#actions ⇒ Array<String>
readonly
The actions to grant.
-
#conditions ⇒ Hash{String => Hash{String => Object}}?
readonly
Any conditions to attach to the grant.
-
#grantee ⇒ AWSCDK::IAM::IGrantable
readonly
The principal to grant to.
-
#resource ⇒ AWSCDK::IAM::IResourceWithPolicyV2
readonly
The resource with a resource policy.
-
#resource_arns ⇒ Array<String>
readonly
The resource ARNs to grant to.
-
#resource_self_arns ⇒ Array<String>?
readonly
When referring to the resource in a resource policy, use this as ARN.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(actions:, grantee:, resource_arns:, conditions: nil, resource:, resource_self_arns: nil) ⇒ GrantWithResourceOptions
constructor
A new instance of GrantWithResourceOptions.
- #to_jsii ⇒ Object
Constructor Details
#initialize(actions:, grantee:, resource_arns:, conditions: nil, resource:, resource_self_arns: nil) ⇒ GrantWithResourceOptions
Returns a new instance of GrantWithResourceOptions.
13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'iam/grant_with_resource_options.rb', line 13 def initialize(actions:, grantee:, resource_arns:, conditions: nil, resource:, resource_self_arns: nil) @actions = actions Jsii::Type.check_type(@actions, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "actions") @grantee = grantee Jsii::Type.check_type(@grantee, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklHcmFudGFibGUifQ==")), "grantee") @resource_arns = resource_arns Jsii::Type.check_type(@resource_arns, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "resourceArns") @conditions = conditions Jsii::Type.check_type(@conditions, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsicHJpbWl0aXZlIjoiYW55In0sImtpbmQiOiJtYXAifX0sImtpbmQiOiJtYXAifX0=")), "conditions") unless @conditions.nil? @resource = resource Jsii::Type.check_type(@resource, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklSZXNvdXJjZVdpdGhQb2xpY3lWMiJ9")), "resource") @resource_self_arns = resource_self_arns Jsii::Type.check_type(@resource_self_arns, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "resourceSelfArns") unless @resource_self_arns.nil? end |
Instance Attribute Details
#actions ⇒ Array<String> (readonly)
The actions to grant.
31 32 33 |
# File 'iam/grant_with_resource_options.rb', line 31 def actions @actions end |
#conditions ⇒ Hash{String => Hash{String => Object}}? (readonly)
Default: - No conditions
Any conditions to attach to the grant.
45 46 47 |
# File 'iam/grant_with_resource_options.rb', line 45 def conditions @conditions end |
#grantee ⇒ AWSCDK::IAM::IGrantable (readonly)
Default: if principal is undefined, no work is done.
The principal to grant to.
36 37 38 |
# File 'iam/grant_with_resource_options.rb', line 36 def grantee @grantee end |
#resource ⇒ AWSCDK::IAM::IResourceWithPolicyV2 (readonly)
The resource with a resource policy.
The statement will be added to the resource policy if it couldn't be added to the principal policy.
52 53 54 |
# File 'iam/grant_with_resource_options.rb', line 52 def resource @resource end |
#resource_arns ⇒ Array<String> (readonly)
The resource ARNs to grant to.
40 41 42 |
# File 'iam/grant_with_resource_options.rb', line 40 def resource_arns @resource_arns end |
#resource_self_arns ⇒ Array<String>? (readonly)
Default: Same as regular resource ARNs
When referring to the resource in a resource policy, use this as ARN.
(Depending on the resource type, this needs to be '*' in a resource policy).
59 60 61 |
# File 'iam/grant_with_resource_options.rb', line 59 def resource_self_arns @resource_self_arns end |
Class Method Details
.jsii_properties ⇒ Object
61 62 63 64 65 66 67 68 69 70 |
# File 'iam/grant_with_resource_options.rb', line 61 def self.jsii_properties { :actions => "actions", :grantee => "grantee", :resource_arns => "resourceArns", :conditions => "conditions", :resource => "resource", :resource_self_arns => "resourceSelfArns", } end |
Instance Method Details
#to_jsii ⇒ Object
72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'iam/grant_with_resource_options.rb', line 72 def to_jsii result = {} result.merge!(super) result.merge!({ "actions" => @actions, "grantee" => @grantee, "resourceArns" => @resource_arns, "conditions" => @conditions, "resource" => @resource, "resourceSelfArns" => @resource_self_arns, }) result.compact end |