Skip to main content
Google Cloud
Documentation Technology areas
  • AI and ML
  • Application development
  • Application hosting
  • Compute
  • Data analytics and pipelines
  • Databases
  • Distributed, hybrid, and multicloud
  • Generative AI
  • Industry solutions
  • Networking
  • Observability and monitoring
  • Security
  • Storage
Cross-product tools
  • Access and resources management
  • Costs and usage management
  • Google Cloud SDK, languages, frameworks, and tools
  • Infrastructure as code
  • Migration
Related sites
  • Google Cloud Home
  • Free Trial and Free Tier
  • Architecture Center
  • Blog
  • Contact Sales
  • Google Cloud Developer Center
  • Google Developer Center
  • Google Cloud Marketplace
  • Google Cloud Marketplace Documentation
  • Google Cloud Skills Boost
  • Google Cloud Solution Center
  • Google Cloud Support
  • Google Cloud Tech Youtube Channel
/
  • English
  • Deutsch
  • Español – América Latina
  • Français
  • Português – Brasil
  • 中文 – 简体
  • 日本語
  • 한국어
Console Sign in
  • C++
Overview Guides Reference Samples
Contact Us Start free
Google Cloud
  • Documentation
    • Overview
    • Guides
    • Reference
    • Samples
  • Technology areas
    • More
  • Cross-product tools
    • More
  • Related sites
    • More
  • Console
  • Contact Us
  • Start free
  • Overview
  • Library reference docs
  • Google Cloud Storage C++ Client Library
  • In-Depth Topics
    • Environment Variables
    • Error Handling
    • Using the GCS+gRPC Plugin
    • Override the Default Endpoint
    • Override the authentication configuration
    • Override the default retry policies
    • Writing Tests with a Mock Client
  • Modules
    • GCS Client Library Configuration Options
  • Namespaces
    • google::cloud::storage
      • Overview
      • Classes
        • AlwaysRetryIdempotencyPolicy
          • Overview
          • Constructors
            • AlwaysRetryIdempotencyPolicy()
          • Functions
            • virtual IsIdempotent(internal::ListBucketsRequest const &) const
            • virtual IsIdempotent(internal::CreateBucketRequest const &) const
            • virtual IsIdempotent(internal::GetBucketMetadataRequest const &) const
            • virtual IsIdempotent(internal::DeleteBucketRequest const &) const
            • virtual IsIdempotent(internal::UpdateBucketRequest const &) const
            • virtual IsIdempotent(internal::PatchBucketRequest const &) const
            • virtual IsIdempotent(internal::GetBucketIamPolicyRequest const &) const
            • virtual IsIdempotent(internal::SetNativeBucketIamPolicyRequest const &) const
            • virtual IsIdempotent(internal::TestBucketIamPermissionsRequest const &) const
            • virtual IsIdempotent(internal::LockBucketRetentionPolicyRequest const &) const
            • virtual IsIdempotent(internal::InsertObjectMediaRequest const &) const
            • virtual IsIdempotent(internal::CopyObjectRequest const &) const
            • virtual IsIdempotent(internal::GetObjectMetadataRequest const &) const
            • virtual IsIdempotent(internal::ReadObjectRangeRequest const &) const
            • virtual IsIdempotent(internal::ListObjectsRequest const &) const
            • virtual IsIdempotent(internal::DeleteObjectRequest const &) const
            • virtual IsIdempotent(internal::UpdateObjectRequest const &) const
            • virtual IsIdempotent(internal::PatchObjectRequest const &) const
            • virtual IsIdempotent(internal::ComposeObjectRequest const &) const
            • virtual IsIdempotent(internal::RewriteObjectRequest const &) const
            • virtual IsIdempotent(internal::ResumableUploadRequest const &) const
            • virtual IsIdempotent(internal::UploadChunkRequest const &) const
            • virtual IsIdempotent(internal::ListBucketAclRequest const &) const
            • virtual IsIdempotent(internal::CreateBucketAclRequest const &) const
            • virtual IsIdempotent(internal::DeleteBucketAclRequest const &) const
            • virtual IsIdempotent(internal::GetBucketAclRequest const &) const
            • virtual IsIdempotent(internal::UpdateBucketAclRequest const &) const
            • virtual IsIdempotent(internal::PatchBucketAclRequest const &) const
            • virtual IsIdempotent(internal::ListObjectAclRequest const &) const
            • virtual IsIdempotent(internal::CreateObjectAclRequest const &) const
            • virtual IsIdempotent(internal::DeleteObjectAclRequest const &) const
            • virtual IsIdempotent(internal::GetObjectAclRequest const &) const
            • virtual IsIdempotent(internal::UpdateObjectAclRequest const &) const
            • virtual IsIdempotent(internal::PatchObjectAclRequest const &) const
            • virtual IsIdempotent(internal::ListDefaultObjectAclRequest const &) const
            • virtual IsIdempotent(internal::CreateDefaultObjectAclRequest const &) const
            • virtual IsIdempotent(internal::DeleteDefaultObjectAclRequest const &) const
            • virtual IsIdempotent(internal::GetDefaultObjectAclRequest const &) const
            • virtual IsIdempotent(internal::UpdateDefaultObjectAclRequest const &) const
            • virtual IsIdempotent(internal::PatchDefaultObjectAclRequest const &) const
            • virtual IsIdempotent(internal::GetProjectServiceAccountRequest const &) const
            • virtual IsIdempotent(internal::ListHmacKeysRequest const &) const
            • virtual IsIdempotent(internal::CreateHmacKeyRequest const &) const
            • virtual IsIdempotent(internal::DeleteHmacKeyRequest const &) const
            • virtual IsIdempotent(internal::GetHmacKeyRequest const &) const
            • virtual IsIdempotent(internal::UpdateHmacKeyRequest const &) const
            • virtual IsIdempotent(internal::SignBlobRequest const &) const
            • virtual IsIdempotent(internal::ListNotificationsRequest const &) const
            • virtual IsIdempotent(internal::CreateNotificationRequest const &) const
            • virtual IsIdempotent(internal::GetNotificationRequest const &) const
            • virtual IsIdempotent(internal::DeleteNotificationRequest const &) const
            • virtual clone() const
        • BucketAccessControl
          • Overview
          • Constructors
            • BucketAccessControl()
          • Operators
            • operator==(BucketAccessControl const &, BucketAccessControl const &)
            • operator!=(BucketAccessControl const &, BucketAccessControl const &)
          • Functions
            • bucket() const
            • domain() const
            • email() const
            • entity() const
            • entity_id() const
            • etag() const
            • id() const
            • kind() const
            • has_project_team() const
            • project_team() const
            • project_team_as_optional() const
            • role() const
            • self_link() const
            • set_entity(std::string)
            • set_role(std::string)
            • set_bucket(std::string)
            • set_domain(std::string)
            • set_email(std::string)
            • set_entity_id(std::string)
            • set_etag(std::string)
            • set_id(std::string)
            • set_kind(std::string)
            • set_project_team(ProjectTeam)
            • set_self_link(std::string)
            • static ROLE_OWNER()
            • static ROLE_READER()
            • static TEAM_EDITORS()
            • static TEAM_OWNERS()
            • static TEAM_VIEWERS()
        • BucketAccessControlPatchBuilder
          • Overview
          • Constructors
            • BucketAccessControlPatchBuilder()
          • Functions
            • BuildPatch() const
            • set_entity(std::string const &)
            • delete_entity()
            • set_role(std::string const &)
            • delete_role()
        • BucketMetadata
          • Overview
          • Constructors
            • BucketMetadata()
          • Operators
            • operator==(BucketMetadata const &, BucketMetadata const &)
            • operator!=(BucketMetadata const &, BucketMetadata const &)
          • Functions
            • acl() const
            • mutable_acl()
            • set_acl(std::vector< BucketAccessControl >)
            • has_autoclass() const
            • autoclass() const
            • autoclass_as_optional() const
            • set_autoclass(BucketAutoclass)
            • reset_autoclass()
            • has_billing() const
            • billing() const
            • billing_as_optional() const
            • set_billing(BucketBilling const &)
            • reset_billing()
            • default_event_based_hold() const
            • set_default_event_based_hold(bool)
            • cors() const
            • mutable_cors()
            • set_cors(std::vector< CorsEntry >)
            • default_acl() const
            • mutable_default_acl()
            • set_default_acl(std::vector< ObjectAccessControl >)
            • has_encryption() const
            • encryption() const
            • encryption_as_optional() const
            • set_encryption(BucketEncryption)
            • reset_encryption()
            • has_hierarchical_namespace() const
            • hierarchical_namespace() const
            • hierarchical_namespace_as_optional() const
            • set_hierarchical_namespace(BucketHierarchicalNamespace)
            • reset_hierarchical_namespace()
            • has_iam_configuration() const
            • iam_configuration() const
            • iam_configuration_as_optional() const
            • set_iam_configuration(BucketIamConfiguration)
            • reset_iam_configuration()
            • has_label(std::string const &) const
            • label(std::string const &) const
            • delete_label(std::string const &)
            • upsert_label(std::string, std::string)
            • labels() const
            • mutable_labels()
            • has_lifecycle() const
            • lifecycle() const
            • lifecycle_as_optional() const
            • set_lifecycle(BucketLifecycle)
            • reset_lifecycle()
            • has_logging() const
            • logging() const
            • logging_as_optional() const
            • set_logging(BucketLogging)
            • reset_logging()
            • has_retention_policy() const
            • retention_policy() const
            • retention_policy_as_optional() const
            • set_retention_policy(BucketRetentionPolicy)
            • set_retention_policy(std::chrono::seconds)
            • reset_retention_policy()
            • rpo() const
            • set_rpo(std::string)
            • has_soft_delete_policy() const
            • soft_delete_policy() const
            • soft_delete_policy_as_optional() const
            • set_soft_delete_policy(BucketSoftDeletePolicy)
            • set_soft_delete_policy(std::chrono::seconds)
            • reset_soft_delete_policy()
            • storage_class() const
            • set_storage_class(std::string)
            • versioning() const
            • has_versioning() const
            • enable_versioning()
            • disable_versioning()
            • reset_versioning()
            • set_versioning(absl::optional< BucketVersioning >)
            • has_website() const
            • website() const
            • website_as_optional() const
            • set_website(BucketWebsite)
            • reset_website()
            • has_custom_placement_config() const
            • custom_placement_config() const
            • custom_placement_config_as_optional() const
            • set_custom_placement_config(BucketCustomPlacementConfig)
            • reset_custom_placement_config()
            • etag() const
            • set_etag(std::string)
            • id() const
            • set_id(std::string)
            • kind() const
            • set_kind(std::string)
            • location() const
            • set_location(std::string)
            • location_type() const
            • set_location_type(std::string)
            • metageneration() const
            • set_metageneration(std::int64_t)
            • name() const
            • set_name(std::string)
            • has_object_retention() const
            • object_retention() const
            • set_object_retention(BucketObjectRetention)
            • reset_object_retention()
            • has_owner() const
            • owner() const
            • set_owner(Owner)
            • reset_owner()
            • project_number() const
            • set_project_number(std::int64_t)
            • self_link() const
            • set_self_link(std::string)
            • time_created() const
            • set_time_created(std::chrono::system_clock::time_point)
            • updated() const
            • set_updated(std::chrono::system_clock::time_point)
        • BucketMetadataPatchBuilder
          • Overview
          • Constructors
            • BucketMetadataPatchBuilder()
          • Functions
            • BuildPatch() const
            • SetAcl(std::vector< BucketAccessControl > const &)
            • ResetAcl()
            • SetAutoclass(BucketAutoclass const &)
            • ResetAutoclass()
            • SetBilling(BucketBilling const &)
            • ResetBilling()
            • SetCors(std::vector< CorsEntry > const &)
            • ResetCors()
            • SetDefaultEventBasedHold(bool)
            • ResetDefaultEventBasedHold()
            • SetDefaultAcl(std::vector< ObjectAccessControl > const &)
            • ResetDefaultAcl()
            • SetIamConfiguration(BucketIamConfiguration const &)
            • ResetIamConfiguration()
            • SetHierarchicalNamespace(BucketHierarchicalNamespace const &)
            • ResetHierarchicalNamespace()
            • SetEncryption(BucketEncryption const &)
            • ResetEncryption()
            • SetLabel(std::string const &, std::string const &)
            • ResetLabel(std::string const &)
            • ResetLabels()
            • SetLifecycle(BucketLifecycle const &)
            • ResetLifecycle()
            • SetLogging(BucketLogging const &)
            • ResetLogging()
            • SetName(std::string const &)
            • ResetName()
            • SetRetentionPolicy(BucketRetentionPolicy const &)
            • SetRetentionPolicy(std::chrono::seconds)
            • ResetRetentionPolicy()
            • SetRpo(std::string const &)
            • ResetRpo()
            • SetSoftDeletePolicy(BucketSoftDeletePolicy const &)
            • SetSoftDeletePolicy(std::chrono::seconds)
            • ResetSoftDeletePolicy()
            • SetStorageClass(std::string const &)
            • ResetStorageClass()
            • SetVersioning(BucketVersioning const &)
            • ResetVersioning()
            • SetWebsite(BucketWebsite const &)
            • ResetWebsite()
        • ChannelOptions
          • Overview
          • Functions
            • ssl_root_path() const
            • set_ssl_root_path(std::string)
        • Client
          • Overview
          • Constructors
            • NoDecorations
              • Overview
            • Client(Options)
            • Client(ClientOptions, Policies &&...)
            • Client(std::shared_ptr< oauth2::Credentials >, Policies &&...)
            • Client(std::shared_ptr< internal::StorageConnection > const &, Policies &&...)
            • Client(std::shared_ptr< internal::StorageConnection >, NoDecorations)
          • Operators
            • operator==(Client const &, Client const &)
            • operator!=(Client const &, Client const &)
          • Functions
            • ListBucketsForProject(std::string const &, Options &&...)
            • ListBuckets(Options &&...)
            • CreateBucket(std::string, BucketMetadata, Options &&...)
            • CreateBucketForProject(std::string, std::string, BucketMetadata, Options &&...)
            • GetBucketMetadata(std::string const &, Options &&...)
            • DeleteBucket(std::string const &, Options &&...)
            • UpdateBucket(std::string, BucketMetadata, Options &&...)
            • PatchBucket(std::string, BucketMetadata const &, BucketMetadata const &, Options &&...)
            • PatchBucket(std::string, BucketMetadataPatchBuilder const &, Options &&...)
            • GetNativeBucketIamPolicy(std::string const &, Options &&...)
            • SetNativeBucketIamPolicy(std::string const &, NativeIamPolicy const &, Options &&...)
            • TestBucketIamPermissions(std::string, std::vector< std::string >, Options &&...)
            • LockBucketRetentionPolicy(std::string const &, std::uint64_t, Options &&...)
            • InsertObject(std::string const &, std::string const &, absl::string_view, Options &&...)
            • InsertObject(std::string const &, std::string const &, std::string const &, Options &&...)
            • InsertObject(std::string const &, std::string const &, char const *, Options &&...)
            • CopyObject(std::string, std::string, std::string, std::string, Options &&...)
            • GetObjectMetadata(std::string const &, std::string const &, Options &&...)
            • ListObjects(std::string const &, Options &&...)
            • ListObjectsAndPrefixes(std::string const &, Options &&...)
            • ReadObject(std::string const &, std::string const &, Options &&...)
            • WriteObject(std::string const &, std::string const &, Options &&...)
            • UploadFile(std::string const &, std::string const &, std::string const &, Options &&...)
            • DeleteResumableUpload(std::string const &, Options &&...)
            • DownloadToFile(std::string const &, std::string const &, std::string const &, Options &&...)
            • DeleteObject(std::string const &, std::string const &, Options &&...)
            • UpdateObject(std::string, std::string, ObjectMetadata, Options &&...)
            • PatchObject(std::string, std::string, ObjectMetadata const &, ObjectMetadata const &, Options &&...)
            • PatchObject(std::string, std::string, ObjectMetadataPatchBuilder const &, Options &&...)
            • ComposeObject(std::string, std::vector< ComposeSourceObject >, std::string, Options &&...)
            • RewriteObject(std::string, std::string, std::string, std::string, Options &&...)
            • ResumeRewriteObject(std::string, std::string, std::string, std::string, std::string, Options &&...)
            • RewriteObjectBlocking(std::string, std::string, std::string, std::string, Options &&...)
            • ListBucketAcl(std::string const &, Options &&...)
            • CreateBucketAcl(std::string const &, std::string const &, std::string const &, Options &&...)
            • DeleteBucketAcl(std::string const &, std::string const &, Options &&...)
            • GetBucketAcl(std::string const &, std::string const &, Options &&...)
            • UpdateBucketAcl(std::string const &, BucketAccessControl const &, Options &&...)
            • PatchBucketAcl(std::string const &, std::string const &, BucketAccessControl const &, BucketAccessControl const &, Options &&...)
            • PatchBucketAcl(std::string const &, std::string const &, BucketAccessControlPatchBuilder const &, Options &&...)
            • ListObjectAcl(std::string const &, std::string const &, Options &&...)
            • CreateObjectAcl(std::string const &, std::string const &, std::string const &, std::string const &, Options &&...)
            • DeleteObjectAcl(std::string const &, std::string const &, std::string const &, Options &&...)
            • GetObjectAcl(std::string const &, std::string const &, std::string const &, Options &&...)
            • UpdateObjectAcl(std::string const &, std::string const &, ObjectAccessControl const &, Options &&...)
            • PatchObjectAcl(std::string const &, std::string const &, std::string const &, ObjectAccessControl const &, ObjectAccessControl const &, Options &&...)
            • PatchObjectAcl(std::string const &, std::string const &, std::string const &, ObjectAccessControlPatchBuilder const &, Options &&...)
            • ListDefaultObjectAcl(std::string const &, Options &&...)
            • CreateDefaultObjectAcl(std::string const &, std::string const &, std::string const &, Options &&...)
            • DeleteDefaultObjectAcl(std::string const &, std::string const &, Options &&...)
            • GetDefaultObjectAcl(std::string const &, std::string const &, Options &&...)
            • UpdateDefaultObjectAcl(std::string const &, ObjectAccessControl const &, Options &&...)
            • PatchDefaultObjectAcl(std::string const &, std::string const &, ObjectAccessControl const &, ObjectAccessControl const &, Options &&...)
            • PatchDefaultObjectAcl(std::string const &, std::string const &, ObjectAccessControlPatchBuilder const &, Options &&...)
            • GetServiceAccountForProject(std::string const &, Options &&...)
            • GetServiceAccount(Options &&...)
            • ListHmacKeys(Options &&...)
            • CreateHmacKey(std::string, Options &&...)
            • DeleteHmacKey(std::string, Options &&...)
            • GetHmacKey(std::string, Options &&...)
            • UpdateHmacKey(std::string, HmacKeyMetadata, Options &&...)
            • CreateV2SignedUrl(std::string, std::string, std::string, Options &&...)
            • CreateV4SignedUrl(std::string, std::string, std::string, Options &&...)
            • ListNotifications(std::string const &, Options &&...)
            • CreateNotification(std::string const &, std::string const &, NotificationMetadata, Options &&...)
            • CreateNotification(std::string const &, std::string const &, std::string const &, NotificationMetadata, Options &&...)
            • GetNotification(std::string const &, std::string const &, Options &&...)
            • DeleteNotification(std::string const &, std::string const &, Options &&...)
            • CreateSignedPolicyDocument(PolicyDocument, Options &&...)
            • GenerateSignedPostPolicyV4(PolicyDocumentV4, Options &&...)
            • raw_client() const
            • static CreateDefaultClient()
        • ClientOptions
          • Overview
          • Constructors
            • ClientOptions(std::shared_ptr< oauth2::Credentials >)
            • ClientOptions(std::shared_ptr< oauth2::Credentials >, ChannelOptions)
          • Functions
            • download_stall_timeout() const
            • set_download_stall_timeout(std::chrono::seconds)
            • credentials() const
            • set_credentials(std::shared_ptr< oauth2::Credentials >)
            • endpoint() const
            • set_endpoint(std::string)
            • iam_endpoint() const
            • set_iam_endpoint(std::string)
            • version() const
            • set_version(std::string)
            • enable_http_tracing() const
            • set_enable_http_tracing(bool)
            • enable_raw_client_tracing() const
            • set_enable_raw_client_tracing(bool)
            • project_id() const
            • set_project_id(std::string)
            • connection_pool_size() const
            • set_connection_pool_size(std::size_t)
            • download_buffer_size() const
            • SetDownloadBufferSize(std::size_t)
            • upload_buffer_size() const
            • SetUploadBufferSize(std::size_t)
            • user_agent_prefix() const
            • add_user_agent_prefix(std::string)
            • add_user_agent_prefx(std::string const &)
            • maximum_simple_upload_size() const
            • set_maximum_simple_upload_size(std::size_t)
            • enable_ssl_locking_callbacks() const
            • set_enable_ssl_locking_callbacks(bool)
            • enable_sigpipe_handler() const
            • set_enable_sigpipe_handler(bool)
            • maximum_socket_recv_size() const
            • set_maximum_socket_recv_size(std::size_t)
            • maximum_socket_send_size() const
            • set_maximum_socket_send_size(std::size_t)
            • channel_options()
            • channel_options() const
            • static CreateDefaultClientOptions()
            • static CreateDefaultClientOptions(ChannelOptions const &)
        • CustomHeader
          • Overview
          • Constructors
            • CustomHeader()
            • CustomHeader(std::string, std::string)
          • Functions
            • custom_header_name() const
        • HashMismatchError
          • Overview
          • Constructors
            • HashMismatchError(std::string const &, std::string, std::string)
          • Functions
            • received_hash() const
            • computed_hash() const
        • HmacKeyMetadata
          • Overview
          • Constructors
            • HmacKeyMetadata()
          • Functions
            • set_access_id(std::string)
            • set_id(std::string)
            • set_kind(std::string)
            • set_project_id(std::string)
            • set_service_account_email(std::string)
            • set_time_created(std::chrono::system_clock::time_point)
            • set_updated(std::chrono::system_clock::time_point)
            • access_id() const
            • etag() const
            • set_etag(std::string)
            • id() const
            • kind() const
            • project_id() const
            • service_account_email() const
            • state() const
            • set_state(std::string)
            • time_created() const
            • updated() const
            • static state_active()
            • static state_inactive()
            • static state_deleted()
        • IdempotencyPolicy
          • Overview
          • Functions
            • IsIdempotent(internal::ListBucketsRequest const &) const
            • IsIdempotent(internal::CreateBucketRequest const &) const
            • IsIdempotent(internal::GetBucketMetadataRequest const &) const
            • IsIdempotent(internal::DeleteBucketRequest const &) const