Class: Google::Apis::StorageV1::Object

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

An object.

Defined Under Namespace

Classes: Contexts, CustomerEncryption, Owner, Retention

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Object

Returns a new instance of Object.



2690
2691
2692
# File 'lib/google/apis/storage_v1/classes.rb', line 2690

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

Instance Attribute Details

#aclArray<Google::Apis::StorageV1::ObjectAccessControl>

Access controls on the object. Corresponds to the JSON property acl



2456
2457
2458
# File 'lib/google/apis/storage_v1/classes.rb', line 2456

def acl
  @acl
end

#bucketString

The name of the bucket containing this object. Corresponds to the JSON property bucket

Returns:

  • (String)


2461
2462
2463
# File 'lib/google/apis/storage_v1/classes.rb', line 2461

def bucket
  @bucket
end

#cache_controlString

Cache-Control directive for the object data. If omitted, and the object is accessible to all anonymous users, the default will be public, max-age=3600. Corresponds to the JSON property cacheControl

Returns:

  • (String)


2467
2468
2469
# File 'lib/google/apis/storage_v1/classes.rb', line 2467

def cache_control
  @cache_control
end

#component_countFixnum

Number of underlying components that make up this object. Components are accumulated by compose operations. Corresponds to the JSON property componentCount

Returns:

  • (Fixnum)


2473
2474
2475
# File 'lib/google/apis/storage_v1/classes.rb', line 2473

def component_count
  @component_count
end

#content_dispositionString

Content-Disposition of the object data. Corresponds to the JSON property contentDisposition

Returns:

  • (String)


2478
2479
2480
# File 'lib/google/apis/storage_v1/classes.rb', line 2478

def content_disposition
  @content_disposition
end

#content_encodingString

Content-Encoding of the object data. Corresponds to the JSON property contentEncoding

Returns:

  • (String)


2483
2484
2485
# File 'lib/google/apis/storage_v1/classes.rb', line 2483

def content_encoding
  @content_encoding
end

#content_languageString

Content-Language of the object data. Corresponds to the JSON property contentLanguage

Returns:

  • (String)


2488
2489
2490
# File 'lib/google/apis/storage_v1/classes.rb', line 2488

def content_language
  @content_language
end

#content_typeString

Content-Type of the object data. If an object is stored without a Content-Type, it is served as application/octet-stream. Corresponds to the JSON property contentType

Returns:

  • (String)


2494
2495
2496
# File 'lib/google/apis/storage_v1/classes.rb', line 2494

def content_type
  @content_type
end

#contextsGoogle::Apis::StorageV1::Object::Contexts

User-defined or system-defined object contexts. Each object context is a key- payload pair, where the key provides the identification and the payload holds the associated value and additional metadata. Corresponds to the JSON property contexts



2501
2502
2503
# File 'lib/google/apis/storage_v1/classes.rb', line 2501

def contexts
  @contexts
end

#crc32cString

CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64 in big-endian byte order. For more information about using the CRC32c checksum, see Data Validation and Change Detection. Corresponds to the JSON property crc32c

Returns:

  • (String)


2509
2510
2511
# File 'lib/google/apis/storage_v1/classes.rb', line 2509

def crc32c
  @crc32c
end

#custom_timeDateTime

A timestamp in RFC 3339 format specified by the user for an object. Corresponds to the JSON property customTime

Returns:

  • (DateTime)


2514
2515
2516
# File 'lib/google/apis/storage_v1/classes.rb', line 2514

def custom_time
  @custom_time
end

#customer_encryptionGoogle::Apis::StorageV1::Object::CustomerEncryption

Metadata of customer-supplied encryption key, if the object is encrypted by such a key. Corresponds to the JSON property customerEncryption



2520
2521
2522
# File 'lib/google/apis/storage_v1/classes.rb', line 2520

def customer_encryption
  @customer_encryption
end

#etagString

HTTP 1.1 Entity tag for the object. Corresponds to the JSON property etag

Returns:

  • (String)


2525
2526
2527
# File 'lib/google/apis/storage_v1/classes.rb', line 2525

def etag
  @etag
end

#event_based_holdBoolean Also known as: event_based_hold?

Whether an object is under event-based hold. Event-based hold is a way to retain objects until an event occurs, which is signified by the hold's release (i.e. this value is set to false). After being released (set to false), such objects will be subject to bucket-level retention (if any). One sample use case of this flag is for banks to hold loan documents for at least 3 years after loan is paid in full. Here, bucket-level retention is 3 years and the event is the loan being paid in full. In this example, these objects will be held intact for any number of years until the event has occurred (event-based hold on the object is released) and then 3 more years after that. That means retention duration of the objects begins from the moment event-based hold transitioned from true to false. Corresponds to the JSON property eventBasedHold

Returns:

  • (Boolean)


2540
2541
2542
# File 'lib/google/apis/storage_v1/classes.rb', line 2540

def event_based_hold
  @event_based_hold
end

#generationFixnum

The content generation of this object. Used for object versioning. Corresponds to the JSON property generation

Returns:

  • (Fixnum)


2546
2547
2548
# File 'lib/google/apis/storage_v1/classes.rb', line 2546

