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.



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

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



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

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



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

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)


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

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



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

def google_managed_encryption_enforcement_config
  @google_managed_encryption_enforcement_config
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



622
623
624
625
626
627
# File 'lib/google/apis/storage_v1/classes.rb', line 622

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