From c850cc176f5a79cff94834946e38498eeeb427cb Mon Sep 17 00:00:00 2001
From: Philip Thomas <86612891+philipthomas-MSFT@users.noreply.github.com>
Date: Fri, 5 Apr 2024 15:49:56 -0400
Subject: [PATCH 01/15] SDK 3.40.0-preview.0: Adds version bump and changelog.
---
changelog.md | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/changelog.md b/changelog.md
index 48a400269a..bbc83d8c75 100644
--- a/changelog.md
+++ b/changelog.md
@@ -13,6 +13,30 @@ Preview features are treated as a separate branch and will not be included in th
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+### [3.40.0-preview.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.40.0-preview.0) - 2024-04-05
+
+#### Fixed
+- [4334](https://github.com/Azure/azure-cosmos-dotnet-v3/pull/4334) ChangeFeedProcessor: Fixes when ChangeFeedMode is switched, an exception is thrown
+- [4352](https://github.com/Azure/azure-cosmos-dotnet-v3/pull/4352) Documentation: Fixes spelling in ReplicaValidationDesign
+
+#### Added
+- [4370](https://github.com/Azure/azure-cosmos-dotnet-v3/pull/4370) ChangeFeedProcessor: Adds AllVersionsAndDeletes support to ChangeFeedProcessor
+- [4380](https://github.com/Azure/azure-cosmos-dotnet-v3/pull/4380) ChangeFeedProcessor: Refactors AVAD Metadata Contract for ChangeFeed and ChangeFeedProcessor
+
+### [3.38.2](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.38.1) - 2024-04-05
+
+#### Fixed
+- [4357](https://github.com/Azure/azure-cosmos-dotnet-v3/pull/4357) Distributed Tracing Documentation : Fixes the default value mentioned in code doc
+
+#### Added
+- [4377](https://github.com/Azure/azure-cosmos-dotnet-v3/pull/4377) integrated cache: Adds BypassIntegratedCache for public release
+- [4281](https://github.com/Azure/azure-cosmos-dotnet-v3/pull/4281) FaultInjection: Adds Fault Injection Library
+- [4265](https://github.com/Azure/azure-cosmos-dotnet-v3/pull/4265) CosmosClientOptions: Adds Private Custom Account Endpoints
+- [4316](https://github.com/Azure/azure-cosmos-dotnet-v3/pull/4316) Distributed Tracing: Refactors code to rename net.peer.name attribute to server.address
+- [4317](https://github.com/Azure/azure-cosmos-dotnet-v3/pull/4317) Client Telemetry: Refactors code to stop throwing an exception
+- [4339](https://github.com/Azure/azure-cosmos-dotnet-v3/pull/4338) Diagnostics: Adds Client Configuration for Synchronization context cases
+- [4333](https://github.com/Azure/azure-cosmos-dotnet-v3/pull/4333) Distributed Tracing: Adds configuration to disable network level tracing in sdk permanently
+
### [3.39.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.39.0-preview.1) - 2024-02-02
### [3.38.1](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.38.1) - 2024-02-02
From e9f48b6e0c7f2ff2ea684cc654fbf8062e8ff0f2 Mon Sep 17 00:00:00 2001
From: Philip Thomas <86612891+philipthomas-MSFT@users.noreply.github.com>
Date: Fri, 5 Apr 2024 15:54:03 -0400
Subject: [PATCH 02/15] SDK 3.40.0-preview.0: Adds version bump and changelog.
---
Directory.Build.props | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/Directory.Build.props b/Directory.Build.props
index 6d5f07d246..88b6696cb9 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -1,8 +1,8 @@
- 3.38.1
- 3.39.0
- preview.1
+ 3.38.2
+ 3.40.0
+ preview.0
3.33.1
2.0.4
2.1.0
From 5b4ac3a83af8c47d8a57314700bb70719e5a35eb Mon Sep 17 00:00:00 2001
From: philipthomas
Date: Fri, 5 Apr 2024 16:38:14 -0400
Subject: [PATCH 03/15] SDK 3.40.0-preview.0: Adds version bump and changelog.
---
.../contracts/API_3.38.2.txt | 1576 ++++++++++++++++
.../contracts/API_3.40.0-preview.0.txt | 1628 +++++++++++++++++
2 files changed, 3204 insertions(+)
create mode 100644 Microsoft.Azure.Cosmos/contracts/API_3.38.2.txt
create mode 100644 Microsoft.Azure.Cosmos/contracts/API_3.40.0-preview.0.txt
diff --git a/Microsoft.Azure.Cosmos/contracts/API_3.38.2.txt b/Microsoft.Azure.Cosmos/contracts/API_3.38.2.txt
new file mode 100644
index 0000000000..9644b91e25
--- /dev/null
+++ b/Microsoft.Azure.Cosmos/contracts/API_3.38.2.txt
@@ -0,0 +1,1576 @@
+namespace Microsoft.Azure.Cosmos
+{
+ public class AccountConsistency
+ {
+ public AccountConsistency();
+ public ConsistencyLevel DefaultConsistencyLevel { get; }
+ public int MaxStalenessIntervalInSeconds { get; }
+ public int MaxStalenessPrefix { get; }
+ }
+ public class AccountProperties
+ {
+ public AccountConsistency Consistency { get; }
+ public string ETag { get; }
+ public string Id { get; }
+ public IEnumerable ReadableRegions { get; }
+ public IEnumerable WritableRegions { get; }
+ }
+ public class AccountRegion
+ {
+ public AccountRegion();
+ public string Endpoint { get; }
+ public string Name { get; }
+ }
+ public sealed class BoundingBoxProperties
+ {
+ public BoundingBoxProperties();
+ public double Xmax { get; set; }
+ public double Xmin { get; set; }
+ public double Ymax { get; set; }
+ public double Ymin { get; set; }
+ }
+ public abstract class ChangeFeedEstimator
+ {
+ protected ChangeFeedEstimator();
+ public abstract FeedIterator GetCurrentStateIterator(ChangeFeedEstimatorRequestOptions changeFeedEstimatorRequestOptions=null);
+ }
+ public sealed class ChangeFeedEstimatorRequestOptions
+ {
+ public ChangeFeedEstimatorRequestOptions();
+ public Nullable MaxItemCount { get; set; }
+ }
+ public abstract class ChangeFeedMode
+ {
+ public static ChangeFeedMode Incremental { get; }
+ public static ChangeFeedMode LatestVersion { get; }
+ }
+ public abstract class ChangeFeedProcessor
+ {
+ protected ChangeFeedProcessor();
+ public abstract Task StartAsync();
+ public abstract Task StopAsync();
+ }
+ public class ChangeFeedProcessorBuilder
+ {
+ public ChangeFeedProcessor Build();
+ public ChangeFeedProcessorBuilder WithErrorNotification(Container.ChangeFeedMonitorErrorDelegate errorDelegate);
+ public ChangeFeedProcessorBuilder WithInstanceName(string instanceName);
+ public ChangeFeedProcessorBuilder WithLeaseAcquireNotification(Container.ChangeFeedMonitorLeaseAcquireDelegate acquireDelegate);
+ public ChangeFeedProcessorBuilder WithLeaseConfiguration(Nullable acquireInterval=default(Nullable), Nullable expirationInterval=default(Nullable), Nullable renewInterval=default(Nullable));
+ public ChangeFeedProcessorBuilder WithLeaseContainer(Container leaseContainer);
+ public ChangeFeedProcessorBuilder WithLeaseReleaseNotification(Container.ChangeFeedMonitorLeaseReleaseDelegate releaseDelegate);
+ public ChangeFeedProcessorBuilder WithMaxItems(int maxItemCount);
+ public ChangeFeedProcessorBuilder WithPollInterval(TimeSpan pollInterval);
+ public ChangeFeedProcessorBuilder WithStartTime(DateTime startTime);
+ }
+ public abstract class ChangeFeedProcessorContext
+ {
+ protected ChangeFeedProcessorContext();
+ public abstract CosmosDiagnostics Diagnostics { get; }
+ public abstract Headers Headers { get; }
+ public abstract string LeaseToken { get; }
+ }
+ public sealed class ChangeFeedProcessorState
+ {
+ public ChangeFeedProcessorState(string leaseToken, long estimatedLag, string instanceName);
+ public long EstimatedLag { get; }
+ public string InstanceName { get; }
+ public string LeaseToken { get; }
+ }
+ public class ChangeFeedProcessorUserException : Exception
+ {
+ public ChangeFeedProcessorUserException(Exception originalException, ChangeFeedProcessorContext context);
+ protected ChangeFeedProcessorUserException(SerializationInfo info, StreamingContext context);
+ public ChangeFeedProcessorContext ChangeFeedProcessorContext { get; }
+ public override void GetObjectData(SerializationInfo info, StreamingContext context);
+ }
+ public sealed class ChangeFeedRequestOptions : RequestOptions
+ {
+ public ChangeFeedRequestOptions();
+ public new string IfMatchEtag { get; set; }
+ public new string IfNoneMatchEtag { get; set; }
+ public Nullable PageSizeHint { get; set; }
+ }
+ public abstract class ChangeFeedStartFrom
+ {
+ public static ChangeFeedStartFrom Beginning();
+ public static ChangeFeedStartFrom Beginning(FeedRange feedRange);
+ public static ChangeFeedStartFrom ContinuationToken(string continuationToken);
+ public static ChangeFeedStartFrom Now();
+ public static ChangeFeedStartFrom Now(FeedRange feedRange);
+ public static ChangeFeedStartFrom Time(DateTime dateTimeUtc);
+ public static ChangeFeedStartFrom Time(DateTime dateTimeUtc, FeedRange feedRange);
+ }
+ public sealed class ClientEncryptionIncludedPath
+ {
+ public ClientEncryptionIncludedPath();
+ public string ClientEncryptionKeyId { get; set; }
+ public string EncryptionAlgorithm { get; set; }
+ public string EncryptionType { get; set; }
+ public string Path { get; set; }
+ }
+ public abstract class ClientEncryptionKey
+ {
+ protected ClientEncryptionKey();
+ public abstract string Id { get; }
+ public abstract Task ReadAsync(RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task ReplaceAsync(ClientEncryptionKeyProperties clientEncryptionKeyProperties, RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ }
+ public class ClientEncryptionKeyProperties : IEquatable
+ {
+ protected ClientEncryptionKeyProperties();
+ public ClientEncryptionKeyProperties(string id, string encryptionAlgorithm, byte[] wrappedDataEncryptionKey, EncryptionKeyWrapMetadata encryptionKeyWrapMetadata);
+ public Nullable CreatedTime { get; }
+ public string EncryptionAlgorithm { get; }
+ public EncryptionKeyWrapMetadata EncryptionKeyWrapMetadata { get; }
+ public string ETag { get; }
+ public string Id { get; }
+ public Nullable LastModified { get; }
+ public virtual string SelfLink { get; }
+ public byte[] WrappedDataEncryptionKey { get; }
+ public bool Equals(ClientEncryptionKeyProperties other);
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ }
+ public class ClientEncryptionKeyResponse : Response
+ {
+ protected ClientEncryptionKeyResponse();
+ public override string ActivityId { get; }
+ public virtual ClientEncryptionKey ClientEncryptionKey { get; }
+ public override CosmosDiagnostics Diagnostics { get; }
+ public override string ETag { get; }
+ public override Headers Headers { get; }
+ public override double RequestCharge { get; }
+ public override ClientEncryptionKeyProperties Resource { get; }
+ public override HttpStatusCode StatusCode { get; }
+ public static implicit operator ClientEncryptionKey (ClientEncryptionKeyResponse response);
+ }
+ public sealed class ClientEncryptionPolicy
+ {
+ public ClientEncryptionPolicy(IEnumerable includedPaths);
+ public ClientEncryptionPolicy(IEnumerable includedPaths, int policyFormatVersion);
+ public IEnumerable IncludedPaths { get; }
+ public int PolicyFormatVersion { get; }
+ }
+ public sealed class CompositePath
+ {
+ public CompositePath();
+ public CompositePathSortOrder Order { get; set; }
+ public string Path { get; set; }
+ }
+ public enum CompositePathSortOrder
+ {
+ Ascending = 0,
+ Descending = 1,
+ }
+ public class ConflictProperties
+ {
+ public ConflictProperties();
+ public string Id { get; }
+ public OperationKind OperationKind { get; }
+ public string SelfLink { get; }
+ }
+ public enum ConflictResolutionMode
+ {
+ Custom = 1,
+ LastWriterWins = 0,
+ }
+ public class ConflictResolutionPolicy
+ {
+ public ConflictResolutionPolicy();
+ public ConflictResolutionMode Mode { get; set; }
+ public string ResolutionPath { get; set; }
+ public string ResolutionProcedure { get; set; }
+ }
+ public abstract class Conflicts
+ {
+ protected Conflicts();
+ public abstract Task DeleteAsync(ConflictProperties conflict, PartitionKey partitionKey, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract FeedIterator GetConflictQueryIterator(QueryDefinition queryDefinition, string continuationToken=null, QueryRequestOptions requestOptions=null);
+ public abstract FeedIterator GetConflictQueryIterator(string queryText=null, string continuationToken=null, QueryRequestOptions requestOptions=null);
+ public abstract FeedIterator GetConflictQueryStreamIterator(QueryDefinition queryDefinition, string continuationToken=null, QueryRequestOptions requestOptions=null);
+ public abstract FeedIterator GetConflictQueryStreamIterator(string queryText=null, string continuationToken=null, QueryRequestOptions requestOptions=null);
+ public abstract T ReadConflictContent(ConflictProperties conflict);
+ public abstract Task> ReadCurrentAsync(ConflictProperties conflict, PartitionKey partitionKey, CancellationToken cancellationToken=default(CancellationToken));
+ }
+ public enum ConnectionMode
+ {
+ Direct = 1,
+ Gateway = 0,
+ }
+ public enum ConsistencyLevel
+ {
+ BoundedStaleness = 1,
+ ConsistentPrefix = 4,
+ Eventual = 3,
+ Session = 2,
+ Strong = 0,
+ }
+ public abstract class Container
+ {
+ protected Container();
+ public abstract Conflicts Conflicts { get; }
+ public abstract Database Database { get; }
+ public abstract string Id { get; }
+ public abstract Scripts Scripts { get; }
+ public abstract Task> CreateItemAsync(T item, Nullable partitionKey=default(Nullable), ItemRequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task CreateItemStreamAsync(Stream streamPayload, PartitionKey partitionKey, ItemRequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract TransactionalBatch CreateTransactionalBatch(PartitionKey partitionKey);
+ public abstract Task DeleteContainerAsync(ContainerRequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task DeleteContainerStreamAsync(ContainerRequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task> DeleteItemAsync(string id, PartitionKey partitionKey, ItemRequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task DeleteItemStreamAsync(string id, PartitionKey partitionKey, ItemRequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract ChangeFeedEstimator GetChangeFeedEstimator(string processorName, Container leaseContainer);
+ public abstract ChangeFeedProcessorBuilder GetChangeFeedEstimatorBuilder(string processorName, Container.ChangesEstimationHandler estimationDelegate, Nullable estimationPeriod=default(Nullable));
+ public abstract FeedIterator GetChangeFeedIterator(ChangeFeedStartFrom changeFeedStartFrom, ChangeFeedMode changeFeedMode, ChangeFeedRequestOptions changeFeedRequestOptions=null);
+ public abstract ChangeFeedProcessorBuilder GetChangeFeedProcessorBuilder(string processorName, Container.ChangeFeedStreamHandler onChangesDelegate);
+ public abstract ChangeFeedProcessorBuilder GetChangeFeedProcessorBuilderWithManualCheckpoint(string processorName, Container.ChangeFeedStreamHandlerWithManualCheckpoint onChangesDelegate);
+ public abstract ChangeFeedProcessorBuilder GetChangeFeedProcessorBuilderWithManualCheckpoint(string processorName, Container.ChangeFeedHandlerWithManualCheckpoint onChangesDelegate);
+ public abstract ChangeFeedProcessorBuilder GetChangeFeedProcessorBuilder(string processorName, Container.ChangeFeedHandler onChangesDelegate);
+ public abstract ChangeFeedProcessorBuilder GetChangeFeedProcessorBuilder(string processorName, Container.ChangesHandler onChangesDelegate);
+ public abstract FeedIterator GetChangeFeedStreamIterator(ChangeFeedStartFrom changeFeedStartFrom, ChangeFeedMode changeFeedMode, ChangeFeedRequestOptions changeFeedRequestOptions=null);
+ public abstract Task> GetFeedRangesAsync(CancellationToken cancellationToken=default(CancellationToken));
+ public abstract IOrderedQueryable GetItemLinqQueryable(bool allowSynchronousQueryExecution=false, string continuationToken=null, QueryRequestOptions requestOptions=null, CosmosLinqSerializerOptions linqSerializerOptions=null);
+ public abstract FeedIterator GetItemQueryIterator(FeedRange feedRange, QueryDefinition queryDefinition, string continuationToken=null, QueryRequestOptions requestOptions=null);
+ public abstract FeedIterator GetItemQueryIterator(QueryDefinition queryDefinition, string continuationToken=null, QueryRequestOptions requestOptions=null);
+ public abstract FeedIterator GetItemQueryIterator(string queryText=null, string continuationToken=null, QueryRequestOptions requestOptions=null);
+ public abstract FeedIterator GetItemQueryStreamIterator(FeedRange feedRange, QueryDefinition queryDefinition, string continuationToken, QueryRequestOptions requestOptions=null);
+ public abstract FeedIterator GetItemQueryStreamIterator(QueryDefinition queryDefinition, string continuationToken=null, QueryRequestOptions requestOptions=null);
+ public abstract FeedIterator GetItemQueryStreamIterator(string queryText=null, string continuationToken=null, QueryRequestOptions requestOptions=null);
+ public abstract Task> PatchItemAsync(string id, PartitionKey partitionKey, IReadOnlyList patchOperations, PatchItemRequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task PatchItemStreamAsync(string id, PartitionKey partitionKey, IReadOnlyList patchOperations, PatchItemRequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task ReadContainerAsync(ContainerRequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task ReadContainerStreamAsync(ContainerRequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task> ReadItemAsync(string id, PartitionKey partitionKey, ItemRequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task ReadItemStreamAsync(string id, PartitionKey partitionKey, ItemRequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task> ReadManyItemsAsync(IReadOnlyList> items, ReadManyRequestOptions readManyRequestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task ReadManyItemsStreamAsync(IReadOnlyList> items, ReadManyRequestOptions readManyRequestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task ReadThroughputAsync(RequestOptions requestOptions, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task> ReadThroughputAsync(CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task ReplaceContainerAsync(ContainerProperties containerProperties, ContainerRequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task ReplaceContainerStreamAsync(ContainerProperties containerProperties, ContainerRequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task> ReplaceItemAsync(T item, string id, Nullable partitionKey=default(Nullable), ItemRequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task ReplaceItemStreamAsync(Stream streamPayload, string id, PartitionKey partitionKey, ItemRequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task ReplaceThroughputAsync(ThroughputProperties throughputProperties, RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task ReplaceThroughputAsync(int throughput, RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task> UpsertItemAsync(T item, Nullable partitionKey=default(Nullable), ItemRequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task UpsertItemStreamAsync(Stream streamPayload, PartitionKey partitionKey, ItemRequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public delegate Task ChangeFeedHandlerWithManualCheckpoint(ChangeFeedProcessorContext context, IReadOnlyCollection changes, Func checkpointAsync, CancellationToken cancellationToken);
+ public delegate Task ChangeFeedHandler(ChangeFeedProcessorContext context, IReadOnlyCollection changes, CancellationToken cancellationToken);
+ public delegate Task ChangeFeedMonitorErrorDelegate(string leaseToken, Exception exception);
+ public delegate Task ChangeFeedMonitorLeaseAcquireDelegate(string leaseToken);
+ public delegate Task ChangeFeedMonitorLeaseReleaseDelegate(string leaseToken);
+ public delegate Task ChangeFeedStreamHandler(ChangeFeedProcessorContext context, Stream changes, CancellationToken cancellationToken);
+ public delegate Task ChangeFeedStreamHandlerWithManualCheckpoint(ChangeFeedProcessorContext context, Stream changes, Func checkpointAsync, CancellationToken cancellationToken);
+ public delegate Task ChangesEstimationHandler(long estimatedPendingChanges, CancellationToken cancellationToken);
+ public delegate Task ChangesHandler(IReadOnlyCollection changes, CancellationToken cancellationToken);
+ }
+ public class ContainerProperties
+ {
+ public ContainerProperties();
+ public ContainerProperties(string id, IReadOnlyList partitionKeyPaths);
+ public ContainerProperties(string id, string partitionKeyPath);
+ public Nullable AnalyticalStoreTimeToLiveInSeconds { get; set; }
+ public ClientEncryptionPolicy ClientEncryptionPolicy { get; set; }
+ public ConflictResolutionPolicy ConflictResolutionPolicy { get; set; }
+ public Nullable DefaultTimeToLive { get; set; }
+ public string ETag { get; }
+ public GeospatialConfig GeospatialConfig { get; set; }
+ public string Id { get; set; }
+ public IndexingPolicy IndexingPolicy { get; set; }
+ public Nullable LastModified { get; }
+ public Nullable PartitionKeyDefinitionVersion { get; set; }
+ public string PartitionKeyPath { get; set; }
+ public IReadOnlyList PartitionKeyPaths { get; set; }
+ public string SelfLink { get; }
+ public string TimeToLivePropertyPath { get; set; }
+ public UniqueKeyPolicy UniqueKeyPolicy { get; set; }
+ }
+ public class ContainerRequestOptions : RequestOptions
+ {
+ public ContainerRequestOptions();
+ public bool PopulateQuotaInfo { get; set; }
+ }
+ public class ContainerResponse : Response
+ {
+ protected ContainerResponse();
+ public override string ActivityId { get; }
+ public virtual Container Container { get; }
+ public override CosmosDiagnostics Diagnostics { get; }
+ public override string ETag { get; }
+ public override Headers Headers { get; }
+ public override double RequestCharge { get; }
+ public override ContainerProperties Resource { get; }
+ public override HttpStatusCode StatusCode { get; }
+ public static implicit operator Container (ContainerResponse response);
+ }
+ public class CosmosClient : IDisposable
+ {
+ protected CosmosClient();
+ public CosmosClient(string accountEndpoint, AzureKeyCredential authKeyOrResourceTokenCredential, CosmosClientOptions clientOptions=null);
+ public CosmosClient(string accountEndpoint, TokenCredential tokenCredential, CosmosClientOptions clientOptions=null);
+ public CosmosClient(string connectionString, CosmosClientOptions clientOptions=null);
+ public CosmosClient(string accountEndpoint, string authKeyOrResourceToken, CosmosClientOptions clientOptions=null);
+ public virtual CosmosClientOptions ClientOptions { get; }
+ public virtual Uri Endpoint { get; }
+ public virtual CosmosResponseFactory ResponseFactory { get; }
+ public static Task CreateAndInitializeAsync(string accountEndpoint, AzureKeyCredential authKeyOrResourceTokenCredential, IReadOnlyList> containers, CosmosClientOptions cosmosClientOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public static Task CreateAndInitializeAsync(string accountEndpoint, TokenCredential tokenCredential, IReadOnlyList> containers, CosmosClientOptions cosmosClientOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public static Task CreateAndInitializeAsync(string connectionString, IReadOnlyList> containers, CosmosClientOptions cosmosClientOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public static Task CreateAndInitializeAsync(string accountEndpoint, string authKeyOrResourceToken, IReadOnlyList> containers, CosmosClientOptions cosmosClientOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public virtual Task CreateDatabaseAsync(string id, ThroughputProperties throughputProperties, RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public virtual Task CreateDatabaseAsync(string id, Nullable throughput=default(Nullable), RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public virtual Task CreateDatabaseIfNotExistsAsync(string id, ThroughputProperties throughputProperties, RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public virtual Task CreateDatabaseIfNotExistsAsync(string id, Nullable throughput=default(Nullable), RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public virtual Task CreateDatabaseStreamAsync(DatabaseProperties databaseProperties, Nullable throughput=default(Nullable), RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public virtual Container GetContainer(string databaseId, string containerId);
+ public virtual Database GetDatabase(string id);
+ public virtual FeedIterator GetDatabaseQueryIterator(QueryDefinition queryDefinition, string continuationToken=null, QueryRequestOptions requestOptions=null);
+ public virtual FeedIterator GetDatabaseQueryIterator(string queryText=null, string continuationToken=null, QueryRequestOptions requestOptions=null);
+ public virtual FeedIterator GetDatabaseQueryStreamIterator(QueryDefinition queryDefinition, string continuationToken=null, QueryRequestOptions requestOptions=null);
+ public virtual FeedIterator GetDatabaseQueryStreamIterator(string queryText=null, string continuationToken=null, QueryRequestOptions requestOptions=null);
+ public virtual Task ReadAccountAsync();
+ }
+ public class CosmosClientOptions
+ {
+ public CosmosClientOptions();
+ public IEnumerable AccountInitializationCustomEndpoints { get; set; }
+ public bool AllowBulkExecution { get; set; }
+ public string ApplicationName { get; set; }
+ public IReadOnlyList ApplicationPreferredRegions { get; set; }
+ public string ApplicationRegion { get; set; }
+ public ConnectionMode ConnectionMode { get; set; }
+ public Nullable ConsistencyLevel { get; set; }
+ public CosmosClientTelemetryOptions CosmosClientTelemetryOptions { get; set; }
+ public Collection CustomHandlers { get; }
+ public Nullable EnableContentResponseOnWrite { get; set; }
+ public bool EnableTcpConnectionEndpointRediscovery { get; set; }
+ public int GatewayModeMaxConnectionLimit { get; set; }
+ public Func HttpClientFactory { get; set; }
+ public Nullable IdleTcpConnectionTimeout { get; set; }
+ public bool LimitToEndpoint { get; set; }
+ public Nullable MaxRequestsPerTcpConnection { get; set; }
+ public Nullable MaxRetryAttemptsOnRateLimitedRequests { get; set; }
+ public Nullable MaxRetryWaitTimeOnRateLimitedRequests { get; set; }
+ public Nullable MaxTcpConnectionsPerEndpoint { get; set; }
+ public Nullable OpenTcpConnectionTimeout { get; set; }
+ public Nullable PortReuseMode { get; set; }
+ public Nullable PriorityLevel { get; set; }
+ public TimeSpan RequestTimeout { get; set; }
+ public CosmosSerializer Serializer { get; set; }
+ public CosmosSerializationOptions SerializerOptions { get; set; }
+ public Func ServerCertificateCustomValidationCallback { get; set; }
+ public Nullable TokenCredentialBackgroundRefreshInterval { get; set; }
+ public IWebProxy WebProxy { get; set; }
+ }
+ public class CosmosClientTelemetryOptions
+ {
+ public CosmosClientTelemetryOptions();
+ public CosmosThresholdOptions CosmosThresholdOptions { get; set; }
+ public bool DisableDistributedTracing { get; set; }
+ public bool DisableSendingMetricsToService { get; set; }
+ }
+ public abstract class CosmosDiagnostics
+ {
+ protected CosmosDiagnostics();
+ public virtual TimeSpan GetClientElapsedTime();
+ public abstract IReadOnlyList> GetContactedRegions();
+ public virtual int GetFailedRequestCount();
+ public virtual ServerSideCumulativeMetrics GetQueryMetrics();
+ public virtual Nullable GetStartTimeUtc();
+ public abstract override string ToString();
+ }
+ public class CosmosException : Exception
+ {
+ public CosmosException(string message, HttpStatusCode statusCode, int subStatusCode, string activityId, double requestCharge);
+ public virtual string ActivityId { get; }
+ public virtual CosmosDiagnostics Diagnostics { get; }
+ public virtual Headers Headers { get; }
+ public override string Message { get; }
+ public virtual double RequestCharge { get; }
+ public virtual string ResponseBody { get; }
+ public virtual Nullable RetryAfter { get; }
+ public override string StackTrace { get; }
+ public virtual HttpStatusCode StatusCode { get; }
+ public virtual int SubStatusCode { get; }
+ public override string ToString();
+ public virtual bool TryGetHeader(string headerName, out string value);
+ }
+ public abstract class CosmosLinqSerializer : CosmosSerializer
+ {
+ protected CosmosLinqSerializer();
+ public abstract string SerializeMemberName(MemberInfo memberInfo);
+ }
+ public sealed class CosmosLinqSerializerOptions
+ {
+ public CosmosLinqSerializerOptions();
+ public CosmosPropertyNamingPolicy PropertyNamingPolicy { get; set; }
+ }
+ public class CosmosOperationCanceledException : OperationCanceledException
+ {
+ public CosmosOperationCanceledException(OperationCanceledException originalException, CosmosDiagnostics diagnostics);
+ protected CosmosOperationCanceledException(SerializationInfo info, StreamingContext context);
+ public override IDictionary Data { get; }
+ public CosmosDiagnostics Diagnostics { get; }
+ public override string HelpLink { get; set; }
+ public override string Message { get; }
+ public override string Source { get; set; }
+ public override string StackTrace { get; }
+ public override Exception GetBaseException();
+ public override void GetObjectData(SerializationInfo info, StreamingContext context);
+ public override string ToString();
+ }
+ public enum CosmosPropertyNamingPolicy
+ {
+ CamelCase = 1,
+ Default = 0,
+ }
+ public abstract class CosmosResponseFactory
+ {
+ protected CosmosResponseFactory();
+ public abstract FeedResponse CreateItemFeedResponse(ResponseMessage responseMessage);
+ public abstract ItemResponse CreateItemResponse(ResponseMessage responseMessage);
+ public abstract StoredProcedureExecuteResponse CreateStoredProcedureExecuteResponse(ResponseMessage responseMessage);
+ }
+ public sealed class CosmosSerializationOptions
+ {
+ public CosmosSerializationOptions();
+ public bool IgnoreNullValues { get; set; }
+ public bool Indented { get; set; }
+ public CosmosPropertyNamingPolicy PropertyNamingPolicy { get; set; }
+ }
+ public abstract class CosmosSerializer
+ {
+ protected CosmosSerializer();
+ public abstract T FromStream(Stream stream);
+ public abstract Stream ToStream(T input);
+ }
+ public class CosmosThresholdOptions
+ {
+ public CosmosThresholdOptions();
+ public TimeSpan NonPointOperationLatencyThreshold { get; set; }
+ public TimeSpan PointOperationLatencyThreshold { get; set; }
+ }
+ public abstract class Database
+ {
+ protected Database();
+ public abstract CosmosClient Client { get; }
+ public abstract string Id { get; }
+ public abstract Task CreateClientEncryptionKeyAsync(ClientEncryptionKeyProperties clientEncryptionKeyProperties, RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task CreateContainerAsync(ContainerProperties containerProperties, ThroughputProperties throughputProperties, RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task CreateContainerAsync(ContainerProperties containerProperties, Nullable throughput=default(Nullable), RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task CreateContainerAsync(string id, string partitionKeyPath, Nullable throughput=default(Nullable), RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task CreateContainerIfNotExistsAsync(ContainerProperties containerProperties, ThroughputProperties throughputProperties, RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task CreateContainerIfNotExistsAsync(ContainerProperties containerProperties, Nullable throughput=default(Nullable), RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task CreateContainerIfNotExistsAsync(string id, string partitionKeyPath, Nullable throughput=default(Nullable), RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task CreateContainerStreamAsync(ContainerProperties containerProperties, ThroughputProperties throughputProperties, RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task CreateContainerStreamAsync(ContainerProperties containerProperties, Nullable throughput=default(Nullable), RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task CreateUserAsync(string id, RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract ContainerBuilder DefineContainer(string name, string partitionKeyPath);
+ public abstract Task DeleteAsync(RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task DeleteStreamAsync(RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract ClientEncryptionKey GetClientEncryptionKey(string id);
+ public abstract FeedIterator GetClientEncryptionKeyQueryIterator(QueryDefinition queryDefinition, string continuationToken=null, QueryRequestOptions requestOptions=null);
+ public abstract Container GetContainer(string id);
+ public abstract FeedIterator GetContainerQueryIterator(QueryDefinition queryDefinition, string continuationToken=null, QueryRequestOptions requestOptions=null);
+ public abstract FeedIterator GetContainerQueryIterator(string queryText=null, string continuationToken=null, QueryRequestOptions requestOptions=null);
+ public abstract FeedIterator GetContainerQueryStreamIterator(QueryDefinition queryDefinition, string continuationToken=null, QueryRequestOptions requestOptions=null);
+ public abstract FeedIterator GetContainerQueryStreamIterator(string queryText=null, string continuationToken=null, QueryRequestOptions requestOptions=null);
+ public abstract User GetUser(string id);
+ public abstract FeedIterator GetUserQueryIterator(QueryDefinition queryDefinition, string continuationToken=null, QueryRequestOptions requestOptions=null);
+ public abstract FeedIterator GetUserQueryIterator(string queryText=null, string continuationToken=null, QueryRequestOptions requestOptions=null);
+ public abstract Task ReadAsync(RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task ReadStreamAsync(RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task ReadThroughputAsync(RequestOptions requestOptions, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task> ReadThroughputAsync(CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task ReplaceThroughputAsync(ThroughputProperties throughputProperties, RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task ReplaceThroughputAsync(int throughput, RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task UpsertUserAsync(string id, RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ }
+ public class DatabaseProperties
+ {
+ public DatabaseProperties();
+ public DatabaseProperties(string id);
+ public string ETag { get; }
+ public string Id { get; set; }
+ public Nullable LastModified { get; }
+ public string SelfLink { get; }
+ }
+ public class DatabaseResponse : Response
+ {
+ protected DatabaseResponse();
+ public override string ActivityId { get; }
+ public virtual Database Database { get; }
+ public override CosmosDiagnostics Diagnostics { get; }
+ public override string ETag { get; }
+ public override Headers Headers { get; }
+ public override double RequestCharge { get; }
+ public override DatabaseProperties Resource { get; }
+ public override HttpStatusCode StatusCode { get; }
+ public static implicit operator Database (DatabaseResponse response);
+ }
+ public enum DataType
+ {
+ LineString = 3,
+ MultiPolygon = 5,
+ Number = 0,
+ Point = 2,
+ Polygon = 4,
+ String = 1,
+ }
+ public class DedicatedGatewayRequestOptions
+ {
+ public DedicatedGatewayRequestOptions();
+ public Nullable BypassIntegratedCache { get; set; }
+ public Nullable MaxIntegratedCacheStaleness { get; set; }
+ }
+ public class EncryptionKeyWrapMetadata : IEquatable
+ {
+ public EncryptionKeyWrapMetadata(EncryptionKeyWrapMetadata source);
+ public EncryptionKeyWrapMetadata(string type, string name, string value, string algorithm);
+ public string Algorithm { get; }
+ public string Name { get; }
+ public string Type { get; }
+ public string Value { get; }
+ public bool Equals(EncryptionKeyWrapMetadata other);
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ }
+ public sealed class ExcludedPath
+ {
+ public ExcludedPath();
+ public string Path { get; set; }
+ }
+ public abstract class FeedIterator : IDisposable
+ {
+ protected FeedIterator();
+ public abstract bool HasMoreResults { get; }
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public abstract Task ReadNextAsync(CancellationToken cancellationToken=default(CancellationToken));
+ }
+ public abstract class FeedIterator : IDisposable
+ {
+ protected FeedIterator();
+ public abstract bool HasMoreResults { get; }
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public abstract Task> ReadNextAsync(CancellationToken cancellationToken=default(CancellationToken));
+ }
+ public abstract class FeedRange
+ {
+ protected FeedRange();
+ public static FeedRange FromJsonString(string toStringValue);
+ public static FeedRange FromPartitionKey(PartitionKey partitionKey);
+ public abstract string ToJsonString();
+ }
+ public abstract class FeedResponse : IEnumerable, IEnumerable
+ {
+ protected FeedResponse();
+ public override string ActivityId { get; }
+ public abstract string ContinuationToken { get; }
+ public abstract int Count { get; }
+ public override string ETag { get; }
+ public abstract string IndexMetrics { get; }
+ public override double RequestCharge { get; }
+ public abstract IEnumerator GetEnumerator();
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public sealed class GeospatialConfig
+ {
+ public GeospatialConfig();
+ public GeospatialConfig(GeospatialType geospatialType);
+ public GeospatialType GeospatialType { get; set; }
+ }
+ public enum GeospatialType
+ {
+ Geography = 0,
+ Geometry = 1,
+ }
+ public class Headers : IEnumerable
+ {
+ public Headers();
+ public virtual string ActivityId { get; }
+ public virtual string ContentLength { get; set; }
+ public virtual string ContentType { get; }
+ public virtual string ContinuationToken { get; }
+ public virtual string ETag { get; }
+ public virtual string this[string headerName] { get; set; }
+ public virtual string Location { get; }
+ public virtual double RequestCharge { get; }
+ public virtual string Session { get; }
+ public virtual void Add(string headerName, IEnumerable values);
+ public virtual void Add(string headerName, string value);
+ public virtual string[] AllKeys();
+ public virtual string Get(string headerName);
+ public virtual IEnumerator GetEnumerator();
+ public virtual T GetHeaderValue(string headerName);
+ public virtual string GetValueOrDefault(string headerName);
+ public virtual void Remove(string headerName);
+ public virtual void Set(string headerName, string value);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public virtual bool TryGetValue(string headerName, out string value);
+ }
+ public sealed class IncludedPath
+ {
+ public IncludedPath();
+ public string Path { get; set; }
+ }
+ public enum IndexingDirective
+ {
+ Default = 0,
+ Exclude = 2,
+ Include = 1,
+ }
+ public enum IndexingMode
+ {
+ Consistent = 0,
+ Lazy = 1,
+ None = 2,
+ }
+ public sealed class IndexingPolicy
+ {
+ public IndexingPolicy();
+ public bool Automatic { get; set; }
+ public Collection> CompositeIndexes { get; }
+ public Collection ExcludedPaths { get; }
+ public Collection IncludedPaths { get; }
+ public IndexingMode IndexingMode { get; set; }
+ public Collection SpatialIndexes { get; }
+ }
+ public enum IndexKind
+ {
+ Hash = 0,
+ Range = 1,
+ Spatial = 2,
+ }
+ public class ItemRequestOptions : RequestOptions
+ {
+ public ItemRequestOptions();
+ public Nullable ConsistencyLevel { get; set; }
+ public DedicatedGatewayRequestOptions DedicatedGatewayRequestOptions { get; set; }
+ public Nullable EnableContentResponseOnWrite { get; set; }
+ public Nullable IndexingDirective { get; set; }
+ public IEnumerable PostTriggers { get; set; }
+ public IEnumerable PreTriggers { get; set; }
+ public string SessionToken { get; set; }
+ }
+ public class ItemResponse : Response
+ {
+ protected ItemResponse();
+ public override string ActivityId { get; }
+ public override CosmosDiagnostics Diagnostics { get; }
+ public override string ETag { get; }
+ public override Headers Headers { get; }
+ public override double RequestCharge { get; }
+ public override T Resource { get; }
+ public override HttpStatusCode StatusCode { get; }
+ }
+ public enum OperationKind
+ {
+ Create = 1,
+ Delete = 3,
+ Invalid = 0,
+ Read = 4,
+ Replace = 2,
+ }
+ public struct PartitionKey : IEquatable
+ {
+ public static readonly PartitionKey None;
+ public static readonly PartitionKey Null;
+ public static readonly string SystemKeyName;
+ public static readonly string SystemKeyPath;
+ public PartitionKey(bool partitionKeyValue);
+ public PartitionKey(double partitionKeyValue);
+ public PartitionKey(string partitionKeyValue);
+ public bool Equals(PartitionKey other);
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static bool operator ==(PartitionKey left, PartitionKey right);
+ public static bool operator !=(PartitionKey left, PartitionKey right);
+ public override string ToString();
+ }
+ public sealed class PartitionKeyBuilder
+ {
+ public PartitionKeyBuilder();
+ public PartitionKeyBuilder Add(bool val);
+ public PartitionKeyBuilder Add(double val);
+ public PartitionKeyBuilder Add(string val);
+ public PartitionKeyBuilder AddNoneType();
+ public PartitionKeyBuilder AddNullValue();
+ public PartitionKey Build();
+ }
+ public enum PartitionKeyDefinitionVersion
+ {
+ V1 = 1,
+ V2 = 2,
+ }
+ public sealed class PatchItemRequestOptions : ItemRequestOptions
+ {
+ public PatchItemRequestOptions();
+ public string FilterPredicate { get; set; }
+ }
+ public abstract class PatchOperation
+ {
+ protected PatchOperation();
+ public virtual string From { get; set; }
+ public abstract PatchOperationType OperationType { get; }
+ public abstract string Path { get; }
+ public static PatchOperation Add(string path, T value);
+ public static PatchOperation Increment(string path, double value);
+ public static PatchOperation Increment(string path, long value);
+ public static PatchOperation Move(string from, string path);
+ public static PatchOperation Remove(string path);
+ public static PatchOperation Replace(string path, T value);
+ public static PatchOperation Set(string path, T value);
+ public virtual bool TrySerializeValueParameter(CosmosSerializer cosmosSerializer, out Stream valueParam);
+ }
+ public enum PatchOperationType
+ {
+ Add = 0,
+ Increment = 4,
+ Move = 5,
+ Remove = 1,
+ Replace = 2,
+ Set = 3,
+ }
+ public abstract class PatchOperation : PatchOperation
+ {
+ protected PatchOperation();
+ public abstract T Value { get; }
+ }
+ public abstract class Permission
+ {
+ protected Permission();
+ public abstract string Id { get; }
+ public abstract Task DeleteAsync(RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task ReadAsync(Nullable tokenExpiryInSeconds=default(Nullable), RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ public abstract Task ReplaceAsync(PermissionProperties permissionProperties, Nullable tokenExpiryInSeconds=default(Nullable), RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+ }
+ public enum PermissionMode : byte
+ {
+ All = (byte)2,
+ Read = (byte)1,
+ }
+ public class PermissionProperties
+ {
+ public PermissionProperties(string id, PermissionMode permissionMode, Container container, PartitionKey resourcePartitionKey, string itemId);
+ public PermissionProperties(string id, PermissionMode permissionMode, Container container, Nullable resourcePartitionKey=default(Nullable));
+ public string ETag { get; }
+ public string Id { get; }
+ public Nullable LastModified { get; }
+ public PermissionMode PermissionMode { get; }
+ public Nullable ResourcePartitionKey { get; set; }
+ public string ResourceUri { get; }
+ public string SelfLink { get; }
+ public string Token { get; }
+ }
+ public class PermissionResponse : Response
+ {
+ protected PermissionResponse();
+ public override string ActivityId { get; }
+ public override CosmosDiagnostics Diagnostics { get; }
+ public override string ETag { get; }
+ public override Headers Headers { get; }
+ public virtual Permission Permission { get; }
+ public override double RequestCharge { get; }
+ public override PermissionProperties Resource { get; }
+ public override HttpStatusCode StatusCode { get; }
+ public static implicit operator Permission (PermissionResponse response);
+ }
+ public enum PortReuseMode
+ {
+ PrivatePortPool = 1,
+ ReuseUnicastPort = 0,
+ }
+ public enum PriorityLevel
+ {
+ High = 1,
+ Low = 2,
+ }
+ public class QueryDefinition
+ {
+ public QueryDefinition(string query);
+ public string QueryText { get; }
+ public IReadOnlyList> GetQueryParameters();
+ public QueryDefinition WithParameter(string name, object value);
+ public QueryDefinition WithParameterStream(string name, Stream valueStream);
+ }
+ public class QueryRequestOptions : RequestOptions
+ {
+ public QueryRequestOptions();
+ public Nullable ConsistencyLevel { get; set; }
+ public DedicatedGatewayRequestOptions DedicatedGatewayRequestOptions { get; set; }
+ public Nullable EnableLowPrecisionOrderBy { get; set; }
+ public bool EnableOptimisticDirectExecution { get; set; }
+ public Nullable EnableScanInQuery { get; set; }
+ public Nullable MaxBufferedItemCount { get; set; }
+ public Nullable MaxConcurrency { get; set; }
+ public Nullable MaxItemCount { get; set; }
+ public Nullable PartitionKey { get; set; }
+ public Nullable PopulateIndexMetrics { get; set; }
+ public Nullable ResponseContinuationTokenLimitInKb { get; set; }
+ public string SessionToken { get; set; }
+ }
+ public class ReadManyRequestOptions : RequestOptions
+ {
+ public ReadManyRequestOptions();
+ public Nullable ConsistencyLevel { get; set; }
+ public string SessionToken { get; set; }
+ }
+ public static class Regions
+ {
+ public const string AustraliaCentral = "Australia Central";
+ public const string AustraliaCentral2 = "Australia Central 2";
+ public const string AustraliaEast = "Australia East";
+ public const string AustraliaSoutheast = "Australia Southeast";
+ public const string BrazilSouth = "Brazil South";
+ public const string BrazilSoutheast = "Brazil Southeast";
+ public const string CanadaCentral = "Canada Central";
+ public const string CanadaEast = "Canada East";
+ public const string CentralIndia = "Central India";
+ public const string CentralUS = "Central US";
+ public const string CentralUSEUAP = "Central US EUAP";
+ public const string ChinaEast = "China East";
+ public const string ChinaEast2 = "China East 2";
+ public const string ChinaEast3 = "China East 3";
+ public const string ChinaNorth = "China North";
+ public const string ChinaNorth2 = "China North 2";
+ public const string ChinaNorth3 = "China North 3";
+ public const string EastAsia = "East Asia";
+ public const string EastUS = "East US";
+ public const string EastUS2 = "East US 2";
+ public const string EastUS2EUAP = "East US 2 EUAP";
+ public const string EastUSSLV = "East US SLV";
+ public const string FranceCentral = "France Central";
+ public const string FranceSouth = "France South";
+ public const string GermanyCentral = "Germany Central";
+ public const string GermanyNorth = "Germany North";
+ public const string GermanyNortheast = "Germany Northeast";
+ public const string GermanyWestCentral = "Germany West Central";
+ public const string IsraelCentral = "Israel Central";
+ public const string ItalyNorth = "Italy North";
+ public const string JapanEast = "Japan East";
+ public const string JapanWest = "Japan West";
+ public const string JioIndiaCentral = "Jio India Central";
+ public const string JioIndiaWest = "Jio India West";
+ public const string KoreaCentral = "Korea Central";
+ public const string KoreaSouth = "Korea South";
+ public const string MalaysiaSouth = "Malaysia South";
+ public const string MexicoCentral = "Mexico Central";
+ public const string NorthCentralUS = "North Central US";
+ public const string NorthEurope = "North Europe";
+ public const string NorwayEast = "Norway East";
+ public const string NorwayWest = "Norway West";
+ public const string PolandCentral = "Poland Central";
+ public const string QatarCentral = "Qatar Central";
+ public const string SouthAfricaNorth = "South Africa North";
+ public const string SouthAfricaWest = "South Africa West";
+ public const string SouthCentralUS = "South Central US";
+ public const string SoutheastAsia = "Southeast Asia";
+ public const string SouthIndia = "South India";
+ public const string SpainCentral = "Spain Central";
+ public const string SwedenCentral = "Sweden Central";
+ public const string SwedenSouth = "Sweden South";
+ public const string SwitzerlandNorth = "Switzerland North";
+ public const string SwitzerlandWest = "Switzerland West";
+ public const string TaiwanNorth = "Taiwan North";
+ public const string TaiwanNorthwest = "Taiwan Northwest";
+ public const string UAECentral = "UAE Central";
+ public const string UAENorth = "UAE North";
+ public const string UKSouth = "UK South";
+ public const string UKWest = "UK West";
+ public const string USDoDCentral = "USDoD Central";
+ public const string USDoDEast = "USDoD East";
+ public const string USGovArizona = "USGov Arizona";
+ public const string USGovTexas = "USGov Texas";
+ public const string USGovVirginia = "USGov Virginia";
+ public const string USNatEast = "USNat East";
+ public const string USNatWest = "USNat West";
+ public const string USSecEast = "USSec East";
+ public const string USSecWest = "USSec West";
+ public const string USSecWestCentral = "USSec West Central";
+ public const string WestCentralUS = "West Central US";
+ public const string WestEurope = "West Europe";
+ public const string WestIndia = "West India";
+ public const string WestUS = "West US";
+ public const string WestUS2 = "West US 2";
+ public const string WestUS3 = "West US 3";
+ }
+ public abstract class RequestHandler
+ {
+ protected RequestHandler();
+ public RequestHandler InnerHandler { get; set; }
+ public virtual Task SendAsync(RequestMessage request, CancellationToken cancellationToken);
+ }
+ public class RequestMessage : IDisposable
+ {
+ public RequestMessage();
+ public RequestMessage(HttpMethod method, Uri requestUri);
+ public virtual Stream Content { get; set; }
+ public virtual Headers Headers { get; }
+ public virtual HttpMethod Method { get; }
+ public virtual Dictionary Properties { get; }
+ public virtual Uri RequestUri { get; }
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ }
+ public class RequestOptions
+ {
+ public RequestOptions();
+ public Action AddRequestHeaders { get; set; }
+ public CosmosThresholdOptions CosmosThresholdOptions { get; set; }
+ public List ExcludeRegions { get; set; }
+ public string IfMatchEtag { get; set; }
+ public string IfNoneMatchEtag { get; set; }
+ public Nullable PriorityLevel { get; set; }
+ public IReadOnlyDictionary Properties { get; set; }
+ public RequestOptions ShallowCopy();
+ }
+ public class ResponseMessage : IDisposable
+ {
+ public ResponseMessage();
+ public ResponseMessage(HttpStatusCode statusCode, RequestMessage requestMessage=null, string errorMessage=null);
+ public virtual Stream Content { get; set; }
+ public virtual string ContinuationToken { get; }
+ public virtual CosmosDiagnostics Diagnostics { get; set; }
+ public virtual string ErrorMessage { get; }
+ public virtual Headers Headers { get; }
+ public string IndexMetrics { get; }
+ public virtual bool IsSuccessStatusCode { get; }
+ public virtual RequestMessage RequestMessage { get; }
+ public virtual HttpStatusCode StatusCode { get; }
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public virtual ResponseMessage EnsureSuccessStatusCode();
+ }
+ public abstract class Response