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: CustomerEncryption, Owner

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Object

Returns a new instance of Object.



1552
1553
1554
# File 'lib/google/apis/storage_v1/classes.rb', line 1552

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



1360
1361
1362
# File 'lib/google/apis/storage_v1/classes.rb', line 1360

def acl
  @acl
end

#bucketString

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

Returns:

  • (String)


1365
1366
1367
# File 'lib/google/apis/storage_v1/classes.rb', line 1365

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)


1371
1372
1373
# File 'lib/google/apis/storage_v1/classes.rb', line 1371

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)


1377
1378
1379
# File 'lib/google/apis/storage_v1/classes.rb', line 1377

def component_count
  @component_count
end

#content_dispositionString

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

Returns:

  • (String)


1382
1383
1384
# File 'lib/google/apis/storage_v1/classes.rb', line 1382

def content_disposition
  @content_disposition
end

#content_encodingString

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

Returns:

  • (String)


1387
1388
1389
# File 'lib/google/apis/storage_v1/classes.rb', line 1387

def content_encoding
  @content_encoding
end

#content_languageString

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

Returns:

  • (String)


1392
1393
1394
# File 'lib/google/apis/storage_v1/classes.rb', line 1392

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)


1398
1399
1400
# File 'lib/google/apis/storage_v1/classes.rb', line 1398

def content_type
  @content_type
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 Hashes and ETags: Best Practices. Corresponds to the JSON property crc32c

Returns:

  • (String)


1405
1406
1407
# File 'lib/google/apis/storage_v1/classes.rb', line 1405

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)


1410
1411
1412
# File 'lib/google/apis/storage_v1/classes.rb', line 1410

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



1416
1417
1418
# File 'lib/google/apis/storage_v1/classes.rb', line 1416

def customer_encryption
  @customer_encryption
end

#etagString

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

Returns:

  • (String)


1421
1422
1423
# File 'lib/google/apis/storage_v1/classes.rb', line 1421

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)


1436
1437
1438
# File 'lib/google/apis/storage_v1/classes.rb', line 1436

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)


1442
1443
1444
# File 'lib/google/apis/storage_v1/classes.rb', line 1442

def generation
  @generation
end

#idString

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

Returns:

  • (String)


1448
1449
1450
# File 'lib/google/apis/storage_v1/classes.rb', line 1448

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)


1453
1454
1455
# File 'lib/google/apis/storage_v1/classes.rb', line 1453

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)


1459
1460
1461
# File 'lib/google/apis/storage_v1/classes.rb', line 1459

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 Hashes and ETags: Best Practices. Corresponds to the JSON property md5Hash

Returns:

  • (String)


1465
1466
1467
# File 'lib/google/apis/storage_v1/classes.rb', line 1465

def md5_hash
  @md5_hash
end

Media download link. Corresponds to the JSON property mediaLink

Returns:

  • (String)


1470
1471
1472
# File 'lib/google/apis/storage_v1/classes.rb', line 1470

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


1475
1476
1477
# File 'lib/google/apis/storage_v1/classes.rb', line 1475

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)


1483
1484
1485
# File 'lib/google/apis/storage_v1/classes.rb', line 1483

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)


1488
1489
1490
# File 'lib/google/apis/storage_v1/classes.rb', line 1488

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



1493
1494
1495
# File 'lib/google/apis/storage_v1/classes.rb', line 1493

def owner
  @owner
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)


1503
1504
1505
# File 'lib/google/apis/storage_v1/classes.rb', line 1503

def retention_expiration_time
  @retention_expiration_time
end

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

Returns:

  • (String)


1508
1509
1510
# File 'lib/google/apis/storage_v1/classes.rb', line 1508

def self_link
  @self_link
end

#sizeFixnum

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

Returns:

  • (Fixnum)


1513
1514
1515
# File 'lib/google/apis/storage_v1/classes.rb', line 1513

def size
  @size
end

#storage_classString

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

Returns:

  • (String)


1518
1519
1520
# File 'lib/google/apis/storage_v1/classes.rb', line 1518

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)


1527
1528
1529
# File 'lib/google/apis/storage_v1/classes.rb', line 1527

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)


1533
1534
1535
# File 'lib/google/apis/storage_v1/classes.rb', line 1533

def time_created
  @time_created
end

#time_deletedDateTime

The deletion time of the object 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)


1539
1540
1541
# File 'lib/google/apis/storage_v1/classes.rb', line 1539

def time_deleted
  @time_deleted
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)


1545
1546
1547
# File 'lib/google/apis/storage_v1/classes.rb', line 1545

def time_storage_class_updated
  @time_storage_class_updated
end

#updatedDateTime

The modification time of the object metadata in RFC 3339 format. Corresponds to the JSON property updated

Returns:

  • (DateTime)


1550
1551
1552
# File 'lib/google/apis/storage_v1/classes.rb', line 1550

def updated
  @updated
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
# File 'lib/google/apis/storage_v1/classes.rb', line 1557

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)
  @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)
  @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)
  @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)
  @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_storage_class_updated = args[:time_storage_class_updated] if args.key?(:time_storage_class_updated)
  @updated = args[:updated] if args.key?(:updated)
end