def generation
  @generation
end

#hard_delete_timeDateTime

This is the time (in the future) when the soft-deleted object will no longer be restorable. It is equal to the soft delete time plus the current soft delete retention duration of the bucket. Corresponds to the JSON property hardDeleteTime

Returns:

  • (DateTime)


2553
2554
2555
# File 'lib/google/apis/storage_v1/classes.rb', line 2553

def hard_delete_time
  @hard_delete_time
end

#idString

The ID of the object, including the bucket name, object name, and generation number. Corresponds to the JSON property id

Returns:

  • (String)


2559
2560
2561
# File 'lib/google/apis/storage_v1/classes.rb', line 2559

def id
  @id
end

#kindString

The kind of item this is. For objects, this is always storage#object. Corresponds to the JSON property kind

Returns:

  • (String)


2564
2565
2566
# File 'lib/google/apis/storage_v1/classes.rb', line 2564

def kind
  @kind
end

#kms_key_nameString

Not currently supported. Specifying the parameter causes the request to fail with status code 400 - Bad Request. Corresponds to the JSON property kmsKeyName

Returns:

  • (String)


2570
2571
2572
# File 'lib/google/apis/storage_v1/classes.rb', line 2570

def kms_key_name
  @kms_key_name
end

#md5_hashString

MD5 hash of the data; encoded using base64. For more information about using the MD5 hash, see Data Validation and Change Detection. Corresponds to the JSON property md5Hash

Returns:

  • (String)


2577
2578
2579
# File 'lib/google/apis/storage_v1/classes.rb', line 2577

def md5_hash
  @md5_hash
end

Media download link. Corresponds to the JSON property mediaLink

Returns:

  • (String)


2582
2583
2584
# File 'lib/google/apis/storage_v1/classes.rb', line 2582

def media_link
  @media_link
end

#metadataHash<String,String>

User-provided metadata, in key/value pairs. Corresponds to the JSON property metadata

Returns:

  • (Hash<String,String>)


2587
2588
2589
# File 'lib/google/apis/storage_v1/classes.rb', line 2587

def 
  @metadata
end

#metagenerationFixnum

The version of the metadata for this object at this generation. Used for preconditions and for detecting changes in metadata. A metageneration number is only meaningful in the context of a particular generation of a particular object. Corresponds to the JSON property metageneration

Returns:

  • (Fixnum)


2595
2596
2597
# File 'lib/google/apis/storage_v1/classes.rb', line 2595

def metageneration
  @metageneration
end

#nameString

The name of the object. Required if not specified by URL parameter. Corresponds to the JSON property name

Returns:

  • (String)


2600
2601
2602
# File 'lib/google/apis/storage_v1/classes.rb', line 2600

def name
  @name
end

#ownerGoogle::Apis::StorageV1::Object::Owner

The owner of the object. This will always be the uploader of the object. Corresponds to the JSON property owner



2605
2606
2607
# File 'lib/google/apis/storage_v1/classes.rb', line 2605

def owner
  @owner
end

#restore_tokenString

Restore token used to differentiate deleted objects with the same name and generation. This field is only returned for deleted objects in hierarchical namespace buckets. Corresponds to the JSON property restoreToken

Returns:

  • (String)


2612
2613
2614
# File 'lib/google/apis/storage_v1/classes.rb', line 2612

def restore_token
  @restore_token
end

#retentionGoogle::Apis::StorageV1::Object::Retention

A collection of object level retention parameters. Corresponds to the JSON property retention



2617
2618
2619
# File 'lib/google/apis/storage_v1/classes.rb', line 2617

def retention
  @retention
end

#retention_expiration_timeDateTime

A server-determined value that specifies the earliest time that the object's retention period expires. This value is in RFC 3339 format. Note 1: This field is not provided for objects with an active event-based hold, since retention expiration is unknown until the hold is removed. Note 2: This value can be provided even when temporary hold is set (so that the user can reason about policy without having to first unset the temporary hold). Corresponds to the JSON property retentionExpirationTime

Returns:

  • (DateTime)


2627
2628
2629
# File 'lib/google/apis/storage_v1/classes.rb', line 2627

def retention_expiration_time
  @retention_expiration_time
end

The link to this object. Corresponds to the JSON property selfLink

Returns:

  • (String)


2632
2633
2634
# File 'lib/google/apis/storage_v1/classes.rb', line 2632

def self_link
  @self_link
end

#sizeFixnum

Content-Length of the data in bytes. Corresponds to the JSON property size

Returns:

  • (Fixnum)


2637
2638
2639
# File 'lib/google/apis/storage_v1/classes.rb', line 2637

def size
  @size
end

#soft_delete_timeDateTime

The time at which the object became soft-deleted in RFC 3339 format. Corresponds to the JSON property softDeleteTime

Returns:

  • (DateTime)


2642
2643
2644
# File 'lib/google/apis/storage_v1/classes.rb', line 2642

def soft_delete_time
  @soft_delete_time
end

#storage_classString

Storage class of the object. Corresponds to the JSON property storageClass

Returns:

  • (String)


