Class: Google::Apis::StorageV1::Bucket::Encryption

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/storage_v1/classes.rb,
lib/google/apis/storage_v1/representations.rb,
lib/google/apis/storage_v1/representations.rb

Overview

Encryption configuration for a bucket.

Defined Under Namespace

Classes: CustomerManagedEncryptionEnforcementConfig, CustomerSuppliedEncryptionEnforcementConfig, GoogleManagedEncryptionEnforcementConfig

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Encryption

Returns a new instance of Encryption.



610
611
612
# File 'lib/google/apis/storage_v1/classes.rb', line 610

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#customer_managed_encryption_enforcement_configGoogle::Apis::StorageV1::Bucket::Encryption::CustomerManagedEncryptionEnforcementConfig

If set, the new objects created in this bucket must comply with this enforcement config. Changing this has no effect on existing objects; it applies to new objects only. If omitted, the new objects are allowed to be encrypted with Customer Managed Encryption type by default. Corresponds to the JSON property customerManagedEncryptionEnforcementConfig



586
587
588
# File 'lib/google/apis/storage_v1/classes.rb', line 586

def customer_managed_encryption_enforcement_config
  @customer_managed_encryption_enforcement_config
end

#customer_supplied_encryption_enforcement_configGoogle::Apis::StorageV1::Bucket::Encryption::CustomerSuppliedEncryptionEnforcementConfig

If set, the new objects created in this bucket must comply with this enforcement config. Changing this has no effect on existing objects; it applies to new objects only. If omitted, the new objects are allowed to be encrypted with Customer Supplied Encryption type by default. Corresponds to the JSON property customerSuppliedEncryptionEnforcementConfig



594
595
596
# File 'lib/google/apis/storage_v1/classes.rb', line 594

def customer_supplied_encryption_enforcement_config
  @customer_supplied_encryption_enforcement_config
end

#default_kms_key_nameString

A Cloud KMS key that will be used to encrypt objects inserted into this bucket, if no encryption method is specified. Corresponds to the JSON property defaultKmsKeyName

Returns:

  • (String)


600
601
602
# File 'lib/google/apis/storage_v1/classes.rb', line 600

def default_kms_key_name
  @default_kms_key_name
end

#google_managed_encryption_enforcement_configGoogle::Apis::StorageV1::Bucket::Encryption::GoogleManagedEncryptionEnforcementConfig

If set, the new objects created in this bucket must comply with this enforcement config. Changing this has no effect on existing objects; it applies to new objects only. If omitted, the new objects are allowed to be encrypted with Google Managed Encryption type by default. Corresponds to the JSON property googleManagedEncryptionEnforcementConfig



608
609
610
# File 'lib/google/apis/storage_v1/classes.rb', line 608

def google_managed_encryption_enforcement_config
  @google_managed_encryption_enforcement_config
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



615
616
617
618
619
620
# File 'lib/google/apis/storage_v1/classes.rb', line 615

def update!(**args)
  @customer_managed_encryption_enforcement_config = args[:customer_managed_encryption_enforcement_config] if args.key?(:customer_managed_encryption_enforcement_config)
  @customer_supplied_encryption_enforcement_config = args[:customer_supplied_encryption_enforcement_config] if args.key?(:customer_supplied_encryption_enforcement_config)
  @default_kms_key_name = args[:default_kms_key_name] if args.key?(:default_kms_key_name)
  @google_managed_encryption_enforcement_config = args[:google_managed_encryption_enforcement_config] if args.key?(:google_managed_encryption_enforcement_config)
end