#[non_exhaustive]pub struct Object {Show 33 fields
pub name: String,
pub bucket: String,
pub etag: String,
pub generation: i64,
pub restore_token: Option<String>,
pub metageneration: i64,
pub storage_class: String,
pub size: i64,
pub content_encoding: String,
pub content_disposition: String,
pub cache_control: String,
pub acl: Vec<ObjectAccessControl>,
pub content_language: String,
pub delete_time: Option<Timestamp>,
pub finalize_time: Option<Timestamp>,
pub content_type: String,
pub create_time: Option<Timestamp>,
pub component_count: i32,
pub checksums: Option<ObjectChecksums>,
pub update_time: Option<Timestamp>,
pub kms_key: String,
pub update_storage_class_time: Option<Timestamp>,
pub temporary_hold: bool,
pub retention_expire_time: Option<Timestamp>,
pub metadata: HashMap<String, String>,
pub contexts: Option<ObjectContexts>,
pub event_based_hold: Option<bool>,
pub owner: Option<Owner>,
pub customer_encryption: Option<CustomerEncryption>,
pub custom_time: Option<Timestamp>,
pub soft_delete_time: Option<Timestamp>,
pub hard_delete_time: Option<Timestamp>,
pub retention: Option<Retention>,
/* private fields */
}Expand description
An object.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.name: StringImmutable. The name of this object. Nearly any sequence of unicode
characters is valid. See
Guidelines.
Example: test.txt
The name field by itself does not uniquely identify a Cloud Storage
object. A Cloud Storage object is uniquely identified by the tuple of
(bucket, object, generation).
bucket: StringImmutable. The name of the bucket containing this object.
etag: StringOptional. The etag of an object.
If included in the metadata of an update or delete request message, the
operation is only performed if the etag matches that of the live
object.
generation: i64Immutable. The content generation of this object. Used for object versioning.
restore_token: Option<String>Output only. Restore token used to differentiate deleted objects with the same name and generation. This field is output only, and only set for deleted objects in HNS buckets.
metageneration: i64Output only. The version of the metadata for this generation of this object. 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.
storage_class: StringOptional. Storage class of the object.
size: i64Output only. Content-Length of the object data in bytes, matching [RFC 7230 §3.3.2](https://tools.ietf.org/html/rfc7230#section-3.3.2]).
content_encoding: StringOptional. Content-Encoding of the object data, matching RFC 7231 §3.1.2.2
content_disposition: StringOptional. Content-Disposition of the object data, matching RFC 6266.
cache_control: StringOptional. Cache-Control directive for the object data, matching
RFC 7234 §5.2.
If omitted, and the object is accessible to all anonymous users, the
default is public, max-age=3600.
acl: Vec<ObjectAccessControl>Optional. Access controls on the object.
If iam_config.uniform_bucket_level_access is enabled on the parent
bucket, requests to set, read, or modify acl is an error.
content_language: StringOptional. Content-Language of the object data, matching RFC 7231 §3.1.3.2.
delete_time: Option<Timestamp>Output only. If this object is noncurrent, this is the time when the object became noncurrent.
finalize_time: Option<Timestamp>Output only. The time when the object was finalized.
content_type: StringOptional. Content-Type of the object data, matching
RFC 7231 §3.1.1.5.
If an object is stored without a Content-Type, it is served as
application/octet-stream.
create_time: Option<Timestamp>Output only. The creation time of the object.
component_count: i32Output only. Number of underlying components that make up this object. Components are accumulated by compose operations.
checksums: Option<ObjectChecksums>Output only. Hashes for the data part of this object. This field is used for output only and is silently ignored if provided in requests. The checksums of the complete object regardless of data range. If the object is downloaded in full, the client should compute one of these checksums over the downloaded object and compare it against the value provided here.
update_time: Option<Timestamp>Output only. The modification time of the object metadata. 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.
kms_key: StringOptional. Cloud KMS Key used to encrypt this object, if the object is encrypted by such a key.
update_storage_class_time: Option<Timestamp>Output only. The time at which the object’s storage class was last changed.
When the object is initially created, it is set to time_created.
temporary_hold: boolOptional. 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.
retention_expire_time: Option<Timestamp>Optional. A server-determined value that specifies the earliest time that the object’s retention period expires. 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).
metadata: HashMap<String, String>Optional. User-provided metadata, in key/value pairs.
contexts: Option<ObjectContexts>Optional. 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.
event_based_hold: Option<bool>Whether an object is under event-based hold.
An event-based hold is a way to force the retention of an object until
after some event occurs. Once the hold is released by explicitly setting
this field to false, the object becomes subject to any bucket-level
retention policy, except that the retention duration is calculated
from the time the event based hold was lifted, rather than the time the
object was created.
In a WriteObject request, not setting this field implies that the value
should be taken from the parent bucket’s default_event_based_hold field.
In a response, this field is always set to true or false.
owner: Option<Owner>Output only. The owner of the object. This is always the uploader of the object.
customer_encryption: Option<CustomerEncryption>Optional. Metadata of customer-supplied encryption key, if the object is encrypted by such a key.
custom_time: Option<Timestamp>Optional. A user-specified timestamp set on an object.
soft_delete_time: Option<Timestamp>Output only. This is the time when the object became soft-deleted.
Soft-deleted objects are only accessible if a soft_delete_policy is
enabled. Also see hard_delete_time.
hard_delete_time: Option<Timestamp>Output only. The time when the object is permanently deleted.
Only set when an object becomes soft-deleted with a soft_delete_policy.
Otherwise, the object is not accessible.
retention: Option<Retention>Optional. Retention configuration of this object. Might only be configured if the bucket has object retention enabled.
Implementations§
Source§impl Object
impl Object
pub fn new() -> Self
Sourcepub fn set_bucket<T: Into<String>>(self, v: T) -> Self
pub fn set_bucket<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_generation<T: Into<i64>>(self, v: T) -> Self
pub fn set_generation<T: Into<i64>>(self, v: T) -> Self
Sourcepub fn set_restore_token<T>(self, v: T) -> Self
pub fn set_restore_token<T>(self, v: T) -> Self
Sourcepub fn set_or_clear_restore_token<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_restore_token<T>(self, v: Option<T>) -> Self
Sets or clears the value of restore_token.
§Example
let x = Object::new().set_or_clear_restore_token(Some("example"));
let x = Object::new().set_or_clear_restore_token(None::<String>);Sourcepub fn set_metageneration<T: Into<i64>>(self, v: T) -> Self
pub fn set_metageneration<T: Into<i64>>(self, v: T) -> Self
Sourcepub fn set_storage_class<T: Into<String>>(self, v: T) -> Self
pub fn set_storage_class<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_content_encoding<T: Into<String>>(self, v: T) -> Self
pub fn set_content_encoding<T: Into<String>>(self, v: T) -> Self
Sets the value of content_encoding.
§Example
let x = Object::new().set_content_encoding("example");Sourcepub fn set_content_disposition<T: Into<String>>(self, v: T) -> Self
pub fn set_content_disposition<T: Into<String>>(self, v: T) -> Self
Sets the value of content_disposition.
§Example
let x = Object::new().set_content_disposition("example");Sourcepub fn set_cache_control<T: Into<String>>(self, v: T) -> Self
pub fn set_cache_control<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_content_language<T: Into<String>>(self, v: T) -> Self
pub fn set_content_language<T: Into<String>>(self, v: T) -> Self
Sets the value of content_language.
§Example
let x = Object::new().set_content_language("example");Sourcepub fn set_delete_time<T>(self, v: T) -> Self
pub fn set_delete_time<T>(self, v: T) -> Self
Sets the value of delete_time.
§Example
use wkt::Timestamp;
let x = Object::new().set_delete_time(Timestamp::default()/* use setters */);Sourcepub fn set_or_clear_delete_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_delete_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of delete_time.
§Example
use wkt::Timestamp;
let x = Object::new().set_or_clear_delete_time(Some(Timestamp::default()/* use setters */));
let x = Object::new().set_or_clear_delete_time(None::<Timestamp>);Sourcepub fn set_finalize_time<T>(self, v: T) -> Self
pub fn set_finalize_time<T>(self, v: T) -> Self
Sets the value of finalize_time.
§Example
use wkt::Timestamp;
let x = Object::new().set_finalize_time(Timestamp::default()/* use setters */);Sourcepub fn set_or_clear_finalize_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_finalize_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of finalize_time.
§Example
use wkt::Timestamp;
let x = Object::new().set_or_clear_finalize_time(Some(Timestamp::default()/* use setters */));
let x = Object::new().set_or_clear_finalize_time(None::<Timestamp>);Sourcepub fn set_content_type<T: Into<String>>(self, v: T) -> Self
pub fn set_content_type<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_create_time<T>(self, v: T) -> Self
pub fn set_create_time<T>(self, v: T) -> Self
Sets the value of create_time.
§Example
use wkt::Timestamp;
let x = Object::new().set_create_time(Timestamp::default()/* use setters */);Sourcepub fn set_or_clear_create_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_create_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of create_time.
§Example
use wkt::Timestamp;
let x = Object::new().set_or_clear_create_time(Some(Timestamp::default()/* use setters */));
let x = Object::new().set_or_clear_create_time(None::<Timestamp>);Sourcepub fn set_component_count<T: Into<i32>>(self, v: T) -> Self
pub fn set_component_count<T: Into<i32>>(self, v: T) -> Self
Sourcepub fn set_checksums<T>(self, v: T) -> Selfwhere
T: Into<ObjectChecksums>,
pub fn set_checksums<T>(self, v: T) -> Selfwhere
T: Into<ObjectChecksums>,
Sourcepub fn set_or_clear_checksums<T>(self, v: Option<T>) -> Selfwhere
T: Into<ObjectChecksums>,
pub fn set_or_clear_checksums<T>(self, v: Option<T>) -> Selfwhere
T: Into<ObjectChecksums>,
Sourcepub fn set_update_time<T>(self, v: T) -> Self
pub fn set_update_time<T>(self, v: T) -> Self
Sets the value of update_time.
§Example
use wkt::Timestamp;
let x = Object::new().set_update_time(Timestamp::default()/* use setters */);Sourcepub fn set_or_clear_update_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_update_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of update_time.
§Example
use wkt::Timestamp;
let x = Object::new().set_or_clear_update_time(Some(Timestamp::default()/* use setters */));
let x = Object::new().set_or_clear_update_time(None::<Timestamp>);Sourcepub fn set_kms_key<T: Into<String>>(self, v: T) -> Self
pub fn set_kms_key<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_update_storage_class_time<T>(self, v: T) -> Self
pub fn set_update_storage_class_time<T>(self, v: T) -> Self
Sets the value of update_storage_class_time.
§Example
use wkt::Timestamp;
let x = Object::new().set_update_storage_class_time(Timestamp::default()/* use setters */);Sourcepub fn set_or_clear_update_storage_class_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_update_storage_class_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of update_storage_class_time.
§Example
use wkt::Timestamp;
let x = Object::new().set_or_clear_update_storage_class_time(Some(Timestamp::default()/* use setters */));
let x = Object::new().set_or_clear_update_storage_class_time(None::<Timestamp>);Sourcepub fn set_temporary_hold<T: Into<bool>>(self, v: T) -> Self
pub fn set_temporary_hold<T: Into<bool>>(self, v: T) -> Self
Sourcepub fn set_retention_expire_time<T>(self, v: T) -> Self
pub fn set_retention_expire_time<T>(self, v: T) -> Self
Sets the value of retention_expire_time.
§Example
use wkt::Timestamp;
let x = Object::new().set_retention_expire_time(Timestamp::default()/* use setters */);Sourcepub fn set_or_clear_retention_expire_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_retention_expire_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of retention_expire_time.
§Example
use wkt::Timestamp;
let x = Object::new().set_or_clear_retention_expire_time(Some(Timestamp::default()/* use setters */));
let x = Object::new().set_or_clear_retention_expire_time(None::<Timestamp>);Sourcepub fn set_metadata<T, K, V>(self, v: T) -> Self
pub fn set_metadata<T, K, V>(self, v: T) -> Self
Sourcepub fn set_contexts<T>(self, v: T) -> Selfwhere
T: Into<ObjectContexts>,
pub fn set_contexts<T>(self, v: T) -> Selfwhere
T: Into<ObjectContexts>,
Sourcepub fn set_or_clear_contexts<T>(self, v: Option<T>) -> Selfwhere
T: Into<ObjectContexts>,
pub fn set_or_clear_contexts<T>(self, v: Option<T>) -> Selfwhere
T: Into<ObjectContexts>,
Sourcepub fn set_event_based_hold<T>(self, v: T) -> Self
pub fn set_event_based_hold<T>(self, v: T) -> Self
Sourcepub fn set_or_clear_event_based_hold<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_event_based_hold<T>(self, v: Option<T>) -> Self
Sets or clears the value of event_based_hold.
§Example
let x = Object::new().set_or_clear_event_based_hold(Some(false));
let x = Object::new().set_or_clear_event_based_hold(None::<bool>);Sourcepub fn set_or_clear_owner<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_owner<T>(self, v: Option<T>) -> Self
Sourcepub fn set_customer_encryption<T>(self, v: T) -> Selfwhere
T: Into<CustomerEncryption>,
pub fn set_customer_encryption<T>(self, v: T) -> Selfwhere
T: Into<CustomerEncryption>,
Sets the value of customer_encryption.
§Example
use google_cloud_storage::model::CustomerEncryption;
let x = Object::new().set_customer_encryption(CustomerEncryption::default()/* use setters */);Sourcepub fn set_or_clear_customer_encryption<T>(self, v: Option<T>) -> Selfwhere
T: Into<CustomerEncryption>,
pub fn set_or_clear_customer_encryption<T>(self, v: Option<T>) -> Selfwhere
T: Into<CustomerEncryption>,
Sets or clears the value of customer_encryption.
§Example
use google_cloud_storage::model::CustomerEncryption;
let x = Object::new().set_or_clear_customer_encryption(Some(CustomerEncryption::default()/* use setters */));
let x = Object::new().set_or_clear_customer_encryption(None::<CustomerEncryption>);Sourcepub fn set_custom_time<T>(self, v: T) -> Self
pub fn set_custom_time<T>(self, v: T) -> Self
Sets the value of custom_time.
§Example
use wkt::Timestamp;
let x = Object::new().set_custom_time(Timestamp::default()/* use setters */);Sourcepub fn set_or_clear_custom_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_custom_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of custom_time.
§Example
use wkt::Timestamp;
let x = Object::new().set_or_clear_custom_time(Some(Timestamp::default()/* use setters */));
let x = Object::new().set_or_clear_custom_time(None::<Timestamp>);Sourcepub fn set_soft_delete_time<T>(self, v: T) -> Self
pub fn set_soft_delete_time<T>(self, v: T) -> Self
Sets the value of soft_delete_time.
§Example
use wkt::Timestamp;
let x = Object::new().set_soft_delete_time(Timestamp::default()/* use setters */);Sourcepub fn set_or_clear_soft_delete_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_soft_delete_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of soft_delete_time.
§Example
use wkt::Timestamp;
let x = Object::new().set_or_clear_soft_delete_time(Some(Timestamp::default()/* use setters */));
let x = Object::new().set_or_clear_soft_delete_time(None::<Timestamp>);Sourcepub fn set_hard_delete_time<T>(self, v: T) -> Self
pub fn set_hard_delete_time<T>(self, v: T) -> Self
Sets the value of hard_delete_time.
§Example
use wkt::Timestamp;
let x = Object::new().set_hard_delete_time(Timestamp::default()/* use setters */);Sourcepub fn set_or_clear_hard_delete_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_hard_delete_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of hard_delete_time.
§Example
use wkt::Timestamp;
let x = Object::new().set_or_clear_hard_delete_time(Some(Timestamp::default()/* use setters */));
let x = Object::new().set_or_clear_hard_delete_time(None::<Timestamp>);Sourcepub fn set_retention<T>(self, v: T) -> Self
pub fn set_retention<T>(self, v: T) -> Self
Sourcepub fn set_or_clear_retention<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_retention<T>(self, v: Option<T>) -> Self
Trait Implementations§
impl StructuralPartialEq for Object
Auto Trait Implementations§
impl !Freeze for Object
impl RefUnwindSafe for Object
impl Send for Object
impl Sync for Object
impl Unpin for Object
impl UnwindSafe for Object
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request