BlobClientConfiguration
Provides the configurations to connecting to the Blob Service and to create the Blob Clients
using Azure.Core;
using Azure.Core.Pipeline;
using Azure.Storage.Blobs.Models;
using Azure.Storage.Shared;
namespace Azure.Storage.Blobs
{
internal class BlobClientConfiguration : StorageClientConfiguration
{
public virtual BlobClientOptions.ServiceVersion Version { get; set; }
public virtual CustomerProvidedKey? CustomerProvidedKey { get; set; }
public virtual TransferValidationOptions TransferValidation { get; set; }
public string EncryptionScope { get; set; }
public bool TrimBlobNameSlashes { get; set; }
public BlobClientConfiguration(HttpPipeline pipeline, TokenCredential tokenCredential, ClientDiagnostics clientDiagnostics, BlobClientOptions.ServiceVersion version, CustomerProvidedKey? customerProvidedKey, TransferValidationOptions transferValidation, string encryptionScope, bool trimBlobNameSlashes)
: base(pipeline, tokenCredential, clientDiagnostics)
{
Version = version;
CustomerProvidedKey = customerProvidedKey;
TransferValidation = transferValidation;
EncryptionScope = encryptionScope;
TrimBlobNameSlashes = trimBlobNameSlashes;
}
public BlobClientConfiguration(HttpPipeline pipeline, StorageSharedKeyCredential sharedKeyCredential, ClientDiagnostics clientDiagnostics, BlobClientOptions.ServiceVersion version, CustomerProvidedKey? customerProvidedKey, TransferValidationOptions transferValidation, string encryptionScope, bool trimBlobNameSlashes)
: base(pipeline, sharedKeyCredential, clientDiagnostics)
{
Version = version;
CustomerProvidedKey = customerProvidedKey;
TransferValidation = transferValidation;
EncryptionScope = encryptionScope;
TrimBlobNameSlashes = trimBlobNameSlashes;
}
public BlobClientConfiguration(HttpPipeline pipeline, AzureSasCredential sasCredential, ClientDiagnostics clientDiagnostics, BlobClientOptions.ServiceVersion version, CustomerProvidedKey? customerProvidedKey, TransferValidationOptions transferValidation, string encryptionScope, bool trimBlobNameSlashes)
: base(pipeline, sasCredential, clientDiagnostics)
{
Version = version;
CustomerProvidedKey = customerProvidedKey;
TransferValidation = transferValidation;
EncryptionScope = encryptionScope;
TrimBlobNameSlashes = trimBlobNameSlashes;
}
public BlobClientConfiguration(HttpPipeline pipeline, ClientDiagnostics clientDiagnostics, BlobClientOptions.ServiceVersion version, CustomerProvidedKey? customerProvidedKey, TransferValidationOptions transferValidation, string encryptionScope, bool trimBlobNameSlashes)
: base(pipeline, clientDiagnostics)
{
Version = version;
CustomerProvidedKey = customerProvidedKey;
TransferValidation = transferValidation;
EncryptionScope = encryptionScope;
TrimBlobNameSlashes = trimBlobNameSlashes;
}
internal BlobClientConfiguration(HttpPipeline pipeline, StorageSharedKeyCredential sharedKeyCredential, TokenCredential tokenCredential, AzureSasCredential sasCredential, ClientDiagnostics clientDiagnostics, BlobClientOptions.ServiceVersion version, CustomerProvidedKey? customerProvidedKey, TransferValidationOptions transferValidation, string encryptionScope, bool trimBlobNameSlashes)
: base(pipeline, sharedKeyCredential, sasCredential, tokenCredential, clientDiagnostics)
{
Version = version;
CustomerProvidedKey = customerProvidedKey;
TransferValidation = transferValidation;
EncryptionScope = encryptionScope;
TrimBlobNameSlashes = trimBlobNameSlashes;
}
internal static BlobClientConfiguration DeepCopy(BlobClientConfiguration originalClientConfiguration)
{
return new BlobClientConfiguration(originalClientConfiguration.Pipeline, originalClientConfiguration.SharedKeyCredential, originalClientConfiguration.TokenCredential, originalClientConfiguration.SasCredential, originalClientConfiguration.ClientDiagnostics, originalClientConfiguration.Version, originalClientConfiguration.CustomerProvidedKey, originalClientConfiguration.TransferValidation, originalClientConfiguration.EncryptionScope, originalClientConfiguration.TrimBlobNameSlashes);
}
}
}