Class: AWSCDK::S3Express::CfnAccessPointProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
s3_express/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, scope: nil, tags: nil, vpc_configuration: nil) ⇒ CfnAccessPointProps

Returns a new instance of CfnAccessPointProps.

Parameters:

  • bucket (String)

    The name of the bucket that you want to associate the access point with.

  • bucket_account_id (String, nil) (defaults to: nil)

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

  • name (String, nil) (defaults to: nil)

    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, nil) (defaults to: nil)

    The access point policy associated with the specified access point.

  • public_access_block_configuration (AWSCDK::IResolvable, AWSCDK::S3Express::CfnAccessPoint::PublicAccessBlockConfigurationProperty, nil) (defaults to: nil)

    Public access is blocked by default to access points for directory buckets.

  • scope (AWSCDK::IResolvable, AWSCDK::S3Express::CfnAccessPoint::ScopeProperty, nil) (defaults to: nil)

    You can use the access point scope to restrict access to specific prefixes, API operations, or a combination of both.

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

    An array of tags that you can apply to access points.

  • vpc_configuration (AWSCDK::IResolvable, AWSCDK::S3Express::CfnAccessPoint::VPCConfigurationProperty, nil) (defaults to: nil)

    If you include this field, Amazon S3 restricts access to this access point to requests from the specified virtual private cloud (VPC).



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 = 
  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 = 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::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

#bucketString (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_idString? (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
end

#nameString? (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

#policyObject? (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_configurationAWSCDK::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

#scopeAWSCDK::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

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



76
77
78
# File 's3_express/cfn_access_point_props.rb', line 76

def tags
  @tags
end

#vpc_configurationAWSCDK::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_propertiesObject



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_jsiiObject



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