Class: AWSCDK::S3::CfnAccessPointProps

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

Overview

Properties for defining a CfnAccessPoint.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(bucket:, bucket_account_id: nil, name: nil, policy: nil, public_access_block_configuration: nil, tags: nil, vpc_configuration: nil) ⇒ CfnAccessPointProps

Returns a new instance of CfnAccessPointProps.

Parameters:



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 's3/cfn_access_point_props.rb', line 16

def initialize(bucket:, bucket_account_id: nil, name: nil, policy: nil, public_access_block_configuration: nil, tags: nil, vpc_configuration: nil)
  @bucket = bucket
  Jsii::Type.check_type(@bucket, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19zMy5JQnVja2V0UmVmIn1dfX0=")), "bucket")
  @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::S3::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("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zMy5DZm5BY2Nlc3NQb2ludC5QdWJsaWNBY2Nlc3NCbG9ja0NvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "publicAccessBlockConfiguration") unless @public_access_block_configuration.nil?
  @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?
  @vpc_configuration = vpc_configuration.is_a?(Hash) ? ::AWSCDK::S3::CfnAccessPoint::VPCConfigurationProperty.new(**vpc_configuration.transform_keys(&:to_sym)) : vpc_configuration
  Jsii::Type.check_type(@vpc_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zMy5DZm5BY2Nlc3NQb2ludC5WcGNDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "vpcConfiguration") unless @vpc_configuration.nil?
end

Instance Attribute Details

#bucketString, AWSCDK::Interfaces::AWSS3::IBucketRef (readonly)

The name of the bucket associated with this access point.



37
38
39
# File 's3/cfn_access_point_props.rb', line 37

def bucket
  @bucket
end

#bucket_account_idString? (readonly)

The AWS account ID associated with the S3 bucket associated with this access point.



42
43
44
# File 's3/cfn_access_point_props.rb', line 42

def 
  @bucket_account_id
end

#nameString? (readonly)

The name of this access point.

If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the access point name.



49
50
51
# File 's3/cfn_access_point_props.rb', line 49

def name
  @name
end

#policyObject? (readonly)

The access point policy associated with this access point.



54
55
56
# File 's3/cfn_access_point_props.rb', line 54

def policy
  @policy
end

#public_access_block_configurationAWSCDK::IResolvable, ... (readonly)

The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket.

You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see The Meaning of "Public" in the Amazon S3 User Guide .



61
62
63
# File 's3/cfn_access_point_props.rb', line 61

def public_access_block_configuration
  @public_access_block_configuration
end

#tagsArray<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) .



68
69
70
# File 's3/cfn_access_point_props.rb', line 68

def tags
  @tags
end

#vpc_configurationAWSCDK::IResolvable, ... (readonly)

The Virtual Private Cloud (VPC) configuration for this access point, if one exists.



73
74
75
# File 's3/cfn_access_point_props.rb', line 73

def vpc_configuration
  @vpc_configuration
end

Class Method Details

.jsii_propertiesObject



75
76
77
78
79
80
81
82
83
84
85
# File 's3/cfn_access_point_props.rb', line 75

def self.jsii_properties
  {
    :bucket => "bucket",
    :bucket_account_id => "bucketAccountId",
    :name => "name",
    :policy => "policy",
    :public_access_block_configuration => "publicAccessBlockConfiguration",
    :tags => "tags",
    :vpc_configuration => "vpcConfiguration",
  }
end

Instance Method Details

#to_jsiiObject



87
88
89
90
91
92
93
94
95
96
97
98
99
# File 's3/cfn_access_point_props.rb', line 87

def to_jsii
  result = {}
  result.merge!({
    "bucket" => @bucket,
    "bucketAccountId" => @bucket_account_id,
    "name" => @name,
    "policy" => @policy,
    "publicAccessBlockConfiguration" => @public_access_block_configuration,
    "tags" => @tags,
    "vpcConfiguration" => @vpc_configuration,
  })
  result.compact
end