Class: AWSCDK::S3::CfnAccessGrantsLocationProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
s3/cfn_access_grants_location_props.rb

Overview

Properties for defining a CfnAccessGrantsLocation.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(iam_role_arn:, location_scope:, tags: nil) ⇒ CfnAccessGrantsLocationProps

Returns a new instance of CfnAccessGrantsLocationProps.

Parameters:

  • iam_role_arn (String)

    The Amazon Resource Name (ARN) of the IAM role for the registered location.

  • location_scope (String)

    The S3 URI path to the location that you are registering.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    The AWS resource tags that you are adding to the S3 Access Grants location.



12
13
14
15
16
17
18
19
# File 's3/cfn_access_grants_location_props.rb', line 12

def initialize(iam_role_arn:, location_scope:, tags: nil)
  @iam_role_arn = iam_role_arn
  Jsii::Type.check_type(@iam_role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "iamRoleArn")
  @location_scope = location_scope
  Jsii::Type.check_type(@location_scope, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "locationScope")
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
end

Instance Attribute Details

#iam_role_arnString (readonly)

The Amazon Resource Name (ARN) of the IAM role for the registered location.

S3 Access Grants assumes this role to manage access to the registered location.



27
28
29
# File 's3/cfn_access_grants_location_props.rb', line 27

def iam_role_arn
  @iam_role_arn
end

#location_scopeString (readonly)

The S3 URI path to the location that you are registering.

The location scope can be the default S3 location s3:// , the S3 path to a bucket, or the S3 path to a bucket and prefix. A prefix in S3 is a string of characters at the beginning of an object key name used to organize the objects that you store in your S3 buckets. For example, object key names that start with the engineering/ prefix or object key names that start with the marketing/campaigns/ prefix.



34
35
36
# File 's3/cfn_access_grants_location_props.rb', line 34

def location_scope
  @location_scope
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

The AWS resource tags that you are adding to the S3 Access Grants location.

Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.



41
42
43
# File 's3/cfn_access_grants_location_props.rb', line 41

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



43
44
45
46
47
48
49
# File 's3/cfn_access_grants_location_props.rb', line 43

def self.jsii_properties
  {
    :iam_role_arn => "iamRoleArn",
    :location_scope => "locationScope",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



51
52
53
54
55
56
57
58
59
# File 's3/cfn_access_grants_location_props.rb', line 51

def to_jsii
  result = {}
  result.merge!({
    "iamRoleArn" => @iam_role_arn,
    "locationScope" => @location_scope,
    "tags" => @tags,
  })
  result.compact
end