Class: AWSCDK::S3Express::CfnAccessPointProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::S3Express::CfnAccessPointProps
- Defined in:
- s3_express/cfn_access_point_props.rb
Overview
Properties for defining a CfnAccessPoint.
Instance Attribute Summary collapse
-
#bucket ⇒ String
readonly
The name of the bucket that you want to associate the access point with.
-
#bucket_account_id ⇒ String?
readonly
The AWS account ID that owns the bucket associated with this access point.
-
#name ⇒ String?
readonly
An access point name consists of a base name you provide, followed by the zoneID ( AWS Local Zone) followed by the prefix
--xa-s3. -
#policy ⇒ Object?
readonly
The access point policy associated with the specified access point.
-
#public_access_block_configuration ⇒ AWSCDK::IResolvable, ...
readonly
Public access is blocked by default to access points for directory buckets.
-
#scope ⇒ AWSCDK::IResolvable, ...
readonly
You can use the access point scope to restrict access to specific prefixes, API operations, or a combination of both.
-
#tags ⇒ Array<AWSCDK::CfnTag>?
readonly
An array of tags that you can apply to access points.
-
#vpc_configuration ⇒ AWSCDK::IResolvable, ...
readonly
If you include this field, Amazon S3 restricts access to this access point to requests from the specified virtual private cloud (VPC).
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(bucket:, bucket_account_id: nil, name: nil, policy: nil, public_access_block_configuration: nil, scope: nil, tags: nil, vpc_configuration: nil) ⇒ CfnAccessPointProps
constructor
A new instance of CfnAccessPointProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(bucket:, bucket_account_id: nil, name: nil, policy: nil, public_access_block_configuration: nil, scope: nil, tags: nil, vpc_configuration: nil) ⇒ CfnAccessPointProps
Returns a new instance of CfnAccessPointProps.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 's3_express/cfn_access_point_props.rb', line 17 def initialize(bucket:, bucket_account_id: nil, name: nil, policy: nil, public_access_block_configuration: nil, scope: nil, tags: nil, vpc_configuration: nil) @bucket = bucket Jsii::Type.check_type(@bucket, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "bucket") @bucket_account_id = bucket_account_id Jsii::Type.check_type(@bucket_account_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "bucketAccountId") unless @bucket_account_id.nil? @name = name Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") unless @name.nil? @policy = policy Jsii::Type.check_type(@policy, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "policy") unless @policy.nil? @public_access_block_configuration = public_access_block_configuration.is_a?(Hash) ? ::AWSCDK::S3Express::CfnAccessPoint::PublicAccessBlockConfigurationProperty.new(**public_access_block_configuration.transform_keys(&:to_sym)) : public_access_block_configuration Jsii::Type.check_type(@public_access_block_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zM2V4cHJlc3MuQ2ZuQWNjZXNzUG9pbnQuUHVibGljQWNjZXNzQmxvY2tDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "publicAccessBlockConfiguration") unless @public_access_block_configuration.nil? @scope = scope.is_a?(Hash) ? ::AWSCDK::S3Express::CfnAccessPoint::ScopeProperty.new(**scope.transform_keys(&:to_sym)) : scope Jsii::Type.check_type(@scope, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zM2V4cHJlc3MuQ2ZuQWNjZXNzUG9pbnQuU2NvcGVQcm9wZXJ0eSJ9XX19")), "scope") unless @scope.nil? @tags = .is_a?(Array) ? .map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil? @vpc_configuration = vpc_configuration.is_a?(Hash) ? ::AWSCDK::S3Express::CfnAccessPoint::VPCConfigurationProperty.new(**vpc_configuration.transform_keys(&:to_sym)) : vpc_configuration Jsii::Type.check_type(@vpc_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zM2V4cHJlc3MuQ2ZuQWNjZXNzUG9pbnQuVnBjQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "vpcConfiguration") unless @vpc_configuration.nil? end |
Instance Attribute Details
#bucket ⇒ String (readonly)
The name of the bucket that you want to associate the access point with.
40 41 42 |
# File 's3_express/cfn_access_point_props.rb', line 40 def bucket @bucket end |
#bucket_account_id ⇒ String? (readonly)
The AWS account ID that owns the bucket associated with this access point.
45 46 47 |
# File 's3_express/cfn_access_point_props.rb', line 45 def bucket_account_id @bucket_account_id end |
#name ⇒ String? (readonly)
An access point name consists of a base name you provide, followed by the zoneID ( AWS Local Zone) followed by the prefix --xa-s3 .
For example, accesspointname--zoneID--xa-s3.
52 53 54 |
# File 's3_express/cfn_access_point_props.rb', line 52 def name @name end |
#policy ⇒ Object? (readonly)
The access point policy associated with the specified access point.
57 58 59 |
# File 's3_express/cfn_access_point_props.rb', line 57 def policy @policy end |
#public_access_block_configuration ⇒ AWSCDK::IResolvable, ... (readonly)
Public access is blocked by default to access points for directory buckets.
62 63 64 |
# File 's3_express/cfn_access_point_props.rb', line 62 def public_access_block_configuration @public_access_block_configuration end |
#scope ⇒ AWSCDK::IResolvable, ... (readonly)
You can use the access point scope to restrict access to specific prefixes, API operations, or a combination of both.
For more information, see Manage the scope of your access points for directory buckets.
69 70 71 |
# File 's3_express/cfn_access_point_props.rb', line 69 def scope @scope end |
#tags ⇒ Array<AWSCDK::CfnTag>? (readonly)
An array of tags that you can apply to access points.
Tags are key-value pairs of metadata used to categorize your access points and control access. For more information, see Using tags for attribute-based access control (ABAC) .
76 77 78 |
# File 's3_express/cfn_access_point_props.rb', line 76 def @tags end |
#vpc_configuration ⇒ AWSCDK::IResolvable, ... (readonly)
If you include this field, Amazon S3 restricts access to this access point to requests from the specified virtual private cloud (VPC).
81 82 83 |
# File 's3_express/cfn_access_point_props.rb', line 81 def vpc_configuration @vpc_configuration end |
Class Method Details
.jsii_properties ⇒ Object
83 84 85 86 87 88 89 90 91 92 93 94 |
# File 's3_express/cfn_access_point_props.rb', line 83 def self.jsii_properties { :bucket => "bucket", :bucket_account_id => "bucketAccountId", :name => "name", :policy => "policy", :public_access_block_configuration => "publicAccessBlockConfiguration", :scope => "scope", :tags => "tags", :vpc_configuration => "vpcConfiguration", } end |
Instance Method Details
#to_jsii ⇒ Object
96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
# File 's3_express/cfn_access_point_props.rb', line 96 def to_jsii result = {} result.merge!({ "bucket" => @bucket, "bucketAccountId" => @bucket_account_id, "name" => @name, "policy" => @policy, "publicAccessBlockConfiguration" => @public_access_block_configuration, "scope" => @scope, "tags" => @tags, "vpcConfiguration" => @vpc_configuration, }) result.compact end |