<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Google.Cloud.Storage.V1</name>
    </assembly>
    <members>
        <member name="T:Google.Cloud.Storage.V1.CopyObjectOptions">
            <summary>
            Options for <c>CopyObject</c> operations.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.CopyObjectOptions.SourceGeneration">
            <summary>
            The generation of the object resource to copy. When not
            set, the latest generation will be copied.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.CopyObjectOptions.Projection">
            <summary>
            The projection to retrieve.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.CopyObjectOptions.DestinationPredefinedAcl">
            <summary>
            A predefined set of ACLs for the new object.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.CopyObjectOptions.IfGenerationMatch">
            <summary>
            Precondition for copying: the object is only copied if the existing destination object's
            generation matches the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.CopyObjectOptions.IfGenerationNotMatch">
            <summary>
            Precondition for copying: the object is only copied if the existing destination object's
            generation does not match the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.CopyObjectOptions.IfMetagenerationMatch">
            <summary>
            Precondition for copying: the object is only copied if the existing destination object's
            meta-generation matches the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.CopyObjectOptions.IfMetagenerationNotMatch">
            <summary>
            Precondition for copying: the object is only copied if the existing destination object's
            meta-generation does not match the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.CopyObjectOptions.IfSourceGenerationMatch">
            <summary>
            Precondition for copying: the object is only copied if the source object's
            generation matches the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.CopyObjectOptions.IfSourceGenerationNotMatch">
            <summary>
            Precondition for copying: the object is only copied if the source object's
            generation does not match the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.CopyObjectOptions.IfSourceMetagenerationMatch">
            <summary>
            Precondition for copying: the object is only copied if the source object's
            meta-generation matches the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.CopyObjectOptions.IfSourceMetagenerationNotMatch">
            <summary>
            Precondition for copying: the object is only copied if the source object's
            meta-generation does not match the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.CopyObjectOptions.ExtraMetadata">
            <summary>
            Additional object metadata for the new object. This can be used to specify the storage
            class of the new object, the content type etc. If this property is not set, the existing
            object metadata will be used unchanged.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.CopyObjectOptions.EncryptionKey">
            <summary>
            The encryption key to use for this operation. If this property is null, the <see cref="P:Google.Cloud.Storage.V1.StorageClient.EncryptionKey"/>
            will be used instead. Use <see cref="P:Google.Cloud.Storage.V1.EncryptionKey.None"/> to remove encryption headers from this request.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.CopyObjectOptions.SourceEncryptionKey">
            <summary>
            The encryption key to use for the source of the copy. If this property is null, the <see cref="P:Google.Cloud.Storage.V1.StorageClient.EncryptionKey"/>
            will be used instead. Use <see cref="P:Google.Cloud.Storage.V1.EncryptionKey.None"/> if the source is not encrypted.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.CopyObjectOptions.KmsKeyName">
            <summary>
            The name of the Cloud KMS key to use to encrypt the new object.
            </summary>
            <remarks>
            Currently, either customer-supplied encryption or a Cloud KMS key can be used, but not both.
            If this property is null and customer-supplied encryption is not being used,
            the bucket encryption defaults will be used to determine the encryption for the object.
            If this property is non-null and the client object has a default encryption key, the <see cref="P:Google.Cloud.Storage.V1.CopyObjectOptions.EncryptionKey"/> property
            of this options object must be set to <see cref="P:Google.Cloud.Storage.V1.EncryptionKey.None"/> to make the intention clear.
            </remarks>
        </member>
        <member name="P:Google.Cloud.Storage.V1.CopyObjectOptions.UserProject">
            <summary>
            If set, this is the ID of the project which will be billed for the request.
            The caller must have suitable permissions for the project being billed.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.CopyObjectOptions.RetryOptions">
            <summary>
            Options to pass custom retry configuration for each API request.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.Crc32c">
            <summary>
            Implementation of CRC32c for checking data integrity.
            At some point we may want to move this into GoogleApis.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.Crc32c.UpdateHash(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Updates the hash with the given data.
            </summary>
            <param name="data">Array containing the data to hash</param>
            <param name="offset">First offset of data to hash</param>
            <param name="length">Number of bytes to hash</param>
        </member>
        <member name="M:Google.Cloud.Storage.V1.Crc32c.GetHash">
            <summary>
            Returns the current hash.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.CreateBucketOptions">
            <summary>
            Options for <c>CreateBucket</c> operations.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.CreateBucketOptions.PredefinedAcl">
            <summary>
            A pre-defined ACL of the bucket for simple access control scenarios.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.CreateBucketOptions.PredefinedDefaultObjectAcl">
            <summary>
            A pre-defined default ACL for objects created in the bucket, for simple access control scenarios.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.CreateBucketOptions.Projection">
            <summary>
            The projection to retrieve.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.CreateBucketOptions.RetryOptions">
            <summary>
            Options to pass custom retry configuration for each API request.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.CreateHmacKeyOptions">
            <summary>
            Options for <c>CreateHmacKey</c> operations.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.CreateHmacKeyOptions.RetryOptions">
            <summary>
            Options to pass custom retry configuration for each API request.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.CreateNotificationOptions">
            <summary>
            Options for <c>CreateNotification</c> operations.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.CreateNotificationOptions.UserProject">
            <summary>
            If set, this is the ID of the project which will be billed for the request.
            The caller must have suitable permissions for the project being billed.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.CreateNotificationOptions.RetryOptions">
            <summary>
            Options to pass custom retry configuration for each API request.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.CustomMediaUpload">
            <summary>
            Upload subclass which allows us to modify headers, for customer-supplied encryption keys.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.DeleteBucketOptions">
            <summary>
            Options for <c>DeleteBucket</c> operations.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.DeleteBucketOptions.IfMetagenerationMatch">
            <summary>
            Precondition for deletion: the bucket is only deleted if its
            meta-generation matches the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.DeleteBucketOptions.IfMetagenerationNotMatch">
            <summary>
            Precondition for deletion: the bucket is only deleted if its
            meta-generation does not match the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.DeleteBucketOptions.UserProject">
            <summary>
            If set, this is the ID of the project which will be billed for the request.
            The caller must have suitable permissions for the project being billed.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.DeleteBucketOptions.DeleteObjects">
            <summary>
            If set to true, all objects within the bucket will be deleted before attempting
            to delete the bucket itself.
            </summary>
            <remarks>
            <para>
            This is a best-effort attempt, with no guarantees of atomicity:
            it's entirely possible for the operation to fail having deleted some objects
            but not all of them. If a precondition is specified, it is checked before deleting any
            objects, and applied again when deleting the bucket, but is not checked while deleting
            the objects. The behavior is unspecified if objects are modified, added or deleted while
            this operation is taking place.
            </para>
            <para>
            The objects are deleted sequentially. If you need to delete buckets with many objects, you
            may wish to implement a parallel solution in application code instead of using this option.
            </para>
            <para>
            If <see cref="P:Google.Cloud.Storage.V1.DeleteBucketOptions.UserProject"/> is set, that project will be billed for all operations.
            </para>
            </remarks>
        </member>
        <member name="P:Google.Cloud.Storage.V1.DeleteBucketOptions.RetryOptions">
            <summary>
            Options to pass custom retry configuration for each API request.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.DeleteBucketOptions.CreateGetBucketOptionsForPreconditions">
            <summary>
            If this set of options contains any preconditions, return a
            <see cref="T:Google.Cloud.Storage.V1.GetBucketOptions"/> with the same set of options. Otherwise, return null.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.DeleteHmacKeyOptions">
            <summary>
            Options for <c>DeleteHmacKey</c> operations.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.DeleteHmacKeyOptions.RetryOptions">
            <summary>
            Options to pass custom retry configuration for each API request.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.DeleteNotificationOptions">
            <summary>
            Options for <c>DeleteNotification</c> operations.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.DeleteNotificationOptions.UserProject">
            <summary>
            If set, this is the ID of the project which will be billed for the request.
            The caller must have suitable permissions for the project being billed.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.DeleteNotificationOptions.RetryOptions">
            <summary>
            Options to pass custom retry configuration for each API request.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.DeleteObjectOptions">
            <summary>
            Options for <c>DeleteObject</c> operations.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.DeleteObjectOptions.Generation">
            <summary>
            The generation to delete. If this is not specified, the latest
            generation will be deleted.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.DeleteObjectOptions.IfGenerationMatch">
            <summary>
            Precondition for deletion: the object is only deleted if the object's current
            generation matches the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.DeleteObjectOptions.IfGenerationNotMatch">
            <summary>
            Precondition for deletion: the object is only deleted if the object's current
            generation does not match the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.DeleteObjectOptions.IfMetagenerationMatch">
            <summary>
            Precondition for deletion: the object is only deleted if the object's current
            meta-generation matches the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.DeleteObjectOptions.IfMetagenerationNotMatch">
            <summary>
            Precondition for deletion: the object is only deleted if the object's current
            meta-generation does not match the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.DeleteObjectOptions.UserProject">
            <summary>
            If set, this is the ID of the project which will be billed for the request.
            The caller must have suitable permissions for the project being billed.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.DeleteObjectOptions.RetryOptions">
            <summary>
            Options to pass custom retry configuration for each API request.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.DownloadObjectOptions">
            <summary>
            Options for <c>DownloadObject</c> operations.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.DownloadObjectOptions.ChunkSize">
            <summary>
            The chunk size to use for each request.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.DownloadObjectOptions.Generation">
            <summary>
            The generation to download. When not specified, the latest version
            is always downloaded.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.DownloadObjectOptions.IfGenerationMatch">
            <summary>
            Precondition for download: the object is only downloaded if its generation matches the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.DownloadObjectOptions.IfGenerationNotMatch">
            <summary>
            Precondition for download: the object is only downloaded if its generation does not match the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.DownloadObjectOptions.IfMetagenerationMatch">
            <summary>
            Precondition for download: the object is only downloaded if its meta-generation matches the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.DownloadObjectOptions.IfMetagenerationNotMatch">
            <summary>
            Precondition for download: the object is only downloaded if its meta-generation does not match the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.DownloadObjectOptions.Range">
            <summary>
            If non-null, limits the range of bytes of the object to download.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.DownloadObjectOptions.EncryptionKey">
            <summary>
            The encryption key to use for this operation. If this property is null, the <see cref="P:Google.Cloud.Storage.V1.StorageClient.EncryptionKey"/>
            will be used instead. Use <see cref="P:Google.Cloud.Storage.V1.EncryptionKey.None"/> to remove encryption headers from this request.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.DownloadObjectOptions.UserProject">
            <summary>
            If set, this is the ID of the project which will be billed for the request.
            The caller must have suitable permissions for the project being billed.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.DownloadObjectOptions.DownloadValidationMode">
            <summary>
            Specifies whether or not the object's hash should be validated. If this property is null,
            the hash will always be validated.
            </summary>
            <remarks>
            <para>
            This is effectively an escape hatch for situations where hash validation fails.
            See https://github.com/googleapis/google-cloud-dotnet/issues/1641 for background
            on this option. It is recommended that you leave this option unset (or use
            <see cref="F:Google.Cloud.Storage.V1.DownloadValidationMode.Automatic"/>) unless you are knowingly
            downloading data for an object where hashing will fail.
            </para>
            <para>
            The current implementation defaults to <see cref="F:Google.Cloud.Storage.V1.DownloadValidationMode.Always"/>; in a future
            major version the default will change to <see cref="F:Google.Cloud.Storage.V1.DownloadValidationMode.Automatic"/> which will
            automatically ignore the hash where validation is expected to fail (even with valid data).
            </para>
            </remarks>
        </member>
        <member name="T:Google.Cloud.Storage.V1.DownloadValidationMode">
            <summary>
            Describes the circumstances under which the hash of an object is validated when downloading.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.DownloadValidationMode.Always">
            <summary>
            The hash is always validated.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.DownloadValidationMode.Never">
            <summary>
            The hash is never validated; data integrity errors may still be exposed
            via other network layers, but there is a risk of data loss.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.DownloadValidationMode.Automatic">
            <summary>
            The hash is validated if the library can detect that validation should
            be feasible. If response headers provide information to indicate that
            hash validation will fail (even in the face of correct data), the hash
            is not validated.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.EncryptionKey">
            <summary>
            An AES-256 key passed to the Google Cloud Storage servers via headers to allow objects to be encrypted at
            rest using a client-supplied key rather than a server-supplied default key. An alternative to
            customer-supplied encryption keys is to use customer-managed encryption keys, via Cloud KMS.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.EncryptionKey.None">
            <summary>
            A "don't encrypt" key, used in call-specific options to indicate that a particular request should
            not use encryption even if the client has a default encryption key.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.EncryptionKey.Base64Key">
            <summary>
            The base64 representation of the key. This will always be 45 characters long,
            or <c>null</c> for <see cref="P:Google.Cloud.Storage.V1.EncryptionKey.None"/>.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.EncryptionKey.Base64Hash">
            <summary>
            The base64 representation of the SHA-256 hash of the key. This will always be 45 characters long,
            or <c>null</c> for <see cref="P:Google.Cloud.Storage.V1.EncryptionKey.None"/>.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.EncryptionKey.Create(System.Byte[])">
            <summary>
            Creates an encryption key from the specified raw bytes.
            </summary>
            <param name="key">The raw key data; must be non-null and 32 bytes long.</param>
            <returns>An <see cref="T:Google.Cloud.Storage.V1.EncryptionKey"/> based on <paramref name="key"/>.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.EncryptionKey.Generate">
            <summary>
            Generates a random encryption key using <see cref="T:System.Security.Cryptography.RandomNumberGenerator"/>.
            </summary>
            <returns>A generated encryption key.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.EncryptionKey.Equals(Google.Cloud.Storage.V1.EncryptionKey)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.EncryptionKey.Equals(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.EncryptionKey.GetHashCode">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.EncryptionKey.ModifyRequest(System.Net.Http.HttpRequestMessage)">
            <summary>
            Adds encryption headers to the specified request, unless this key is <see cref="P:Google.Cloud.Storage.V1.EncryptionKey.None"/>, 
            </summary>
            <param name="request">The request to modify. Must not be null.</param>
        </member>
        <member name="T:Google.Cloud.Storage.V1.GetBucketIamPolicyOptions">
            <summary>
            Options for <c>GetBucketIamPolicy</c> operations.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.GetBucketIamPolicyOptions.UserProject">
            <summary>
            If set, this is the ID of the project which will be billed for the request.
            The caller must have suitable permissions for the project being billed.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.GetBucketIamPolicyOptions.RequestedPolicyVersion">
            <summary>
            The version of IAM policies to request. If a policy with a condition is requested
            without setting this, the server will return an error. This must be set to a value of 3
            to retrieve IAM policies containing conditions. This is to prevent client code that
            isn't aware of IAM conditions from interpreting and modifying policies incorrectly.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.GetBucketIamPolicyOptions.RetryOptions">
            <summary>
            Options to pass custom retry configuration for each API request.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.GetBucketOptions">
            <summary>
            Options for <c>GetBucket</c> operations.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.GetBucketOptions.IfMetagenerationMatch">
            <summary>
            Precondition for retrieval: the bucket is only fetched if its
            meta-generation matches the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.GetBucketOptions.IfMetagenerationNotMatch">
            <summary>
            Precondition for retrieval: the bucket is only fetched if its
            meta-generation does not match the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.GetBucketOptions.Projection">
            <summary>
            The projection to retrieve.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.GetBucketOptions.UserProject">
            <summary>
            If set, this is the ID of the project which will be billed for the request.
            The caller must have suitable permissions for the project being billed.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.GetBucketOptions.RetryOptions">
            <summary>
            Options to pass custom retry configuration for each API request.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.GetHmacKeyOptions">
            <summary>
            Options for <c>GetHmacKey</c> operations.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.GetHmacKeyOptions.RetryOptions">
            <summary>
            Options to pass custom retry configuration for each API request.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.GetNotificationOptions">
            <summary>
            Options for <c>GetNotification</c> operations.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.GetNotificationOptions.UserProject">
            <summary>
            If set, this is the ID of the project which will be billed for the request.
            The caller must have suitable permissions for the project being billed.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.GetNotificationOptions.RetryOptions">
            <summary>
            Options to pass custom retry configuration for each API request.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.GetObjectOptions">
            <summary>
            Options for <c>GetObject</c> operations.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.GetObjectOptions.Generation">
            <summary>
            The generation of the object resource to fetch. When not
            set, the latest generation will be retrieved.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.GetObjectOptions.Projection">
            <summary>
            The projection to retrieve.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.GetObjectOptions.IfGenerationMatch">
            <summary>
            Precondition for retrieval: the object is only fetched if the object's current
            generation matches the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.GetObjectOptions.IfGenerationNotMatch">
            <summary>
            Precondition for retrieval: the object is only fetched if the object's current
            generation does not match the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.GetObjectOptions.IfMetagenerationMatch">
            <summary>
            Precondition for retrieval: the object is only fetched if the object's current
            meta-generation matches the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.GetObjectOptions.IfMetagenerationNotMatch">
            <summary>
            Precondition for retrieval: the object is only fetched if the object's current
            meta-generation does not match the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.GetObjectOptions.EncryptionKey">
            <summary>
            The encryption key to use for this operation. If this property is null, the <see cref="P:Google.Cloud.Storage.V1.StorageClient.EncryptionKey"/>
            will be used instead. Use <see cref="P:Google.Cloud.Storage.V1.EncryptionKey.None"/> to remove encryption headers from this request.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.GetObjectOptions.UserProject">
            <summary>
            If set, this is the ID of the project which will be billed for the request.
            The caller must have suitable permissions for the project being billed.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.GetObjectOptions.RetryOptions">
            <summary>
            Options to pass custom retry configuration for each API request.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.GetStorageServiceAccountEmailOptions">
            <summary>
            Options for <c>GetStorageServiceAccountEmail</c> operations.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.GetStorageServiceAccountEmailOptions.UserProject">
            <summary>
            If set, this is the ID of the project which will be billed for the request.
            The caller must have suitable permissions for the project being billed.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.GetStorageServiceAccountEmailOptions.RetryOptions">
            <summary>
            Options to pass custom retry configuration for each API request.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.HashValidatingDownloader">
            <summary>
            Subclass of <see cref="T:Google.Apis.Download.MediaDownloader"/> which (potentially) validates the data it receives
            against a CRC32c hash set in the header.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.HashValidatingDownloader.#ctor(Google.Apis.Storage.v1.Data.Object,Google.Apis.Services.IClientService,Google.Cloud.Storage.V1.DownloadValidationMode)">
            <summary>Constructs a new downloader with the given client service.</summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.HmacKeyStates">
            <summary>
            String constants for the names of the storage classes, as used in <see cref="P:Google.Apis.Storage.v1.Data.HmacKeyMetadata.State" />.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.HmacKeyStates.Active">
            <summary>
            The key is active, and can be used for signing. It cannot be deleted in this state.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.HmacKeyStates.Inactive">
            <summary>
            The key is inactive, and can be used for signing. It can be deleted.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.HmacKeyStates.Deleted">
            <summary>
            The key has been deleted.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.ListBucketsOptions">
            <summary>
            Options for <c>ListBuckets</c> operations.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.ListBucketsOptions.Prefix">
            <summary>
            The prefix to match. Only buckets with names that start with this string will be returned.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.ListBucketsOptions.PageSize">
            <summary>
            The number of results to return per page. (This modifies the per-request page size;
            it does not affect the total number of results returned.)
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.ListBucketsOptions.Projection">
            <summary>
            The projection to retrieve.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.ListBucketsOptions.PageToken">
            <summary>
            If set, this token is used to indicate a continued list operation.
            The value should be taken from the <c>NextPageToken</c> property of either
            a <see cref="T:Google.Api.Gax.Page`1"/> or a raw response from <see cref="M:Google.Api.Gax.PagedEnumerable`2.AsRawResponses"/>.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.ListBucketsOptions.Fields">
            <summary>
            If set, this specifies the fields to fetch in the result to obtain partial responses,
            usually to improve performance.
            For example, to fetch just the name and location of each bucket, set this property to
            "items(name,location),nextPageToken". The "nextPageToken" field is required in order to
            fetch multiple pages; the library does not add this automatically.
            See https://cloud.google.com/storage/docs/json_api/v1/how-tos/performance#partial for more details
            on specifying fields for partial responses.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.ListBucketsOptions.RetryOptions">
            <summary>
            Options to pass custom retry configuration for each API request.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.ListBucketsOptions.ModifyRequest(Google.Apis.Storage.v1.BucketsResource.ListRequest)">
            <summary>
            Modifies the specified request for all non-null properties of this options object.
            </summary>
            <param name="request">The request to modify</param>
        </member>
        <member name="T:Google.Cloud.Storage.V1.ListHmacKeysOptions">
            <summary>
            Options for <c>ListHmacKey</c> operations.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.ListHmacKeysOptions.PageSize">
            <summary>
            The number of results to return per page. (This modifies the per-request page size;
            it does not affect the total number of results returned.)
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.ListHmacKeysOptions.PageToken">
            <summary>
            If set, this token is used to indicate a continued list operation.
            The value should be taken from the <c>NextPageToken</c> property of either
            a <see cref="T:Google.Api.Gax.Page`1"/> or a raw response from <see cref="M:Google.Api.Gax.PagedEnumerable`2.AsRawResponses"/>.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.ListHmacKeysOptions.ShowDeletedKeys">
            <summary>
            If set, this determines whether deleted keys are included in the results.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.ListHmacKeysOptions.RetryOptions">
            <summary>
            Options to pass custom retry configuration for each API request.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.ListNotificationsOptions">
            <summary>
            Options for <c>ListNotifications</c> operations.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.ListNotificationsOptions.UserProject">
            <summary>
            If set, this is the ID of the project which will be billed for the request.
            The caller must have suitable permissions for the project being billed.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.ListNotificationsOptions.RetryOptions">
            <summary>
            Options to pass custom retry configuration for each API request.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.ListObjectsOptions">
            <summary>
            Options for <c>ListObjects</c> operations.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.ListObjectsOptions.Delimiter">
            <summary>
            Used to list in "directory mode". Only objects whose names (aside from the prefix) do not contain the delimiter
            will be returned.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.ListObjectsOptions.IncludeTrailingDelimiter">
            <summary>
            If true, objects that end in exactly one instance of delimiter will have their metadata included in the returned.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.ListObjectsOptions.PageSize">
            <summary>
            The number of results to return per page. (This modifies the per-request page size;
            it does not affect the total number of results returned.)
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.ListObjectsOptions.Versions">
            <summary>
            Controls whether or not multiple versions of an object are listed separately (true)
            or not (false). The default API behavior is equivalent to setting this to false, but
            it is still a nullable property to allow the intention of "definitely false" to be
            separate from "not set".
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.ListObjectsOptions.Projection">
            <summary>
            The projection to retrieve.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.ListObjectsOptions.MatchGlob">
            <summary>
            A glob pattern used to filter results. See https://cloud.google.com/storage/docs/json_api/v1/objects/list#list-object-glob
            for more details.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.ListObjectsOptions.UserProject">
            <summary>
            If set, this is the ID of the project which will be billed for the request.
            The caller must have suitable permissions for the project being billed.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.ListObjectsOptions.PageToken">
            <summary>
            If set, this token is used to indicate a continued list operation.
            The value should be taken from the <c>NextPageToken</c> property of either
            a <see cref="T:Google.Api.Gax.Page`1"/> or a raw response from <see cref="M:Google.Api.Gax.PagedEnumerable`2.AsRawResponses"/>.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.ListObjectsOptions.Fields">
            <summary>
            If set, this specifies the fields to fetch in the result to obtain partial responses,
            usually to improve performance.
            For example, to fetch just the name and content type of each object, set this property to
            "items(name,contentType),nextPageToken". The "nextPageToken" field is required in order to
            fetch multiple pages; the library does not add this automatically.
            See https://cloud.google.com/storage/docs/json_api/v1/how-tos/performance#partial for more details
            on specifying fields for partial responses.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.ListObjectsOptions.StartOffset">
            <summary>
            If set, filters results to objects whose names are lexicographically equal to or after
            this value. (Objects whose names are exactly the start offset are included.)
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.ListObjectsOptions.EndOffset">
            <summary>
            If set, filters results to objects whose names are lexicographically before
            this value. (Objects whose names are exactly the end offset are excluded.)
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.ListObjectsOptions.RetryOptions">
            <summary>
            Options to pass custom retry configuration for each API request.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.ListObjectsOptions.ModifyRequest(Google.Apis.Storage.v1.ObjectsResource.ListRequest)">
            <summary>
            Modifies the specified request for all non-null properties of this options object.
            </summary>
            <param name="request">The request to modify</param>
        </member>
        <member name="T:Google.Cloud.Storage.V1.LockBucketRetentionPolicyOptions">
            <summary>
            Options for LockBucketRetentionPolicy operations.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.LockBucketRetentionPolicyOptions.UserProject">
            <summary>
            If set, this is the ID of the project which will be billed for the request.
            The caller must have suitable permissions for the project being billed.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.LockBucketRetentionPolicyOptions.RetryOptions">
            <summary>
            Options to pass custom retry configuration for each API request.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.ContentMetadataRecordingMediaDownloader">
            <summary>
            MediaDownloader subclass which populates an <see cref="T:Google.Apis.Storage.v1.Data.Object"/> instance
            from the headers it sees on a successful response. Note: if this ever becomes public,
            we should put more effort into naming it carefully.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.ContentMetadataRecordingMediaDownloader.#ctor(Google.Apis.Storage.v1.Data.Object,Google.Apis.Services.IClientService)">
            <summary>Constructs a new downloader with the given client service.</summary>
            <param name="metadata">The object in which to record metadata.</param>
            <param name="service">The client service.</param>
        </member>
        <member name="T:Google.Cloud.Storage.V1.ModifyBucketLabelsOptions">
            <summary>
            Options for operations which modify bucket labels.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.ModifyBucketLabelsOptions.DefaultRetries">
            <summary>
            The default number of retries.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.ModifyBucketLabelsOptions.IfMetagenerationMatch">
            <summary>
            Precondition for modification: the labels are only modified if its current
            meta-generation matches the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.ModifyBucketLabelsOptions.Retries">
            <summary>
            The number of times to retry the modification if the bucket's metageneration changes
            in the read/modify/write cycle. If this property is not set, a suitable default is used.
            The value must not be negative.
            </summary>
            <remarks>
            Modifying bucket labels involves reading the bucket metadata in one request,
            then sending another request with the new labels, including a metageneration check
            to ensure that the bucket hasn't changed between the two requests. If the metageneration
            *has* changed, the overall operation can be retried from the start. This property indicates
            the number of retries, so it has a minimum value of 0.
            </remarks>
        </member>
        <member name="T:Google.Cloud.Storage.V1.PatchBucketOptions">
            <summary>
            Options for <c>PatchBucket</c> operations.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.PatchBucketOptions.IfMetagenerationMatch">
            <summary>
            Precondition for patch: the bucket is only patched if its current
            meta-generation matches the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.PatchBucketOptions.IfMetagenerationNotMatch">
            <summary>
            Precondition for patch: the bucket is only patched if its current
            meta-generation does not match the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.PatchBucketOptions.Projection">
            <summary>
            The projection of the updated object to return.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.PatchBucketOptions.PredefinedAcl">
            <summary>
            A pre-defined ACL of the bucket for simple access control scenarios.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.PatchBucketOptions.PredefinedDefaultObjectAcl">
            <summary>
            A pre-defined default ACL for objects created in the bucket, for simple access control scenarios.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.PatchBucketOptions.UserProject">
            <summary>
            If set, this is the ID of the project which will be billed for the request.
            The caller must have suitable permissions for the project being billed.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.PatchBucketOptions.RetryOptions">
            <summary>
            Options to pass custom retry configuration for each API request.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.PatchObjectOptions">
            <summary>
            Options for <c>PatchObject</c> operations.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.PatchObjectOptions.Generation">
            <summary>
            If present, selects a specific revision of this object (as opposed to the latest version, the default).
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.PatchObjectOptions.IfGenerationMatch">
            <summary>
            Precondition for patch: the object is only patched if the existing object's
            generation matches the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.PatchObjectOptions.IfGenerationNotMatch">
            <summary>
            Precondition for patch: the object is only patched if the existing object's
            generation does not match the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.PatchObjectOptions.IfMetagenerationMatch">
            <summary>
            Precondition for patch: the object is only patched if the existing object's
            meta-generation matches the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.PatchObjectOptions.IfMetagenerationNotMatch">
            <summary>
            Precondition for patch: the object is only patched if the existing object's
            meta-generation does not match the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.PatchObjectOptions.Projection">
            <summary>
            The projection of the updated object to return.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.PatchObjectOptions.PredefinedAcl">
            <summary>
            A pre-defined ACL for simple access control scenarios.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.PatchObjectOptions.EncryptionKey">
            <summary>
            The encryption key to use for this operation. If this property is null, the <see cref="P:Google.Cloud.Storage.V1.StorageClient.EncryptionKey"/>
            will be used instead. Use <see cref="P:Google.Cloud.Storage.V1.EncryptionKey.None"/> to remove encryption headers from this request.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.PatchObjectOptions.UserProject">
            <summary>
            If set, this is the ID of the project which will be billed for the request.
            The caller must have suitable permissions for the project being billed.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.PatchObjectOptions.RetryOptions">
            <summary>
            Options to pass custom retry configuration for each API request.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.PredefinedBucketAcl">
            <summary>
            Predefined access control lists (ACLs) that can be specified when creating or updating buckets.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.PredefinedBucketAcl.AuthenticatedRead">
            <summary>Object owner gets owner access, and all authenticated users get reader access.</summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.PredefinedBucketAcl.Private">
            <summary>Object owner gets owner access.</summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.PredefinedBucketAcl.ProjectPrivate">
            <summary>Object owner gets owner access, and project team members get access according to their roles.</summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.PredefinedBucketAcl.PublicRead">
            <summary>Object owner gets owner access, and all users get reader access.</summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.PredefinedBucketAcl.PublicReadWrite">
            <summary>Object owner gets owner access, and all users get writer access.</summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.PredefinedObjectAcl">
            <summary>
            Predefined access control lists (ACLs) that can be specified when creating or updating objects.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.PredefinedObjectAcl.AuthenticatedRead">
            <summary>Object owner gets owner access, and all authenticated users get reader access.</summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.PredefinedObjectAcl.BucketOwnerFullControl">
            <summary>Object owner gets owner access, and project team owners get owner access.</summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.PredefinedObjectAcl.BucketOwnerRead">
            <summary>Object owner gets owner access, and project team owners get reader access.</summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.PredefinedObjectAcl.Private">
            <summary>Object owner gets owner access.</summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.PredefinedObjectAcl.ProjectPrivate">
            <summary>Object owner gets owner access, and project team members get access according to their roles.</summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.PredefinedObjectAcl.PublicRead">
            <summary>Object owner gets owner access, and all users get reader access.</summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.Projection">
            <summary>
            Projections that can be specified as options in various operations.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.Projection.Full">
            <summary>Include all properties.</summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.Projection.NoAcl">
            <summary>Omit the Acl property.</summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.RetryHandler">
            <summary>
            Handler for exponential backoff for request messages which permit retries.
            This is similar to BackoffHandler in Google.Apis.Http, but that doesn't give us enough flexibility.
            This handler does not enforce a maximum number of retries; that's configured via <see cref="P:Google.Apis.Http.ConfigurableMessageHandler.NumTries"/>.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.RetryHandler.MarkAsRetriable``1(Google.Apis.Storage.v1.StorageBaseServiceRequest{``0},Google.Cloud.Storage.V1.RetryOptions,Google.Api.Gax.IScheduler)">
            <summary>
            It marks the request as retriable with the retry options as provided.
            In case null retry options or Never is passed, retry will not happen in case of failure.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.RetryHandler.InvocationIdInterceptor">
            <summary>
            Interceptor which adds a random invocation ID within the x-goog-api-client header,
            along with an attempt count.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.RetryOptions">
            <summary>
            Options used to indicate the retry configuration for an API request in case of failure. This class is immutable.
            These determine whether and how the request should be retried.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.RetryOptions.IdempotentRetryOptions">
            <summary>
            Options used by default for idempotent operations upon failure.
            It has all retry timings reset to defaults and retry predicate based on default error codes.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.RetryOptions.Never">
            <summary>
            This configuration ensures that the API request is never retried on failure.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.RetryOptions.MaybeIdempotent(System.Object)">
            <summary>
            In case of partially idempotent operations, this method checks the conditions required to mark it as retriable.
            If the condition is available then the operation is retried.
            </summary>
            <param name="condition">
            An indicator of whether the operation should be retried or not.
            This method returns <see cref="P:Google.Cloud.Storage.V1.RetryOptions.IdempotentRetryOptions" /> if the value is not null, or
            <see cref="P:Google.Cloud.Storage.V1.RetryOptions.Never" /> if the value is null.
            </param>
        </member>
        <member name="M:Google.Cloud.Storage.V1.RetryOptions.#ctor(Google.Cloud.Storage.V1.RetryTiming,Google.Cloud.Storage.V1.RetryPredicate)">
            <summary>
            Creates an instance based on the given timing and predicate.
            </summary>
            <param name="retryTiming">Timing configuration to apply when retrying. May be null, in which case <see cref="P:Google.Cloud.Storage.V1.RetryTiming.Default">the default timing</see> will be used.</param>
            <param name="retryPredicate">Predicate to apply to determine whether an error response can be retried. May be null, in which case <see cref="P:Google.Cloud.Storage.V1.RetryPredicate.RetriableIdempotentErrors">default error codes</see> will be used.</param>
        </member>
        <member name="T:Google.Cloud.Storage.V1.RetryPredicate">
            <summary>
            Specifies the conditions under which a failed operation is retried. This class is immutable.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.RetryPredicate.RetriableIdempotentErrors">
            <summary>
            Default retriable error codes for which the operation would retry unless otherwise specified by the user. 
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.RetryPredicate.Never">
            <summary>
            Returns a Retry Predicate which will ensure that the operation will never retry in case of failure.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.RetryPredicate.FromErrorCodes(System.Int32[])">
            <summary>
            Returns a predicate which will retry on the specified HTTP error codes.
            Note that only these error codes will be retried; the default error codes are not used by the returned predicate.
            </summary>
            <param name="errorCodes">Error codes on which to retry.</param>
            <returns>Returns a predicate which retries on the specified error codes.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.RetryPredicate.FromErrorCodePredicate(System.Func{System.Int32,System.Boolean})">
            <summary>
            Returns a predicate which will retry based on the result of the specified delegate, which is provided with
            the HTTP error code for the response.
            </summary>
            <param name="predicate">Predicate used to determine whether or not to retry. May be null, in which case <see cref="P:Google.Cloud.Storage.V1.RetryPredicate.Never" /> will be returned.</param>
            <returns>Returns the retry predicate with the conditions specified for retrying.</returns>
        </member>
        <member name="T:Google.Cloud.Storage.V1.RetryTiming">
            <summary>
            Options to control the delays between attempts when retrying failed API requests. This class is immutable.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.RetryTiming.DefaultInitialBackoff">
            <summary>
            The default initial backoff time between the first attempt and the first retry. The default is 1 second.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.RetryTiming.DefaultMaxBackoff">
            <summary>
            The default maximum backoff time between retries. The default is 32 seconds.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.RetryTiming.DefaultBackoffMultiplier">
            <summary>
            The default maximum backoff multiplier to be applied on each iteration. The default is 2.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.RetryTiming.Default">
            <summary>
            Returns the retry timing configurations all set to default.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.RetryTiming.InitialBackoff">
            <summary>
            The backoff time between the first attempt and the first retry.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.RetryTiming.MaxBackoff">
            <summary>
            Maximum backoff time between retries.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.RetryTiming.BackoffMultiplier">
            <summary>
            The multiplier to apply to the previous backoff on each iteration, leading to exponential backoff.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.RetryTiming.#ctor(System.TimeSpan,System.TimeSpan,System.Double)">
            <summary>
            Creates an instance with the specified values.
            </summary>
            <param name="initialBackoff">Initial backoff for retry. Must be non-negative.</param>
            <param name="maxBackoff">Maximum backoff for retry. Must be greater than or equal to <paramref name="initialBackoff" />.</param>
            <param name="backoffMultiplier">Backoff multiplier for retry. Must be greater than or equal to 1.0.</param>
        </member>
        <member name="M:Google.Cloud.Storage.V1.RetryTiming.WithInitialBackoff(System.TimeSpan)">
            <summary>
            Returns a new instance with the same values as the current instance, but with the specified initial backoff.
            </summary>
            <param name="initialBackoff">The new value for <see cref="P:Google.Cloud.Storage.V1.RetryTiming.InitialBackoff"/>.</param>
            <returns>A new instance based on the existing values, but with the specified initial backoff.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.RetryTiming.WithMaxBackoff(System.TimeSpan)">
            <summary>
            Returns the existing retry timings configurations using the specified maximum backoff.
            </summary>
            <param name="maxBackoff">The new value for <see cref="P:Google.Cloud.Storage.V1.RetryTiming.MaxBackoff"/>.</param>
            <returns>A new instance based on the existing values, but with the specified max backoff.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.RetryTiming.WithBackoffMultiplier(System.Double)">
            <summary>
            Returns the existing retry timings configurations using the specified backoff multiplier.
            </summary>
            <param name="backoffMultiplier">The new value for <see cref="P:Google.Cloud.Storage.V1.RetryTiming.BackoffMultiplier"/>.</param>
            <returns>A new instance based on the existing values, but with the specified backoff multiplier.</returns>
        </member>
        <member name="T:Google.Cloud.Storage.V1.SetBucketIamPolicyOptions">
            <summary>
            Options for <c>SetBucketIamPolicy</c> operations.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.SetBucketIamPolicyOptions.UserProject">
            <summary>
            If set, this is the ID of the project which will be billed for the request.
            The caller must have suitable permissions for the project being billed.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.SetBucketIamPolicyOptions.RetryOptions">
            <summary>
            Options to pass custom retry configuration for each API request.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.SignedUrlResumableUpload">
            <summary>
            Class which can perform a resumable upload using a signed URL to initiate the session.
            </summary>
            <seealso cref="T:Google.Cloud.Storage.V1.UrlSigner"/>
        </member>
        <member name="M:Google.Cloud.Storage.V1.SignedUrlResumableUpload.Create(System.String,System.IO.Stream,Google.Apis.Upload.ResumableUploadOptions)">
            <summary>
            Creates a <see cref="T:Google.Cloud.Storage.V1.SignedUrlResumableUpload"/> instance.
            </summary>
            <param name="signedUrl">
            The signed URL which can be used to initiate a resumable upload session. See
            <see cref="P:Google.Cloud.Storage.V1.UrlSigner.ResumableHttpMethod">UrlSigner.ResumableHttpMethod</see> for more information.
            </param>
            <param name="contentStream">The data to be uploaded.</param>
            <param name="options">The options for the upload operation.</param>
            <returns>The instance which can be used to upload the specified content.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.SignedUrlResumableUpload.InitiateSessionAsync(System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="M:Google.Cloud.Storage.V1.SignedUrlResumableUpload.InitiateSession(System.String,Google.Apis.Upload.ResumableUploadOptions)">
            <summary>
            Initiates the resumable upload session by posting to the signed URL and returns the session URI.
            </summary>
            <param name="signedUrl">
            The signed URL which can be used to initiate a resumable upload session. See
            <see cref="P:Google.Cloud.Storage.V1.UrlSigner.ResumableHttpMethod">UrlSigner.ResumableHttpMethod</see> for more information.
            </param>
            <param name="options">The options for the upload operation.</param>
            <returns>
            The session URI to use for the resumable upload.
            </returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.SignedUrlResumableUpload.InitiateSessionAsync(System.String,Google.Apis.Upload.ResumableUploadOptions,System.Threading.CancellationToken)">
            <summary>
            Initiates the resumable upload session by posting to the signed URL and returns the session URI.
            </summary>
            <param name="signedUrl">
            The signed URL which can be used to initiate a resumable upload session. See
            <see cref="P:Google.Cloud.Storage.V1.UrlSigner.ResumableHttpMethod">UrlSigner.ResumableHttpMethod</see> for more information.
            </param>
            <param name="options">The options for the upload operation.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>
            A task containing the session URI to use for the resumable upload.
            </returns>
        </member>
        <member name="T:Google.Cloud.Storage.V1.SigningVersion">
            <summary>
            The algorithm version to use in <see cref="T:Google.Cloud.Storage.V1.UrlSigner"/>.
            See <see cref="P:Google.Cloud.Storage.V1.UrlSigner.Options.SigningVersion"/> and
            <see cref="M:Google.Cloud.Storage.V1.UrlSigner.Options.WithSigningVersion(Google.Cloud.Storage.V1.SigningVersion)"/> for
            usage.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.SigningVersion.Default">
            <summary>
            The default signing version, where the version to use is chosen by the client library implementation.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.SigningVersion.V2">
            <summary>
            Always use V2 URL signing.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.SigningVersion.V4">
            <summary>
            Always use V4 URL signing.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.StorageClasses">
            <summary>
            String constants for the names of the storage classes and location types, as used in <see cref="P:Google.Apis.Storage.v1.Data.Bucket.StorageClass"/>
            and <see cref="P:Google.Apis.Storage.v1.Data.Object.StorageClass"/>. See https://cloud.google.com/storage/docs/storage-classes for details.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.StorageClasses.MultiRegional">
            <summary>
            Name for the Multi-Regional location type.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.StorageClasses.Regional">
            <summary>
            Name for the Regional location type.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.StorageClasses.Nearline">
            <summary>
            Name for the Nearline storage class.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.StorageClasses.Coldline">
            <summary>
            Name for the Coldline storage class.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.StorageClasses.Standard">
            <summary>
            Name of the Standard storage class, which is equivalent to
            Multi-Regional or Regional depending on the location.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.StorageClasses.DurableReducedAvailability">
            <summary>
            Name of the Durable Reduced Availability (DRA) location type.
            Use of this storage class is not recommended; Regional storage has
            lower pricing for some operations but otherwise the same pricing structure,
            and better performance/availability.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.StorageClasses.Archive">
            <summary>
            Name for the Archive storage class.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.StorageClient">
            <summary>
            Abstract class providing operations for Google Cloud Storage.
            </summary>
            <remarks>
            <para>
            This abstract class is provided to enable testability while permitting
            additional operations to be added in the future. See <see cref="M:Google.Cloud.Storage.V1.StorageClient.Create(Google.Apis.Auth.OAuth2.GoogleCredential,Google.Cloud.Storage.V1.EncryptionKey)"/>
            and <see cref="M:Google.Cloud.Storage.V1.StorageClient.CreateAsync(Google.Apis.Auth.OAuth2.GoogleCredential,Google.Cloud.Storage.V1.EncryptionKey)"/> to construct instances; alternatively, you can
            construct a <see cref="T:Google.Cloud.Storage.V1.StorageClientImpl"/> directly from a <see cref="T:Google.Apis.Storage.v1.StorageService"/>.
            </para>
            <para>
            All instance methods declared in this class are virtual, with an implementation which simply
            throws <see cref="T:System.NotImplementedException"/>. All these methods are overridden in <see cref="T:Google.Cloud.Storage.V1.StorageClientImpl"/>.
            </para>
            <para>
            This class implements <see cref="T:System.IDisposable"/>; however, the <see cref="M:Google.Cloud.Storage.V1.StorageClient.Dispose"/> method only requires calling
            if many short-lived instances of <see cref="T:Google.Cloud.Storage.V1.StorageClient"/> are being created.
            Most code would be expected to create a single <c>StorageClient</c> instance, and use this instance throughout
            the lifetime of the application. In this case, <c>Dispose</c> need not be called.
            </para>
            </remarks>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.CopyObject(System.String,System.String,System.String,System.String,Google.Cloud.Storage.V1.CopyObjectOptions)">
            <summary>
            Creates a copy of an object synchronously, potentially to a different bucket. This method uses the
            <c>rewriteObject</c> underlying API operation for more flexibility and reliability.
            </summary>
            <param name="sourceBucket">The name of the bucket containing the object to copy. Must not be null.</param>
            <param name="sourceObjectName">The name of the object to copy within the bucket. Must not be null.</param>
            <param name="destinationBucket">The name of the bucket to copy the object to. Must not be null.</param>
            <param name="destinationObjectName">The name of the object within the destination bucket. Must not be null.</param>
            <param name="options">Additional options for the copy operation. May be null, in which case appropriate
            defaults will be used.</param>
            <returns>The <see cref="T:Google.Apis.Storage.v1.Data.Object"/> representation of the new storage object resulting from the copy.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.CopyObjectAsync(System.String,System.String,System.String,System.String,Google.Cloud.Storage.V1.CopyObjectOptions,System.Threading.CancellationToken)">
            <summary>
            Creates a copy of an object synchronously, potentially to a different bucket. This method uses the
            <c>rewriteObject</c> underlying API operation for more flexibility and reliability.
            </summary>
            <param name="sourceBucket">The name of the bucket containing the object to copy. Must not be null.</param>
            <param name="sourceObjectName">The name of the object to copy within the bucket. Must not be null.</param>
            <param name="destinationBucket">The name of the bucket to copy the object to. Must not be null.</param>
            <param name="destinationObjectName">The name of the object within the destination bucket. Must not be null.</param>
            <param name="options">Additional options for the copy operation. May be null, in which case appropriate
            defaults will be used.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <remarks>
            The fact that <paramref name="destinationBucket"/> and <paramref name="destinationObjectName"/> are
            optional is a mistake. The default value of null for these parameters is invalid for this method,
            meaning that any call which doesn't specify the parameters explicitly will fail. Making these parameters
            required would be a compile-time breaking change; this will be implemented in the next major version of this library.
            </remarks>
            <returns>A task representing the asynchronous operation, with a result returning the
            <see cref="T:Google.Apis.Storage.v1.Data.Object"/> representation of the new storage object resulting from the copy.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.CreateBucket(System.String,System.String,Google.Cloud.Storage.V1.CreateBucketOptions)">
            <summary>
            Creates a storage bucket synchronously.
            </summary>
            <param name="projectId">The ID of the project to create the buckets in. Must not be null.</param>
            <param name="bucket">The name of the bucket to create. Must not be null.</param>
            <param name="options">Additional options for the operation. May be null, in which case appropriate
            defaults will be used.</param>
            <returns>The resource representation of the newly-created bucket.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.CreateBucketAsync(System.String,System.String,Google.Cloud.Storage.V1.CreateBucketOptions,System.Threading.CancellationToken)">
            <summary>
            Creates a storage bucket asynchronously.
            </summary>
            <param name="projectId">The ID of the project to create the buckets in. Must not be null.</param>
            <param name="bucket">The name of the bucket to create. Must not be null.</param>
            <param name="options">Additional options for the operation. May be null, in which case appropriate
            defaults will be used.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>A task representing the asynchronous operation, with a result returning the
            resource representation of the newly-created bucket.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.CreateBucket(System.String,Google.Apis.Storage.v1.Data.Bucket,Google.Cloud.Storage.V1.CreateBucketOptions)">
            <summary>
            Creates a storage bucket synchronously.
            </summary>
            <param name="projectId">The ID of the project to create the buckets in. Must not be null.</param>
            <param name="bucket">The resource representation of the bucket to create. Must not be null, and must have a name.</param>
            <param name="options">Additional options for the operation. May be null, in which case appropriate
            defaults will be used.</param>
            <returns>The resource representation of the newly-created bucket.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.CreateBucketAsync(System.String,Google.Apis.Storage.v1.Data.Bucket,Google.Cloud.Storage.V1.CreateBucketOptions,System.Threading.CancellationToken)">
            <summary>
            Creates a storage bucket asynchronously.
            </summary>
            <param name="projectId">The ID of the project to create the buckets in. Must not be null.</param>
            <param name="bucket">The resource representation of the bucket to create. Must not be null, and must have a name.</param>
            <param name="options">Additional options for the operation. May be null, in which case appropriate
            defaults will be used.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>A task representing the asynchronous operation, with a result returning the
            resource representation of the newly-created bucket.</returns>
        </member>
        <member name="P:Google.Cloud.Storage.V1.StorageClient.Service">
            <summary>
            The underlying storage service object used by this client.
            </summary>
            <remarks>
            The <see cref="T:Google.Cloud.Storage.V1.StorageClient"/> class only provides convenience operations built on top of
            an existing service object. Any more complex operations which are not supported by this wrapper may wish
            to use the same service object as the wrapper, in order to take advantage of its configuration (for authentication,
            application naming etc).
            </remarks>
        </member>
        <member name="P:Google.Cloud.Storage.V1.StorageClient.EncryptionKey">
            <summary>
            The customer-supplied encryption key used by default for all relevant object-based operations. This can be overridden in call-specific options.
            This will never return null in the built-in implementation; if no encryption key is specified,
            <see cref="P:Google.Cloud.Storage.V1.EncryptionKey.None"/> is returned.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.CreateAsync">
            <summary>
            Asynchronously creates a <see cref="T:Google.Cloud.Storage.V1.StorageClient"/> using application default credentials.
            For any non-default values, please use <see cref="T:Google.Cloud.Storage.V1.StorageClientBuilder"/>.
            </summary>
            <returns>The task representing the created <see cref="T:Google.Cloud.Storage.V1.StorageClient"/>.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.Create">
            <summary>
            Synchronously creates a <see cref="T:Google.Cloud.Storage.V1.StorageClient"/> using application default credentials.
            For any non-default values, please use <see cref="T:Google.Cloud.Storage.V1.StorageClientBuilder"/>.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.CreateAsync(Google.Apis.Auth.OAuth2.GoogleCredential,Google.Cloud.Storage.V1.EncryptionKey)">
            <summary>
            Asynchronously creates a <see cref="T:Google.Cloud.Storage.V1.StorageClient"/>, using application default credentials if
            no credentials are specified.
            </summary>
            <remarks>
            If a credential is supplied, the default scopes are applied to it (for credential types that support scoping),
            overriding any existing scopes in the credentials. To use scoped credentials without any modifications, create
            a <see cref="T:Google.Cloud.Storage.V1.StorageClientBuilder"/> and set the <see cref="P:Google.Api.Gax.Rest.ClientBuilderBase`1.Credential"/> property.
            </remarks>
            <param name="credential">Optional <see cref="T:Google.Apis.Auth.OAuth2.GoogleCredential"/>. If this is non-null, default scopes are applied to it
            (for credential types that support scoping), overriding any existing scopes in the credentials. To use scoped credentials without any modifications, create
            a <see cref="T:Google.Cloud.Storage.V1.StorageClientBuilder"/> and set the <see cref="P:Google.Api.Gax.Rest.ClientBuilderBase`1.Credential"/> property.</param>
            <param name="encryptionKey">Optional <see cref="P:Google.Cloud.Storage.V1.StorageClient.EncryptionKey"/> to use for all relevant object-based operations by default. May be null.</param>
            <returns>The task representing the created <see cref="T:Google.Cloud.Storage.V1.StorageClient"/>.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.Create(Google.Apis.Auth.OAuth2.GoogleCredential,Google.Cloud.Storage.V1.EncryptionKey)">
            <summary>
            Synchronously creates a <see cref="T:Google.Cloud.Storage.V1.StorageClient"/>, using application default credentials if
            no credentials are specified.
            </summary>
            <remarks>
            If a credential is supplied, the default scopes are applied to it (for credential types that support scoping),
            overriding any existing scopes in the credentials. To use scoped credentials without any modifications, create
            a <see cref="T:Google.Cloud.Storage.V1.StorageClientBuilder"/> and set the <see cref="P:Google.Api.Gax.Rest.ClientBuilderBase`1.Credential"/> property.
            </remarks>
            <param name="credential">Optional <see cref="T:Google.Apis.Auth.OAuth2.GoogleCredential"/>. If this is non-null, default scopes are applied to it
            (for credential types that support scoping), overriding any existing scopes in the credentials. To use scoped credentials without any modifications, create
            a <see cref="T:Google.Cloud.Storage.V1.StorageClientBuilder"/> and set the <see cref="P:Google.Api.Gax.Rest.ClientBuilderBase`1.Credential"/> property.</param>
            <param name="encryptionKey">Optional <see cref="P:Google.Cloud.Storage.V1.StorageClient.EncryptionKey"/> to use for all relevant object-based operations by default. May be null.</param>
            <returns>The created <see cref="T:Google.Cloud.Storage.V1.StorageClient"/>.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.CreateUnauthenticated">
            <summary>
            Creates a <see cref="T:Google.Cloud.Storage.V1.StorageClient"/> with no credentials. This can only be used in limited
            situations (where authentication isn't required), primarily downloading public data.
            </summary>
            <returns>The created <see cref="T:Google.Cloud.Storage.V1.StorageClient"/>.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.Dispose">
            <summary>
            Dispose of this instance. See the <see cref="T:Google.Cloud.Storage.V1.StorageClient"/> remarks on when this should be called.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.DeleteBucket(System.String,Google.Cloud.Storage.V1.DeleteBucketOptions)">
            <summary>
            Deletes a bucket synchronously.
            </summary>
            <param name="bucket">The name of the bucket to delete. Must not be null.</param>
            <param name="options">Additional options for the operation. May be null, in which case appropriate
            defaults will be used.</param>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.DeleteBucketAsync(System.String,Google.Cloud.Storage.V1.DeleteBucketOptions,System.Threading.CancellationToken)">
            <summary>
            Deletes a bucket asynchronously.
            </summary>
            <param name="bucket">The name of the bucket to delete. Must not be null.</param>
            <param name="options">Additional options for the operation. May be null, in which case appropriate
            defaults will be used.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>A task representing the asynchronous operation.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.DeleteBucket(Google.Apis.Storage.v1.Data.Bucket,Google.Cloud.Storage.V1.DeleteBucketOptions)">
            <summary>
            Deletes a bucket synchronously.
            </summary>
            <param name="bucket">Bucket to delete. Must not be null, and must have the name populated.</param>
            <param name="options">Additional options for the operation. May be null, in which case appropriate
            defaults will be used.</param>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.DeleteBucketAsync(Google.Apis.Storage.v1.Data.Bucket,Google.Cloud.Storage.V1.DeleteBucketOptions,System.Threading.CancellationToken)">
            <summary>
            Deletes bucket asynchronously.
            </summary>
            <param name="bucket">Bucket to delete. Must not be null, and must have the name populated.</param>
            <param name="options">Additional options for the operation. May be null, in which case appropriate
            defaults will be used.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>A task representing the asynchronous operation.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.DeleteObject(System.String,System.String,Google.Cloud.Storage.V1.DeleteObjectOptions)">
            <summary>
            Deletes a version of the specified object synchronously.
            </summary>
            <remarks>
            <para>
            By default this will delete the latest version of the object, but this can be
            controlled using <see cref="P:Google.Cloud.Storage.V1.DeleteObjectOptions.Generation"/>. For buckets that support
            multiple versions, implicitly deleting the latest version only archives
            it so the object is still available and can be listed by specifying <see cref="P:Google.Cloud.Storage.V1.ListObjectsOptions.Versions"/>.
            If the version is explicitly specified, the object is permanently deleted.
            </para>
            <para>
            If the bucket containing the object supports versioning, after this operation
            completes successfully there may still be another version of the same object. In buckets which
            do not support versioning, this operation will permanently delete the object.
            </para>
            <para>
            If the request attempts to delete an object that does not exist or a specific version that does
            not exist, this counts as a failure with an HTTP status code of 404.
            </para>
            </remarks>
            <param name="bucket">The name of the bucket containing the object. Must not be null.</param>
            <param name="objectName">The name of the object within the bucket. Must not be null.</param>
            <param name="options">Additional options for the operation. May be null, in which case appropriate
            defaults will be used.</param>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.DeleteObjectAsync(System.String,System.String,Google.Cloud.Storage.V1.DeleteObjectOptions,System.Threading.CancellationToken)">
            <summary>
            Deletes a version of the specified object asynchronously.
            </summary>
            <remarks>
            <para>
            By default this will delete the latest version of the object, but this can be
            controlled using <see cref="P:Google.Cloud.Storage.V1.DeleteObjectOptions.Generation"/>. For buckets that support
            multiple versions, implicitly deleting the latest version only archives
            it so the object is still available and can be listed by specifying <see cref="P:Google.Cloud.Storage.V1.ListObjectsOptions.Versions"/>.
            If the version is explicitly specified, the object is permanently deleted.
            </para>
            <para>
            If the bucket containing the object supports versioning, after this operation
            completes successfully there may still be another version of the same object. In buckets which
            do not support versioning, this operation will permanently delete the object.
            </para>
            <para>
            If the request attempts to delete an object that does not exist or a specific version that does
            not exist, this counts as a failure with an HTTP status code of 404.
            </para>
            </remarks>
            <param name="bucket">The name of the bucket containing the object. Must not be null.</param>
            <param name="objectName">The name of the object within the bucket. Must not be null.</param>
            <param name="options">Additional options for the operation. May be null, in which case appropriate
            defaults will be used.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>A task representing the asynchronous operation.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.DeleteObject(Google.Apis.Storage.v1.Data.Object,Google.Cloud.Storage.V1.DeleteObjectOptions)">
            <summary>
            Deletes a version of the specified object synchronously.
            </summary>
            <remarks>
            <para>
            By default this will delete the latest version of the object, but this can be
            controlled using <see cref="P:Google.Cloud.Storage.V1.DeleteObjectOptions.Generation"/>. Note that any generation information
            contained within <paramref name="obj"/> is ignored; the generation to delete is only controlled
            via <paramref name="options"/>. For buckets that support
            multiple versions, implicitly deleting the latest version only archives
            it so the object is still available and can be listed by specifying <see cref="P:Google.Cloud.Storage.V1.ListObjectsOptions.Versions"/>.
            If the version is explicitly specified, the object is permanently deleted.
            </para>
            <para>
            If the bucket containing the object supports versioning, after this operation
            completes successfully there may still be another version of the same object. In buckets which
            do not support versioning, this operation will permanently delete the object.
            </para>
            <para>
            If the request attempts to delete an object that does not exist or a specific version that does
            not exist, this counts as a failure with an HTTP status code of 404.
            </para>
            </remarks>
            <param name="obj">Object to delete. Must not be null, and must have the name and bucket populated.</param>
            <param name="options">Additional options for the operation. May be null, in which case appropriate
            defaults will be used.</param>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.DeleteObjectAsync(Google.Apis.Storage.v1.Data.Object,Google.Cloud.Storage.V1.DeleteObjectOptions,System.Threading.CancellationToken)">
            <summary>
            Deletes a version of the specified object asynchronously.
            </summary>
            <remarks>
            <para>
            By default this will delete the latest version of the object, but this can be
            controlled using <see cref="P:Google.Cloud.Storage.V1.DeleteObjectOptions.Generation"/>. Note that any generation information
            contained within <paramref name="obj"/> is ignored; the generation to delete is only controlled
            via <paramref name="options"/>. For buckets that support
            multiple versions, implicitly deleting the latest version only archives
            it so the object is still available and can be listed by specifying <see cref="P:Google.Cloud.Storage.V1.ListObjectsOptions.Versions"/>.
            If the version is explicitly specified, the object is permanently deleted.
            </para>
            <para>
            If the bucket containing the object supports versioning, after this operation
            completes successfully there may still be another version of the same object. In buckets which
            do not support versioning, this operation will permanently delete the object.
            </para>
            <para>
            If the request attempts to delete an object that does not exist or a specific version that does
            not exist, this counts as a failure with an HTTP status code of 404.
            </para>
            </remarks>
            <param name="obj">Object to delete. Must not be null, and must have the name and bucket populated.</param>
            <param name="options">Additional options for the operation. May be null, in which case appropriate
            defaults will be used.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>A task representing the asynchronous operation.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.DownloadObject(System.String,System.String,System.IO.Stream,Google.Cloud.Storage.V1.DownloadObjectOptions,System.IProgress{Google.Apis.Download.IDownloadProgress})">
            <summary>
            Downloads the data for an object from storage synchronously, into a specified stream.
            </summary>
            <param name="bucket">The name of the bucket containing the object. Must not be null.</param>
            <param name="objectName">The name of the object within the bucket. Must not be null.</param>
            <param name="destination">The stream to write the data into. Must not be null.</param>
            <param name="options">Additional options for the download. May be null, in which case appropriate
            defaults will be used.</param>
            <param name="progress">Progress reporter for the download. May be null.</param>
            <returns>An <see cref="T:Google.Apis.Storage.v1.Data.Object"/> representation of the metadata for the object that has been downloaded
            into the stream. This metadata is not the complete metadata for the object; it's just the information
            provided in headers while downloading. Additionally, the CRC32C hash is only the hash of the data downloaded;
            if the options specify a range which does not encompass the whole object, this will not be the same
            as the CRC32C hash of the complete object.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.DownloadObjectAsync(System.String,System.String,System.IO.Stream,Google.Cloud.Storage.V1.DownloadObjectOptions,System.Threading.CancellationToken,System.IProgress{Google.Apis.Download.IDownloadProgress})">
            <summary>
            Downloads the data for an object from storage asynchronously, into a specified stream.
            </summary>
            <param name="bucket">The name of the bucket containing the object. Must not be null.</param>
            <param name="objectName">The name of the object within the bucket. Must not be null.</param>
            <param name="destination">The stream to write the data into. Must not be null.</param>
            <param name="options">Additional options for the download. May be null, in which case appropriate
            defaults will be used.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <param name="progress">Progress reporter for the download. May be null.</param>
            <returns>A task representing the asynchronous operation. The result of the task is
            an <see cref="T:Google.Apis.Storage.v1.Data.Object"/> representation of the metadata for the object that has been downloaded
            into the stream. This metadata is not the complete metadata for the object; it's just the information
            provided in headers while downloading. Additionally, the CRC32C hash is only the hash of the data downloaded;
            if the options specify a range which does not encompass the whole object, this will not be the same
            as the CRC32C hash of the complete object.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.DownloadObject(Google.Apis.Storage.v1.Data.Object,System.IO.Stream,Google.Cloud.Storage.V1.DownloadObjectOptions,System.IProgress{Google.Apis.Download.IDownloadProgress})">
            <summary>
            Downloads the data for an object from storage synchronously, into a specified stream.
            </summary>
            <remarks>The generation number within <paramref name="source"/> is ignored by this method.
            To download a specific generation, use <see cref="P:Google.Cloud.Storage.V1.DownloadObjectOptions.Generation"/>.
            </remarks>
            <param name="source">Source object to download the data from. Must not be null.</param>
            <param name="destination">The stream to write the data into. Must not be null.</param>
            <param name="options">Additional options for the download. May be null, in which case appropriate
            defaults will be used.</param>
            <param name="progress">Progress reporter for the download. May be null.</param>
            <returns>An <see cref="T:Google.Apis.Storage.v1.Data.Object"/> representation of the metadata for the object that has been downloaded
            into the stream. This metadata is not the complete metadata for the object; it's just the information
            provided in headers while downloading. Additionally, the CRC32C hash is only the hash of the data downloaded;
            if the options specify a range which does not encompass the whole object, this will not be the same
            as the CRC32C hash of the complete object.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.DownloadObjectAsync(Google.Apis.Storage.v1.Data.Object,System.IO.Stream,Google.Cloud.Storage.V1.DownloadObjectOptions,System.Threading.CancellationToken,System.IProgress{Google.Apis.Download.IDownloadProgress})">
            <summary>
            Downloads the data for an object from storage asynchronously, into a specified stream.
            </summary>
            <remarks>The generation number within <paramref name="source"/> is ignored by this method.
            To download a specific generation, use <see cref="P:Google.Cloud.Storage.V1.DownloadObjectOptions.Generation"/>.
            </remarks>
            <param name="source">Source object to download the data from. Must not be null.</param>
            <param name="destination">The stream to write the data into. Must not be null.</param>
            <param name="options">Additional options for the download. May be null, in which case appropriate
            defaults will be used.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <param name="progress">Progress reporter for the download. May be null.</param>
            <returns>A task representing the asynchronous operation. The result of the task is
            an <see cref="T:Google.Apis.Storage.v1.Data.Object"/> representation of the metadata for the object that has been downloaded
            into the stream. This metadata is not the complete metadata for the object; it's just the information
            provided in headers while downloading. Additionally, the CRC32C hash is only the hash of the data downloaded;
            if the options specify a range which does not encompass the whole object, this will not be the same
            as the CRC32C hash of the complete object.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.GetBucket(System.String,Google.Cloud.Storage.V1.GetBucketOptions)">
            <summary>
            Fetches the information about a bucket synchronously.
            </summary>
            <param name="bucket">The name of the bucket. Must not be null.</param>
            <param name="options">Additional options for the fetch operation. May be null, in which case appropriate
            defaults will be used.</param>
            <returns>The <see cref="T:Google.Apis.Storage.v1.Data.Bucket"/> representation of the storage bucket.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.GetBucketAsync(System.String,Google.Cloud.Storage.V1.GetBucketOptions,System.Threading.CancellationToken)">
            <summary>
            Fetches the information about a bucket asynchronously.
            </summary>
            <param name="bucket">The name of the bucket. Must not be null.</param>
            <param name="options">Additional options for the fetch operation. May be null, in which case appropriate
            defaults will be used.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>A task representing the asynchronous operation, with a result returning the
            <see cref="T:Google.Apis.Storage.v1.Data.Bucket"/> representation of the storage bucket.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.GetBucketIamPolicy(System.String,Google.Cloud.Storage.V1.GetBucketIamPolicyOptions)">
            <summary>
            Fetches the IAM policy information about a bucket synchronously.
            </summary>
            <param name="bucket">The name of the bucket. Must not be null.</param>
            <param name="options">Additional options for the fetch operation. May be null, in which case appropriate
            defaults will be used.</param>
            <returns>The <see cref="T:Google.Apis.Storage.v1.Data.Policy"/> representation of the storage bucket IAM policy.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.GetBucketIamPolicyAsync(System.String,Google.Cloud.Storage.V1.GetBucketIamPolicyOptions,System.Threading.CancellationToken)">
            <summary>
            Fetches the IAM policy information about a bucket asynchronously.
            </summary>
            <param name="bucket">The name of the bucket. Must not be null.</param>
            <param name="options">Additional options for the fetch operation. May be null, in which case appropriate
            defaults will be used.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>A task representing the asynchronous operation, with a result returning the
            <see cref="T:Google.Apis.Storage.v1.Data.Policy"/> representation of the storage bucket IAM policy.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.GetObject(System.String,System.String,Google.Cloud.Storage.V1.GetObjectOptions)">
            <summary>
            Fetches the information about an object synchronously.
            </summary>
            <remarks>This does not retrieve the content of the object itself. Use <see cref="M:Google.Cloud.Storage.V1.StorageClient.DownloadObject(System.String,System.String,System.IO.Stream,Google.Cloud.Storage.V1.DownloadObjectOptions,System.IProgress{Google.Apis.Download.IDownloadProgress})"/>
            to download the content.</remarks>
            <param name="bucket">The name of the bucket containing the object. Must not be null.</param>
            <param name="objectName">The name of the object within the bucket. Must not be null.</param>
            <param name="options">Additional options for the fetch operation. May be null, in which case appropriate
            defaults will be used.</param>
            <returns>The <see cref="T:Google.Apis.Storage.v1.Data.Object"/> representation of the storage object.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.GetObjectAsync(System.String,System.String,Google.Cloud.Storage.V1.GetObjectOptions,System.Threading.CancellationToken)">
            <summary>
            Fetches the information about an object asynchronously.
            </summary>
            <remarks>This does not retrieve the content of the object itself. Use <see cref="M:Google.Cloud.Storage.V1.StorageClient.DownloadObjectAsync(System.String,System.String,System.IO.Stream,Google.Cloud.Storage.V1.DownloadObjectOptions,System.Threading.CancellationToken,System.IProgress{Google.Apis.Download.IDownloadProgress})"/>
            to download the content.</remarks>
            <param name="bucket">The name of the bucket containing the object. Must not be null.</param>
            <param name="objectName">The name of the object within the bucket. Must not be null.</param>
            <param name="options">Additional options for the fetch operation. May be null, in which case appropriate
            defaults will be used.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>A task representing the asynchronous operation, with a result returning the
            <see cref="T:Google.Apis.Storage.v1.Data.Object"/> representation of the storage object.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.CreateHmacKey(System.String,System.String,Google.Cloud.Storage.V1.CreateHmacKeyOptions)">
            <summary>
            Synchronously creates a new HMAC key associated with a service account.
            </summary>
            <param name="projectId">The project ID in which to create the HMAC key. Must not be null.</param>
            <param name="serviceAccountEmail">The service account to associate with the HMAC key. Must not be null.</param>
            <param name="options">Additional options for the operation. May be null, in which case appropriate defaults will be used.</param>
            <returns>The new HMAC key, including the secret information in <see cref="P:Google.Apis.Storage.v1.Data.HmacKey.Secret"/>. This secret is only ever returned when creating a key.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.CreateHmacKeyAsync(System.String,System.String,Google.Cloud.Storage.V1.CreateHmacKeyOptions,System.Threading.CancellationToken)">
            <summary>
            Asynchronously creates a new HMAC key associated with a service account.
            </summary>
            <param name="projectId">The project ID in which to create the HMAC key. Must not be null.</param>
            <param name="serviceAccountEmail">The service account to associate with the HMAC key. Must not be null.</param>
            <param name="options">Additional options for the operation. May be null, in which case appropriate defaults will be used.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>A task representing the asynchronous operation, with a result returning the
            the new HMAC key, including the secret information in <see cref="P:Google.Apis.Storage.v1.Data.HmacKey.Secret"/>. This secret is only ever returned when creating a key.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.GetHmacKey(System.String,System.String,Google.Cloud.Storage.V1.GetHmacKeyOptions)">
            <summary>
            Synchronously fetches metadata for the specified HMAC key.
            </summary>
            <param name="projectId">The project containing the HMAC key. Must not be null.</param>
            <param name="accessId">The ID of the HMAC key. Must not be null.</param>
            <param name="options">Additional options for the operation. May be null, in which case appropriate defaults will be used.</param>
            <returns>The HMAC key metadata</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.GetHmacKeyAsync(System.String,System.String,Google.Cloud.Storage.V1.GetHmacKeyOptions,System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetches metadata for the specified HMAC key.
            </summary>
            <param name="projectId">The project containing the HMAC key. Must not be null.</param>
            <param name="accessId">The ID of the HMAC key. Must not be null.</param>
            <param name="options">Additional options for the operation. May be null, in which case appropriate defaults will be used.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>A task representing the asynchronous operation, with a result returning the HMAC key metadata.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.ListHmacKeys(System.String,System.String,Google.Cloud.Storage.V1.ListHmacKeysOptions)">
            <summary>
            Lists the HMAC keys in a given project, synchronously but lazily, optionally filtering by service account email address.
            </summary>
            <remarks>
            This method fetches the buckets lazily, making requests to the underlying service
            for a page of results at a time, as required. No network requests are made until the returned sequence is enumerated.
            This means that any exception due to an invalid request will be deferred until that time. Callers should be prepared
            for exceptions to be thrown while enumerating the results. In addition to failures due to invalid requests, network
            or service failures can cause exceptions even after the first results have been returned.
            </remarks>
            <param name="projectId">The project containing the HMAC keys. Must not be null.</param>
            <param name="serviceAccountEmail">The service account email address to list keys for. May be null, in which case all HMAC keys associated with the project are returned.</param>
            <param name="options">Additional options for the operation. May be null, in which case appropriate defaults will be used.</param>
            <returns>A sequence of HMAC keys within the project.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.ListHmacKeysAsync(System.String,System.String,Google.Cloud.Storage.V1.ListHmacKeysOptions)">
            <summary>
            Lists the HMAC keys in a given project, asynchronously and lazily, optionally filtering by service account email address.
            </summary>
            <remarks>
            This method fetches the buckets lazily, making requests to the underlying service
            for a page of results at a time, as required. No network requests are made until the returned sequence is enumerated.
            This means that any exception due to an invalid request will be deferred until that time. Callers should be prepared
            for exceptions to be thrown while enumerating the results. In addition to failures due to invalid requests, network
            or service failures can cause exceptions even after the first results have been returned.
            </remarks>
            <param name="projectId">The project containing the HMAC keys. Must not be null.</param>
            <param name="serviceAccountEmail">The service account email address to list keys for. May be null, in which case all HMAC keys associated with the project are returned.</param>
            <param name="options">Additional options for the operation. May be null, in which case appropriate defaults will be used.</param>
            <returns>An asynchronous sequence of HMAC keys within the project.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.UpdateHmacKey(Google.Apis.Storage.v1.Data.HmacKeyMetadata,Google.Cloud.Storage.V1.UpdateHmacKeyOptions)">
            <summary>
            Synchronously updates an HMAC key's metadata.
            </summary>
            <param name="key">The key to update. Must not be null, and the <see cref="P:Google.Apis.Storage.v1.Data.HmacKeyMetadata.ProjectId"/> and <see cref="P:Google.Apis.Storage.v1.Data.HmacKeyMetadata.AccessId"/> properties must be set.</param>
            <param name="options">Additional options for the operation. May be null, in which case appropriate defaults will be used.</param>
            <returns>The updated key metadata.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.UpdateHmacKeyAsync(Google.Apis.Storage.v1.Data.HmacKeyMetadata,Google.Cloud.Storage.V1.UpdateHmacKeyOptions,System.Threading.CancellationToken)">
            <summary>
            Asynchronously updates an HMAC key's metadata.
            </summary>
            <param name="key">The key to update. Must not be null, and the <see cref="P:Google.Apis.Storage.v1.Data.HmacKeyMetadata.ProjectId"/> and <see cref="P:Google.Apis.Storage.v1.Data.HmacKeyMetadata.AccessId"/> properties must be set.</param>
            <param name="options">Additional options for the operation. May be null, in which case appropriate defaults will be used.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>A task representing the asynchronous operation, with a result returning the updated key metadata.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.DeleteHmacKey(System.String,System.String,Google.Cloud.Storage.V1.DeleteHmacKeyOptions)">
            <summary>
            Synchronously deletes an HMAC key, which must already have been deactivated.
            </summary>
            <param name="projectId">The ID of the project containing the HMAC key to delete. </param>
            <param name="accessId">The ID of the HMAC key to delete. Must not be null.</param>
            <param name="options">Additional options for the operation. May be null, in which case appropriate defaults will be used.</param>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.DeleteHmacKeyAsync(System.String,System.String,Google.Cloud.Storage.V1.DeleteHmacKeyOptions,System.Threading.CancellationToken)">
            <summary>
            Asynchronously deletes an HMAC key, which must already have been deactivated.
            </summary>
            <param name="projectId">The ID of the project containing the HMAC key to delete. </param>
            <param name="accessId">The ID of the HMAC key to delete. Must not be null.</param>
            <param name="options">Additional options for the operation. May be null, in which case appropriate defaults will be used.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>A task representing the asynchronous operation.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.ListBucketsAsync(System.String,Google.Cloud.Storage.V1.ListBucketsOptions)">
            <summary>
            Asynchronously lists the buckets in a given project.
            </summary>
            <remarks>
            This method fetches the buckets lazily, making requests to the underlying service
            for a page of results at a time, as required. No network requests are made until the returned sequence is enumerated.
            This means that any exception due to an invalid request will be deferred until that time. Callers should be prepared
            for exceptions to be thrown while enumerating the results. In addition to failures due to invalid requests, network
            or service failures can cause exceptions even after the first results have been returned.
            </remarks>
            <param name="projectId">The ID of the project to list the buckets from. Must not be null.</param>
            <param name="options">The options for the operation. May be null, in which case
            defaults will be supplied.</param>
            <returns>An asynchronous sequence of buckets.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.ListBuckets(System.String,Google.Cloud.Storage.V1.ListBucketsOptions)">
            <summary>
            Lists the buckets for a given project, synchronously but lazily.
            </summary>
            <remarks>
            This method fetches the buckets lazily, making requests to the underlying service
            for a page of results at a time, as required. No network requests are made until the returned sequence is enumerated.
            This means that any exception due to an invalid request will be deferred until that time. Callers should be prepared
            for exceptions to be thrown while enumerating the results. In addition to failures due to invalid requests, network
            or service failures can cause exceptions even after the first results have been returned.
            </remarks>
            <param name="projectId">The ID of the project to list the buckets from. Must not be null.</param>
            <param name="options">The options for the operation. May be null, in which case
            defaults will be supplied.</param>
            <returns>A sequence of buckets within the project.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.ListObjectsAsync(System.String,System.String,Google.Cloud.Storage.V1.ListObjectsOptions)">
            <summary>
            Asynchronously lists the objects in a given bucket.
            </summary>
            <remarks>
            This method fetches the objects lazily, making requests to the underlying service
            for a page of results at a time, as required. No network requests are made until the returned sequence is enumerated.
            This means that any exception due to an invalid request will be deferred until that time. Callers should be prepared
            for exceptions to be thrown while enumerating the results. In addition to failures due to invalid requests, network
            or service failures can cause exceptions even after the first results have been returned.
            </remarks>
            <param name="bucket">The bucket to list the objects from. Must not be null.</param>
            <param name="prefix">The prefix to match. Only objects with names that start with this string will be returned.
            This parameter may be null or empty, in which case no filtering is performed.</param>
            <param name="options">The options for the operation. May be null, in which case
            defaults will be supplied.</param>
            <returns>An asynchronous sequence of objects in the specified bucket.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.ListObjects(System.String,System.String,Google.Cloud.Storage.V1.ListObjectsOptions)">
            <summary>
            Lists the objects in a given bucket, synchronously but lazily.
            </summary>
            <remarks>
            This method fetches the objects lazily, making requests to the underlying service
            for a page of results at a time, as required. No network requests are made until the returned sequence is enumerated.
            This means that any exception due to an invalid request will be deferred until that time. Callers should be prepared
            for exceptions to be thrown while enumerating the results. In addition to failures due to invalid requests, network
            or service failures can cause exceptions even after the first results have been returned.
            </remarks>
            <param name="bucket">The bucket to list the objects from. Must not be null.</param>
            <param name="prefix">The prefix to match. Only objects with names that start with this string will be returned.
            This parameter may be null or empty, in which case no filtering is performed.</param>
            <param name="options">The options for the operation. May be null, in which case
            defaults will be supplied.</param>
            <returns>A sequence of objects in the specified bucket.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.LockBucketRetentionPolicy(System.String,System.Int64,Google.Cloud.Storage.V1.LockBucketRetentionPolicyOptions)">
            <summary>
            Locks the retention policy of a bucket. This is a one-way process:
            once a retention policy is locked, it cannot be shortened, removed or unlocked,
            although it can be increased in duration. The lock persists until the bucket is deleted.
            </summary>
            <param name="bucket">The name of the bucket whose retention policy should be locked. Must not be null.</param>
            <param name="metageneration">The current metageneration of the bucket, used to validate that the bucket version to be locked
            is the intended one.</param>
            <param name="options">The options for the operation. May be null, in which case defaults will be supplied.</param>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.LockBucketRetentionPolicyAsync(System.String,System.Int64,Google.Cloud.Storage.V1.LockBucketRetentionPolicyOptions,System.Threading.CancellationToken)">
            <summary>
            Asynchronously locks the retention policy of a bucket. This is a one-way process:
            once a retention policy is locked, it cannot be shortened, removed or unlocked,
            although it can be increased in duration. The lock persists until the bucket is deleted.
            </summary>
            <param name="bucket">The name of the bucket whose retention policy should be locked. Must not be null.</param>
            <param name="metageneration">The current metageneration of the bucket, used to validate that the bucket version to be locked
            is the intended one.</param>
            <param name="options">The options for the operation. May be null, in which case defaults will be supplied.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>A task representing the asynchronous operation.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.SetBucketLabel(System.String,System.String,System.String,Google.Cloud.Storage.V1.ModifyBucketLabelsOptions)">
            <summary>
            Sets the value for a single label on a bucket. The label will be added if it does
            not exist, or updated if it already exists.
            </summary>
            <remarks>
            This method is implemented by creating a single-element dictionary which is passed to
            <see cref="M:Google.Cloud.Storage.V1.StorageClient.ModifyBucketLabels(System.String,System.Collections.Generic.IDictionary{System.String,System.String},Google.Cloud.Storage.V1.ModifyBucketLabelsOptions)"/>.
            </remarks>
            <param name="bucket">The name of the bucket. Must not be null.</param>
            <param name="labelName">The name of the label to set. Must not be null.</param>
            <param name="labelValue">The value of the label to set. Must not be null.</param>
            <param name="options">The options for the operation. May be null, in which case defaults will be supplied.</param>
            <returns>The previous value of the label, or null if the label did not previously exist.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.RemoveBucketLabel(System.String,System.String,Google.Cloud.Storage.V1.ModifyBucketLabelsOptions)">
            <summary>
            Removes a label from a bucket, if it previously existed. It is not an error to
            attempt to remove a label that doesn't already exist.
            </summary>
            <remarks>
            This method is implemented by creating a single-element dictionary which is passed to
            <see cref="M:Google.Cloud.Storage.V1.StorageClient.ModifyBucketLabels(System.String,System.Collections.Generic.IDictionary{System.String,System.String},Google.Cloud.Storage.V1.ModifyBucketLabelsOptions)"/>.
            </remarks>
            <param name="bucket">The name of the bucket. Must not be null.</param>
            <param name="labelName">The name of the label to remove. Must not be null.</param>
            <param name="options">The options for the operation. May be null, in which case defaults will be supplied.</param>
            <returns>The previous value of the label, or null if the label did not previously exist.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.ModifyBucketLabels(System.String,System.Collections.Generic.IDictionary{System.String,System.String},Google.Cloud.Storage.V1.ModifyBucketLabelsOptions)">
            <summary>
            Sets or removes one or more labels on a bucket.
            </summary>
            <remarks>
            Each entry in <paramref name="labels"/> is treated as a label to set or remove. If the value is null,
            it will be removed from the bucket; otherwise, it will be set/added. Labels which do not have an entry
            in the dictionary will be ignored.
            </remarks>
            <param name="bucket">The name of the bucket. Must not be null.</param>
            <param name="labels">The labels to set. Must contain at least one entry; keys must not be null, but values
            may be (indicating label removal).</param>
            <param name="options">The options for the operation. May be null, in which case defaults will be supplied.</param>
            <returns>A dictionary with the same keys as <paramref name="labels"/>, and values indicating the corresponding label value
            before this operation completed. Labels which weren't present on the bucket before the modification have corresponding
            null values in the returned dictionary.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.ClearBucketLabels(System.String,Google.Cloud.Storage.V1.ModifyBucketLabelsOptions)">
            <summary>
            Clears all labels on a bucket.
            </summary>
            <param name="bucket">The name of the bucket. Must not be null.</param>
            <param name="options">The options for the operation. May be null, in which case defaults will be supplied.</param>
            <returns>A dictionary with the labels on the bucket before they were cleared.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.SetBucketLabelAsync(System.String,System.String,System.String,Google.Cloud.Storage.V1.ModifyBucketLabelsOptions,System.Threading.CancellationToken)">
            <summary>
            Sets the value for a single label on a bucket asynchronously. The label will be added if it does
            not exist, or updated if it already exists.
            </summary>
            <remarks>
            This method is implemented by creating a single-element dictionary which is passed to
            <see cref="M:Google.Cloud.Storage.V1.StorageClient.ModifyBucketLabelsAsync(System.String,System.Collections.Generic.IDictionary{System.String,System.String},Google.Cloud.Storage.V1.ModifyBucketLabelsOptions,System.Threading.CancellationToken)"/>.
            </remarks>
            <param name="bucket">The name of the bucket. Must not be null.</param>
            <param name="labelName">The name of the label to set. Must not be null.</param>
            <param name="labelValue">The value of the label to set. Must not be null.</param>
            <param name="options">The options for the operation. May be null, in which case defaults will be supplied.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>The previous value of the label, or null if the label did not previously exist.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.RemoveBucketLabelAsync(System.String,System.String,Google.Cloud.Storage.V1.ModifyBucketLabelsOptions,System.Threading.CancellationToken)">
            <summary>
            Removes a label from a bucket, if it previously existed, asynchronously. It is not an error to
            attempt to remove a label that doesn't already exist.
            </summary>
            <remarks>
            This method is implemented by creating a single-element dictionary which is passed to
            <see cref="M:Google.Cloud.Storage.V1.StorageClient.ModifyBucketLabelsAsync(System.String,System.Collections.Generic.IDictionary{System.String,System.String},Google.Cloud.Storage.V1.ModifyBucketLabelsOptions,System.Threading.CancellationToken)"/>.
            </remarks>
            <param name="bucket">The name of the bucket. Must not be null.</param>
            <param name="labelName">The name of the label to remove. Must not be null.</param>
            <param name="options">The options for the operation. May be null, in which case defaults will be supplied.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>The previous value of the label, or null if the label did not previously exist.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.ModifyBucketLabelsAsync(System.String,System.Collections.Generic.IDictionary{System.String,System.String},Google.Cloud.Storage.V1.ModifyBucketLabelsOptions,System.Threading.CancellationToken)">
            <summary>
            Sets or removes one or more labels on a bucket asynchronously.
            </summary>
            <remarks>
            Each entry in <paramref name="labels"/> is treated as a label to set or remove. If the value is null,
            it will be removed from the bucket; otherwise, it will be set/added. Labels which do not have an entry
            in the dictionary will be ignored.
            </remarks>
            <param name="bucket">The name of the bucket. Must not be null.</param>
            <param name="labels">The labels to set. Must contain at least one entry; keys must not be null, but values
            may be (indicating label removal).</param>
            <param name="options">The options for the operation. May be null, in which case defaults will be supplied.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>A dictionary with the same keys as <paramref name="labels"/>, and values indicating the corresponding label value
            before this operation completed. Labels which weren't present on the bucket before the modification have corresponding
            null values in the returned dictionary.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.ClearBucketLabelsAsync(System.String,Google.Cloud.Storage.V1.ModifyBucketLabelsOptions,System.Threading.CancellationToken)">
            <summary>
            Clears all labels on a bucket asynchronously.
            </summary>
            <param name="bucket">The name of the bucket. Must not be null.</param>
            <param name="options">The options for the operation. May be null, in which case defaults will be supplied.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>A dictionary with the labels on the bucket before they were cleared.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.GetStorageServiceAccountEmail(System.String,Google.Cloud.Storage.V1.GetStorageServiceAccountEmailOptions)">
            <summary>
            Retrieves the service account email address that Google Cloud Storage uses for operations on
            other services such as Google Cloud Pub/Sub.
            </summary>
            <param name="projectId">ID of the project to retrieve the service account for. Must not be null.</param>
            <param name="options">The options for the operation. May be null, in which case defaults will be supplied.</param>
            <returns>The email address of the service account.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.GetStorageServiceAccountEmailAsync(System.String,Google.Cloud.Storage.V1.GetStorageServiceAccountEmailOptions,System.Threading.CancellationToken)">
            <summary>
            Asynchronously retrieves the service account email address that Google Cloud Storage uses for operations on
            other services such as Google Cloud Pub/Sub.
            </summary>
            <param name="projectId">ID of the project to retrieve the service account for. Must not be null.</param>
            <param name="options">The options for the operation. May be null, in which case defaults will be supplied.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>A task representing the asynchronous operation, with a result returning the
            email address of the service account.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.CreateNotification(System.String,Google.Apis.Storage.v1.Data.Notification,Google.Cloud.Storage.V1.CreateNotificationOptions)">
            <summary>
            Creates a notification configuration.
            </summary>
            <param name="bucket">The bucket for which to create the notification configuration. Must not be null.</param>
            <param name="notification">The notification configuration to create. Must not be null.</param>
            <param name="options">The options for the operation. May be null, in which case defaults will be supplied.</param>
            <returns>The <see cref="T:Google.Apis.Storage.v1.Data.Notification"/> representation of the newly-created notification configuration.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.CreateNotificationAsync(System.String,Google.Apis.Storage.v1.Data.Notification,Google.Cloud.Storage.V1.CreateNotificationOptions,System.Threading.CancellationToken)">
            <summary>
            Asynchronously creates a notification configuration.
            </summary>
            <param name="bucket">The bucket for which to create the notification configuration. Must not be null.</param>
            <param name="notification">The notification configuration to create. Must not be null.</param>
            <param name="options">The options for the operation. May be null, in which case defaults will be supplied.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>A task representing the asynchronous operation, with a result returning the
            <see cref="T:Google.Apis.Storage.v1.Data.Notification"/> representation of the newly-created notification configuration.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.GetNotification(System.String,System.String,Google.Cloud.Storage.V1.GetNotificationOptions)">
            <summary>
            Fetches a notification configuration.
            </summary>
            <param name="bucket">The bucket associated with the notification configuration. Must not be null.</param>
            <param name="notificationId">ID of the notification configuration to fetch. Must not be null.</param>
            <param name="options">The options for the operation. May be null, in which case defaults will be supplied.</param>
            <returns>The <see cref="T:Google.Apis.Storage.v1.Data.Notification"/> representation of the notification configuration.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.GetNotificationAsync(System.String,System.String,Google.Cloud.Storage.V1.GetNotificationOptions,System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetches a notification configuration.
            </summary>
            <param name="bucket">The bucket associated with the notification configuration. Must not be null.</param>
            <param name="notificationId">ID of the notification configuration to fetch. Must not be null.</param>
            <param name="options">The options for the operation. May be null, in which case defaults will be supplied.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>A task representing the asynchronous operation, with a result returning the
            <see cref="T:Google.Apis.Storage.v1.Data.Notification"/> representation of the notification configuration.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.ListNotifications(System.String,Google.Cloud.Storage.V1.ListNotificationsOptions)">
            <summary>
            Lists notification configurations associated with a bucket.
            </summary>
            <param name="bucket">The bucket for which to list associated notification configurations. Must not be null.</param>
            <param name="options">The options for the operation. May be null, in which case defaults will be supplied.</param>
            <returns>A list of notification configurations associated with the specified bucket. This method never returns null.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.ListNotificationsAsync(System.String,Google.Cloud.Storage.V1.ListNotificationsOptions,System.Threading.CancellationToken)">
            <summary>
            Asynchronously lists notification configurations associated with a bucket.
            </summary>
            <param name="bucket">The bucket for which to list associated notification configurations. Must not be null.</param>
            <param name="options">The options for the operation. May be null, in which case defaults will be supplied.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>A task representing the asynchronous operation, with a result returning the
            list of notification configurations associated with the specified bucket. The result is never null.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.DeleteNotification(System.String,System.String,Google.Cloud.Storage.V1.DeleteNotificationOptions)">
            <summary>
            Deletes a notification configuration.
            </summary>
            <param name="bucket">The bucket associated with the notification configuration. Must not be null.</param>
            <param name="notificationId">ID of the notification configuration to delete. Must not be null.</param>
            <param name="options">The options for the operation. May be null, in which case defaults will be supplied.</param>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.DeleteNotificationAsync(System.String,System.String,Google.Cloud.Storage.V1.DeleteNotificationOptions,System.Threading.CancellationToken)">
            <summary>
            Asynchronously deletes a notification configuration.
            </summary>
            <param name="bucket">The bucket associated with the notification configuration. Must not be null.</param>
            <param name="notificationId">ID of the notification configuration to delete. Must not be null.</param>
            <param name="options">The options for the operation. May be null, in which case defaults will be supplied.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>A task representing the asynchronous operation.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.PatchBucket(Google.Apis.Storage.v1.Data.Bucket,Google.Cloud.Storage.V1.PatchBucketOptions)">
            <summary>
            Patches the metadata for a storage bucket synchronously.
            </summary>
            <param name="bucket">Bucket to update. Must not be null, and must have a populated <c>Name</c> property.</param>
            <param name="options">Additional options for the update. May be null, in which case appropriate
            defaults will be used.</param>
            <returns>The <see cref="T:Google.Apis.Storage.v1.Data.Bucket"/> representation of the updated storage bucket.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.PatchBucketAsync(Google.Apis.Storage.v1.Data.Bucket,Google.Cloud.Storage.V1.PatchBucketOptions,System.Threading.CancellationToken)">
            <summary>
            Patches the metadata for a storage bucket asynchronously.
            </summary>
            <param name="bucket">Bucket to update. Must not be null, and must have a populated <c>Name</c> property.</param>
            <param name="options">Additional options for the update. May be null, in which case appropriate
            defaults will be used.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>A task representing the asynchronous operation, with a result returning the
            <see cref="T:Google.Apis.Storage.v1.Data.Bucket"/> representation of the bucket storage bucket.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.PatchObject(Google.Apis.Storage.v1.Data.Object,Google.Cloud.Storage.V1.PatchObjectOptions)">
            <summary>
            Patches the metadata for an object in storage synchronously.
            </summary>
            <param name="obj">Object to update. Must not be null, and must have populated <c>Name</c> and
            <c>Bucket</c> properties.</param>
            <param name="options">Additional options for the update. May be null, in which case appropriate
            defaults will be used.</param>
            <returns>The <see cref="T:Google.Apis.Storage.v1.Data.Object"/> representation of the updated storage object.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.PatchObjectAsync(Google.Apis.Storage.v1.Data.Object,Google.Cloud.Storage.V1.PatchObjectOptions,System.Threading.CancellationToken)">
            <summary>
            Patches the metadata for an object in storage asynchronously.
            </summary>
            <param name="obj">Object to update. Must not be null, and must have populated <c>Name</c> and
            <c>Bucket</c> properties.</param>
            <param name="options">Additional options for the update. May be null, in which case appropriate
            defaults will be used.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>A task representing the asynchronous operation, with a result returning the
            <see cref="T:Google.Apis.Storage.v1.Data.Object"/> representation of the updated storage object.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.SetBucketIamPolicy(System.String,Google.Apis.Storage.v1.Data.Policy,Google.Cloud.Storage.V1.SetBucketIamPolicyOptions)">
            <summary>
            Updates the IAM policy information about a bucket synchronously.
            </summary>
            <param name="bucket">The name of the bucket. Must not be null.</param>
            <param name="policy">The new IAM policy for the bucket. Must not be null.</param>
            <param name="options">Additional options for the operation. May be null, in which case appropriate
            defaults will be used.</param>
            <returns>The <see cref="T:Google.Apis.Storage.v1.Data.Policy"/> representation of the resulting storage bucket IAM policy.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.SetBucketIamPolicyAsync(System.String,Google.Apis.Storage.v1.Data.Policy,Google.Cloud.Storage.V1.SetBucketIamPolicyOptions,System.Threading.CancellationToken)">
            <summary>
            Updates the IAM policy information about a bucket asynchronously.
            </summary>
            <param name="bucket">The name of the bucket. Must not be null.</param>
            <param name="policy">The new IAM policy for the bucket. Must not be null.</param>
            <param name="options">Additional options for the fetch operation. May be null, in which case appropriate
            defaults will be used.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>A task representing the asynchronous operation, with a result returning the
            <see cref="T:Google.Apis.Storage.v1.Data.Policy"/> representation of the resulting storage bucket IAM policy.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.TestBucketIamPermissions(System.String,System.Collections.Generic.IEnumerable{System.String},Google.Cloud.Storage.V1.TestBucketIamPermissionsOptions)">
            <summary>
            Tests the IAM permissions for a bucket synchronously.
            </summary>
            <param name="bucket">The name of the bucket. Must not be null.</param>
            <param name="permissions">The permissions to test. Must not be null or empty.</param>
            <param name="options">Additional options for the operation. May be null, in which case appropriate
            defaults will be used.</param>
            <returns>The permissions held by the caller.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.TestBucketIamPermissionsAsync(System.String,System.Collections.Generic.IEnumerable{System.String},Google.Cloud.Storage.V1.TestBucketIamPermissionsOptions,System.Threading.CancellationToken)">
            <summary>
            Tests the IAM policy information about a bucket asynchronously.
            </summary>
            <param name="bucket">The name of the bucket. Must not be null.</param>
            <param name="permissions">The permissions to test. Must not be null or empty.</param>
            <param name="options">Additional options for the operation. May be null, in which case appropriate
            defaults will be used.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>A task representing the asynchronous operation, with a result returning the
            permissions held by the caller.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.UpdateBucket(Google.Apis.Storage.v1.Data.Bucket,Google.Cloud.Storage.V1.UpdateBucketOptions)">
            <summary>
            Updates the metadata for a storage bucket synchronously.
            </summary>
            <remarks>
            <para>
            If no preconditions are explicitly set in <paramref name="options"/>, the metageneration of <paramref name="bucket"/>
            is used as a precondition for the update, unless <see cref="P:Google.Cloud.Storage.V1.UpdateBucketOptions.ForceNoPreconditions"/> is
            set to <c>true</c>.
            </para>
            </remarks>
            <param name="bucket">Bucket to update. Must not be null, and must have a populated <c>Name</c>.</param>
            <param name="options">Additional options for the update. May be null, in which case appropriate
            defaults will be used.</param>
            <returns>The <see cref="T:Google.Apis.Storage.v1.Data.Bucket"/> representation of the updated storage bucket.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.UpdateBucketAsync(Google.Apis.Storage.v1.Data.Bucket,Google.Cloud.Storage.V1.UpdateBucketOptions,System.Threading.CancellationToken)">
            <summary>
            Updates the metadata for storage bucket asynchronously.
            </summary>
            <remarks>
            <para>
            If no preconditions are explicitly set in <paramref name="options"/>, the metageneration of <paramref name="bucket"/>
            is used as a precondition for the update, unless <see cref="P:Google.Cloud.Storage.V1.UpdateBucketOptions.ForceNoPreconditions"/> is
            set to <c>true</c>.
            </para>
            </remarks>
            <param name="bucket">Bucket to update. Must not be null, and must have a populated <c>Name</c>.</param>
            <param name="options">Additional options for the update. May be null, in which case appropriate
            defaults will be used.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>A task representing the asynchronous operation, with a result returning the
            <see cref="T:Google.Apis.Storage.v1.Data.Bucket"/> representation of the storage bucket.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.UpdateObject(Google.Apis.Storage.v1.Data.Object,Google.Cloud.Storage.V1.UpdateObjectOptions)">
            <summary>
            Updates the metadata for an object in storage synchronously.
            </summary>
            <remarks>
            <para>
            If no preconditions are explicitly set in <paramref name="options"/>, the generation and
            metageneration of <paramref name="obj"/> are used as a precondition for the update,
            unless <see cref="P:Google.Cloud.Storage.V1.UpdateObjectOptions.ForceNoPreconditions"/> is
            set to <c>true</c>.
            </para>
            </remarks>
            <param name="obj">Object to update. Must not be null, and must have populated <c>Name</c> and
            <c>Bucket</c> properties.</param>
            <param name="options">Additional options for the update. May be null, in which case appropriate
            defaults will be used.</param>
            <returns>The <see cref="T:Google.Apis.Storage.v1.Data.Object"/> representation of the updated storage object.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.UpdateObjectAsync(Google.Apis.Storage.v1.Data.Object,Google.Cloud.Storage.V1.UpdateObjectOptions,System.Threading.CancellationToken)">
            <summary>
            Updates the metadata for an object in storage asynchronously.
            </summary>
            <remarks>
            <para>
            If no preconditions are explicitly set in <paramref name="options"/>, the generation and
            metageneration of <paramref name="obj"/> are used as a precondition for the update,
            unless <see cref="P:Google.Cloud.Storage.V1.UpdateObjectOptions.ForceNoPreconditions"/> is
            set to <c>true</c>.
            </para>
            </remarks>
            <param name="obj">Object to update. Must not be null, and must have populated <c>Name</c> and
            <c>Bucket</c> properties.</param>
            <param name="options">Additional options for the update. May be null, in which case appropriate
            defaults will be used.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>A task representing the asynchronous operation, with a result returning the
            <see cref="T:Google.Apis.Storage.v1.Data.Object"/> representation of the storage object.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.CreateObjectUploader(System.String,System.String,System.String,System.IO.Stream,Google.Cloud.Storage.V1.UploadObjectOptions)">
            <summary>
            Creates an instance which is capable of starting a resumable upload for an object.
            </summary>
            <param name="bucket">The name of the bucket containing the object. Must not be null.</param>
            <param name="objectName">The name of the object within the bucket. Must not be null.</param>
            <param name="contentType">The content type of the object. This should be a MIME type
            such as "text/html" or "application/octet-stream". May be null.</param>
            <param name="source">The stream to read the data from. Must not be null.</param>
            <param name="options">Additional options for the upload. May be null, in which case appropriate
            defaults will be used.</param>
            <returns>The <see cref="T:Google.Apis.Storage.v1.ObjectsResource.InsertMediaUpload"/> which can be used to upload the object.</returns>
            <seealso cref="M:Google.Cloud.Storage.V1.StorageClient.UploadObject(Google.Apis.Storage.v1.Data.Object,System.IO.Stream,Google.Cloud.Storage.V1.UploadObjectOptions,System.IProgress{Google.Apis.Upload.IUploadProgress})"/>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.CreateObjectUploader(Google.Apis.Storage.v1.Data.Object,System.IO.Stream,Google.Cloud.Storage.V1.UploadObjectOptions)">
            <summary>
            Creates an instance which is capable of starting a resumable upload for an object.
            </summary>
            <param name="destination">Object to create or update. Must not be null, and must have the name,
            bucket and content type populated.</param>
            <param name="source">The stream to read the data from. Must not be null.</param>
            <param name="options">Additional options for the upload. May be null, in which case appropriate
            defaults will be used.</param>
            <returns>The <see cref="T:Google.Apis.Storage.v1.ObjectsResource.InsertMediaUpload"/> which can be used to upload the object.</returns>
            <seealso cref="M:Google.Cloud.Storage.V1.StorageClient.UploadObject(Google.Apis.Storage.v1.Data.Object,System.IO.Stream,Google.Cloud.Storage.V1.UploadObjectOptions,System.IProgress{Google.Apis.Upload.IUploadProgress})"/>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.UploadObject(System.String,System.String,System.String,System.IO.Stream,Google.Cloud.Storage.V1.UploadObjectOptions,System.IProgress{Google.Apis.Upload.IUploadProgress})">
            <summary>
            Uploads the data for an object in storage synchronously, from a specified stream.
            </summary>
            <param name="bucket">The name of the bucket containing the object. Must not be null.</param>
            <param name="objectName">The name of the object within the bucket. Must not be null.</param>
            <param name="contentType">The content type of the object. This should be a MIME type
            such as "text/html" or "application/octet-stream". May be null.</param>
            <param name="source">The stream to read the data from. Must not be null.</param>
            <param name="options">Additional options for the upload. May be null, in which case appropriate
            defaults will be used.</param>
            <param name="progress">Progress reporter for the upload. May be null.</param>
            <returns>The <see cref="T:Google.Apis.Storage.v1.Data.Object"/> representation of the uploaded object.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.UploadObjectAsync(System.String,System.String,System.String,System.IO.Stream,Google.Cloud.Storage.V1.UploadObjectOptions,System.Threading.CancellationToken,System.IProgress{Google.Apis.Upload.IUploadProgress})">
            <summary>
            Uploads the data for an object in storage asynchronously, from a specified stream.
            </summary>
            <param name="bucket">The name of the bucket containing the object. Must not be null.</param>
            <param name="objectName">The name of the object within the bucket. Must not be null.</param>
            <param name="contentType">The content type of the object. This should be a MIME type
            such as "text/html" or "application/octet-stream". May be null.</param>
            <param name="source">The stream to read the data from. Must not be null.</param>
            <param name="options">Additional options for the upload. May be null, in which case appropriate
            defaults will be used.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <param name="progress">Progress reporter for the upload. May be null.</param>
            <returns>A task representing the asynchronous operation, with a result returning the
            <see cref="T:Google.Apis.Storage.v1.Data.Object"/> representation of the uploaded object.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.UploadObject(Google.Apis.Storage.v1.Data.Object,System.IO.Stream,Google.Cloud.Storage.V1.UploadObjectOptions,System.IProgress{Google.Apis.Upload.IUploadProgress})">
            <summary>
            Uploads the data for an object in storage synchronously, from a specified stream.
            </summary>
            <param name="destination">Object to create or update. Must not be null, and must have the name,
            bucket and content type populated.</param>
            <param name="source">The stream to read the data from. Must not be null.</param>
            <param name="options">Additional options for the upload. May be null, in which case appropriate
            defaults will be used.</param>
            <param name="progress">Progress reporter for the upload. May be null.</param>
            <returns>The <see cref="T:Google.Apis.Storage.v1.Data.Object"/> representation of the uploaded object.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClient.UploadObjectAsync(Google.Apis.Storage.v1.Data.Object,System.IO.Stream,Google.Cloud.Storage.V1.UploadObjectOptions,System.Threading.CancellationToken,System.IProgress{Google.Apis.Upload.IUploadProgress})">
            <summary>
            Uploads the data for an object in storage asynchronously, from a specified stream.
            </summary>
            <param name="destination">Object to create or update. Must not be null, and must have the name,
            bucket and content type populated.</param>
            <param name="source">The stream to read the data from. Must not be null.</param>
            <param name="options">Additional options for the upload. May be null, in which case appropriate
            defaults will be used.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <param name="progress">Progress reporter for the upload. May be null.</param>
            <returns>A task representing the asynchronous operation, with a result returning the
            <see cref="T:Google.Apis.Storage.v1.Data.Object"/> representation of the uploaded object.</returns>
        </member>
        <member name="T:Google.Cloud.Storage.V1.StorageClientBuilder">
            <summary>
            A builder for <see cref="T:Google.Cloud.Storage.V1.StorageClient"/>, allowing simple client customization.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.StorageClientBuilder.UnauthenticatedAccess">
            <summary>
            If set to true, no credentials are created when the client is built.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.StorageClientBuilder.EncryptionKey">
            <summary>
            The customer-supplied encryption key used by default for all relevant object-based operations.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.StorageClientBuilder.GZipEnabled">
            <summary>
            Whether GZip should be enabled for the underlying client. This is currently internal
            so that we are able to modify it for retry conformance testing, but if we want to expose
            it publicly we should probably do so in ClientBuilderBase.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.StorageClientBuilder.Scheduler">
            <summary>
            The scheduler to use for delays (e.g. in retry), for the sake of testability.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientBuilder.#ctor">
            <summary>
            Creates a new builder with default settings.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientBuilder.Build">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientBuilder.BuildAsync(System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientBuilder.CreateServiceInitializer">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientBuilder.CreateServiceInitializerAsync(System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientBuilder.GetHttpClientInitializer">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientBuilder.GetHttpClientInitializerAsync(System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientBuilder.GetDefaultApplicationName">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientBuilder.GetScopedCredentialProvider">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientBuilder.Validate">
            <inheritdoc />
        </member>
        <member name="T:Google.Cloud.Storage.V1.StorageClientImpl">
            <summary>
            Wrapper around <see cref="T:Google.Apis.Storage.v1.StorageService"/> to provide simpler operations.
            </summary>
            <remarks>
            This is the "default" implementation of <see cref="T:Google.Cloud.Storage.V1.StorageClient"/>. Most client code
            should refer to <see cref="T:Google.Cloud.Storage.V1.StorageClient"/>, creating instances with
            <see cref="M:Google.Cloud.Storage.V1.StorageClient.Create(Google.Apis.Auth.OAuth2.GoogleCredential,Google.Cloud.Storage.V1.EncryptionKey)"/> and
            <see cref="M:Google.Cloud.Storage.V1.StorageClient.CreateAsync(Google.Apis.Auth.OAuth2.GoogleCredential,Google.Cloud.Storage.V1.EncryptionKey)"/>. The constructor
            of this class is public for the sake of constructor-based dependency injection.
            </remarks>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.CopyObject(System.String,System.String,System.String,System.String,Google.Cloud.Storage.V1.CopyObjectOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.CopyObjectAsync(System.String,System.String,System.String,System.String,Google.Cloud.Storage.V1.CopyObjectOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.CreateBucket(System.String,System.String,Google.Cloud.Storage.V1.CreateBucketOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.CreateBucketAsync(System.String,System.String,Google.Cloud.Storage.V1.CreateBucketOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.CreateBucket(System.String,Google.Apis.Storage.v1.Data.Bucket,Google.Cloud.Storage.V1.CreateBucketOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.CreateBucketAsync(System.String,Google.Apis.Storage.v1.Data.Bucket,Google.Cloud.Storage.V1.CreateBucketOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="P:Google.Cloud.Storage.V1.StorageClientImpl.ApplicationName">
            <summary>
            The default application name used when creating a <see cref="T:Google.Apis.Storage.v1.StorageService"/>.
            Defaults to "google-cloud-dotnet"; must not be null.
            </summary>
            <remarks>
            Most applications will never want to set this, which is why it's in this class rather than
            <see cref="T:Google.Cloud.Storage.V1.StorageClient"/>.
            </remarks>
        </member>
        <member name="P:Google.Cloud.Storage.V1.StorageClientImpl.Service">
            <inheritdoc />
        </member>
        <member name="P:Google.Cloud.Storage.V1.StorageClientImpl.EncryptionKey">
            <inheritdoc />
        </member>
        <member name="F:Google.Cloud.Storage.V1.StorageClientImpl._scheduler">
            <summary>
            Scheduler used for retry delays, avoiding the use of Task.Delay
            in a way which is slow and hard to test thoroughly.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.#ctor(Google.Apis.Storage.v1.StorageService,Google.Cloud.Storage.V1.EncryptionKey)">
            <summary>
            Constructs a new client wrapping the given <see cref="T:Google.Apis.Storage.v1.StorageService"/>.
            </summary>
            <param name="service">The service to wrap. Must not be null.</param>
            <param name="encryptionKey">Optional <see cref="P:Google.Cloud.Storage.V1.StorageClientImpl.EncryptionKey"/> to use for object-based operations by default. May be null,
            in which case <see cref="P:Google.Cloud.Storage.V1.EncryptionKey.None"/> will be used.</param>
        </member>
        <member name="F:Google.Cloud.Storage.V1.StorageClientImpl.ValidBucketName">
            <summary>
            Regular expression to be used for bucket validation when <see cref="M:Google.Cloud.Storage.V1.StorageClientImpl.ValidateBucket(Google.Apis.Storage.v1.Data.Bucket,System.String)"/>
            would throw the wrong exception.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.ValidateBucketName(System.String)">
            <summary>
            Validates that a bucket only contains valid characters, and is not too long. This is far from
            complete validation, but is all that's required to ensure that it's safe to include in a URL.
            This method also checks for nullity, so callers don't need to do that first.
            This method is internal rather than private for testing purposes.
            </summary>
            <returns>The input, to allow inline validation</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.ValidateBucket(Google.Apis.Storage.v1.Data.Bucket,System.String)">
            <summary>
            Validates that the given Bucket has a "somewhat valid" (no URI encoding required) bucket name.
            </summary>
            <param name="bucket">Bucket to validate</param>
            <param name="paramName">The parameter name in the calling method</param>
            <returns>The validated bucket name</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.ValidateObject(Google.Apis.Storage.v1.Data.Object,System.String)">
            <summary>
            Validates that the given Object has a "somewhat valid" (no URI encoding required) bucket name and an object name.
            </summary>
            <param name="obj">Object to validate</param>
            <param name="paramName">The parameter name in the calling method</param>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.ApplyEncryptionKey``1(Google.Cloud.Storage.V1.EncryptionKey,System.String,Google.Apis.Requests.ClientServiceRequest{``0})">
            <summary>
            Applies an encryption key to a request. Note that there is no overload without a kmsNameFromOptions, even though most
            requests don't have one, just to avoid missing one accidentally.
            </summary>
            <param name="keyFromOptions">The encryption key specified in the operation-specific options, or null.</param>
            <param name="kmsNameFromOptions">The KMS key name specified in the operation-specific options, or null.</param>
            <param name="request">The request to apply this to.</param>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.Dispose">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.DeleteBucket(System.String,Google.Cloud.Storage.V1.DeleteBucketOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.DeleteBucketAsync(System.String,Google.Cloud.Storage.V1.DeleteBucketOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.DeleteBucket(Google.Apis.Storage.v1.Data.Bucket,Google.Cloud.Storage.V1.DeleteBucketOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.DeleteBucketAsync(Google.Apis.Storage.v1.Data.Bucket,Google.Cloud.Storage.V1.DeleteBucketOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.DeleteObject(System.String,System.String,Google.Cloud.Storage.V1.DeleteObjectOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.DeleteObjectAsync(System.String,System.String,Google.Cloud.Storage.V1.DeleteObjectOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.DeleteObject(Google.Apis.Storage.v1.Data.Object,Google.Cloud.Storage.V1.DeleteObjectOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.DeleteObjectAsync(Google.Apis.Storage.v1.Data.Object,Google.Cloud.Storage.V1.DeleteObjectOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.DownloadObject(System.String,System.String,System.IO.Stream,Google.Cloud.Storage.V1.DownloadObjectOptions,System.IProgress{Google.Apis.Download.IDownloadProgress})">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.DownloadObjectAsync(System.String,System.String,System.IO.Stream,Google.Cloud.Storage.V1.DownloadObjectOptions,System.Threading.CancellationToken,System.IProgress{Google.Apis.Download.IDownloadProgress})">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.DownloadObject(Google.Apis.Storage.v1.Data.Object,System.IO.Stream,Google.Cloud.Storage.V1.DownloadObjectOptions,System.IProgress{Google.Apis.Download.IDownloadProgress})">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.DownloadObjectAsync(Google.Apis.Storage.v1.Data.Object,System.IO.Stream,Google.Cloud.Storage.V1.DownloadObjectOptions,System.Threading.CancellationToken,System.IProgress{Google.Apis.Download.IDownloadProgress})">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.CreateRequestBuilder(System.String,System.String)">
            <summary>
            Constructs the media URL of an object from its bucket and name. This does not include the generation
            or any GaxPreconditions. The returned string will always have a query parameter, so later query parameters
            can unconditionally be appended with an "&amp;" prefix.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.CreateRequestBuilder(Google.Apis.Storage.v1.Data.Object)">
            <summary>
            Obtains the media URL of an object from its bucket and name.
            The returned string will always have a query parameter, so later query parameters
            can unconditionally be appended with an "&amp;" prefix.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.GetBucket(System.String,Google.Cloud.Storage.V1.GetBucketOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.GetBucketAsync(System.String,Google.Cloud.Storage.V1.GetBucketOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.GetBucketIamPolicy(System.String,Google.Cloud.Storage.V1.GetBucketIamPolicyOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.GetBucketIamPolicyAsync(System.String,Google.Cloud.Storage.V1.GetBucketIamPolicyOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.GetObject(System.String,System.String,Google.Cloud.Storage.V1.GetObjectOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.GetObjectAsync(System.String,System.String,Google.Cloud.Storage.V1.GetObjectOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.CreateHmacKey(System.String,System.String,Google.Cloud.Storage.V1.CreateHmacKeyOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.CreateHmacKeyAsync(System.String,System.String,Google.Cloud.Storage.V1.CreateHmacKeyOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.GetHmacKey(System.String,System.String,Google.Cloud.Storage.V1.GetHmacKeyOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.GetHmacKeyAsync(System.String,System.String,Google.Cloud.Storage.V1.GetHmacKeyOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.ListHmacKeys(System.String,System.String,Google.Cloud.Storage.V1.ListHmacKeysOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.ListHmacKeysAsync(System.String,System.String,Google.Cloud.Storage.V1.ListHmacKeysOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.UpdateHmacKey(Google.Apis.Storage.v1.Data.HmacKeyMetadata,Google.Cloud.Storage.V1.UpdateHmacKeyOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.UpdateHmacKeyAsync(Google.Apis.Storage.v1.Data.HmacKeyMetadata,Google.Cloud.Storage.V1.UpdateHmacKeyOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.DeleteHmacKey(System.String,System.String,Google.Cloud.Storage.V1.DeleteHmacKeyOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.DeleteHmacKeyAsync(System.String,System.String,Google.Cloud.Storage.V1.DeleteHmacKeyOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.ListBucketsAsync(System.String,Google.Cloud.Storage.V1.ListBucketsOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.ListBuckets(System.String,Google.Cloud.Storage.V1.ListBucketsOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.ListObjectsAsync(System.String,System.String,Google.Cloud.Storage.V1.ListObjectsOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.ListObjects(System.String,System.String,Google.Cloud.Storage.V1.ListObjectsOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.LockBucketRetentionPolicy(System.String,System.Int64,Google.Cloud.Storage.V1.LockBucketRetentionPolicyOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.LockBucketRetentionPolicyAsync(System.String,System.Int64,Google.Cloud.Storage.V1.LockBucketRetentionPolicyOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.ModifyBucketLabels(System.String,System.Collections.Generic.IDictionary{System.String,System.String},Google.Cloud.Storage.V1.ModifyBucketLabelsOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.ClearBucketLabels(System.String,Google.Cloud.Storage.V1.ModifyBucketLabelsOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.ModifyBucketLabelsAsync(System.String,System.Collections.Generic.IDictionary{System.String,System.String},Google.Cloud.Storage.V1.ModifyBucketLabelsOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.ClearBucketLabelsAsync(System.String,Google.Cloud.Storage.V1.ModifyBucketLabelsOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.GetStorageServiceAccountEmail(System.String,Google.Cloud.Storage.V1.GetStorageServiceAccountEmailOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.GetStorageServiceAccountEmailAsync(System.String,Google.Cloud.Storage.V1.GetStorageServiceAccountEmailOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.CreateNotification(System.String,Google.Apis.Storage.v1.Data.Notification,Google.Cloud.Storage.V1.CreateNotificationOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.CreateNotificationAsync(System.String,Google.Apis.Storage.v1.Data.Notification,Google.Cloud.Storage.V1.CreateNotificationOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.ListNotifications(System.String,Google.Cloud.Storage.V1.ListNotificationsOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.ListNotificationsAsync(System.String,Google.Cloud.Storage.V1.ListNotificationsOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.GetNotification(System.String,System.String,Google.Cloud.Storage.V1.GetNotificationOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.GetNotificationAsync(System.String,System.String,Google.Cloud.Storage.V1.GetNotificationOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.DeleteNotification(System.String,System.String,Google.Cloud.Storage.V1.DeleteNotificationOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.DeleteNotificationAsync(System.String,System.String,Google.Cloud.Storage.V1.DeleteNotificationOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.PatchBucket(Google.Apis.Storage.v1.Data.Bucket,Google.Cloud.Storage.V1.PatchBucketOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.PatchBucketAsync(Google.Apis.Storage.v1.Data.Bucket,Google.Cloud.Storage.V1.PatchBucketOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.PatchObject(Google.Apis.Storage.v1.Data.Object,Google.Cloud.Storage.V1.PatchObjectOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.PatchObjectAsync(Google.Apis.Storage.v1.Data.Object,Google.Cloud.Storage.V1.PatchObjectOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.SetBucketIamPolicy(System.String,Google.Apis.Storage.v1.Data.Policy,Google.Cloud.Storage.V1.SetBucketIamPolicyOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.SetBucketIamPolicyAsync(System.String,Google.Apis.Storage.v1.Data.Policy,Google.Cloud.Storage.V1.SetBucketIamPolicyOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.TestBucketIamPermissions(System.String,System.Collections.Generic.IEnumerable{System.String},Google.Cloud.Storage.V1.TestBucketIamPermissionsOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.TestBucketIamPermissionsAsync(System.String,System.Collections.Generic.IEnumerable{System.String},Google.Cloud.Storage.V1.TestBucketIamPermissionsOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.UpdateBucket(Google.Apis.Storage.v1.Data.Bucket,Google.Cloud.Storage.V1.UpdateBucketOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.UpdateBucketAsync(Google.Apis.Storage.v1.Data.Bucket,Google.Cloud.Storage.V1.UpdateBucketOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.UpdateObject(Google.Apis.Storage.v1.Data.Object,Google.Cloud.Storage.V1.UpdateObjectOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.UpdateObjectAsync(Google.Apis.Storage.v1.Data.Object,Google.Cloud.Storage.V1.UpdateObjectOptions,System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.CreateObjectUploader(System.String,System.String,System.String,System.IO.Stream,Google.Cloud.Storage.V1.UploadObjectOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.CreateObjectUploader(Google.Apis.Storage.v1.Data.Object,System.IO.Stream,Google.Cloud.Storage.V1.UploadObjectOptions)">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.UploadObject(System.String,System.String,System.String,System.IO.Stream,Google.Cloud.Storage.V1.UploadObjectOptions,System.IProgress{Google.Apis.Upload.IUploadProgress})">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.UploadObjectAsync(System.String,System.String,System.String,System.IO.Stream,Google.Cloud.Storage.V1.UploadObjectOptions,System.Threading.CancellationToken,System.IProgress{Google.Apis.Upload.IUploadProgress})">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.UploadObject(Google.Apis.Storage.v1.Data.Object,System.IO.Stream,Google.Cloud.Storage.V1.UploadObjectOptions,System.IProgress{Google.Apis.Upload.IUploadProgress})">
            <inheritdoc />
        </member>
        <member name="M:Google.Cloud.Storage.V1.StorageClientImpl.UploadObjectAsync(Google.Apis.Storage.v1.Data.Object,System.IO.Stream,Google.Cloud.Storage.V1.UploadObjectOptions,System.Threading.CancellationToken,System.IProgress{Google.Apis.Upload.IUploadProgress})">
            <inheritdoc />
        </member>
        <member name="T:Google.Cloud.Storage.V1.StorageClientImpl.UploadHelper">
            <summary>
            Helper class to provide common context between sync and async operations. Helps avoid quite so much duplicate code...
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.TestBucketIamPermissionsOptions">
            <summary>
            Options for <c>TestBucketIamPermissions</c> operations.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.TestBucketIamPermissionsOptions.UserProject">
            <summary>
            If set, this is the ID of the project which will be billed for the request.
            The caller must have suitable permissions for the project being billed.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.TestBucketIamPermissionsOptions.RetryOptions">
            <summary>
            Options to pass custom retry configuration for each API request.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UpdateBucketOptions">
            <summary>
            Options for <c>UpdateBucket</c> operations.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UpdateBucketOptions.IfMetagenerationMatch">
            <summary>
            Precondition for update: the bucket is only updated if its current
            meta-generation matches the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UpdateBucketOptions.IfMetagenerationNotMatch">
            <summary>
            Precondition for update: the bucket is only updated if its current
            meta-generation does not match the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UpdateBucketOptions.Projection">
            <summary>
            The projection of the updated object to return.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UpdateBucketOptions.PredefinedAcl">
            <summary>
            A pre-defined ACL of the bucket for simple access control scenarios.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UpdateBucketOptions.PredefinedDefaultObjectAcl">
            <summary>
            A pre-defined default ACL for objects created in the bucket, for simple access control scenarios.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UpdateBucketOptions.ForceNoPreconditions">
            <summary>
            If set to true, no other preconditions must be set, and
            the local metageneration of the bucket being updated is not used
            to create a precondition.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UpdateBucketOptions.UserProject">
            <summary>
            If set, this is the ID of the project which will be billed for the request.
            The caller must have suitable permissions for the project being billed.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UpdateBucketOptions.RetryOptions">
            <summary>
            Options to pass custom retry configuration for each API request.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UpdateHmacKeyOptions">
            <summary>
            Options for <c>UpdateHmacKey</c> operations.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UpdateHmacKeyOptions.RetryOptions">
            <summary>
            Options to pass custom retry configuration for each API request.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UpdateObjectOptions">
            <summary>
            Options for <c>UpdateObject</c> operations.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UpdateObjectOptions.Generation">
            <summary>
            If present, selects a specific revision of this object (as opposed to the latest version, the default).
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UpdateObjectOptions.IfGenerationMatch">
            <summary>
            Precondition for update: the object is only updated if the existing object's
            generation matches the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UpdateObjectOptions.IfGenerationNotMatch">
            <summary>
            Precondition for update: the object is only updated if the existing object's
            generation does not match the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UpdateObjectOptions.IfMetagenerationMatch">
            <summary>
            Precondition for update: the object is only updated if the existing object's
            meta-generation matches the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UpdateObjectOptions.IfMetagenerationNotMatch">
            <summary>
            Precondition for update: the object is only updated if the existing object's
            meta-generation does not match the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UpdateObjectOptions.Projection">
            <summary>
            The projection of the updated object to return.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UpdateObjectOptions.PredefinedAcl">
            <summary>
            A pre-defined ACL for simple access control scenarios.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UpdateObjectOptions.ForceNoPreconditions">
            <summary>
            If set to true, no other preconditions must be set, and
            the local metageneration of the object being updated is not used
            to create a precondition.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UpdateObjectOptions.EncryptionKey">
            <summary>
            The encryption key to use for this operation. If this property is null, the <see cref="P:Google.Cloud.Storage.V1.StorageClient.EncryptionKey"/>
            will be used instead. Use <see cref="P:Google.Cloud.Storage.V1.EncryptionKey.None"/> to remove encryption headers from this request.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UpdateObjectOptions.UserProject">
            <summary>
            If set, this is the ID of the project which will be billed for the request.
            The caller must have suitable permissions for the project being billed.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UpdateObjectOptions.RetryOptions">
            <summary>
            Options to pass custom retry configuration for each API request.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UploadObjectOptions">
            <summary>
            Options for <c>UploadObject</c> operations.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.UploadObjectOptions.MinimumChunkSize">
            <summary>
            The minimum chunk size for uploading.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UploadObjectOptions.IfGenerationMatch">
            <summary>
            Precondition for upload: the object is only uploaded if the existing object's
            generation matches the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UploadObjectOptions.IfGenerationNotMatch">
            <summary>
            Precondition for upload: the object is only uploaded if the existing object's
            generation does not match the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UploadObjectOptions.IfMetagenerationMatch">
            <summary>
            Precondition for upload: the object is only uploaded if the existing object's
            meta-generation matches the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UploadObjectOptions.IfMetagenerationNotMatch">
            <summary>
            Precondition for upload: the object is only uploaded if the existing object's
            meta-generation does not match the given value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UploadObjectOptions.ChunkSize">
            <summary>
            The chunk size to use for each request. When setting to a non-null value, this
            must be a positive multiple of <see cref="F:Google.Cloud.Storage.V1.UploadObjectOptions.MinimumChunkSize"/>.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UploadObjectOptions.PredefinedAcl">
            <summary>
            A pre-defined ACL for simple access control scenarios.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UploadObjectOptions.Projection">
            <summary>
            The projection of the uploaded object to retrieve.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UploadObjectOptions.EncryptionKey">
            <summary>
            The customer-supplied encryption key to use for this operation. If this property is null, the <see cref="P:Google.Cloud.Storage.V1.StorageClient.EncryptionKey"/>
            will be used instead. Use <see cref="P:Google.Cloud.Storage.V1.EncryptionKey.None"/> to remove encryption headers from this request.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UploadObjectOptions.KmsKeyName">
            <summary>
            The name of the Cloud KMS key to use to encrypt the object.
            </summary>
            <remarks>
            Currently, either customer-supplied encryption or a Cloud KMS key can be used, but not both.
            If this property is null and customer-supplied encryption is not being used,
            the bucket encryption defaults will be used to determine the encryption for the object.
            If this property is non-null and the client object has a default encryption key, the <see cref="P:Google.Cloud.Storage.V1.UploadObjectOptions.EncryptionKey"/> property
            of this options object must be set to <see cref="P:Google.Cloud.Storage.V1.EncryptionKey.None"/> to make the intention clear.
            </remarks>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UploadObjectOptions.UserProject">
            <summary>
            If set, this is the ID of the project which will be billed for the request.
            The caller must have suitable permissions for the project being billed.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UploadObjectOptions.UploadValidationMode">
            <summary>
            Specifies how the upload should be validated for data integrity.
            If this property is null, this is equivalent to <see cref="F:Google.Cloud.Storage.V1.UploadValidationMode.DeleteAndThrow"/>.
            </summary>
            <remarks>
            The hash is only validated at the end of the upload, after the object has been created.
            An exception is thrown if it's incorrect, but the object will still exist unless
            the validation action deletes it.
            </remarks>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UploadObjectOptions.Origin">
            <summary>
            If set, an Origin header is included when initiating the resumable upload. This allows for Cross-Origin
            Resource Sharing, as documented at https://cloud.google.com/storage/docs/cross-origin.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UploadValidationException">
            <summary>
            Exception thrown when an upload failed validation.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UploadValidationException.ClientSideHash">
            <summary>
            The hash computed locally, in base64.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UploadValidationException.UploadedObject">
            <summary>
            The uploaded object.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UploadValidationException.AdditionalFailures">
            <summary>
            A collection of additional failures following on from this one, if any. For
            example, if the validation mode indicates that on failure the file should be deleted,
            but the deletion fails, that exception would be present here. This property
            is either null, or returns an <see cref="T:System.AggregateException"/> containing one or more
            exceptions; it will never return an empty <see cref="T:System.AggregateException"/>.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UploadValidationException.#ctor(System.String,Google.Apis.Storage.v1.Data.Object,System.AggregateException)">
            <summary>
            Creates a new exception.
            </summary>
            <param name="clientSideHash">The hash of the uploaded data, as computed at the client. Must not be null.</param>
            <param name="uploadedObject">The object created by Google Cloud Storage. Must not be null.</param>
            <param name="additionalFailures">Any additional failures encountered while handling the error. May be null; if non-null,
            must contain at least one exception.</param>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UploadValidationMode">
            <summary>
            Describes the validation behavior when uploading data.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.UploadValidationMode.None">
            <summary>
            The upload is not validated.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.UploadValidationMode.ThrowOnly">
            <summary>
            The hash of the data is computed while uploading, and
            if the resulting object has a different hash, an <see cref="T:Google.Cloud.Storage.V1.UploadValidationException"/>
            is thrown, but the object remains present in Storage.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.UploadValidationMode.DeleteAndThrow">
            <summary>
            The hash of the data is computed while uploading, and
            if the resulting object has a different hash, an attempt is made to delete the object.
            Whether the deletion fails or not, an <see cref="T:Google.Cloud.Storage.V1.UploadValidationException"/>
            is thrown. If the deletion fails, that failure can be examined via
            <see cref="P:Google.Cloud.Storage.V1.UploadValidationException.AdditionalFailures"/>
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner">
            <summary>
            Class which helps create signed URLs which can be used to provide limited access to specific buckets and objects
            to anyone in possession of the URL, regardless of whether they have a Google account.
            </summary>
            <remarks>
            See https://cloud.google.com/storage/docs/access-control/signed-urls for more information on signed URLs.
            </remarks>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.CredentialBlobSigner">
            <summary>
            Implementation of <see cref="T:Google.Cloud.Storage.V1.UrlSigner.IBlobSigner"/> to sign a blob from a supported credential.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.ResumableHttpMethod">
            <summary>
            Gets a special HTTP method which can be used to create a signed URL for initiating a resumable upload.
            See https://cloud.google.com/storage/docs/access-control/signed-urls#signing-resumable for more information.
            </summary>
            <remarks>
            Note: When using the RESUMABLE method to create a signed URL, a URL will actually be signed for the POST method with a header of
            'x-goog-resumable:start'. The caller must perform a POST request with this URL and specify the 'x-goog-resumable:start' header as
            well or signature validation will fail.
            </remarks>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.FromCredential(Google.Apis.Auth.OAuth2.ServiceAccountCredential)">
            <summary>
            Creates a new <see cref="T:Google.Cloud.Storage.V1.UrlSigner"/> instance for a service account.
            </summary>
            <param name="credential">The credential for the a service account. Must not be null.</param>
            <remarks>
            Signing happens locally using the private key included on the service account credential.
            </remarks>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.FromCredential(Google.Apis.Auth.OAuth2.ImpersonatedCredential)">
            <summary>
            Creates a new <see cref="T:Google.Cloud.Storage.V1.UrlSigner"/> instance for an impersonated credential.
            Signing is done by the impersonated service account.
            </summary>
            <param name="credential">The impersonated credential. Must not be null.</param>
            <remarks>
            A request to the IAM API is executed for signing which increases latency
            as compared with <see cref="M:Google.Cloud.Storage.V1.UrlSigner.FromCredential(Google.Apis.Auth.OAuth2.ServiceAccountCredential)"/> 
            and that counts towards IAM API quoata consumption.
            </remarks>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.FromCredential(Google.Apis.Auth.OAuth2.ComputeCredential)">
            <summary>
            Creates a new <see cref="T:Google.Cloud.Storage.V1.UrlSigner"/> instance for a compute credential.
            </summary>
            <param name="credential">The compute credential. Must not be null.</param>
            <remarks>
            <para>
            A request to the IAM API is executed for signing which increases latency
            as compared with <see cref="M:Google.Cloud.Storage.V1.UrlSigner.FromCredential(Google.Apis.Auth.OAuth2.ServiceAccountCredential)"/> 
            and that counts towards IAM API quoata consumption.
            </para>
            <para>
            The first time a compute credential is used for signing, a request to the
            metadata server is executed, to obtain the associated service account ID,
            which may increase latency of the overall signing request.
            </para>
            </remarks>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.FromCredential(Google.Apis.Auth.OAuth2.GoogleCredential)">
            <summary>
            Creates a new <see cref="T:Google.Cloud.Storage.V1.UrlSigner"/> instance for a Google credential if
            the wrapped credential type is supported for signing. In that case, this method
            relies on the appropiate UrlSigner.FromCredential overload.
            </summary>
            <param name="credential">
            The Google credential. Must not be null.
            Must wrap a credential currently supported for signing.
            </param>
            <exception cref="T:System.InvalidOperationException">
            The credential wrapped by the Google credential is not currently supported for signing.
            </exception>
            <remarks>
            Please see the specific UrlSigner.FromCredential overloads for more information.
            </remarks>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.FromCredentialFile(System.String)">
            <summary>
            Creates a new <see cref="T:Google.Cloud.Storage.V1.UrlSigner"/> instance from the JSON configuration file of a Google credential.
            See <see cref="M:Google.Cloud.Storage.V1.UrlSigner.FromCredential(Google.Apis.Auth.OAuth2.GoogleCredential)"/> for more information about supported credential types.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.FromCredentialFileAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Creates a new <see cref="T:Google.Cloud.Storage.V1.UrlSigner"/> instance from the JSON configuration file of a Google credential,
            which is read asyncrhonously.
            See <see cref="M:Google.Cloud.Storage.V1.UrlSigner.FromCredential(Google.Apis.Auth.OAuth2.GoogleCredential)"/> for more information about supported credential types.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.FromCredentialStream(System.IO.Stream)">
            <summary>
            Creates a new <see cref="T:Google.Cloud.Storage.V1.UrlSigner"/> instance from a Stream containing the JSON configuration file of a Google Credential.
            See <see cref="M:Google.Cloud.Storage.V1.UrlSigner.FromCredential(Google.Apis.Auth.OAuth2.GoogleCredential)"/> for more information about supported credential types.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.FromCredentialStreamAsync(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Creates a new <see cref="T:Google.Cloud.Storage.V1.UrlSigner"/> instance from a Stream containing the JSON configuration file of a Google Credential.
            The data is read asynchronously.
            See <see cref="M:Google.Cloud.Storage.V1.UrlSigner.FromCredential(Google.Apis.Auth.OAuth2.GoogleCredential)"/> for more information about supported credential types.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.FromServiceAccountPath(System.String)">
            <summary>
            Creates a new <see cref="T:Google.Cloud.Storage.V1.UrlSigner"/> instance for a service account.
            </summary>
            <param name="credentialFilePath">The path to the JSON key file for a service account. Must not be null.</param>
            <exception cref="T:System.InvalidOperationException">
            The <paramref name="credentialFilePath"/> does not refer to a valid JSON service account key file.
            </exception>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.FromServiceAccountData(System.IO.Stream)">
            <summary>
            Creates a new <see cref="T:Google.Cloud.Storage.V1.UrlSigner"/> instance for a service account.
            </summary>
            <param name="credentialData">The stream from which to read the JSON key data for a service account. Must not be null.</param>
            <exception cref="T:System.InvalidOperationException">
            The <paramref name="credentialData"/> does not contain valid JSON service account key data.
            </exception>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.FromServiceAccountCredential(Google.Apis.Auth.OAuth2.ServiceAccountCredential)">
            <summary>
            Creates a new <see cref="T:Google.Cloud.Storage.V1.UrlSigner"/> instance for a service account.
            </summary>
            <param name="credential">The credential for the a service account. Must not be null.</param>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.FromBlobSigner(Google.Cloud.Storage.V1.UrlSigner.IBlobSigner)">
            <summary>
            Creates a new <see cref="T:Google.Cloud.Storage.V1.UrlSigner"/> instance for a custom blob signer.
            </summary>
            <param name="signer">The blob signer to use. Must not be null.</param>
            <returns>A new <see cref="T:Google.Cloud.Storage.V1.UrlSigner"/> using the specified blob signer.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.FromBlobSignerAsyncProvider(System.Func{System.Threading.Tasks.Task{Google.Cloud.Storage.V1.UrlSigner.IBlobSigner}})">
            <summary>
            Creates a new <see cref="T:Google.Cloud.Storage.V1.UrlSigner"/> instance for a custom blob signer obtained
            from the given blob signer provider.
            Note the provider will be only called once, and the returned blob signer will be reused
            for subsequent signing operations with this URL signer.
            </summary>
            <param name="signerAsyncProvider">
            The blob signer async provider to use. Must not be null.
            When called, must not return a null reference or a task which completes with a null result.
            </param>
            <returns>A new <see cref="T:Google.Cloud.Storage.V1.UrlSigner"/> that will use a blob signer obtained from the specified provider function.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.WithClock(Google.Api.Gax.IClock)">
            <summary>
            Only available for testing purposes, this allows the clock used for signature generation to be replaced.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.Sign(System.String,System.String,System.TimeSpan,System.Net.Http.HttpMethod,System.Nullable{Google.Cloud.Storage.V1.SigningVersion})">
            <summary>
            Creates a signed URL which can be used to provide limited access to specific buckets and objects to anyone
            in possession of the URL, regardless of whether they have a Google account.
            </summary>
            <remarks>
            <para>
            When a <see cref="T:Google.Cloud.Storage.V1.UrlSigner"/> is created with a service account credential, the signing can be performed
            with no network access. When it is created with an implementation of <see cref="T:Google.Cloud.Storage.V1.UrlSigner.IBlobSigner"/>, that may require
            network access or other IO. In that case, one of the asynchronous methods should be used when the caller is
            in a context that should not block.
            </para>
            <para>
            See https://cloud.google.com/storage/docs/access-control/signed-urls for more information on signed URLs.
            </para>
            <para>
            Note that when GET is specified as the <paramref name="httpMethod"/> (or it is null, in which case GET is
            used), both GET and HEAD requests can be made with the created signed URL.
            </para>
            </remarks>
            <param name="bucket">The name of the bucket. Must not be null.</param>
            <param name="objectName">The name of the object within the bucket. May be null, in which case the signed URL
            will refer to the bucket instead of an object.</param>
            <param name="duration">The length of time for which the signed URL should remain usable.</param>
            <param name="httpMethod">The HTTP request method for which the signed URL is allowed to be used. May be null,
            in which case GET will be used.</param>
            <param name="signingVersion">The signing version to use to generate the signed URL. May be null, in which case
            <see cref="F:Google.Cloud.Storage.V1.SigningVersion.Default"/> will be used.</param>
            <returns>The signed URL which can be used to provide access to a bucket or object for a limited amount of time.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.Sign(Google.Cloud.Storage.V1.UrlSigner.RequestTemplate,Google.Cloud.Storage.V1.UrlSigner.Options)">
            <summary>
            Creates a signed URL which can be used to provide limited access to specific buckets and objects to anyone
            in possession of the URL, regardless of whether they have a Google account.
            </summary>
            <remarks>
            <para>
            When a <see cref="T:Google.Cloud.Storage.V1.UrlSigner"/> is created with a service account credential, the signing can be performed
            with no network access. When it is created with an implementation of <see cref="T:Google.Cloud.Storage.V1.UrlSigner.IBlobSigner"/>, that may require
            network access or other IO. In that case, one of the asynchronous methods should be used when the caller is
            in a context that should not block.
            </para>
            <para>
            See https://cloud.google.com/storage/docs/access-control/signed-urls for more information on signed URLs.
            </para>
            </remarks>
            <param name="requestTemplate">The request template that will be used to generate the signed URL for. Must not be null.</param>
            <param name="options">The options used to generate the signed URL. Must not be null.</param>
            <returns>
            The signed URL which can be used to provide access to a bucket or object for a limited amount of time.
            </returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.Sign(Google.Cloud.Storage.V1.UrlSigner.PostPolicy,Google.Cloud.Storage.V1.UrlSigner.Options)">
            <summary>
            Signs the given post policy. The result can be used to make form posting requests matching the conditions
            set in the post policy.
            </summary>
            <remarks>
            <para>
            Signing post policies is not supported by <see cref="F:Google.Cloud.Storage.V1.SigningVersion.V2"/>. A <see cref="T:System.NotSupportedException"/>
            will be thrown if an attempt is made to sign a post policy using <see cref="F:Google.Cloud.Storage.V1.SigningVersion.V2"/>.
            </para>
            <para>
            When a <see cref="T:Google.Cloud.Storage.V1.UrlSigner"/> is created with a service account credential, the signing can be performed
            with no network access. When it is created with an implementation of <see cref="T:Google.Cloud.Storage.V1.UrlSigner.IBlobSigner"/>, that may require
            network access or other IO. In that case, one of the asynchronous methods should be used when the caller is
            in a context that should not block.
            </para>
            <para>
            See https://cloud.google.com/storage/docs/xml-api/post-object for more information on signed post policies.
            </para>
            </remarks>
            <param name="postPolicy">The post policy to signed and that will be enforced when making the post request.
            Must not be null.</param>
            <param name="options">The options used to generate the signed post policy. Must not be null.</param>
            <returns>The signed post policy, which contains all the fields that should be including in the form to post.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.SignAsync(System.String,System.String,System.TimeSpan,System.Net.Http.HttpMethod,System.Nullable{Google.Cloud.Storage.V1.SigningVersion},System.Threading.CancellationToken)">
            <summary>
            Creates a signed URL which can be used to provide limited access to specific buckets and objects to anyone
            in possession of the URL, regardless of whether they have a Google account.
            </summary>
            <remarks>
            <para>
            When a <see cref="T:Google.Cloud.Storage.V1.UrlSigner"/> is created with a service account credential, the signing can be performed
            with no network access. When it is created with an implementation of <see cref="T:Google.Cloud.Storage.V1.UrlSigner.IBlobSigner"/>, that may require
            network access or other IO. In that case, one of the asynchronous methods should be used when the caller is
            in a context that should not block.
            </para>
            <para>
            See https://cloud.google.com/storage/docs/access-control/signed-urls for more information on signed URLs.
            </para>
            <para>
            Note that when GET is specified as the <paramref name="httpMethod"/> (or it is null, in which case GET is
            used), both GET and HEAD requests can be made with the created signed URL.
            </para>
            </remarks>
            <param name="bucket">The name of the bucket. Must not be null.</param>
            <param name="objectName">The name of the object within the bucket. May be null, in which case the signed URL
            will refer to the bucket instead of an object.</param>
            <param name="duration">The length of time for which the signed URL should remain usable.</param>
            <param name="httpMethod">The HTTP request method for which the signed URL is allowed to be used. May be null,
            in which case GET will be used.</param>
            <param name="signingVersion">The signing version to use to generate the signed URL. May be null, in which case
            <see cref="F:Google.Cloud.Storage.V1.SigningVersion.Default"/> will be used.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns> A task representing the asynchronous operation, with a result returning the
            signed URL which can be used to provide access to a bucket or object for a limited amount of time.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.SignAsync(Google.Cloud.Storage.V1.UrlSigner.RequestTemplate,Google.Cloud.Storage.V1.UrlSigner.Options,System.Threading.CancellationToken)">
            <summary>
            Asynchronously creates a signed URL which can be used to provide limited access to specific buckets and objects to anyone
            in possession of the URL, regardless of whether they have a Google account.
            </summary>
            <remarks>
            <para>
            When a <see cref="T:Google.Cloud.Storage.V1.UrlSigner"/> is created with a service account credential, the signing can be performed
            with no network access. When it is created with an implementation of <see cref="T:Google.Cloud.Storage.V1.UrlSigner.IBlobSigner"/>, that may require
            network access or other IO. In that case, one of the asynchronous methods should be used when the caller is
            in a context that should not block.
            </para>
            <para>
            See https://cloud.google.com/storage/docs/access-control/signed-urls for more information on signed URLs.
            </para>
            </remarks>
            <param name="requestTemplate">The request template that will be used to generate the signed URL for. Must not be null.</param>
            <param name="options">The options used to generate the signed URL. Must not be null.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>
            A task representing the asynchronous operation, with a result returning the
            signed URL which can be used to provide access to a bucket or object for a limited amount of time.
            </returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.SignAsync(Google.Cloud.Storage.V1.UrlSigner.PostPolicy,Google.Cloud.Storage.V1.UrlSigner.Options,System.Threading.CancellationToken)">
            <summary>
            Signs the given post policy. The result can be used to make form posting requests matching the conditions
            set in the post policy.
            </summary>
            <remarks>
            <para>
            Signing post policies is not supported by <see cref="F:Google.Cloud.Storage.V1.SigningVersion.V2"/>. A <see cref="T:System.NotSupportedException"/>
            will be thrown if an attempt is made to sign a post policy using <see cref="F:Google.Cloud.Storage.V1.SigningVersion.V2"/>.
            </para>
            <para>
            When a <see cref="T:Google.Cloud.Storage.V1.UrlSigner"/> is created with a service account credential, the signing can be performed
            with no network access. When it is created with an implementation of <see cref="T:Google.Cloud.Storage.V1.UrlSigner.IBlobSigner"/>, that may require
            network access or other IO. In that case, one of the asynchronous methods should be used when the caller is
            in a context that should not block.
            </para>
            <para>
            See https://cloud.google.com/storage/docs/xml-api/post-object for more information on signed post policies.
            </para>
            </remarks>
            <param name="postPolicy">The post policy to signed and that will be enforced when making the post request.
            Most not be null.</param>
            <param name="options">The options used to generate the signed post policy. Must not be null.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>The signed post policy, which contains all the fields that should be including in the form to post.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.PrepareHeaderValue(System.String,System.Boolean)">
            <summary>
            Prepares a header value for signing, trimming both ends and collapsing internal whitespace.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.HmacBlobSigner">
            <summary>
            Blob signer to implement signing using an HMAC secret.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.HmacBlobSigner.Id">
            <inheritdoc/>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.HmacBlobSigner.Algorithm">
            <inheritdoc/>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.HmacBlobSigner.#ctor(System.String,System.String)">
            <summary>
            Creates a new HMAC Blob Signer from an HMAC Key ID and Secret.
            </summary>
            <param name="keyId">The HMAC key ID. Must not be null or empty.</param>
            <param name="secret">The HMAC key secret. Must not be null or empty.</param>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.HmacBlobSigner.Create(System.String,System.String)">
            <summary>
            Creates a new HMAC Blob Signer from an HMAC Key ID and Secret.
            </summary>
            <param name="keyId">The HMAC key ID. Must not be null or empty.</param>
            <param name="secret">The HMAC key secret. Must not be null or empty.</param>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.HmacBlobSigner.CreateSignature(System.Byte[],Google.Cloud.Storage.V1.UrlSigner.BlobSignerParameters)">
            <inheritdoc/>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.HmacBlobSigner.CreateSignatureAsync(System.Byte[],Google.Cloud.Storage.V1.UrlSigner.BlobSignerParameters,System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.IBlobSigner">
            <summary>
            Represents the capability of signing a blob in a suitable form for Google Cloud Storage signed URLs.
            This allows testing URL signing without credentials being available, as well as using Google Cloud IAM
            to sign blobs.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.IBlobSigner.CreateSignature(System.Byte[],Google.Cloud.Storage.V1.UrlSigner.BlobSignerParameters)">
            <summary>
            Synchronously signs the given blob.
            </summary>
            <param name="data">The data to sign. Must not be null.</param>
            <param name="parameters">Parameters to use when deriving the signing key.
            Concrete implementations may allow a null value if no parameters are required.</param>
            <returns>The blob signature as base64 text.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.IBlobSigner.CreateSignatureAsync(System.Byte[],Google.Cloud.Storage.V1.UrlSigner.BlobSignerParameters,System.Threading.CancellationToken)">
            <summary>
            Asynchronously signs the given blob.
            </summary>
            <param name="data">The data to sign. Must not be null.</param>
            <param name="parameters">Parameters to use when deriving the signing key.
            Concrete implementations may allow a null value if no parameters are required.</param>
            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
            <returns>A task representing the asynchronous operation, with a result returning the
            blob signature as base64 text.
            </returns>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.IBlobSigner.Id">
            <summary>
            The identity of the signer, typically an email address.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.IBlobSigner.Algorithm">
            <summary>
            The signing algorithm used by this blob signer.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.BlobSignerParameters">
            <summary>
            Parameters that may be used by an IBlobSigner for deriving
            a signing key.
            Signers may ignore some or all of these parameters depending on
            how the derive the signing key.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.BlobSignerParameters.Region">
            <summary>
            Region to be used for deriving the signing key.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.BlobSignerParameters.Service">
            <summary>
            Service to be used for deriving the signing key.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.BlobSignerParameters.RequestType">
            <summary>
            Request type to be used for deriving the signing key.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.BlobSignerParameters.SignatureTimestamp">
            <summary>
            The request date time to be used for deriving the signing key.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.BlobSignerParameters.ForTimestamp(System.DateTimeOffset)">
            <summary>
            Create a new instance of <see cref="T:Google.Cloud.Storage.V1.UrlSigner.BlobSignerParameters"/> for the given <see cref="T:System.DateTimeOffset"/>.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.BlobSignerProvider">
            <summary>
            Class to allow UrlSigner to be independent of whether the IBlobSigner
            is obtained synchronously or asynchronously.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.UrlSigner.BlobSignerProvider._blobSigner">
            <summary>
            This is the blob signer that was used for building this instance
            via <see cref="M:Google.Cloud.Storage.V1.UrlSigner.BlobSignerProvider.#ctor(Google.Cloud.Storage.V1.UrlSigner.IBlobSigner)"/>, if indeed this
            constructor was used. Null otherwise.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.UrlSigner.BlobSignerProvider._cachedBlobSignerTask">
            <summary>
            The cached blob signer building task if this instance was built via
            <see cref="M:Google.Cloud.Storage.V1.UrlSigner.BlobSignerProvider.#ctor(System.Func{System.Threading.Tasks.Task{Google.Cloud.Storage.V1.UrlSigner.IBlobSigner}})"/>. Null otherwise.
            </summary>
            <remarks>
            Once this cached task completes and a blog signer is built,
            obtaining the blob signer is a sync operation. Basically, accessing the cached blob signer is async
            only for the first few threads that attempt it, before the blob signer has been built.
            </remarks>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.ISigner">
            <summary>
            Abstraction over V2/V4 signing details.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.Options">
            <summary>
            Options for the UrlSigner.
            Options can be duration or expiration based regarding the validity of the signed URL.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.Options.Duration">
            <summary>
            The length of time for which the signed URL should remain usable,
            counting from the moment the signed URL is created.
            Exactly one of <see cref="P:Google.Cloud.Storage.V1.UrlSigner.Options.Duration"/> and <see cref="P:Google.Cloud.Storage.V1.UrlSigner.Options.Expiration"/>
            will be set.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.Options.Expiration">
            <summary>
            The point in time after which the signed URL will be invalid.
            Exactly one of <see cref="P:Google.Cloud.Storage.V1.UrlSigner.Options.Duration"/> and <see cref="P:Google.Cloud.Storage.V1.UrlSigner.Options.Expiration"/>
            will be set.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.Options.SigningVersion">
            <summary>
            The signing version to use for generating the signed URL.
            This will default to <see cref="F:Google.Cloud.Storage.V1.SigningVersion.Default"/>
            which is currently the same as <see cref="F:Google.Cloud.Storage.V1.SigningVersion.V4"/>.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.Options.UrlStyle">
            <summary>
            The style of signed URL to generate.
            Defaults to <see cref="F:Google.Cloud.Storage.V1.UrlSigner.UrlStyle.PathStyle"/>.
            </summary>
            <remarks>
            When using <see cref="F:Google.Cloud.Storage.V1.SigningVersion.V2"/> only <see cref="F:Google.Cloud.Storage.V1.UrlSigner.UrlStyle.PathStyle"/> and <see cref="F:Google.Cloud.Storage.V1.UrlSigner.UrlStyle.VirtualHostedStyle"/>
            are supported and <see cref="M:Google.Cloud.Storage.V1.UrlSigner.Sign(Google.Cloud.Storage.V1.UrlSigner.RequestTemplate,Google.Cloud.Storage.V1.UrlSigner.Options)"/> and
            <see cref="M:Google.Cloud.Storage.V1.UrlSigner.SignAsync(Google.Cloud.Storage.V1.UrlSigner.RequestTemplate,Google.Cloud.Storage.V1.UrlSigner.Options,System.Threading.CancellationToken)"/>
            will throw <see cref="T:System.ArgumentException"/> if <see cref="P:Google.Cloud.Storage.V1.UrlSigner.Options.UrlStyle"/> is other than one of these two values.
            </remarks>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.Options.Scheme">
            <summary>
            The Scheme to use for the request. Only http or https supported.
            This will never be null. If null is specified in <see cref="M:Google.Cloud.Storage.V1.UrlSigner.Options.WithScheme(System.String)"/>
            then https will be used.
            Defaults to https.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.Options.BucketBoundHostname">
            <summary>
            A bucket bound host to use for generating the signed URL.
            If <see cref="P:Google.Cloud.Storage.V1.UrlSigner.Options.UrlStyle"/> is <see cref="F:Google.Cloud.Storage.V1.UrlSigner.UrlStyle.BucketBoundHostname"/> this won't be null.
            It will be null otherwise.
            Use <see cref="M:Google.Cloud.Storage.V1.UrlSigner.Options.WithBucketBoundHostname(System.String)"/> to set.
            </summary>
            <remarks>
            When using <see cref="F:Google.Cloud.Storage.V1.SigningVersion.V2"/> bucket bound host names are not supported
            and <see cref="M:Google.Cloud.Storage.V1.UrlSigner.Sign(Google.Cloud.Storage.V1.UrlSigner.RequestTemplate,Google.Cloud.Storage.V1.UrlSigner.Options)"/> and
            <see cref="M:Google.Cloud.Storage.V1.UrlSigner.SignAsync(Google.Cloud.Storage.V1.UrlSigner.RequestTemplate,Google.Cloud.Storage.V1.UrlSigner.Options,System.Threading.CancellationToken)"/>
            will throw <see cref="T:System.ArgumentException"/> if <see cref="P:Google.Cloud.Storage.V1.UrlSigner.Options.BucketBoundHostname"/> is not null.
            </remarks>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.Options.FromDuration(System.TimeSpan)">
            <summary>
            Creates a new <see cref="T:Google.Cloud.Storage.V1.UrlSigner.Options"/> from the given duration.
            </summary>
            <param name="duration">The duration to create these options with.</param>
            <returns>A new options set.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.Options.FromExpiration(System.DateTimeOffset)">
            <summary>
            Creates a new <see cref="T:Google.Cloud.Storage.V1.UrlSigner.Options"/> from the given expiration.
            </summary>
            <param name="expiration">The expiration to create these options with.</param>
            <returns>A new options set.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.Options.ToExpiration(System.DateTimeOffset)">
            <summary>
            If this set of options was duration based, this method will return a new set
            of options whose expiration will be calculated based on this instance duration
            and the given <see cref="T:System.DateTimeOffset"/>.
            If this set of options was expiration based this same instance will be returned.
            </summary>
            <param name="now">The <see cref="T:System.DateTimeOffset"/> that represents the current instant in time.</param>
            <returns>An expiration based set of options.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.Options.WithDuration(System.TimeSpan)">
            <summary>
            Returns a new set of options with the same values as this one but duration based.
            </summary>
            <param name="duration">The new duration.</param>
            <returns>A new set of options with the given duration.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.Options.WithExpiration(System.DateTimeOffset)">
            <summary>
            Returns a new set of options with the same values as this one but expiration based.
            </summary>
            <param name="expiration">The new expiration.</param>
            <returns>A new set of options with the given expiration.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.Options.WithSigningVersion(Google.Cloud.Storage.V1.SigningVersion)">
            <summary>
            Returns a new set of options with the same values as this one except for the signing version.
            </summary>
            <param name="version">The new signing version.</param>
            <returns>A set of options with the given signing version.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.Options.WithUrlStyle(Google.Cloud.Storage.V1.UrlSigner.UrlStyle)">
            <summary>
            Returns a new set of options with the same values as this one except for the
            <see cref="P:Google.Cloud.Storage.V1.UrlSigner.Options.UrlStyle"/> value.
            </summary>
            <param name="urlStyle">The new url style.</param>
            <returns>A new set ofoptions with the given url style.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.Options.WithScheme(System.String)">
            <summary>
            Returns a new set of options with the same values as this one except for the scheme.
            </summary>
            <param name="scheme">The new scheme. May be null in which case https will be used.</param>
            <returns>A new set of options with the given scheme.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.Options.WithBucketBoundHostname(System.String)">
            <summary>
            Returns a new set of options with the same values as this one except for bucket bound domain
            and the url style which will be set to <see cref="F:Google.Cloud.Storage.V1.UrlSigner.UrlStyle.BucketBoundHostname"/>.
            </summary>
            <param name="bucketBoundHostname">The new bucket bound domain.</param>
            <returns>A new set of options with the given bucket bound domain and the url style set to
            <see cref="F:Google.Cloud.Storage.V1.UrlSigner.UrlStyle.BucketBoundHostname"/>.</returns>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.PostPolicyStandardElement">
            <summary>
            A standard element that can be added to a <see cref="T:Google.Cloud.Storage.V1.UrlSigner.PostPolicy"/>.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.UrlSigner.PostPolicyStandardElement.Acl">
            <summary>
            The ACL that you want to allow for the objects that will be uploaded.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.UrlSigner.PostPolicyStandardElement.BucketName">
            <summary>
            The name of the bucket that you want to allow uploads to.
            Alternatively, you can include the bucket name when you add 
            the <see cref="F:Google.Cloud.Storage.V1.UrlSigner.PostPolicyStandardElement.Key"/> element.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.UrlSigner.PostPolicyStandardElement.CacheControl">
            <summary>
            The cache control you want to allow for the objects that will be uploaded.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.UrlSigner.PostPolicyStandardElement.ContentDisposition">
            <summary>
            The content disposition you want to allow for the objects that will be uploaded.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.UrlSigner.PostPolicyStandardElement.ContentEncoding">
            <summary>
            The content encoding you want to allow for the objects that will be uploaded.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.UrlSigner.PostPolicyStandardElement.ContentLength">
            <summary>
            The content length you want to allow for the objects that will be uploaded.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.UrlSigner.PostPolicyStandardElement.ContentType">
            <summary>
            The content type you want to allow for the objects that will be uploaded.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.UrlSigner.PostPolicyStandardElement.ObjectExpiry">
            <summary>
            The date and time you want to allow before objects that will be uploaded
            are considered stale by the browser.
            The value for this element will be included in the <see cref="T:Google.Cloud.Storage.V1.UrlSigner.PostPolicy"/>
            in ISO8601 basic format. When using this element for <see cref="M:Google.Cloud.Storage.V1.UrlSigner.PostPolicy.SetStartsWith(Google.Cloud.Storage.V1.UrlSigner.PostPolicyStandardElement,System.String)"/>
            you should specify the part of the ISO8601 basic format representation that you want
            values on upload to start with.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.UrlSigner.PostPolicyStandardElement.Key">
            <summary>
            The acceptable key name or a prefix for the uploaded objects.
            This element should always be present in a post policy.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.UrlSigner.PostPolicyStandardElement.SuccessActionRedirect">
            <summary>
            The allowed URL to which the client is redirected upon successful upload.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.UrlSigner.PostPolicyStandardElement.SuccessActionStatus">
            <summary>
            The status code returned to the client upon successful upload if 
            <see cref="F:Google.Cloud.Storage.V1.UrlSigner.PostPolicyStandardElement.SuccessActionRedirect"/> is not specified.
            Allowed values are <see cref="F:System.Net.HttpStatusCode.OK"/>, <see cref="F:System.Net.HttpStatusCode.Created"/>,
            <see cref="F:System.Net.HttpStatusCode.NoContent"/>.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.PostPolicyCustomElement">
            <summary>
            A custom element that can be added to a <see cref="T:Google.Cloud.Storage.V1.UrlSigner.PostPolicy"/>.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.UrlSigner.PostPolicyCustomElement.GoogleMetadata">
            <summary>
            Custom element used for requiering extra Google metadata to be included
            in the post request. The element name you provide should start with x-goog-meta-.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.UrlSigner.PostPolicyCustomElement.Custom">
            <summary>
            Custom element used for requiering extra fields to be included in the post request.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.PostPolicy">
            <summary>
            Represents an unsigned post policy. It needs to be signed with <see cref="M:Google.Cloud.Storage.V1.UrlSigner.Sign(Google.Cloud.Storage.V1.UrlSigner.PostPolicy,Google.Cloud.Storage.V1.UrlSigner.Options)"/> 
            before it is used to enforced policies when posting objects via form.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.PostPolicy.ForBucketAndKey(System.String,System.String)">
            <summary>
            Creates a new <see cref="T:Google.Cloud.Storage.V1.UrlSigner.PostPolicy"/> instance which sets the
            <see cref="F:Google.Cloud.Storage.V1.UrlSigner.PostPolicyStandardElement.BucketName"/> and requires
            an exact match for the <see cref="T:Google.Cloud.Storage.V1.UrlSigner.Key"/> element.
            </summary>
            <param name="bucketName">The exact value for the bucket name.</param>
            <param name="exactKeyValue">The value to match against. Must not be null.</param>
            <returns>A new <see cref="T:Google.Cloud.Storage.V1.UrlSigner.PostPolicy"/> instance.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.PostPolicy.ForBucketAndKeyStartsWith(System.String,System.String)">
            <summary>
            Creates a new <see cref="T:Google.Cloud.Storage.V1.UrlSigner.PostPolicy"/> instance which sets the
            <see cref="F:Google.Cloud.Storage.V1.UrlSigner.PostPolicyStandardElement.BucketName"/> and requires
            a starts-with match for the <see cref="F:Google.Cloud.Storage.V1.UrlSigner.PostPolicyStandardElement.Key"/> element.
            </summary>
            <param name="bucketName">The exact value for the bucket name.</param>
            <param name="keyPrefix">The value to match against. Must not be null.</param>
            <returns>A new <see cref="T:Google.Cloud.Storage.V1.UrlSigner.PostPolicy"/> instance.</returns>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.PostPolicy.Bucket">
            <summary>
            Bucket name explicitly enforced by this policy, that is,
            if <see cref="M:Google.Cloud.Storage.V1.UrlSigner.PostPolicy.SetField``2(``0,``1)"/> has been called
            for <see cref="F:Google.Cloud.Storage.V1.UrlSigner.PostPolicyStandardElement.BucketName"/>.
            Otherwise, for instance, if the bucket name was specified as part of the
            <see cref="F:Google.Cloud.Storage.V1.UrlSigner.PostPolicyStandardElement.Key"/> element, this will return null.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.PostPolicy.Fields">
            <summary>
            Collection of fields as defined by this policy.
            Post requests enforced by this policy should set, for each
            pair in this sequence, the given element to the exact given value.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.PostPolicy.SetField``1(Google.Cloud.Storage.V1.UrlSigner.PostPolicyStandardElement,``0)">
            <summary>
            Sets a required field value for <paramref name="element"/>.
            If any condition existed on this instance for <paramref name="element"/> it will
            be overriden with this required field value.
            </summary>
            <typeparam name="TValue">The type of the value to set the element to.</typeparam>
            <param name="element">The element for which to set a required field value.</param>
            <param name="value">The value to set the element to.</param>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.PostPolicy.SetStartsWith(Google.Cloud.Storage.V1.UrlSigner.PostPolicyStandardElement,System.String)">
            <summary>
            Sets a starts-with condition for <paramref name="element"/>.
            If any condition existed on this instance for <paramref name="element"/> it will
            be overriden with this starts-with condition.
            </summary>
            <param name="element">The element for which to set an starts-with condition.</param>
            <param name="prefix">The prefix to validate against.</param>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.PostPolicy.SetRange``1(Google.Cloud.Storage.V1.UrlSigner.PostPolicyStandardElement,``0,``0)">
            <summary>
            Sets a range condition for <paramref name="element"/>.
            If any condition existed on this instance for <paramref name="element"/> it will
            be overriden with this range condition.
            </summary>
            <typeparam name="TValue">The type of the values defining the range.</typeparam>
            <param name="element">The element for which to set a range condition.</param>
            <param name="min">The range lower bound.</param>
            <param name="max">The range upper bound.</param>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.PostPolicy.SetCustomField``1(Google.Cloud.Storage.V1.UrlSigner.PostPolicyCustomElement,System.String,``0,System.Func{``0,System.Object})">
            <summary>
            Sets a required field value for <paramref name="element"/> of name <paramref name="elementName"/>.
            If any condition existed on this instance for <paramref name="element"/> of name <paramref name="elementName"/>
            it will be overriden with this required field value.
            </summary>
            <typeparam name="TValue">The type of the value to set the element to.</typeparam>
            <param name="element">The element for which to set a required field value.</param>
            <param name="elementName">The custom element name.</param>
            <param name="value">The value to set the element to.</param>
            <param name="valueToObject">The function to convert <paramref name="value"/> to the
            representation which with it should be included in the policy. May be null in which case
            <typeparamref name="TValue"/> ToString() will be used.</param>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.PostPolicy.SetCustomStartsWith(Google.Cloud.Storage.V1.UrlSigner.PostPolicyCustomElement,System.String,System.String)">
            <summary>
            Sets a starts-with condition for <paramref name="element"/> of name <paramref name="elementName"/>.
            If any condition existed on this instance for <paramref name="element"/> of name <paramref name="elementName"/>
            it will be overriden with this starts-with condition.
            </summary>
            <param name="element">The element for which to set an starts-with condition.</param>
            <param name="elementName">The custom element name.</param>
            <param name="prefix">The prefix to validate against.</param>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.IPostPolicyCondition">
            <summary>
            Represents a matching condition that is used to include
            <see cref="T:Google.Cloud.Storage.V1.UrlSigner.IPostPolicyElement"/> in a <see cref="T:Google.Cloud.Storage.V1.UrlSigner.PostPolicy"/>.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.IPostPolicyCondition.WriteTo(Newtonsoft.Json.JsonWriter)">
            <summary>
            Writes this condition to the given <see cref="T:Newtonsoft.Json.JsonWriter"/>.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.IExactMatch.Field">
            <summary>
            The element name / value pair that this condition defines.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.ExactMatch`2">
            <summary>
            Represents the exact match condition for <see cref="T:Google.Cloud.Storage.V1.UrlSigner.IPostPolicyElement"/>
            included in a <see cref="T:Google.Cloud.Storage.V1.UrlSigner.PostPolicy"/>.
            </summary>
            <typeparam name="TElement">The type of the element this condition acts upon.</typeparam>
            <typeparam name="TValue">The type of the values allowed by <see cref="T:Google.Cloud.Storage.V1.UrlSigner.IPostPolicyElement"/>.</typeparam>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.ExactMatch`2.Element">
            <summary>
            The element this condition applies to.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.ExactMatch`2.Field">
            <inheritdoc/>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.ExactMatch`2.Value">
            <summary>
            The exact value to match.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.ExactMatch`2.Google#Cloud#Storage#V1#UrlSigner#IPostPolicyCondition#WriteTo(Newtonsoft.Json.JsonWriter)">
            <inheritdoc/>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.StartsWith`1">
            <summary>
            Represents the starts with condition for <see cref="T:Google.Cloud.Storage.V1.UrlSigner.IPostPolicyElement"/>
            included in a <see cref="T:Google.Cloud.Storage.V1.UrlSigner.PostPolicy"/>.
            <typeparam name="TElement">The type of the element this condition acts upon.</typeparam>
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.StartsWith`1.Element">
            <summary>
            The element this condition applies to.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.StartsWith`1.Prefix">
            <summary>
            The prefix to match against.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.StartsWith`1.Google#Cloud#Storage#V1#UrlSigner#IPostPolicyCondition#WriteTo(Newtonsoft.Json.JsonWriter)">
            <inheritdoc/>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.InRange`2">
            <summary>
            Represents the range condition for <see cref="T:Google.Cloud.Storage.V1.UrlSigner.IPostPolicyElement"/>
            included in a <see cref="T:Google.Cloud.Storage.V1.UrlSigner.PostPolicy"/>.
            </summary>
            <typeparam name="TElement">The type of the element this condition acts upon.</typeparam>
            <typeparam name="TValue">
            The type of the values allowed by <see cref="T:Google.Cloud.Storage.V1.UrlSigner.IPostPolicyElement"/>.</typeparam>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.InRange`2.Element">
            <summary>
            The element this condition applies to.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.InRange`2.Min">
            <summary>
            The min range value.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.InRange`2.Max">
            <summary>
            The max range value.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.IPostPolicyElement">
            <summary>
            Represents an element that can be included on a <see cref="T:Google.Cloud.Storage.V1.UrlSigner.PostPolicy"/>.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.IPostPolicyElement.ElementName">
            <summary>
            The name with which the element is included on a <see cref="T:Google.Cloud.Storage.V1.UrlSigner.PostPolicy"/>.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.ISupportsExact`1">
            <summary>
            Represents a <see cref="T:Google.Cloud.Storage.V1.UrlSigner.IPostPolicyElement"/> that supports the exact match condition operation.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.ISupportsExact`1.ToPostPolicyValue(`0)">
            <summary>
            A way to convert the values of <typeparamref name="TValue"/> to
            the representation with which to include them on the <see cref="T:Google.Cloud.Storage.V1.UrlSigner.PostPolicy"/>.
            </summary>
            <param name="value">The value for which to return the corresponding representation.</param>
            <returns>The representation of the given value.</returns>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.ISupportsRange`1">
            <summary>
            Represents a <see cref="T:Google.Cloud.Storage.V1.UrlSigner.IPostPolicyElement"/> that supports the range match condition operation.
            </summary>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.ISupportsRange`1.ToPostPolicyValue(`0)">
            <summary>
            A way to convert the values of <typeparamref name="TValue"/> to
            the representation with which to include them on the <see cref="T:Google.Cloud.Storage.V1.UrlSigner.PostPolicy"/>.
            </summary>
            <param name="value">The value for which to return the corresponding representation.</param>
            <returns>The representation of the given value.</returns>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.ISupportsStartsWith">
            <summary>
            Represents a <see cref="T:Google.Cloud.Storage.V1.UrlSigner.IPostPolicyElement"/> that supports the starts with condition operation.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.Acl">
            <summary>
            The ACL that you want to allow for the objects that will be uploaded.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.Acl.Element">
            <summary>
            The default acl element.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.Acl.Google#Cloud#Storage#V1#UrlSigner#IPostPolicyElement#ElementName">
            <inheritdoc/>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.Acl.Google#Cloud#Storage#V1#UrlSigner#ISupportsExact{System#String}#ToPostPolicyValue(System.String)">
            <inheritdoc/>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.BucketName">
            <summary>
            The name of the bucket that you want to allow uploads to.
            Alternatively, you can include the bucket name in the <see cref="T:Google.Cloud.Storage.V1.UrlSigner.Key"/> element.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.BucketName.Element">
            <summary>
            The default bucket element.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.BucketName.Google#Cloud#Storage#V1#UrlSigner#IPostPolicyElement#ElementName">
            <inheritdoc/>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.BucketName.Google#Cloud#Storage#V1#UrlSigner#ISupportsExact{System#String}#ToPostPolicyValue(System.String)">
            <inheritdoc/>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.CacheControl">
            <summary>
            The cache control you want to allow for the objects that will be uploaded.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.CacheControl.Element">
            <summary>
            The default cache-control element.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.CacheControl.Google#Cloud#Storage#V1#UrlSigner#IPostPolicyElement#ElementName">
            <inheritdoc/>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.CacheControl.Google#Cloud#Storage#V1#UrlSigner#ISupportsExact{System#String}#ToPostPolicyValue(System.String)">
            <inheritdoc/>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.ContentDisposition">
            <summary>
            The content disposition you want to allow for the objects that will be uploaded.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.ContentDisposition.Element">
            <summary>
            The default content-disposition element.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.ContentDisposition.Google#Cloud#Storage#V1#UrlSigner#IPostPolicyElement#ElementName">
            <inheritdoc/>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.ContentDisposition.Google#Cloud#Storage#V1#UrlSigner#ISupportsExact{System#String}#ToPostPolicyValue(System.String)">
            <inheritdoc/>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.ContentEncoding">
            <summary>
            The content encoding you want to allow for the objects that will be uploaded.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.ContentEncoding.Element">
            <summary>
            The default content-encoding element.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.ContentEncoding.Google#Cloud#Storage#V1#UrlSigner#IPostPolicyElement#ElementName">
            <inheritdoc/>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.ContentEncoding.Google#Cloud#Storage#V1#UrlSigner#ISupportsExact{System#String}#ToPostPolicyValue(System.String)">
            <inheritdoc/>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.ContentLength">
            <summary>
            The content length you want to allow for the objects that will be uploaded.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.ContentLength.Element">
            <summary>
            The default content-length element.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.ContentLength.Google#Cloud#Storage#V1#UrlSigner#IPostPolicyElement#ElementName">
            <inheritdoc/>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.ContentLength.Google#Cloud#Storage#V1#UrlSigner#ISupportsRange{System#Int64}#ToPostPolicyValue(System.Int64)">
            <inheritdoc/>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.ContentLength.Google#Cloud#Storage#V1#UrlSigner#ISupportsRange{System#Int32}#ToPostPolicyValue(System.Int32)">
            <inheritdoc/>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.ContentType">
            <summary>
            The content type you want to allow for the objects that will be uploaded.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.ContentType.Element">
            <summary>
            The default content-type element.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.ContentType.Google#Cloud#Storage#V1#UrlSigner#IPostPolicyElement#ElementName">
            <inheritdoc/>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.ContentType.Google#Cloud#Storage#V1#UrlSigner#ISupportsExact{System#String}#ToPostPolicyValue(System.String)">
            <inheritdoc/>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.ObjectExpiry">
            <summary>
            The date and time you want to allow before objects that will be uploaded
            are considered stale by the browser.
            The value for this element will be included in the <see cref="T:Google.Cloud.Storage.V1.UrlSigner.PostPolicy"/>
            in ISO8601 basic format. When using this element as a <see cref="T:Google.Cloud.Storage.V1.UrlSigner.ISupportsStartsWith"/>
            you should specify the part of the ISO8601 basic format representation that you want
            values on upload to start with.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.ObjectExpiry.Element">
            <summary>
            The default expires element.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.ObjectExpiry.Google#Cloud#Storage#V1#UrlSigner#IPostPolicyElement#ElementName">
            <inheritdoc/>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.ObjectExpiry.Google#Cloud#Storage#V1#UrlSigner#ISupportsExact{System#DateTimeOffset}#ToPostPolicyValue(System.DateTimeOffset)">
            <inheritdoc/>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.Key">
            <summary>
            The acceptable key name or a prefix for the uploaded objects.
            This element should always be present in a post policy.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.Key.Element">
            <summary>
            The default key element.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.Key.Google#Cloud#Storage#V1#UrlSigner#IPostPolicyElement#ElementName">
            <inheritdoc/>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.Key.Google#Cloud#Storage#V1#UrlSigner#ISupportsExact{System#String}#ToPostPolicyValue(System.String)">
            <inheritdoc/>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.SuccessActionRedirect">
            <summary>
            The allowed URL to which the client is redirected upon successful upload.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.SuccessActionRedirect.Element">
            <summary>
            The default success-action-redirect element.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.SuccessActionRedirect.Google#Cloud#Storage#V1#UrlSigner#IPostPolicyElement#ElementName">
            <inheritdoc/>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.SuccessActionRedirect.Google#Cloud#Storage#V1#UrlSigner#ISupportsExact{System#Uri}#ToPostPolicyValue(System.Uri)">
            <inheritdoc/>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.SuccessActionRedirect.Google#Cloud#Storage#V1#UrlSigner#ISupportsExact{System#String}#ToPostPolicyValue(System.String)">
            <inheritdoc/>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.SuccessActionStatus">
            <summary>
            The status code returned to the client upon successful upload if 
            <see cref="T:Google.Cloud.Storage.V1.UrlSigner.SuccessActionRedirect"/> is not specified.
            Allowed values are 200, 201 and 204.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.SuccessActionStatus.Element">
            <summary>
            The default success-action-status element.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.SuccessActionStatus.Google#Cloud#Storage#V1#UrlSigner#IPostPolicyElement#ElementName">
            <inheritdoc/>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.SuccessActionStatus.Google#Cloud#Storage#V1#UrlSigner#ISupportsExact{System#Net#HttpStatusCode}#ToPostPolicyValue(System.Net.HttpStatusCode)">
            <inheritdoc/>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.GoogleMetadata`1">
            <summary>
            Custom element used for requiering extra Google metadata to be included
            in the post request.
            </summary>
            <typeparam name="TValue">The type for the values of the element.</typeparam>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.GoogleMetadata`1.#ctor(System.String,System.Func{`0,System.Object})">
            <summary>
            Creates a new element with the given name.
            </summary>
            <param name="name">The name for this element that must start with x-goog-meta-. Must not be null.</param>
            <param name="valueToObjectFunc">The function to use to convert <typeparamref name="TValue"/> values
            to the representation with which they will be included in a <see cref="T:Google.Cloud.Storage.V1.UrlSigner.PostPolicy"/>.
            May be null in which case <typeparamref name="TValue"/> ToString() will be used.</param>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.GoogleMetadata`1.Google#Cloud#Storage#V1#UrlSigner#IPostPolicyElement#ElementName">
            <inheritdoc/>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.GoogleMetadata`1.Google#Cloud#Storage#V1#UrlSigner#ISupportsExact{TValue}#ToPostPolicyValue(`0)">
            <inheritdoc/>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.GoogleMetadata`1.Equals(System.Object)">
            <inheritdoc/>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.GoogleMetadata`1.GetHashCode">
            <inheritdoc/>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.GoogleMetadataElementFactory.Default">
            <summary>
            The default x-goog-meta- element factory.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.CustomElement`1">
            <summary>
            Custom element used for requiering extra fields to be included in the post request.
            </summary>
            <typeparam name="TValue">The type for the values of the element.</typeparam>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.CustomElement`1.#ctor(System.String,System.Func{`0,System.Object})">
            <summary>
            Creates a new element with the given name.
            </summary>
            <param name="name">The name for this element. It will be lowercased
            to obtain the element name.</param>
            <param name="valueToObjectFunc">The function to use to convert <typeparamref name="TValue"/> values
            to the representation with which they'll be included in a <see cref="T:Google.Cloud.Storage.V1.UrlSigner.PostPolicy"/>.
            May be null in wich case <typeparamref name="TValue"/> ToString() will be used.</param>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.CustomElement`1.Google#Cloud#Storage#V1#UrlSigner#IPostPolicyElement#ElementName">
            <inheritdoc/>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.CustomElement`1.Google#Cloud#Storage#V1#UrlSigner#ISupportsExact{TValue}#ToPostPolicyValue(`0)">
            <inheritdoc/>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.CustomElement`1.Equals(System.Object)">
            <inheritdoc/>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.CustomElement`1.GetHashCode">
            <inheritdoc/>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.CustomElementFactory.Default">
            <summary>
            The default custom element factory.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.PolicyAlgorithm.Element">
            <summary>
            The default x-goog-algorithm element.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.PolicyAlgorithm.Google#Cloud#Storage#V1#UrlSigner#IPostPolicyElement#ElementName">
            <inheritdoc/>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.PolicyAlgorithm.Google#Cloud#Storage#V1#UrlSigner#ISupportsExact{System#String}#ToPostPolicyValue(System.String)">
            <inheritdoc/>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.PolicyCredential.Element">
            <summary>
            The default x-goog-credential element.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.PolicyCredential.Google#Cloud#Storage#V1#UrlSigner#IPostPolicyElement#ElementName">
            <inheritdoc/>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.PolicyCredential.Google#Cloud#Storage#V1#UrlSigner#ISupportsExact{System#String}#ToPostPolicyValue(System.String)">
            <inheritdoc/>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.PolicyCreationDateTime.Element">
            <summary>
            The default x-goog-date element.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.PolicyCreationDateTime.Google#Cloud#Storage#V1#UrlSigner#IPostPolicyElement#ElementName">
            <inheritdoc/>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.PolicyCreationDateTime.Google#Cloud#Storage#V1#UrlSigner#ISupportsExact{System#DateTimeOffset}#ToPostPolicyValue(System.DateTimeOffset)">
            <inheritdoc/>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.RequestTemplate">
            <summary>
            Represents the request template to be signed.
            </summary>
            <remarks>
            <para>
            When either of the headers collections are specified, there are certain headers which will be included in the
            signed URL's signature, and therefore must be included in requests made with the created URL. These are the
            Content-MD5 and Content-Type content headers as well as any content or request header with a name starting
            with "x-goog-".
            </para>
            <para>
            If the headers collections are null or empty, no headers are included in the signed URL's signature, so any
            requests made with the created URL must not contain Content-MD5, Content-Type, or any header starting with "x-goog-".
            </para>
            <para>
            Note that when GET is specified as the <see cref="P:Google.Cloud.Storage.V1.UrlSigner.RequestTemplate.HttpMethod"/> (or it is null, in which case GET is
            used), both GET and HEAD requests can be made with the created signed URL.
            </para>
            </remarks>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.RequestTemplate.Bucket">
            <summary>
            The name of the bucket. This will never be null.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.RequestTemplate.ObjectName">
            <summary>
            The name of the object within the bucket. May be null, in which case the signed URL
            will refer to the bucket instead of an object.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.RequestTemplate.HttpMethod">
            <summary>
            The HTTP request method for which the signed URL is allowed to be used.
            This will never be null. If null is specified in <see cref="M:Google.Cloud.Storage.V1.UrlSigner.RequestTemplate.WithHttpMethod(System.Net.Http.HttpMethod)"/>
            then this value will be set to <see cref="P:System.Net.Http.HttpMethod.Get"/>.
            Will default to <see cref="P:System.Net.Http.HttpMethod.Get"/>.
            </summary>
            <remarks>
            <para>
            Note that when GET is specified as the <see cref="P:Google.Cloud.Storage.V1.UrlSigner.RequestTemplate.HttpMethod"/>, 
            both GET and HEAD requests can be made with the created signed URL.
            </para>
            </remarks>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.RequestTemplate.RequestHeaders">
            <summary>
            The headers which will be included with the request. This will never be null.
            If null is specified in <see cref="M:Google.Cloud.Storage.V1.UrlSigner.RequestTemplate.WithRequestHeaders(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.Collections.Generic.IEnumerable{System.String}}})"/>
            then an empty dictionary will be used.
            </summary>
            <remarks>
            <para>
            When using <see cref="F:Google.Cloud.Storage.V1.SigningVersion.V2"/>, from all the headers supplied in <see cref="P:Google.Cloud.Storage.V1.UrlSigner.RequestTemplate.RequestHeaders"/>,
            only the ones starting with "x-goog-" will be included in the signed URL's signature 
            and therefor must be included in requests made with the created URL.
            All other headers supplied in <see cref="P:Google.Cloud.Storage.V1.UrlSigner.RequestTemplate.RequestHeaders"/> will be ignored when creating the signed URL 
            so they shouldn't be included in requests made with the created URL.
            </para>
            When using <see cref="F:Google.Cloud.Storage.V1.SigningVersion.V4"/> all headers supplied in <see cref="P:Google.Cloud.Storage.V1.UrlSigner.RequestTemplate.RequestHeaders"/>
            will be included in the signed URL's signature and therefor must be included in requests made with the created URL.
            <para>
            Note that if the entity is encrypted with customer-supplied encryption keys (see
            https://cloud.google.com/storage/docs/encryption for more information), the <b>x-goog-encryption-algorithm</b>,
            <b>x-goog-encryption-key</b>, and <b>x-goog-encryption-key-sha256</b> headers will be required when making the
            request. However, only the x-goog-encryption-algorithm header is included in the signature for the signed URL.
            So the <see cref="P:Google.Cloud.Storage.V1.UrlSigner.RequestTemplate.RequestHeaders"/> specified only need to have the x-goog-encryption-algorithm header.
            </para>
            </remarks>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.RequestTemplate.ContentHeaders">
            <summary>
            The headers for the content which will be included with the request. This will never be null.
            If null is specified in <see cref="M:Google.Cloud.Storage.V1.UrlSigner.RequestTemplate.WithContentHeaders(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.Collections.Generic.IEnumerable{System.String}}})"/>
             then an empty dictionary will be used.
            </summary>
            <remarks>
            <para>
            When using <see cref="F:Google.Cloud.Storage.V1.SigningVersion.V2"/>, from all the headers supplied in <see cref="P:Google.Cloud.Storage.V1.UrlSigner.RequestTemplate.ContentHeaders"/>,
            only the ones starting with "x-goog-", the Content-MD5 and the Content-Type headers
            will be included in the signed URL's signature and therefor must be included in requests made with the created URL.
            All other headers supplied in <see cref="P:Google.Cloud.Storage.V1.UrlSigner.RequestTemplate.ContentHeaders"/> will be ignored when creating the signed URL
            so they shouldn't be included in requests made with the created URL.
            </para>
            <para>
            When using <see cref="F:Google.Cloud.Storage.V1.SigningVersion.V4"/> all headers supplied in <see cref="P:Google.Cloud.Storage.V1.UrlSigner.RequestTemplate.ContentHeaders"/>
            will be included in the signed URL's signature and therefor must be included in requests made with the created URL.
            </para>
            </remarks>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.RequestTemplate.QueryParameters">
            <summary>
            The query parameters which will be included with the request. This will never be null.
            If null is specified in <see cref="M:Google.Cloud.Storage.V1.UrlSigner.RequestTemplate.WithQueryParameters(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.Collections.Generic.IEnumerable{System.String}}})"/>
            then an empty dictionary will be used.
            </summary>
            <remarks>
            When using <see cref="F:Google.Cloud.Storage.V1.SigningVersion.V2"/> custom query parameters are not supported by the signing process
            and <see cref="M:Google.Cloud.Storage.V1.UrlSigner.Sign(Google.Cloud.Storage.V1.UrlSigner.RequestTemplate,Google.Cloud.Storage.V1.UrlSigner.Options)"/> and
            <see cref="M:Google.Cloud.Storage.V1.UrlSigner.SignAsync(Google.Cloud.Storage.V1.UrlSigner.RequestTemplate,Google.Cloud.Storage.V1.UrlSigner.Options,System.Threading.CancellationToken)"/>
            will throw <see cref="T:System.ArgumentException"/> if <see cref="P:Google.Cloud.Storage.V1.UrlSigner.RequestTemplate.QueryParameters"/> is not
            an empty dictionary, that is, if one or more custom query parameters have been specified.
            </remarks>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.RequestTemplate.FromBucket(System.String)">
            <summary>
            Creates a new request template to sign from the given bucket name.
            </summary>
            <param name="bucket">The name of the bucket for which the signed URL will be created.
            Must not be null.</param>
            <returns>A new request template.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.RequestTemplate.WithBucket(System.String)">
            <summary>
            Returns a new request template with all the same settings as this one
            except for the bucket name.
            </summary>
            <param name="bucket">The new bucket name. Must not be null.</param>
            <returns>A new request template.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.RequestTemplate.WithObjectName(System.String)">
            <summary>
            Returns a new request template with all the same settings as this one
            except for the object name.
            </summary>
            <param name="objectName">The new object name.  May be null, in which case the signed URL
            will refer to the bucket instead of an object.</param>
            <returns>A new request template.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.RequestTemplate.WithHttpMethod(System.Net.Http.HttpMethod)">
            <summary>
            Returns a new request template with all the same settings as this one
            except for the HTTP method.
            </summary>
            <param name="method">The new HTTP method. May be null, in which case
            <see cref="P:System.Net.Http.HttpMethod.Get"/> will be used.</param>
            <returns>A new request template.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.RequestTemplate.WithRequestHeaders(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.Collections.Generic.IEnumerable{System.String}}})">
            <summary>
            Returns a new request template with all the same settings as this one
            except for the request headers.
            </summary>
            <param name="requestHeaders">The new request headers. May be null, in which case
            an empty collection will be used.</param>
            <returns>A new request template.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.RequestTemplate.WithContentHeaders(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.Collections.Generic.IEnumerable{System.String}}})">
            <summary>
            Returns a new request template with all the same settings as this one
            except for the content headers.
            </summary>
            <param name="contentHeaders">The new content headers. May be null, in which case
            an empty collection will be used.</param>
            <returns>A new request template.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.RequestTemplate.WithQueryParameters(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.Collections.Generic.IEnumerable{System.String}}})">
            <summary>
            Returns a new request template with all the same settings as this one
            except for the query parameters.
            </summary>
            <param name="queryParameters">The new query parameters. May be null, in which case
            an empty collection will be used.</param>
            <returns>A new request template.</returns>
        </member>
        <member name="M:Google.Cloud.Storage.V1.UrlSigner.RequestTemplate.WithHttpRequestMessage(System.Net.Http.HttpRequestMessage)">
            <summary>
            Returns a new request template with all the same settings as this one
            except for all the information that can be obtained from <paramref name="requestMessage"/>,
            that is the HTTP method, the request headers and the content headers.
            </summary>
            <param name="requestMessage">The new request message. May be null, in which case
            the default values for all the affected properties will be used..</param>
            <returns>A new request template.</returns>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.SignedPostPolicy">
            <summary>
            The result of signing a <see cref="T:Google.Cloud.Storage.V1.UrlSigner.PostPolicy"/>
            containing the fields that should be including when
            making the post request.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.SignedPostPolicy.PostUrl">
            <summary>
            The URL where the post request enforced by this signed policy should be made.
            </summary>
        </member>
        <member name="P:Google.Cloud.Storage.V1.UrlSigner.SignedPostPolicy.Fields">
            <summary>
            Collection of fields as defined by this policy.
            Post requests enforced by this policy should set, for each
            pair in this sequence, the given element to the exact given value.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.UrlStyle">
            <summary>
            Specifies the style of the signed URL to be generated.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.UrlSigner.UrlStyle.PathStyle">
            <summary>
            The signed URL will be generated using the Path style:
            https://storage.googleapis.com/mybucket/myobject.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.UrlSigner.UrlStyle.VirtualHostedStyle">
            <summary>
            The signed URL will be generated using the Virtual-Hosted style:
            https://mybucket.storage.googleapis.com/myobject.
            </summary>
        </member>
        <member name="F:Google.Cloud.Storage.V1.UrlSigner.UrlStyle.BucketBoundHostname">
            <summary>
            The signed URL will be generated using a client code provided host that
            is associated to the given bucket:
            https://mydomain.tld/my-object.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.V2Signer.SigningState">
            <summary>
            State which needs to be carried between the "pre-signing" stage and "post-signing" stages
            of the implementation.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.V4Signer.UrlSigningState">
            <summary>
            State which needs to be carried between the "pre-signing" stage and "post-signing" stages
            of the implementation.
            </summary>
        </member>
        <member name="T:Google.Cloud.Storage.V1.UrlSigner.V4Signer.PostPolicySigningState">
            <summary>
            State which needs to be carried between the "pre-signing" stage and "post-signing" stages
            of the implementation.
            </summary>
        </member>
    </members>
</doc>
