#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StorageObjectData {
#[prost(string, tag = "1")]
pub content_encoding: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub content_disposition: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub cache_control: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub content_language: ::prost::alloc::string::String,
#[prost(int64, tag = "6")]
pub metageneration: i64,
#[prost(message, optional, tag = "7")]
pub time_deleted: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(string, tag = "8")]
pub content_type: ::prost::alloc::string::String,
#[prost(int64, tag = "9")]
pub size: i64,
#[prost(message, optional, tag = "10")]
pub time_created: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(string, tag = "11")]
pub crc32c: ::prost::alloc::string::String,
#[prost(int32, tag = "12")]
pub component_count: i32,
#[prost(string, tag = "13")]
pub md5_hash: ::prost::alloc::string::String,
#[prost(string, tag = "14")]
pub etag: ::prost::alloc::string::String,
#[prost(message, optional, tag = "15")]
pub updated: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(string, tag = "16")]
pub storage_class: ::prost::alloc::string::String,
#[prost(string, tag = "17")]
pub kms_key_name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "18")]
pub time_storage_class_updated: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(bool, tag = "19")]
pub temporary_hold: bool,
#[prost(message, optional, tag = "20")]
pub retention_expiration_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(map = "string, string", tag = "21")]
pub metadata: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(bool, tag = "29")]
pub event_based_hold: bool,
#[prost(string, tag = "23")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "24")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "25")]
pub bucket: ::prost::alloc::string::String,
#[prost(int64, tag = "26")]
pub generation: i64,
#[prost(message, optional, tag = "28")]
pub customer_encryption: ::core::option::Option<
storage_object_data::CustomerEncryption,
>,
#[prost(string, tag = "100")]
pub media_link: ::prost::alloc::string::String,
#[prost(string, tag = "101")]
pub self_link: ::prost::alloc::string::String,
#[prost(string, tag = "102")]
pub kind: ::prost::alloc::string::String,
}
pub mod storage_object_data {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomerEncryption {
#[prost(string, tag = "1")]
pub encryption_algorithm: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub key_sha256: ::prost::alloc::string::String,
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ObjectFinalizedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<StorageObjectData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ObjectArchivedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<StorageObjectData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ObjectDeletedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<StorageObjectData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ObjectMetadataUpdatedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<StorageObjectData>,
}