#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bucket {
#[prost(message, repeated, tag = "1")]
pub acl: ::prost::alloc::vec::Vec<BucketAccessControl>,
#[prost(message, repeated, tag = "2")]
pub default_object_acl: ::prost::alloc::vec::Vec<ObjectAccessControl>,
#[prost(message, optional, tag = "3")]
pub lifecycle: ::core::option::Option<bucket::Lifecycle>,
#[prost(message, optional, tag = "4")]
pub time_created: ::core::option::Option<::prost_types::Timestamp>,
#[prost(string, tag = "5")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub name: ::prost::alloc::string::String,
#[prost(int64, tag = "7")]
pub project_number: i64,
#[prost(int64, tag = "8")]
pub metageneration: i64,
#[prost(message, repeated, tag = "9")]
pub cors: ::prost::alloc::vec::Vec<bucket::Cors>,
#[prost(string, tag = "10")]
pub location: ::prost::alloc::string::String,
#[prost(string, tag = "11")]
pub storage_class: ::prost::alloc::string::String,
#[prost(string, tag = "12")]
pub etag: ::prost::alloc::string::String,
#[prost(message, optional, tag = "13")]
pub updated: ::core::option::Option<::prost_types::Timestamp>,
#[prost(bool, tag = "14")]
pub default_event_based_hold: bool,
#[prost(map = "string, string", tag = "15")]
pub labels:
::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(message, optional, tag = "16")]
pub website: ::core::option::Option<bucket::Website>,
#[prost(message, optional, tag = "17")]
pub versioning: ::core::option::Option<bucket::Versioning>,
#[prost(message, optional, tag = "18")]
pub logging: ::core::option::Option<bucket::Logging>,
#[prost(message, optional, tag = "19")]
pub owner: ::core::option::Option<Owner>,
#[prost(message, optional, tag = "20")]
pub encryption: ::core::option::Option<bucket::Encryption>,
#[prost(message, optional, tag = "21")]
pub billing: ::core::option::Option<bucket::Billing>,
#[prost(message, optional, tag = "22")]
pub retention_policy: ::core::option::Option<bucket::RetentionPolicy>,
#[prost(string, tag = "23")]
pub location_type: ::prost::alloc::string::String,
#[prost(message, optional, tag = "24")]
pub iam_configuration: ::core::option::Option<bucket::IamConfiguration>,
#[prost(string, repeated, tag = "25")]
pub zone_affinity: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
pub mod bucket {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Billing {
#[prost(bool, tag = "1")]
pub requester_pays: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cors {
#[prost(string, repeated, tag = "1")]
pub origin: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "2")]
pub method: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "3")]
pub response_header: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(int32, tag = "4")]
pub max_age_seconds: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Encryption {
#[prost(string, tag = "1")]
pub default_kms_key_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IamConfiguration {
#[prost(message, optional, tag = "1")]
pub uniform_bucket_level_access:
::core::option::Option<iam_configuration::UniformBucketLevelAccess>,
}
pub mod iam_configuration {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UniformBucketLevelAccess {
#[prost(bool, tag = "1")]
pub enabled: bool,
#[prost(message, optional, tag = "2")]
pub locked_time: ::core::option::Option<::prost_types::Timestamp>,
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lifecycle {
#[prost(message, repeated, tag = "1")]
pub rule: ::prost::alloc::vec::Vec<lifecycle::Rule>,
}
pub mod lifecycle {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Rule {
#[prost(message, optional, tag = "1")]
pub action: ::core::option::Option<rule::Action>,
#[prost(message, optional, tag = "2")]
pub condition: ::core::option::Option<rule::Condition>,
}
pub mod rule {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Action {
#[prost(string, tag = "1")]
pub r#type: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub storage_class: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Condition {
#[prost(int32, tag = "1")]
pub age: i32,
#[prost(message, optional, tag = "2")]
pub created_before: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, optional, tag = "3")]
pub is_live: ::core::option::Option<bool>,
#[prost(int32, tag = "4")]
pub num_newer_versions: i32,
#[prost(string, repeated, tag = "5")]
pub matches_storage_class: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "6")]
pub matches_pattern: ::prost::alloc::string::String,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Logging {
#[prost(string, tag = "1")]
pub log_bucket: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub log_object_prefix: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RetentionPolicy {
#[prost(message, optional, tag = "1")]
pub effective_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(bool, tag = "2")]
pub is_locked: bool,
#[prost(int64, tag = "3")]
pub retention_period: i64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Versioning {
#[prost(bool, tag = "1")]
pub enabled: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Website {
#[prost(string, tag = "1")]
pub main_page_suffix: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub not_found_page: ::prost::alloc::string::String,
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BucketAccessControl {
#[prost(string, tag = "1")]
pub role: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub etag: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub bucket: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub entity: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub entity_id: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub email: ::prost::alloc::string::String,
#[prost(string, tag = "9")]
pub domain: ::prost::alloc::string::String,
#[prost(message, optional, tag = "10")]
pub project_team: ::core::option::Option<ProjectTeam>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListBucketAccessControlsResponse {
#[prost(message, repeated, tag = "1")]
pub items: ::prost::alloc::vec::Vec<BucketAccessControl>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListBucketsResponse {
#[prost(message, repeated, tag = "1")]
pub items: ::prost::alloc::vec::Vec<Bucket>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Channel {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub resource_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub resource_uri: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub token: ::prost::alloc::string::String,
#[prost(message, optional, tag = "5")]
pub expiration: ::core::option::Option<::prost_types::Timestamp>,
#[prost(string, tag = "6")]
pub r#type: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub address: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "8")]
pub params:
::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(bool, tag = "9")]
pub payload: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListChannelsResponse {
#[prost(message, repeated, tag = "1")]
pub items: ::prost::alloc::vec::Vec<list_channels_response::Items>,
}
pub mod list_channels_response {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Items {
#[prost(string, tag = "1")]
pub channel_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub resource_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub push_url: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub subscriber_email: ::prost::alloc::string::String,
#[prost(message, optional, tag = "5")]
pub creation_time: ::core::option::Option<::prost_types::Timestamp>,
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChecksummedData {
#[prost(bytes = "vec", tag = "1")]
pub content: ::prost::alloc::vec::Vec<u8>,
#[prost(message, optional, tag = "2")]
pub crc32c: ::core::option::Option<u32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ObjectChecksums {
#[prost(message, optional, tag = "1")]
pub crc32c: ::core::option::Option<u32>,
#[prost(string, tag = "2")]
pub md5_hash: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CommonEnums {}
pub mod common_enums {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Projection {
Unspecified = 0,
NoAcl = 1,
Full = 2,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PredefinedBucketAcl {
Unspecified = 0,
BucketAclAuthenticatedRead = 1,
BucketAclPrivate = 2,
BucketAclProjectPrivate = 3,
BucketAclPublicRead = 4,
BucketAclPublicReadWrite = 5,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PredefinedObjectAcl {
Unspecified = 0,
ObjectAclAuthenticatedRead = 1,
ObjectAclBucketOwnerFullControl = 2,
ObjectAclBucketOwnerRead = 3,
ObjectAclPrivate = 4,
ObjectAclProjectPrivate = 5,
ObjectAclPublicRead = 6,
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContentRange {
#[prost(int64, tag = "1")]
pub start: i64,
#[prost(int64, tag = "2")]
pub end: i64,
#[prost(int64, tag = "3")]
pub complete_length: i64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HmacKeyMetadata {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub access_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub project_id: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub service_account_email: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub state: ::prost::alloc::string::String,
#[prost(message, optional, tag = "6")]
pub time_created: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, optional, tag = "7")]
pub updated: ::core::option::Option<::prost_types::Timestamp>,
#[prost(string, tag = "8")]
pub etag: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Notification {
#[prost(string, tag = "1")]
pub topic: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "2")]
pub event_types: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(map = "string, string", tag = "3")]
pub custom_attributes:
::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(string, tag = "4")]
pub etag: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub object_name_prefix: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub payload_format: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListNotificationsResponse {
#[prost(message, repeated, tag = "1")]
pub items: ::prost::alloc::vec::Vec<Notification>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Object {
#[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(message, repeated, tag = "4")]
pub acl: ::prost::alloc::vec::Vec<ObjectAccessControl>,
#[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<::prost_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<::prost_types::Timestamp>,
#[prost(message, optional, tag = "11")]
pub crc32c: ::core::option::Option<u32>,
#[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<::prost_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<::prost_types::Timestamp>,
#[prost(bool, tag = "19")]
pub temporary_hold: bool,
#[prost(message, optional, tag = "20")]
pub retention_expiration_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(map = "string, string", tag = "21")]
pub metadata:
::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(message, optional, tag = "29")]
pub event_based_hold: ::core::option::Option<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 = "27")]
pub owner: ::core::option::Option<Owner>,
#[prost(message, optional, tag = "28")]
pub customer_encryption: ::core::option::Option<object::CustomerEncryption>,
}
pub mod object {
#[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(Clone, PartialEq, ::prost::Message)]
pub struct ObjectAccessControl {
#[prost(string, tag = "1")]
pub role: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub etag: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub bucket: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub object: ::prost::alloc::string::String,
#[prost(int64, tag = "6")]
pub generation: i64,
#[prost(string, tag = "7")]
pub entity: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub entity_id: ::prost::alloc::string::String,
#[prost(string, tag = "9")]
pub email: ::prost::alloc::string::String,
#[prost(string, tag = "10")]
pub domain: ::prost::alloc::string::String,
#[prost(message, optional, tag = "11")]
pub project_team: ::core::option::Option<ProjectTeam>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListObjectAccessControlsResponse {
#[prost(message, repeated, tag = "1")]
pub items: ::prost::alloc::vec::Vec<ObjectAccessControl>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListObjectsResponse {
#[prost(string, repeated, tag = "1")]
pub prefixes: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "2")]
pub items: ::prost::alloc::vec::Vec<Object>,
#[prost(string, tag = "3")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProjectTeam {
#[prost(string, tag = "1")]
pub project_number: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub team: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServiceAccount {
#[prost(string, tag = "1")]
pub email_address: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Owner {
#[prost(string, tag = "1")]
pub entity: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub entity_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteBucketAccessControlRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub entity: ::prost::alloc::string::String,
#[prost(message, optional, tag = "4")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBucketAccessControlRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub entity: ::prost::alloc::string::String,
#[prost(message, optional, tag = "4")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InsertBucketAccessControlRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub bucket_access_control: ::core::option::Option<BucketAccessControl>,
#[prost(message, optional, tag = "4")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListBucketAccessControlsRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PatchBucketAccessControlRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub entity: ::prost::alloc::string::String,
#[prost(message, optional, tag = "4")]
pub bucket_access_control: ::core::option::Option<BucketAccessControl>,
#[prost(message, optional, tag = "5")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(message, optional, tag = "6")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateBucketAccessControlRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub entity: ::prost::alloc::string::String,
#[prost(message, optional, tag = "4")]
pub bucket_access_control: ::core::option::Option<BucketAccessControl>,
#[prost(message, optional, tag = "5")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteBucketRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub if_metageneration_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "3")]
pub if_metageneration_not_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "5")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBucketRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub if_metageneration_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "3")]
pub if_metageneration_not_match: ::core::option::Option<i64>,
#[prost(enumeration = "common_enums::Projection", tag = "4")]
pub projection: i32,
#[prost(message, optional, tag = "6")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InsertBucketRequest {
#[prost(enumeration = "common_enums::PredefinedBucketAcl", tag = "1")]
pub predefined_acl: i32,
#[prost(enumeration = "common_enums::PredefinedObjectAcl", tag = "2")]
pub predefined_default_object_acl: i32,
#[prost(string, tag = "3")]
pub project: ::prost::alloc::string::String,
#[prost(enumeration = "common_enums::Projection", tag = "4")]
pub projection: i32,
#[prost(message, optional, tag = "6")]
pub bucket: ::core::option::Option<Bucket>,
#[prost(message, optional, tag = "7")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListChannelsRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListBucketsRequest {
#[prost(int32, tag = "1")]
pub max_results: i32,
#[prost(string, tag = "2")]
pub page_token: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub prefix: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub project: ::prost::alloc::string::String,
#[prost(enumeration = "common_enums::Projection", tag = "5")]
pub projection: i32,
#[prost(message, optional, tag = "7")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LockRetentionPolicyRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(int64, tag = "2")]
pub if_metageneration_match: i64,
#[prost(message, optional, tag = "4")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PatchBucketRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub if_metageneration_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "3")]
pub if_metageneration_not_match: ::core::option::Option<i64>,
#[prost(enumeration = "common_enums::PredefinedBucketAcl", tag = "4")]
pub predefined_acl: i32,
#[prost(enumeration = "common_enums::PredefinedObjectAcl", tag = "5")]
pub predefined_default_object_acl: i32,
#[prost(enumeration = "common_enums::Projection", tag = "6")]
pub projection: i32,
#[prost(message, optional, tag = "8")]
pub metadata: ::core::option::Option<Bucket>,
#[prost(message, optional, tag = "9")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(message, optional, tag = "10")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateBucketRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub if_metageneration_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "3")]
pub if_metageneration_not_match: ::core::option::Option<i64>,
#[prost(enumeration = "common_enums::PredefinedBucketAcl", tag = "4")]
pub predefined_acl: i32,
#[prost(enumeration = "common_enums::PredefinedObjectAcl", tag = "5")]
pub predefined_default_object_acl: i32,
#[prost(enumeration = "common_enums::Projection", tag = "6")]
pub projection: i32,
#[prost(message, optional, tag = "8")]
pub metadata: ::core::option::Option<Bucket>,
#[prost(message, optional, tag = "9")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StopChannelRequest {
#[prost(message, optional, tag = "1")]
pub channel: ::core::option::Option<Channel>,
#[prost(message, optional, tag = "2")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteDefaultObjectAccessControlRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub entity: ::prost::alloc::string::String,
#[prost(message, optional, tag = "4")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetDefaultObjectAccessControlRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub entity: ::prost::alloc::string::String,
#[prost(message, optional, tag = "4")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InsertDefaultObjectAccessControlRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub object_access_control: ::core::option::Option<ObjectAccessControl>,
#[prost(message, optional, tag = "4")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListDefaultObjectAccessControlsRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub if_metageneration_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "3")]
pub if_metageneration_not_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "5")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PatchDefaultObjectAccessControlRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub entity: ::prost::alloc::string::String,
#[prost(message, optional, tag = "4")]
pub object_access_control: ::core::option::Option<ObjectAccessControl>,
#[prost(message, optional, tag = "5")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(message, optional, tag = "6")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateDefaultObjectAccessControlRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub entity: ::prost::alloc::string::String,
#[prost(message, optional, tag = "4")]
pub object_access_control: ::core::option::Option<ObjectAccessControl>,
#[prost(message, optional, tag = "5")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteNotificationRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub notification: ::prost::alloc::string::String,
#[prost(message, optional, tag = "4")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetNotificationRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub notification: ::prost::alloc::string::String,
#[prost(message, optional, tag = "4")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InsertNotificationRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub notification: ::core::option::Option<Notification>,
#[prost(message, optional, tag = "4")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListNotificationsRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteObjectAccessControlRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub entity: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub object: ::prost::alloc::string::String,
#[prost(int64, tag = "4")]
pub generation: i64,
#[prost(message, optional, tag = "6")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetObjectAccessControlRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub entity: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub object: ::prost::alloc::string::String,
#[prost(int64, tag = "4")]
pub generation: i64,
#[prost(message, optional, tag = "6")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InsertObjectAccessControlRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub object: ::prost::alloc::string::String,
#[prost(int64, tag = "3")]
pub generation: i64,
#[prost(message, optional, tag = "5")]
pub object_access_control: ::core::option::Option<ObjectAccessControl>,
#[prost(message, optional, tag = "6")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListObjectAccessControlsRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub object: ::prost::alloc::string::String,
#[prost(int64, tag = "3")]
pub generation: i64,
#[prost(message, optional, tag = "5")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PatchObjectAccessControlRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub entity: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub object: ::prost::alloc::string::String,
#[prost(int64, tag = "4")]
pub generation: i64,
#[prost(message, optional, tag = "5")]
pub object_access_control: ::core::option::Option<ObjectAccessControl>,
#[prost(message, optional, tag = "6")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
#[prost(message, optional, tag = "7")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateObjectAccessControlRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub entity: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub object: ::prost::alloc::string::String,
#[prost(int64, tag = "4")]
pub generation: i64,
#[prost(message, optional, tag = "6")]
pub object_access_control: ::core::option::Option<ObjectAccessControl>,
#[prost(message, optional, tag = "7")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
#[prost(message, optional, tag = "8")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComposeObjectRequest {
#[prost(string, tag = "1")]
pub destination_bucket: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub destination_object: ::prost::alloc::string::String,
#[prost(enumeration = "common_enums::PredefinedObjectAcl", tag = "3")]
pub destination_predefined_acl: i32,
#[prost(message, optional, tag = "11")]
pub destination: ::core::option::Option<Object>,
#[prost(message, repeated, tag = "12")]
pub source_objects: ::prost::alloc::vec::Vec<compose_object_request::SourceObjects>,
#[prost(message, optional, tag = "4")]
pub if_generation_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "5")]
pub if_metageneration_match: ::core::option::Option<i64>,
#[prost(string, tag = "6")]
pub kms_key_name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "9")]
pub common_object_request_params: ::core::option::Option<CommonObjectRequestParams>,
#[prost(message, optional, tag = "10")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
pub mod compose_object_request {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SourceObjects {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(int64, tag = "2")]
pub generation: i64,
#[prost(message, optional, tag = "3")]
pub object_preconditions: ::core::option::Option<source_objects::ObjectPreconditions>,
}
pub mod source_objects {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ObjectPreconditions {
#[prost(message, optional, tag = "1")]
pub if_generation_match: ::core::option::Option<i64>,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CopyObjectRequest {
#[prost(string, tag = "1")]
pub destination_bucket: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub destination_object: ::prost::alloc::string::String,
#[prost(enumeration = "common_enums::PredefinedObjectAcl", tag = "3")]
pub destination_predefined_acl: i32,
#[prost(message, optional, tag = "4")]
pub if_generation_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "5")]
pub if_generation_not_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "6")]
pub if_metageneration_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "7")]
pub if_metageneration_not_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "8")]
pub if_source_generation_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "9")]
pub if_source_generation_not_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "10")]
pub if_source_metageneration_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "11")]
pub if_source_metageneration_not_match: ::core::option::Option<i64>,
#[prost(enumeration = "common_enums::Projection", tag = "12")]
pub projection: i32,
#[prost(string, tag = "13")]
pub source_bucket: ::prost::alloc::string::String,
#[prost(string, tag = "14")]
pub source_object: ::prost::alloc::string::String,
#[prost(int64, tag = "15")]
pub source_generation: i64,
#[prost(message, optional, tag = "17")]
pub destination: ::core::option::Option<Object>,
#[prost(string, tag = "20")]
pub destination_kms_key_name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "18")]
pub common_object_request_params: ::core::option::Option<CommonObjectRequestParams>,
#[prost(message, optional, tag = "19")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteObjectRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub object: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub upload_id: ::prost::alloc::string::String,
#[prost(int64, tag = "4")]
pub generation: i64,
#[prost(message, optional, tag = "5")]
pub if_generation_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "6")]
pub if_generation_not_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "7")]
pub if_metageneration_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "8")]
pub if_metageneration_not_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "10")]
pub common_object_request_params: ::core::option::Option<CommonObjectRequestParams>,
#[prost(message, optional, tag = "11")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetObjectMediaRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub object: ::prost::alloc::string::String,
#[prost(int64, tag = "3")]
pub generation: i64,
#[prost(int64, tag = "4")]
pub read_offset: i64,
#[prost(int64, tag = "5")]
pub read_limit: i64,
#[prost(message, optional, tag = "6")]
pub if_generation_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "7")]
pub if_generation_not_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "8")]
pub if_metageneration_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "9")]
pub if_metageneration_not_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "11")]
pub common_object_request_params: ::core::option::Option<CommonObjectRequestParams>,
#[prost(message, optional, tag = "12")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetObjectRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub object: ::prost::alloc::string::String,
#[prost(int64, tag = "3")]
pub generation: i64,
#[prost(message, optional, tag = "4")]
pub if_generation_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "5")]
pub if_generation_not_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "6")]
pub if_metageneration_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "7")]
pub if_metageneration_not_match: ::core::option::Option<i64>,
#[prost(enumeration = "common_enums::Projection", tag = "8")]
pub projection: i32,
#[prost(message, optional, tag = "10")]
pub common_object_request_params: ::core::option::Option<CommonObjectRequestParams>,
#[prost(message, optional, tag = "11")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetObjectMediaResponse {
#[prost(message, optional, tag = "1")]
pub checksummed_data: ::core::option::Option<ChecksummedData>,
#[prost(message, optional, tag = "2")]
pub object_checksums: ::core::option::Option<ObjectChecksums>,
#[prost(message, optional, tag = "3")]
pub content_range: ::core::option::Option<ContentRange>,
#[prost(message, optional, tag = "4")]
pub metadata: ::core::option::Option<Object>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InsertObjectSpec {
#[prost(message, optional, tag = "1")]
pub resource: ::core::option::Option<Object>,
#[prost(enumeration = "common_enums::PredefinedObjectAcl", tag = "2")]
pub predefined_acl: i32,
#[prost(message, optional, tag = "3")]
pub if_generation_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "4")]
pub if_generation_not_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "5")]
pub if_metageneration_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "6")]
pub if_metageneration_not_match: ::core::option::Option<i64>,
#[prost(enumeration = "common_enums::Projection", tag = "7")]
pub projection: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InsertObjectRequest {
#[prost(int64, tag = "3")]
pub write_offset: i64,
#[prost(message, optional, tag = "6")]
pub object_checksums: ::core::option::Option<ObjectChecksums>,
#[prost(bool, tag = "7")]
pub finish_write: bool,
#[prost(message, optional, tag = "8")]
pub common_object_request_params: ::core::option::Option<CommonObjectRequestParams>,
#[prost(message, optional, tag = "9")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
#[prost(oneof = "insert_object_request::FirstMessage", tags = "1, 2")]
pub first_message: ::core::option::Option<insert_object_request::FirstMessage>,
#[prost(oneof = "insert_object_request::Data", tags = "4, 5")]
pub data: ::core::option::Option<insert_object_request::Data>,
}
pub mod insert_object_request {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum FirstMessage {
#[prost(string, tag = "1")]
UploadId(::prost::alloc::string::String),
#[prost(message, tag = "2")]
InsertObjectSpec(super::InsertObjectSpec),
}
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Data {
#[prost(message, tag = "4")]
ChecksummedData(super::ChecksummedData),
#[prost(message, tag = "5")]
Reference(super::GetObjectMediaRequest),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListObjectsRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub delimiter: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub include_trailing_delimiter: bool,
#[prost(int32, tag = "4")]
pub max_results: i32,
#[prost(string, tag = "5")]
pub page_token: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub prefix: ::prost::alloc::string::String,
#[prost(enumeration = "common_enums::Projection", tag = "7")]
pub projection: i32,
#[prost(bool, tag = "9")]
pub versions: bool,
#[prost(message, optional, tag = "10")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryWriteStatusRequest {
#[prost(string, tag = "1")]
pub upload_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub common_object_request_params: ::core::option::Option<CommonObjectRequestParams>,
#[prost(message, optional, tag = "3")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryWriteStatusResponse {
#[prost(int64, tag = "1")]
pub committed_size: i64,
#[prost(bool, tag = "2")]
pub complete: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RewriteObjectRequest {
#[prost(string, tag = "1")]
pub destination_bucket: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub destination_object: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub destination_kms_key_name: ::prost::alloc::string::String,
#[prost(enumeration = "common_enums::PredefinedObjectAcl", tag = "4")]
pub destination_predefined_acl: i32,
#[prost(message, optional, tag = "5")]
pub if_generation_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "6")]
pub if_generation_not_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "7")]
pub if_metageneration_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "8")]
pub if_metageneration_not_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "9")]
pub if_source_generation_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "10")]
pub if_source_generation_not_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "11")]
pub if_source_metageneration_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "12")]
pub if_source_metageneration_not_match: ::core::option::Option<i64>,
#[prost(int64, tag = "13")]
pub max_bytes_rewritten_per_call: i64,
#[prost(enumeration = "common_enums::Projection", tag = "14")]
pub projection: i32,
#[prost(string, tag = "15")]
pub rewrite_token: ::prost::alloc::string::String,
#[prost(string, tag = "16")]
pub source_bucket: ::prost::alloc::string::String,
#[prost(string, tag = "17")]
pub source_object: ::prost::alloc::string::String,
#[prost(int64, tag = "18")]
pub source_generation: i64,
#[prost(message, optional, tag = "20")]
pub object: ::core::option::Option<Object>,
#[prost(string, tag = "21")]
pub copy_source_encryption_algorithm: ::prost::alloc::string::String,
#[prost(string, tag = "22")]
pub copy_source_encryption_key: ::prost::alloc::string::String,
#[prost(string, tag = "23")]
pub copy_source_encryption_key_sha256: ::prost::alloc::string::String,
#[prost(message, optional, tag = "24")]
pub common_object_request_params: ::core::option::Option<CommonObjectRequestParams>,
#[prost(message, optional, tag = "25")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RewriteResponse {
#[prost(int64, tag = "1")]
pub total_bytes_rewritten: i64,
#[prost(int64, tag = "2")]
pub object_size: i64,
#[prost(bool, tag = "3")]
pub done: bool,
#[prost(string, tag = "4")]
pub rewrite_token: ::prost::alloc::string::String,
#[prost(message, optional, tag = "5")]
pub resource: ::core::option::Option<Object>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartResumableWriteRequest {
#[prost(message, optional, tag = "1")]
pub insert_object_spec: ::core::option::Option<InsertObjectSpec>,
#[prost(message, optional, tag = "3")]
pub common_object_request_params: ::core::option::Option<CommonObjectRequestParams>,
#[prost(message, optional, tag = "4")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartResumableWriteResponse {
#[prost(string, tag = "1")]
pub upload_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PatchObjectRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub object: ::prost::alloc::string::String,
#[prost(int64, tag = "3")]
pub generation: i64,
#[prost(message, optional, tag = "4")]
pub if_generation_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "5")]
pub if_generation_not_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "6")]
pub if_metageneration_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "7")]
pub if_metageneration_not_match: ::core::option::Option<i64>,
#[prost(enumeration = "common_enums::PredefinedObjectAcl", tag = "8")]
pub predefined_acl: i32,
#[prost(enumeration = "common_enums::Projection", tag = "9")]
pub projection: i32,
#[prost(message, optional, tag = "11")]
pub metadata: ::core::option::Option<Object>,
#[prost(message, optional, tag = "12")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
#[prost(message, optional, tag = "13")]
pub common_object_request_params: ::core::option::Option<CommonObjectRequestParams>,
#[prost(message, optional, tag = "14")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateObjectRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub object: ::prost::alloc::string::String,
#[prost(int64, tag = "3")]
pub generation: i64,
#[prost(message, optional, tag = "4")]
pub if_generation_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "5")]
pub if_generation_not_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "6")]
pub if_metageneration_match: ::core::option::Option<i64>,
#[prost(message, optional, tag = "7")]
pub if_metageneration_not_match: ::core::option::Option<i64>,
#[prost(enumeration = "common_enums::PredefinedObjectAcl", tag = "8")]
pub predefined_acl: i32,
#[prost(enumeration = "common_enums::Projection", tag = "9")]
pub projection: i32,
#[prost(message, optional, tag = "11")]
pub metadata: ::core::option::Option<Object>,
#[prost(message, optional, tag = "12")]
pub common_object_request_params: ::core::option::Option<CommonObjectRequestParams>,
#[prost(message, optional, tag = "13")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WatchAllObjectsRequest {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub versions: bool,
#[prost(string, tag = "3")]
pub delimiter: ::prost::alloc::string::String,
#[prost(int32, tag = "4")]
pub max_results: i32,
#[prost(string, tag = "5")]
pub prefix: ::prost::alloc::string::String,
#[prost(bool, tag = "6")]
pub include_trailing_delimiter: bool,
#[prost(string, tag = "7")]
pub page_token: ::prost::alloc::string::String,
#[prost(enumeration = "common_enums::Projection", tag = "8")]
pub projection: i32,
#[prost(message, optional, tag = "10")]
pub channel: ::core::option::Option<Channel>,
#[prost(message, optional, tag = "11")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetProjectServiceAccountRequest {
#[prost(string, tag = "1")]
pub project_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateHmacKeyRequest {
#[prost(string, tag = "1")]
pub project_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub service_account_email: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateHmacKeyResponse {
#[prost(message, optional, tag = "1")]
pub metadata: ::core::option::Option<HmacKeyMetadata>,
#[prost(string, tag = "2")]
pub secret: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteHmacKeyRequest {
#[prost(string, tag = "1")]
pub access_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub project_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetHmacKeyRequest {
#[prost(string, tag = "1")]
pub access_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub project_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListHmacKeysRequest {
#[prost(string, tag = "1")]
pub project_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub service_account_email: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub show_deleted_keys: bool,
#[prost(int32, tag = "4")]
pub max_results: i32,
#[prost(string, tag = "5")]
pub page_token: ::prost::alloc::string::String,
#[prost(message, optional, tag = "6")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListHmacKeysResponse {
#[prost(string, tag = "1")]
pub next_page_token: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub items: ::prost::alloc::vec::Vec<HmacKeyMetadata>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateHmacKeyRequest {
#[prost(string, tag = "1")]
pub access_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub project_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub metadata: ::core::option::Option<HmacKeyMetadata>,
#[prost(message, optional, tag = "5")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetIamPolicyRequest {
#[prost(message, optional, tag = "1")]
pub iam_request: ::core::option::Option<super::super::iam::v1::GetIamPolicyRequest>,
#[prost(message, optional, tag = "2")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetIamPolicyRequest {
#[prost(message, optional, tag = "1")]
pub iam_request: ::core::option::Option<super::super::iam::v1::SetIamPolicyRequest>,
#[prost(message, optional, tag = "2")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TestIamPermissionsRequest {
#[prost(message, optional, tag = "1")]
pub iam_request: ::core::option::Option<super::super::iam::v1::TestIamPermissionsRequest>,
#[prost(message, optional, tag = "2")]
pub common_request_params: ::core::option::Option<CommonRequestParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CommonObjectRequestParams {
#[prost(string, tag = "1")]
pub encryption_algorithm: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub encryption_key: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub encryption_key_sha256: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CommonRequestParams {
#[prost(string, tag = "1")]
pub user_project: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub quota_user: ::prost::alloc::string::String,
#[prost(message, optional, tag = "4")]
pub fields: ::core::option::Option<::prost_types::FieldMask>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServiceConstants {}
pub mod service_constants {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Values {
Unspecified = 0,
MaxReadChunkBytes = 2097152,
MaxObjectSizeMb = 5242880,
MaxCustomMetadataFieldNameBytes = 1024,
MaxCustomMetadataFieldValueBytes = 4096,
MaxCustomMetadataTotalSizeBytes = 8192,
MaxBucketMetadataTotalSizeBytes = 20480,
MaxNotificationConfigsPerBucket = 100,
MaxNotificationCustomAttributes = 5,
MaxNotificationCustomAttributeKeyLength = 256,
MaxLabelsEntriesCount = 64,
MaxLabelsKeyValueLength = 63,
MaxLabelsKeyValueBytes = 128,
MaxObjectIdsPerDeleteObjectsRequest = 1000,
SplitTokenMaxValidDays = 14,
}
}
#[doc = r" Generated client implementations."]
pub mod storage_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
#[doc = " Manages Google Cloud Storage resources."]
#[derive(Debug, Clone)]
pub struct StorageClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> StorageClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::ResponseBody: Body + Send + 'static,
T::Error: Into<StdError>,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> StorageClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<http::Request<tonic::body::BoxBody>>>::Error:
Into<StdError> + Send + Sync,
{
StorageClient::new(InterceptedService::new(inner, interceptor))
}
#[doc = r" Compress requests with `gzip`."]
#[doc = r""]
#[doc = r" This requires the server to support it otherwise it might respond with an"]
#[doc = r" error."]
pub fn send_gzip(mut self) -> Self {
self.inner = self.inner.send_gzip();
self
}
#[doc = r" Enable decompressing responses with `gzip`."]
pub fn accept_gzip(mut self) -> Self {
self.inner = self.inner.accept_gzip();
self
}
#[doc = " Permanently deletes the ACL entry for the specified entity on the specified"]
#[doc = " bucket."]
pub async fn delete_bucket_access_control(
&mut self,
request: impl tonic::IntoRequest<super::DeleteBucketAccessControlRequest>,
) -> Result<tonic::Response<()>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/DeleteBucketAccessControl",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Returns the ACL entry for the specified entity on the specified bucket."]
pub async fn get_bucket_access_control(
&mut self,
request: impl tonic::IntoRequest<super::GetBucketAccessControlRequest>,
) -> Result<tonic::Response<super::BucketAccessControl>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/GetBucketAccessControl",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Creates a new ACL entry on the specified bucket."]
pub async fn insert_bucket_access_control(
&mut self,
request: impl tonic::IntoRequest<super::InsertBucketAccessControlRequest>,
) -> Result<tonic::Response<super::BucketAccessControl>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/InsertBucketAccessControl",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Retrieves ACL entries on the specified bucket."]
pub async fn list_bucket_access_controls(
&mut self,
request: impl tonic::IntoRequest<super::ListBucketAccessControlsRequest>,
) -> Result<tonic::Response<super::ListBucketAccessControlsResponse>, tonic::Status>
{
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/ListBucketAccessControls",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Updates an ACL entry on the specified bucket. Equivalent to"]
#[doc = " PatchBucketAccessControl, but all unspecified fields will be"]
#[doc = " reset to their default values."]
pub async fn update_bucket_access_control(
&mut self,
request: impl tonic::IntoRequest<super::UpdateBucketAccessControlRequest>,
) -> Result<tonic::Response<super::BucketAccessControl>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/UpdateBucketAccessControl",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Updates an ACL entry on the specified bucket."]
pub async fn patch_bucket_access_control(
&mut self,
request: impl tonic::IntoRequest<super::PatchBucketAccessControlRequest>,
) -> Result<tonic::Response<super::BucketAccessControl>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/PatchBucketAccessControl",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Permanently deletes an empty bucket."]
pub async fn delete_bucket(
&mut self,
request: impl tonic::IntoRequest<super::DeleteBucketRequest>,
) -> Result<tonic::Response<()>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path =
http::uri::PathAndQuery::from_static("/google.storage.v1.Storage/DeleteBucket");
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Returns metadata for the specified bucket."]
pub async fn get_bucket(
&mut self,
request: impl tonic::IntoRequest<super::GetBucketRequest>,
) -> Result<tonic::Response<super::Bucket>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static("/google.storage.v1.Storage/GetBucket");
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Creates a new bucket."]
pub async fn insert_bucket(
&mut self,
request: impl tonic::IntoRequest<super::InsertBucketRequest>,
) -> Result<tonic::Response<super::Bucket>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path =
http::uri::PathAndQuery::from_static("/google.storage.v1.Storage/InsertBucket");
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " List active object change notification channels for this bucket."]
pub async fn list_channels(
&mut self,
request: impl tonic::IntoRequest<super::ListChannelsRequest>,
) -> Result<tonic::Response<super::ListChannelsResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path =
http::uri::PathAndQuery::from_static("/google.storage.v1.Storage/ListChannels");
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Retrieves a list of buckets for a given project."]
pub async fn list_buckets(
&mut self,
request: impl tonic::IntoRequest<super::ListBucketsRequest>,
) -> Result<tonic::Response<super::ListBucketsResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path =
http::uri::PathAndQuery::from_static("/google.storage.v1.Storage/ListBuckets");
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Locks retention policy on a bucket."]
pub async fn lock_bucket_retention_policy(
&mut self,
request: impl tonic::IntoRequest<super::LockRetentionPolicyRequest>,
) -> Result<tonic::Response<super::Bucket>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/LockBucketRetentionPolicy",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Gets the IAM policy for the specified bucket."]
pub async fn get_bucket_iam_policy(
&mut self,
request: impl tonic::IntoRequest<super::GetIamPolicyRequest>,
) -> Result<tonic::Response<super::super::super::iam::v1::Policy>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/GetBucketIamPolicy",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Updates an IAM policy for the specified bucket."]
pub async fn set_bucket_iam_policy(
&mut self,
request: impl tonic::IntoRequest<super::SetIamPolicyRequest>,
) -> Result<tonic::Response<super::super::super::iam::v1::Policy>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/SetBucketIamPolicy",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Tests a set of permissions on the given bucket to see which, if"]
#[doc = " any, are held by the caller."]
pub async fn test_bucket_iam_permissions(
&mut self,
request: impl tonic::IntoRequest<super::TestIamPermissionsRequest>,
) -> Result<
tonic::Response<super::super::super::iam::v1::TestIamPermissionsResponse>,
tonic::Status,
> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/TestBucketIamPermissions",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Updates a bucket. Changes to the bucket will be readable immediately after"]
#[doc = " writing, but configuration changes may take time to propagate."]
pub async fn patch_bucket(
&mut self,
request: impl tonic::IntoRequest<super::PatchBucketRequest>,
) -> Result<tonic::Response<super::Bucket>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path =
http::uri::PathAndQuery::from_static("/google.storage.v1.Storage/PatchBucket");
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Updates a bucket. Equivalent to PatchBucket, but always replaces all"]
#[doc = " mutatable fields of the bucket with new values, reverting all"]
#[doc = " unspecified fields to their default values."]
#[doc = " Like PatchBucket, Changes to the bucket will be readable immediately after"]
#[doc = " writing, but configuration changes may take time to propagate."]
pub async fn update_bucket(
&mut self,
request: impl tonic::IntoRequest<super::UpdateBucketRequest>,
) -> Result<tonic::Response<super::Bucket>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path =
http::uri::PathAndQuery::from_static("/google.storage.v1.Storage/UpdateBucket");
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Halts \"Object Change Notification\" push messagages."]
#[doc = " See https://cloud.google.com/storage/docs/object-change-notification"]
#[doc = " Note: this is not related to the newer \"Notifications\" resource, which"]
#[doc = " are stopped using DeleteNotification."]
pub async fn stop_channel(
&mut self,
request: impl tonic::IntoRequest<super::StopChannelRequest>,
) -> Result<tonic::Response<()>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path =
http::uri::PathAndQuery::from_static("/google.storage.v1.Storage/StopChannel");
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Permanently deletes the default object ACL entry for the specified entity"]
#[doc = " on the specified bucket."]
pub async fn delete_default_object_access_control(
&mut self,
request: impl tonic::IntoRequest<super::DeleteDefaultObjectAccessControlRequest>,
) -> Result<tonic::Response<()>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/DeleteDefaultObjectAccessControl",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Returns the default object ACL entry for the specified entity on the"]
#[doc = " specified bucket."]
pub async fn get_default_object_access_control(
&mut self,
request: impl tonic::IntoRequest<super::GetDefaultObjectAccessControlRequest>,
) -> Result<tonic::Response<super::ObjectAccessControl>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/GetDefaultObjectAccessControl",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Creates a new default object ACL entry on the specified bucket."]
pub async fn insert_default_object_access_control(
&mut self,
request: impl tonic::IntoRequest<super::InsertDefaultObjectAccessControlRequest>,
) -> Result<tonic::Response<super::ObjectAccessControl>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/InsertDefaultObjectAccessControl",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Retrieves default object ACL entries on the specified bucket."]
pub async fn list_default_object_access_controls(
&mut self,
request: impl tonic::IntoRequest<super::ListDefaultObjectAccessControlsRequest>,
) -> Result<tonic::Response<super::ListObjectAccessControlsResponse>, tonic::Status>
{
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/ListDefaultObjectAccessControls",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Updates a default object ACL entry on the specified bucket."]
pub async fn patch_default_object_access_control(
&mut self,
request: impl tonic::IntoRequest<super::PatchDefaultObjectAccessControlRequest>,
) -> Result<tonic::Response<super::ObjectAccessControl>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/PatchDefaultObjectAccessControl",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Updates a default object ACL entry on the specified bucket. Equivalent to"]
#[doc = " PatchDefaultObjectAccessControl, but modifies all unspecified fields to"]
#[doc = " their default values."]
pub async fn update_default_object_access_control(
&mut self,
request: impl tonic::IntoRequest<super::UpdateDefaultObjectAccessControlRequest>,
) -> Result<tonic::Response<super::ObjectAccessControl>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/UpdateDefaultObjectAccessControl",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Permanently deletes a notification subscription."]
#[doc = " Note: Older, \"Object Change Notification\" push subscriptions should be"]
#[doc = " deleted using StopChannel instead."]
pub async fn delete_notification(
&mut self,
request: impl tonic::IntoRequest<super::DeleteNotificationRequest>,
) -> Result<tonic::Response<()>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/DeleteNotification",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " View a notification configuration."]
pub async fn get_notification(
&mut self,
request: impl tonic::IntoRequest<super::GetNotificationRequest>,
) -> Result<tonic::Response<super::Notification>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path =
http::uri::PathAndQuery::from_static("/google.storage.v1.Storage/GetNotification");
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Creates a notification subscription for a given bucket."]
#[doc = " These notifications, when triggered, publish messages to the specified"]
#[doc = " Cloud Pub/Sub topics."]
#[doc = " See https://cloud.google.com/storage/docs/pubsub-notifications."]
pub async fn insert_notification(
&mut self,
request: impl tonic::IntoRequest<super::InsertNotificationRequest>,
) -> Result<tonic::Response<super::Notification>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/InsertNotification",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Retrieves a list of notification subscriptions for a given bucket."]
pub async fn list_notifications(
&mut self,
request: impl tonic::IntoRequest<super::ListNotificationsRequest>,
) -> Result<tonic::Response<super::ListNotificationsResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/ListNotifications",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Permanently deletes the ACL entry for the specified entity on the specified"]
#[doc = " object."]
pub async fn delete_object_access_control(
&mut self,
request: impl tonic::IntoRequest<super::DeleteObjectAccessControlRequest>,
) -> Result<tonic::Response<()>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/DeleteObjectAccessControl",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Returns the ACL entry for the specified entity on the specified object."]
pub async fn get_object_access_control(
&mut self,
request: impl tonic::IntoRequest<super::GetObjectAccessControlRequest>,
) -> Result<tonic::Response<super::ObjectAccessControl>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/GetObjectAccessControl",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Creates a new ACL entry on the specified object."]
pub async fn insert_object_access_control(
&mut self,
request: impl tonic::IntoRequest<super::InsertObjectAccessControlRequest>,
) -> Result<tonic::Response<super::ObjectAccessControl>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/InsertObjectAccessControl",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Retrieves ACL entries on the specified object."]
pub async fn list_object_access_controls(
&mut self,
request: impl tonic::IntoRequest<super::ListObjectAccessControlsRequest>,
) -> Result<tonic::Response<super::ListObjectAccessControlsResponse>, tonic::Status>
{
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/ListObjectAccessControls",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Patches an ACL entry on the specified object. Patch is similar to update,"]
#[doc = " but only applies or appends the specified fields in the"]
#[doc = " object_access_control object. Other fields are unaffected."]
pub async fn patch_object_access_control(
&mut self,
request: impl tonic::IntoRequest<super::PatchObjectAccessControlRequest>,
) -> Result<tonic::Response<super::ObjectAccessControl>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/PatchObjectAccessControl",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Updates an ACL entry on the specified object."]
pub async fn update_object_access_control(
&mut self,
request: impl tonic::IntoRequest<super::UpdateObjectAccessControlRequest>,
) -> Result<tonic::Response<super::ObjectAccessControl>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/UpdateObjectAccessControl",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Concatenates a list of existing objects into a new object in the same"]
#[doc = " bucket."]
pub async fn compose_object(
&mut self,
request: impl tonic::IntoRequest<super::ComposeObjectRequest>,
) -> Result<tonic::Response<super::Object>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path =
http::uri::PathAndQuery::from_static("/google.storage.v1.Storage/ComposeObject");
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Copies a source object to a destination object. Optionally overrides"]
#[doc = " metadata."]
pub async fn copy_object(
&mut self,
request: impl tonic::IntoRequest<super::CopyObjectRequest>,
) -> Result<tonic::Response<super::Object>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path =
http::uri::PathAndQuery::from_static("/google.storage.v1.Storage/CopyObject");
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Deletes an object and its metadata. Deletions are permanent if versioning"]
#[doc = " is not enabled for the bucket, or if the `generation` parameter"]
#[doc = " is used."]
pub async fn delete_object(
&mut self,
request: impl tonic::IntoRequest<super::DeleteObjectRequest>,
) -> Result<tonic::Response<()>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path =
http::uri::PathAndQuery::from_static("/google.storage.v1.Storage/DeleteObject");
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Retrieves an object's metadata."]
pub async fn get_object(
&mut self,
request: impl tonic::IntoRequest<super::GetObjectRequest>,
) -> Result<tonic::Response<super::Object>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static("/google.storage.v1.Storage/GetObject");
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Reads an object's data."]
pub async fn get_object_media(
&mut self,
request: impl tonic::IntoRequest<super::GetObjectMediaRequest>,
) -> Result<
tonic::Response<tonic::codec::Streaming<super::GetObjectMediaResponse>>,
tonic::Status,
> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path =
http::uri::PathAndQuery::from_static("/google.storage.v1.Storage/GetObjectMedia");
self.inner.server_streaming(request.into_request(), path, codec).await
}
#[doc = " Stores a new object and metadata."]
#[doc = ""]
#[doc = " An object can be written either in a single message stream or in a"]
#[doc = " resumable sequence of message streams. To write using a single stream,"]
#[doc = " the client should include in the first message of the stream an"]
#[doc = " `InsertObjectSpec` describing the destination bucket, object, and any"]
#[doc = " preconditions. Additionally, the final message must set 'finish_write' to"]
#[doc = " true, or else it is an error."]
#[doc = ""]
#[doc = " For a resumable write, the client should instead call"]
#[doc = " `StartResumableWrite()` and provide that method an `InsertObjectSpec.`"]
#[doc = " They should then attach the returned `upload_id` to the first message of"]
#[doc = " each following call to `Insert`. If there is an error or the connection is"]
#[doc = " broken during the resumable `Insert()`, the client should check the status"]
#[doc = " of the `Insert()` by calling `QueryWriteStatus()` and continue writing from"]
#[doc = " the returned `committed_size`. This may be less than the amount of data the"]
#[doc = " client previously sent."]
#[doc = ""]
#[doc = " The service will not view the object as complete until the client has"]
#[doc = " sent an `Insert` with `finish_write` set to `true`. Sending any"]
#[doc = " requests on a stream after sending a request with `finish_write` set to"]
#[doc = " `true` will cause an error. The client **should** check the"]
#[doc = " `Object` it receives to determine how much data the service was"]
#[doc = " able to commit and whether the service views the object as complete."]
pub async fn insert_object(
&mut self,
request: impl tonic::IntoStreamingRequest<Message = super::InsertObjectRequest>,
) -> Result<tonic::Response<super::Object>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path =
http::uri::PathAndQuery::from_static("/google.storage.v1.Storage/InsertObject");
self.inner.client_streaming(request.into_streaming_request(), path, codec).await
}
#[doc = " Retrieves a list of objects matching the criteria."]
pub async fn list_objects(
&mut self,
request: impl tonic::IntoRequest<super::ListObjectsRequest>,
) -> Result<tonic::Response<super::ListObjectsResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path =
http::uri::PathAndQuery::from_static("/google.storage.v1.Storage/ListObjects");
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Rewrites a source object to a destination object. Optionally overrides"]
#[doc = " metadata."]
pub async fn rewrite_object(
&mut self,
request: impl tonic::IntoRequest<super::RewriteObjectRequest>,
) -> Result<tonic::Response<super::RewriteResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path =
http::uri::PathAndQuery::from_static("/google.storage.v1.Storage/RewriteObject");
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Starts a resumable write. How long the write operation remains valid, and"]
#[doc = " what happens when the write operation becomes invalid, are"]
#[doc = " service-dependent."]
pub async fn start_resumable_write(
&mut self,
request: impl tonic::IntoRequest<super::StartResumableWriteRequest>,
) -> Result<tonic::Response<super::StartResumableWriteResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/StartResumableWrite",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Determines the `committed_size` for an object that is being written, which"]
#[doc = " can then be used as the `write_offset` for the next `Write()` call."]
#[doc = ""]
#[doc = " If the object does not exist (i.e., the object has been deleted, or the"]
#[doc = " first `Write()` has not yet reached the service), this method returns the"]
#[doc = " error `NOT_FOUND`."]
#[doc = ""]
#[doc = " The client **may** call `QueryWriteStatus()` at any time to determine how"]
#[doc = " much data has been processed for this object. This is useful if the"]
#[doc = " client is buffering data and needs to know which data can be safely"]
#[doc = " evicted. For any sequence of `QueryWriteStatus()` calls for a given"]
#[doc = " object name, the sequence of returned `committed_size` values will be"]
#[doc = " non-decreasing."]
pub async fn query_write_status(
&mut self,
request: impl tonic::IntoRequest<super::QueryWriteStatusRequest>,
) -> Result<tonic::Response<super::QueryWriteStatusResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path =
http::uri::PathAndQuery::from_static("/google.storage.v1.Storage/QueryWriteStatus");
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Updates an object's metadata."]
pub async fn patch_object(
&mut self,
request: impl tonic::IntoRequest<super::PatchObjectRequest>,
) -> Result<tonic::Response<super::Object>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path =
http::uri::PathAndQuery::from_static("/google.storage.v1.Storage/PatchObject");
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Updates an object's metadata. Equivalent to PatchObject, but always"]
#[doc = " replaces all mutatable fields of the bucket with new values, reverting all"]
#[doc = " unspecified fields to their default values."]
pub async fn update_object(
&mut self,
request: impl tonic::IntoRequest<super::UpdateObjectRequest>,
) -> Result<tonic::Response<super::Object>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path =
http::uri::PathAndQuery::from_static("/google.storage.v1.Storage/UpdateObject");
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Gets the IAM policy for the specified object."]
pub async fn get_object_iam_policy(
&mut self,
request: impl tonic::IntoRequest<super::GetIamPolicyRequest>,
) -> Result<tonic::Response<super::super::super::iam::v1::Policy>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/GetObjectIamPolicy",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Updates an IAM policy for the specified object."]
pub async fn set_object_iam_policy(
&mut self,
request: impl tonic::IntoRequest<super::SetIamPolicyRequest>,
) -> Result<tonic::Response<super::super::super::iam::v1::Policy>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/SetObjectIamPolicy",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Tests a set of permissions on the given object to see which, if"]
#[doc = " any, are held by the caller."]
pub async fn test_object_iam_permissions(
&mut self,
request: impl tonic::IntoRequest<super::TestIamPermissionsRequest>,
) -> Result<
tonic::Response<super::super::super::iam::v1::TestIamPermissionsResponse>,
tonic::Status,
> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/TestObjectIamPermissions",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Watch for changes on all objects in a bucket."]
pub async fn watch_all_objects(
&mut self,
request: impl tonic::IntoRequest<super::WatchAllObjectsRequest>,
) -> Result<tonic::Response<super::Channel>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path =
http::uri::PathAndQuery::from_static("/google.storage.v1.Storage/WatchAllObjects");
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Retrieves the name of a project's Google Cloud Storage service account."]
pub async fn get_service_account(
&mut self,
request: impl tonic::IntoRequest<super::GetProjectServiceAccountRequest>,
) -> Result<tonic::Response<super::ServiceAccount>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.storage.v1.Storage/GetServiceAccount",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Creates a new HMAC key for the given service account."]
pub async fn create_hmac_key(
&mut self,
request: impl tonic::IntoRequest<super::CreateHmacKeyRequest>,
) -> Result<tonic::Response<super::CreateHmacKeyResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path =
http::uri::PathAndQuery::from_static("/google.storage.v1.Storage/CreateHmacKey");
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Deletes a given HMAC key. Key must be in an INACTIVE state."]
pub async fn delete_hmac_key(
&mut self,
request: impl tonic::IntoRequest<super::DeleteHmacKeyRequest>,
) -> Result<tonic::Response<()>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path =
http::uri::PathAndQuery::from_static("/google.storage.v1.Storage/DeleteHmacKey");
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Gets an existing HMAC key metadata for the given id."]
pub async fn get_hmac_key(
&mut self,
request: impl tonic::IntoRequest<super::GetHmacKeyRequest>,
) -> Result<tonic::Response<super::HmacKeyMetadata>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path =
http::uri::PathAndQuery::from_static("/google.storage.v1.Storage/GetHmacKey");
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Lists HMAC keys under a given project with the additional filters provided."]
pub async fn list_hmac_keys(
&mut self,
request: impl tonic::IntoRequest<super::ListHmacKeysRequest>,
) -> Result<tonic::Response<super::ListHmacKeysResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path =
http::uri::PathAndQuery::from_static("/google.storage.v1.Storage/ListHmacKeys");
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Updates a given HMAC key state between ACTIVE and INACTIVE."]
pub async fn update_hmac_key(
&mut self,
request: impl tonic::IntoRequest<super::UpdateHmacKeyRequest>,
) -> Result<tonic::Response<super::HmacKeyMetadata>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path =
http::uri::PathAndQuery::from_static("/google.storage.v1.Storage/UpdateHmacKey");
self.inner.unary(request.into_request(), path, codec).await
}
}
}