2647
2648
2649
# File 'lib/google/apis/storage_v1/classes.rb', line 2647

def storage_class
  @storage_class
end

#temporary_holdBoolean Also known as: temporary_hold?

Whether an object is under temporary hold. While this flag is set to true, the object is protected against deletion and overwrites. A common use case of this flag is regulatory investigations where objects need to be retained while the investigation is ongoing. Note that unlike event-based hold, temporary hold does not impact retention expiration time of an object. Corresponds to the JSON property temporaryHold

Returns:

  • (Boolean)


2656
2657
2658
# File 'lib/google/apis/storage_v1/classes.rb', line 2656

def temporary_hold
  @temporary_hold
end

#time_createdDateTime

The creation time of the object in RFC 3339 format. Corresponds to the JSON property timeCreated

Returns:

  • (DateTime)


2662
2663
2664
# File 'lib/google/apis/storage_v1/classes.rb', line 2662

def time_created
  @time_created
end

#time_deletedDateTime

The time at which the object became noncurrent in RFC 3339 format. Will be returned if and only if this version of the object has been deleted. Corresponds to the JSON property timeDeleted

Returns:

  • (DateTime)


2668
2669
2670
# File 'lib/google/apis/storage_v1/classes.rb', line 2668

def time_deleted
  @time_deleted
end

#time_finalizedDateTime

The time when the object was finalized. Corresponds to the JSON property timeFinalized

Returns:

  • (DateTime)


2673
2674
2675
# File 'lib/google/apis/storage_v1/classes.rb', line 2673

def time_finalized
  @time_finalized
end

#time_storage_class_updatedDateTime

The time at which the object's storage class was last changed. When the object is initially created, it will be set to timeCreated. Corresponds to the JSON property timeStorageClassUpdated

Returns:

  • (DateTime)


2679
2680
2681
# File 'lib/google/apis/storage_v1/classes.rb', line 2679

def time_storage_class_updated
  @time_storage_class_updated
end

#updatedDateTime

The modification time of the object metadata in RFC 3339 format. Set initially to object creation time and then updated whenever any metadata of the object changes. This includes changes made by a requester, such as modifying custom metadata, as well as changes made by Cloud Storage on behalf of a requester, such as changing the storage class based on an Object Lifecycle Configuration. Corresponds to the JSON property updated

Returns:

  • (DateTime)


2688
2689
2690
# File 'lib/google/apis/storage_v1/classes.rb', line 2688

def updated
  @updated
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
# File 'lib/google/apis/storage_v1/classes.rb', line 2695

def update!(**args)
  @acl = args[:acl] if args.key?(:acl)
  @bucket = args[:bucket] if args.key?(:bucket)
  @cache_control = args[:cache_control] if args.key?(:cache_control)
  @component_count = args[:component_count] if args.key?(:component_count)
  @content_disposition = args[:content_disposition] if args.key?(:content_disposition)
  @content_encoding = args[:content_encoding] if args.key?(:content_encoding)
  @content_language = args[:content_language] if args.key?(:content_language)
  @content_type = args[:content_type] if args.key?(:content_type)
  @contexts = args[:contexts] if args.key?(:contexts)
  @crc32c = args[:crc32c] if args.key?(:crc32c)
  @custom_time = args[:custom_time] if args.key?(:custom_time)
  @customer_encryption = args[:customer_encryption] if args.key?(:customer_encryption)
  @etag = args[:etag] if args.key?(:etag)
  @event_based_hold = args[:event_based_hold] if args.key?(:event_based_hold)
  @generation = args[:generation] if args.key?(:generation)
  @hard_delete_time = args[:hard_delete_time] if args.key?(:hard_delete_time)
  @id = args[:id] if args.key?(:id)
  @kind = args[:kind] if args.key?(:kind)
  @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
  @md5_hash = args[:md5_hash] if args.key?(:md5_hash)
  @media_link = args[:media_link] if args.key?(:media_link)
  @metadata = args[:metadata] if args.key?(:metadata)
  @metageneration = args[:metageneration] if args.key?(:metageneration)
  @name = args[:name] if args.key?(:name)
  @owner = args[:owner] if args.key?(:owner)
  @restore_token = args[:restore_token] if args.key?(:restore_token)
  @retention = args[:retention] if args.key?(:retention)
  @retention_expiration_time = args[:retention_expiration_time] if args.key?(:retention_expiration_time)
  @self_link = args[:self_link] if args.key?(:self_link)
  @size = args[:size] if args.key?(:size)
  @soft_delete_time = args[:soft_delete_time] if args.key?(:soft_delete_time)
  @storage_class = args[:storage_class] if args.key?(:storage_class)
  @temporary_hold = args[:temporary_hold] if args.key?(:temporary_hold)
  @time_created = args[:time_created] if args.key?(:time_created)
  @time_deleted = args[:time_deleted] if args.key?(:time_deleted)
  @time_finalized = args[:time_finalized] if args.key?(:time_finalized)
  @time_storage_class_updated = args[:time_storage_class_updated] if args.key?(:time_storage_class_updated)
  @updated = args[:updated] if args.key?(:updated)
end