Class: AWSCDK::S3::CfnBucket::BlockedEncryptionTypesProperty

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

Overview

A bucket-level setting for Amazon S3 general purpose buckets used to prevent the upload of new objects encrypted with the specified server-side encryption type.

For example, blocking an encryption type will block PutObject , CopyObject , PostObject , multipart upload, and replication requests to the bucket for objects with the specified encryption type. However, you can continue to read and list any pre-existing objects already encrypted with the specified encryption type. For more information, see Blocking or unblocking SSE-C for a general purpose bucket .

This data type is used with the following actions:

You must have the s3:GetEncryptionConfiguration permission to view a bucket's encryption type.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(encryption_type: nil) ⇒ BlockedEncryptionTypesProperty

Returns a new instance of BlockedEncryptionTypesProperty.

Parameters:

  • encryption_type (Array<String>, nil) (defaults to: nil)

    The object encryption type that you want to block or unblock for an Amazon S3 general purpose bucket.



1245
1246
1247
1248
# File 's3/cfn_bucket.rb', line 1245

def initialize(encryption_type: nil)
  @encryption_type = encryption_type
  Jsii::Type.check_type(@encryption_type, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "encryptionType") unless @encryption_type.nil?
end

Instance Attribute Details

#encryption_typeArray<String>? (readonly)

The object encryption type that you want to block or unblock for an Amazon S3 general purpose bucket.

Currently, this parameter only supports blocking or unblocking server side encryption with customer-provided keys (SSE-C). For more information about SSE-C, see Using server-side encryption with customer-provided keys (SSE-C) .



1256
1257
1258
# File 's3/cfn_bucket.rb', line 1256

def encryption_type
  @encryption_type
end

Class Method Details

.jsii_propertiesObject



1258
1259
1260
1261
1262
# File 's3/cfn_bucket.rb', line 1258

def self.jsii_properties
  {
    :encryption_type => "encryptionType",
  }
end

Instance Method Details

#to_jsiiObject



1264
1265
1266
1267
1268
1269
1270
# File 's3/cfn_bucket.rb', line 1264

def to_jsii
  result = {}
  result.merge!({
    "encryptionType" => @encryption_type,
  })
  result.compact
end