Update throughput settings tab with new elasticity properties (#1461)

* Adding RU thermometer to settings throughput tab

* Finalizing RU thermometer on throughput settings

* Updated snapshot

* Fixing formatting

* Fixing lint errors

* Rerun prettier

* Fixing Offer properties

* Fixing Types

* Updating ARM clients, and enabling new elasticity properties

* Updating snapshots

* Updating an issue caused by updating ARM client

* Latest changes based on feedback

* Fixing lint and unit tests

* Minor fix

* Minor text change

* Changed some formatting
This commit is contained in:
vchske
2023-06-16 15:54:29 -07:00
committed by GitHub
parent a282ad9242
commit 4617fa9364
38 changed files with 2194 additions and 1091 deletions

View File

@@ -3,13 +3,13 @@
Run "npm run generateARMClients" to regenerate
Edting this file directly should be done with extreme caution as not to diverge from ARM REST specs
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/cosmos-db.json
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-04-15/cosmos-db.json
*/
import { configContext } from "../../../../ConfigContext";
import { armRequest } from "../../request";
import * as Types from "./types";
const apiVersion = "2021-04-15";
import { configContext } from "../../../../ConfigContext";
const apiVersion = "2023-04-15";
/* Lists the Cassandra keyspaces under an existing Azure Cosmos DB database account. */
export async function listCassandraKeyspaces(

View File

@@ -3,13 +3,13 @@
Run "npm run generateARMClients" to regenerate
Edting this file directly should be done with extreme caution as not to diverge from ARM REST specs
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/cosmos-db.json
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-04-15/cosmos-db.json
*/
import { configContext } from "../../../../ConfigContext";
import { armRequest } from "../../request";
import * as Types from "./types";
const apiVersion = "2021-04-15";
import { configContext } from "../../../../ConfigContext";
const apiVersion = "2023-04-15";
/* Retrieves the metrics determined by the given filter for the given database account and collection. */
export async function listMetrics(

View File

@@ -3,13 +3,13 @@
Run "npm run generateARMClients" to regenerate
Edting this file directly should be done with extreme caution as not to diverge from ARM REST specs
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/cosmos-db.json
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-04-15/cosmos-db.json
*/
import { configContext } from "../../../../ConfigContext";
import { armRequest } from "../../request";
import * as Types from "./types";
const apiVersion = "2021-04-15";
import { configContext } from "../../../../ConfigContext";
const apiVersion = "2023-04-15";
/* Retrieves the metrics determined by the given filter for the given collection, split by partition. */
export async function listMetrics(

View File

@@ -3,13 +3,13 @@
Run "npm run generateARMClients" to regenerate
Edting this file directly should be done with extreme caution as not to diverge from ARM REST specs
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/cosmos-db.json
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-04-15/cosmos-db.json
*/
import { configContext } from "../../../../ConfigContext";
import { armRequest } from "../../request";
import * as Types from "./types";
const apiVersion = "2021-04-15";
import { configContext } from "../../../../ConfigContext";
const apiVersion = "2023-04-15";
/* Retrieves the metrics determined by the given filter for the given collection and region, split by partition. */
export async function listMetrics(

View File

@@ -3,13 +3,13 @@
Run "npm run generateARMClients" to regenerate
Edting this file directly should be done with extreme caution as not to diverge from ARM REST specs
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/cosmos-db.json
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-04-15/cosmos-db.json
*/
import { configContext } from "../../../../ConfigContext";
import { armRequest } from "../../request";
import * as Types from "./types";
const apiVersion = "2021-04-15";
import { configContext } from "../../../../ConfigContext";
const apiVersion = "2023-04-15";
/* Retrieves the metrics determined by the given filter for the given database account, collection and region. */
export async function listMetrics(

View File

@@ -3,13 +3,13 @@
Run "npm run generateARMClients" to regenerate
Edting this file directly should be done with extreme caution as not to diverge from ARM REST specs
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/cosmos-db.json
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-04-15/cosmos-db.json
*/
import { configContext } from "../../../../ConfigContext";
import { armRequest } from "../../request";
import * as Types from "./types";
const apiVersion = "2021-04-15";
import { configContext } from "../../../../ConfigContext";
const apiVersion = "2023-04-15";
/* Retrieves the metrics determined by the given filter for the given database account and database. */
export async function listMetrics(

View File

@@ -3,13 +3,13 @@
Run "npm run generateARMClients" to regenerate
Edting this file directly should be done with extreme caution as not to diverge from ARM REST specs
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/cosmos-db.json
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-04-15/cosmos-db.json
*/
import { configContext } from "../../../../ConfigContext";
import { armRequest } from "../../request";
import * as Types from "./types";
const apiVersion = "2021-04-15";
import { configContext } from "../../../../ConfigContext";
const apiVersion = "2023-04-15";
/* Retrieves the metrics determined by the given filter for the given database account and region. */
export async function listMetrics(

View File

@@ -3,13 +3,13 @@
Run "npm run generateARMClients" to regenerate
Edting this file directly should be done with extreme caution as not to diverge from ARM REST specs
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/cosmos-db.json
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-04-15/cosmos-db.json
*/
import { configContext } from "../../../../ConfigContext";
import { armRequest } from "../../request";
import * as Types from "./types";
const apiVersion = "2021-04-15";
import { configContext } from "../../../../ConfigContext";
const apiVersion = "2023-04-15";
/* Retrieves the properties of an existing Azure Cosmos DB database account. */
export async function get(
@@ -29,13 +29,7 @@ export async function update(
body: Types.DatabaseAccountUpdateParameters
): Promise<Types.DatabaseAccountGetResults> {
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}`;
return armRequest({
host: configContext.ARM_ENDPOINT,
path,
method: "PATCH",
apiVersion,
body,
});
return armRequest({ host: configContext.ARM_ENDPOINT, path, method: "PATCH", apiVersion, body });
}
/* Creates or updates an Azure Cosmos DB database account. The "Update" method is preferred when performing updates on an account. */

View File

@@ -3,13 +3,13 @@
Run "npm run generateARMClients" to regenerate
Edting this file directly should be done with extreme caution as not to diverge from ARM REST specs
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/cosmos-db.json
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-04-15/cosmos-db.json
*/
import { configContext } from "../../../../ConfigContext";
import { armRequest } from "../../request";
import * as Types from "./types";
const apiVersion = "2021-04-15";
import { configContext } from "../../../../ConfigContext";
const apiVersion = "2023-04-15";
/* Lists the Gremlin databases under an existing Azure Cosmos DB database account. */
export async function listGremlinDatabases(

View File

@@ -0,0 +1,27 @@
/*
AUTOGENERATED FILE
Run "npm run generateARMClients" to regenerate
Edting this file directly should be done with extreme caution as not to diverge from ARM REST specs
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-04-15/cosmos-db.json
*/
import { armRequest } from "../../request";
import * as Types from "./types";
import { configContext } from "../../../../ConfigContext";
const apiVersion = "2023-04-15";
/* List Cosmos DB locations and their properties */
export async function list(subscriptionId: string): Promise<Types.LocationListResult | Types.CloudError> {
const path = `/subscriptions/${subscriptionId}/providers/Microsoft.DocumentDB/locations`;
return armRequest({ host: configContext.ARM_ENDPOINT, path, method: "GET", apiVersion });
}
/* Get the properties of an existing Cosmos DB location */
export async function get(
subscriptionId: string,
location: string
): Promise<Types.LocationGetResult | Types.CloudError> {
const path = `/subscriptions/${subscriptionId}/providers/Microsoft.DocumentDB/locations/${location}`;
return armRequest({ host: configContext.ARM_ENDPOINT, path, method: "GET", apiVersion });
}

View File

@@ -3,13 +3,13 @@
Run "npm run generateARMClients" to regenerate
Edting this file directly should be done with extreme caution as not to diverge from ARM REST specs
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/cosmos-db.json
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-04-15/cosmos-db.json
*/
import { configContext } from "../../../../ConfigContext";
import { armRequest } from "../../request";
import * as Types from "./types";
const apiVersion = "2021-04-15";
import { configContext } from "../../../../ConfigContext";
const apiVersion = "2023-04-15";
/* Lists the MongoDB databases under an existing Azure Cosmos DB database account. */
export async function listMongoDBDatabases(

View File

@@ -3,13 +3,13 @@
Run "npm run generateARMClients" to regenerate
Edting this file directly should be done with extreme caution as not to diverge from ARM REST specs
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/cosmos-db.json
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-04-15/cosmos-db.json
*/
import { configContext } from "../../../../ConfigContext";
import { armRequest } from "../../request";
import * as Types from "./types";
const apiVersion = "2021-04-15";
import { configContext } from "../../../../ConfigContext";
const apiVersion = "2023-04-15";
/* Lists all of the available Cosmos DB Resource Provider operations. */
export async function list(): Promise<Types.OperationListResult> {

View File

@@ -3,13 +3,13 @@
Run "npm run generateARMClients" to regenerate
Edting this file directly should be done with extreme caution as not to diverge from ARM REST specs
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/cosmos-db.json
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-04-15/cosmos-db.json
*/
import { configContext } from "../../../../ConfigContext";
import { armRequest } from "../../request";
import * as Types from "./types";
const apiVersion = "2021-04-15";
import { configContext } from "../../../../ConfigContext";
const apiVersion = "2023-04-15";
/* Retrieves the metrics determined by the given filter for the given partition key range id. */
export async function listMetrics(

View File

@@ -3,13 +3,13 @@
Run "npm run generateARMClients" to regenerate
Edting this file directly should be done with extreme caution as not to diverge from ARM REST specs
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/cosmos-db.json
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-04-15/cosmos-db.json
*/
import { configContext } from "../../../../ConfigContext";
import { armRequest } from "../../request";
import * as Types from "./types";
const apiVersion = "2021-04-15";
import { configContext } from "../../../../ConfigContext";
const apiVersion = "2023-04-15";
/* Retrieves the metrics determined by the given filter for the given partition key range id and region. */
export async function listMetrics(

View File

@@ -3,13 +3,13 @@
Run "npm run generateARMClients" to regenerate
Edting this file directly should be done with extreme caution as not to diverge from ARM REST specs
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/cosmos-db.json
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-04-15/cosmos-db.json
*/
import { configContext } from "../../../../ConfigContext";
import { armRequest } from "../../request";
import * as Types from "./types";
const apiVersion = "2021-04-15";
import { configContext } from "../../../../ConfigContext";
const apiVersion = "2023-04-15";
/* Retrieves the metrics determined by the given filter for the given database account. This url is only for PBS and Replication Latency data */
export async function listMetrics(

View File

@@ -3,13 +3,13 @@
Run "npm run generateARMClients" to regenerate
Edting this file directly should be done with extreme caution as not to diverge from ARM REST specs
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/cosmos-db.json
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-04-15/cosmos-db.json
*/
import { configContext } from "../../../../ConfigContext";
import { armRequest } from "../../request";
import * as Types from "./types";
const apiVersion = "2021-04-15";
import { configContext } from "../../../../ConfigContext";
const apiVersion = "2023-04-15";
/* Retrieves the metrics determined by the given filter for the given account, source and target region. This url is only for PBS and Replication Latency data */
export async function listMetrics(

View File

@@ -3,13 +3,13 @@
Run "npm run generateARMClients" to regenerate
Edting this file directly should be done with extreme caution as not to diverge from ARM REST specs
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/cosmos-db.json
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-04-15/cosmos-db.json
*/
import { configContext } from "../../../../ConfigContext";
import { armRequest } from "../../request";
import * as Types from "./types";
const apiVersion = "2021-04-15";
import { configContext } from "../../../../ConfigContext";
const apiVersion = "2023-04-15";
/* Retrieves the metrics determined by the given filter for the given account target region. This url is only for PBS and Replication Latency data */
export async function listMetrics(

View File

@@ -3,13 +3,13 @@
Run "npm run generateARMClients" to regenerate
Edting this file directly should be done with extreme caution as not to diverge from ARM REST specs
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/cosmos-db.json
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-04-15/cosmos-db.json
*/
import { configContext } from "../../../../ConfigContext";
import { armRequest } from "../../request";
import * as Types from "./types";
const apiVersion = "2021-04-15";
import { configContext } from "../../../../ConfigContext";
const apiVersion = "2023-04-15";
/* Lists the SQL databases under an existing Azure Cosmos DB database account. */
export async function listSqlDatabases(
@@ -197,6 +197,42 @@ export async function migrateSqlContainerToManualThroughput(
return armRequest({ host: configContext.ARM_ENDPOINT, path, method: "POST", apiVersion });
}
/* Lists the ClientEncryptionKeys under an existing Azure Cosmos DB SQL database. */
export async function listClientEncryptionKeys(
subscriptionId: string,
resourceGroupName: string,
accountName: string,
databaseName: string
): Promise<Types.ClientEncryptionKeysListResult> {
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/sqlDatabases/${databaseName}/clientEncryptionKeys`;
return armRequest({ host: configContext.ARM_ENDPOINT, path, method: "GET", apiVersion });
}
/* Gets the ClientEncryptionKey under an existing Azure Cosmos DB SQL database. */
export async function getClientEncryptionKey(
subscriptionId: string,
resourceGroupName: string,
accountName: string,
databaseName: string,
clientEncryptionKeyName: string
): Promise<Types.ClientEncryptionKeyGetResults> {
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/sqlDatabases/${databaseName}/clientEncryptionKeys/${clientEncryptionKeyName}`;
return armRequest({ host: configContext.ARM_ENDPOINT, path, method: "GET", apiVersion });
}
/* Create or update a ClientEncryptionKey. This API is meant to be invoked via tools such as the Azure Powershell (instead of directly). */
export async function createUpdateClientEncryptionKey(
subscriptionId: string,
resourceGroupName: string,
accountName: string,
databaseName: string,
clientEncryptionKeyName: string,
body: Types.ClientEncryptionKeyCreateUpdateParameters
): Promise<Types.ClientEncryptionKeyGetResults | void> {
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/sqlDatabases/${databaseName}/clientEncryptionKeys/${clientEncryptionKeyName}`;
return armRequest({ host: configContext.ARM_ENDPOINT, path, method: "PUT", apiVersion, body });
}
/* Lists the SQL storedProcedure under an existing Azure Cosmos DB database account. */
export async function listSqlStoredProcedures(
subscriptionId: string,
@@ -204,7 +240,7 @@ export async function listSqlStoredProcedures(
accountName: string,
databaseName: string,
containerName: string
): Promise<Types.SqlStoredProcedureListResult> {
): Promise<Types.SqlStoredProcedureListResult | Types.CloudError> {
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/sqlDatabases/${databaseName}/containers/${containerName}/storedProcedures`;
return armRequest({ host: configContext.ARM_ENDPOINT, path, method: "GET", apiVersion });
}

View File

@@ -3,13 +3,13 @@
Run "npm run generateARMClients" to regenerate
Edting this file directly should be done with extreme caution as not to diverge from ARM REST specs
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/cosmos-db.json
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-04-15/cosmos-db.json
*/
import { configContext } from "../../../../ConfigContext";
import { armRequest } from "../../request";
import * as Types from "./types";
const apiVersion = "2021-04-15";
import { configContext } from "../../../../ConfigContext";
const apiVersion = "2023-04-15";
/* Lists the Tables under an existing Azure Cosmos DB database account. */
export async function listTables(

View File

@@ -3,9 +3,15 @@
Run "npm run generateARMClients" to regenerate
Edting this file directly should be done with extreme caution as not to diverge from ARM REST specs
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/cosmos-db.json
Generated from: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-04-15/cosmos-db.json
*/
/* The List operation response, that contains the client encryption keys and their properties. */
export interface ClientEncryptionKeysListResult {
/* List of client encryption keys and their properties. */
readonly value?: ClientEncryptionKeyGetResults[];
}
/* The List operation response, that contains the database accounts and their properties. */
export interface DatabaseAccountsListResult {
/* List of database account and their properties. */
@@ -161,6 +167,30 @@ export interface ARMProxyResource {
readonly type?: string;
}
/* Parameters to create and update ClientEncryptionKey. */
export interface ClientEncryptionKeyCreateUpdateParameters {
/* Properties to create and update ClientEncryptionKey. */
properties: ClientEncryptionKeyCreateUpdateProperties;
}
/* Properties to create and update ClientEncryptionKey. */
export interface ClientEncryptionKeyCreateUpdateProperties {
/* The standard JSON format of a ClientEncryptionKey */
resource: ClientEncryptionKeyResource;
}
/* Client Encryption Key. */
export type ClientEncryptionKeyGetResults = ARMProxyResource & {
/* The properties of a ClientEncryptionKey */
properties?: ClientEncryptionKeyGetProperties;
};
/* The properties of a ClientEncryptionKey resource */
export interface ClientEncryptionKeyGetProperties {
/* undocumented */
resource?: ClientEncryptionKeyResource & ExtendedResourceProperties;
}
/* An Azure Cosmos DB database account. */
export type DatabaseAccountGetResults = ARMResourceProperties & {
/* Indicates the type of database account. This can only be set at database account creation. */
@@ -171,6 +201,9 @@ export type DatabaseAccountGetResults = ARMResourceProperties & {
/* undocumented */
properties?: DatabaseAccountGetProperties;
/* The system meta data relating to this resource. */
readonly systemData?: unknown;
};
/* The system generated resource properties associated with SQL databases, SQL containers, Gremlin databases and Gremlin graphs. */
@@ -446,6 +479,17 @@ export interface DatabaseAccountGetProperties {
/* Flag to indicate whether to enable storage analytics. */
enableAnalyticalStorage?: boolean;
/* Analytical storage specific properties. */
analyticalStorageConfiguration?: AnalyticalStorageConfiguration;
/* A unique identifier assigned to the database account */
readonly instanceId?: string;
/* Enum to indicate the mode of account creation. */
createMode?: CreateMode;
/* Parameters to indicate the information about the restore. */
restoreParameters?: RestoreParameters;
/* The object representing the policy for taking backups on an account. */
backupPolicy?: BackupPolicy;
@@ -457,6 +501,19 @@ export interface DatabaseAccountGetProperties {
/* An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account. */
networkAclBypassResourceIds?: unknown[];
/* Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication. */
disableLocalAuth?: boolean;
/* The object that represents all properties related to capacity enforcement on an account. */
capacity?: Capacity;
/* The object that represents the metadata for the Account Keys of the Cosmos DB account. */
keysMetadata?: DatabaseAccountKeysMetadata;
/* Flag to indicate enabling/disabling of Partition Merge feature on the account */
enablePartitionMerge?: boolean;
/* Indicates the minimum allowed Tls version. The default is Tls 1.0, except for Cassandra and Mongo API's, which only work with Tls 1.2. */
minimalTlsVersion?: MinimalTlsVersion;
}
/* Properties to create and update Azure Cosmos DB database accounts. */
@@ -506,6 +563,12 @@ export interface DatabaseAccountCreateUpdateProperties {
/* Flag to indicate whether to enable storage analytics. */
enableAnalyticalStorage?: boolean;
/* Analytical storage specific properties. */
analyticalStorageConfiguration?: AnalyticalStorageConfiguration;
/* Enum to indicate the mode of account creation. */
createMode?: CreateMode;
/* The object representing the policy for taking backups on an account. */
backupPolicy?: BackupPolicy;
@@ -517,6 +580,22 @@ export interface DatabaseAccountCreateUpdateProperties {
/* An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account. */
networkAclBypassResourceIds?: unknown[];
/* Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication. */
disableLocalAuth?: boolean;
/* Parameters to indicate the information about the restore. */
restoreParameters?: RestoreParameters;
/* The object that represents all properties related to capacity enforcement on an account. */
capacity?: Capacity;
/* This property is ignored during the update/create operation, as the metadata is read-only. The object represents the metadata for the Account Keys of the Cosmos DB account. */
keysMetadata?: DatabaseAccountKeysMetadata;
/* Flag to indicate enabling/disabling of Partition Merge feature on the account */
enablePartitionMerge?: boolean;
/* Indicates the minimum allowed Tls version. The default is Tls 1.0, except for Cassandra and Mongo API's, which only work with Tls 1.2. */
minimalTlsVersion?: MinimalTlsVersion;
}
/* Parameters to create and update Cosmos DB database accounts. */
@@ -575,6 +654,9 @@ export interface DatabaseAccountUpdateProperties {
/* Flag to indicate whether to enable storage analytics. */
enableAnalyticalStorage?: boolean;
/* Analytical storage specific properties. */
analyticalStorageConfiguration?: AnalyticalStorageConfiguration;
/* The object representing the policy for taking backups on an account. */
backupPolicy?: BackupPolicy;
@@ -586,6 +668,19 @@ export interface DatabaseAccountUpdateProperties {
/* An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account. */
networkAclBypassResourceIds?: unknown[];
/* Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication. */
disableLocalAuth?: boolean;
/* The object that represents all properties related to capacity enforcement on an account. */
capacity?: Capacity;
/* This property is ignored during the update operation, as the metadata is read-only. The object represents the metadata for the Account Keys of the Cosmos DB account. */
keysMetadata?: DatabaseAccountKeysMetadata;
/* Flag to indicate enabling/disabling of Partition Merge feature on the account */
enablePartitionMerge?: boolean;
/* Indicates the minimum allowed Tls version. The default is Tls 1.0, except for Cassandra and Mongo API's, which only work with Tls 1.2. */
minimalTlsVersion?: MinimalTlsVersion;
}
/* Parameters for patching Azure Cosmos DB database account properties. */
@@ -624,6 +719,20 @@ export interface DatabaseAccountConnectionString {
readonly connectionString?: string;
/* Description of the connection string */
readonly description?: string;
/* Kind of the connection string key */
readonly keyKind?: "Primary" | "Secondary" | "PrimaryReadonly" | "SecondaryReadonly";
/* Type of the connection string */
readonly type?:
| "Sql"
| "Table"
| "MongoDB"
| "Cassandra"
| "CassandraConnectorMetadata"
| "Gremlin"
| "SqlDedicatedGateway"
| "GremlinV2"
| "Undefined";
}
/* The connection strings for the given database account. */
@@ -844,6 +953,10 @@ export interface ThroughputSettingsResource {
readonly minimumThroughput?: string;
/* The throughput replace is pending */
readonly offerReplacePending?: string;
/* The offer throughput value to instantly scale up without triggering splits */
readonly instantMaximumThroughput?: string;
/* The maximum throughput value or the maximum maxThroughput value (for autoscale) that can be specified */
readonly softAllowedMaximumThroughput?: string;
}
/* Cosmos DB provisioned throughput settings object */
@@ -879,6 +992,30 @@ export interface OptionsResource {
autoscaleSettings?: AutoscaleSettings;
}
/* Cosmos DB client encryption key resource object. */
export interface ClientEncryptionKeyResource {
/* Name of the ClientEncryptionKey */
id?: string;
/* Encryption algorithm that will be used along with this client encryption key to encrypt/decrypt data. */
encryptionAlgorithm?: string;
/* Wrapped (encrypted) form of the key represented as a byte array. */
wrappedDataEncryptionKey?: string;
/* Metadata for the wrapping provider that can be used to unwrap the wrapped client encryption key. */
keyWrapMetadata?: KeyWrapMetadata;
}
/* Represents key wrap metadata that a key wrapping provider can use to wrap/unwrap a client encryption key. */
export interface KeyWrapMetadata {
/* The name of associated KeyEncryptionKey (aka CustomerManagedKey). */
name?: string;
/* ProviderName of KeyStoreProvider. */
type?: string;
/* Reference / link to the KeyEncryptionKey. */
value?: string;
/* Algorithm used in wrapping and unwrapping of the data encryption key. */
algorithm?: string;
}
/* Cosmos DB SQL database resource object */
export interface SqlDatabaseResource {
/* Name of the Cosmos DB SQL database */
@@ -903,6 +1040,9 @@ export interface SqlContainerResource {
/* The conflict resolution policy for the container. */
conflictResolutionPolicy?: ConflictResolutionPolicy;
/* The client encryption policy for the container. */
clientEncryptionPolicy?: ClientEncryptionPolicy;
/* Analytical TTL. */
analyticalStorageTtl?: number;
}
@@ -1014,6 +1154,27 @@ export interface ConflictResolutionPolicy {
conflictResolutionProcedure?: string;
}
/* Cosmos DB client encryption policy. */
export interface ClientEncryptionPolicy {
/* Paths of the item that need encryption along with path-specific settings. */
includedPaths: ClientEncryptionIncludedPath[];
/* Version of the client encryption policy definition. Supported versions are 1 and 2. Version 2 supports id and partition key path encryption. */
policyFormatVersion: number;
}
/* . */
export interface ClientEncryptionIncludedPath {
/* Path that needs to be encrypted. */
path: string;
/* The identifier of the Client Encryption Key to be used to encrypt the path. */
clientEncryptionKeyId: string;
/* The type of encryption to be performed. Eg - Deterministic, Randomized. */
encryptionType: string;
/* The encryption algorithm which will be used. Eg - AEAD_AES_256_CBC_HMAC_SHA256. */
encryptionAlgorithm: string;
}
/* Cosmos DB SQL storedProcedure resource object */
export interface SqlStoredProcedureResource {
/* Name of the Cosmos DB SQL storedProcedure */
@@ -1035,7 +1196,7 @@ export interface SqlTriggerResource {
/* Name of the Cosmos DB SQL trigger */
id: string;
/* Body of the Trigger */
body: string;
body?: string;
/* Type of the Trigger */
triggerType?: "Pre" | "Post";
@@ -1174,6 +1335,9 @@ export interface GremlinGraphResource {
/* The conflict resolution policy for the graph. */
conflictResolutionPolicy?: ConflictResolutionPolicy;
/* Analytical TTL. */
analyticalStorageTtl?: number;
}
/* CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", "If-None-Match", "Session-Token" and "Throughput" */
@@ -1196,6 +1360,12 @@ export interface Capability {
name?: string;
}
/* The object that represents all properties related to capacity enforcement on an account. */
export interface Capacity {
/* The total throughput limit imposed on the account. A totalThroughputLimit of 2000 imposes a strict limit of max throughput that can be provisioned on that account to be 2000. A totalThroughputLimit of -1 indicates no limits on provisioning of throughput. */
totalThroughputLimit?: number;
}
/* Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". */
export type Tags = { [key: string]: string };
@@ -1235,6 +1405,27 @@ export interface VirtualNetworkRule {
/* Indicates what services are allowed to bypass firewall checks. */
export type NetworkAclBypass = "None" | "AzureServices";
/* The metadata related to an access key for a given database account. */
export interface AccountKeyMetadata {
/* Generation time in UTC of the key in ISO-8601 format. If the value is missing from the object, it means that the last key regeneration was triggered before 2022-06-18. */
readonly generationTime?: string;
}
/* The metadata related to each access key for the given Cosmos DB database account. */
export interface DatabaseAccountKeysMetadata {
/* The metadata related to the Primary Read-Write Key for the given Cosmos DB database account. */
readonly primaryMasterKey?: AccountKeyMetadata;
/* The metadata related to the Secondary Read-Write Key for the given Cosmos DB database account. */
readonly secondaryMasterKey?: AccountKeyMetadata;
/* The metadata related to the Primary Read-Only Key for the given Cosmos DB database account. */
readonly primaryReadonlyMasterKey?: AccountKeyMetadata;
/* The metadata related to the Secondary Read-Only Key for the given Cosmos DB database account. */
readonly secondaryReadonlyMasterKey?: AccountKeyMetadata;
}
/* REST API operation */
export interface Operation {
/* Operation name: {provider}/{resource}/{operation} */
@@ -1430,23 +1621,97 @@ export type UnitType = "Count" | "Bytes" | "Seconds" | "Percent" | "CountPerSeco
export type ConnectorOffer = "Small";
/* Whether requests from Public Network are allowed */
export type PublicNetworkAccess = "Enabled" | "Disabled";
export type PublicNetworkAccess = "Enabled" | "Disabled" | "SecuredByPerimeter";
/* undocumented */
export interface ApiProperties {
/* Describes the ServerVersion of an a MongoDB account. */
serverVersion?: "3.2" | "3.6" | "4.0";
serverVersion?: "3.2" | "3.6" | "4.0" | "4.2";
}
/* Analytical storage specific properties. */
export interface AnalyticalStorageConfiguration {
/* undocumented */
schemaType?: AnalyticalStorageSchemaType;
}
/* Describes the types of schema for analytical storage. */
export type AnalyticalStorageSchemaType = "WellDefined" | "FullFidelity";
/* Enum to indicate the mode of account creation. */
export type CreateMode = "Default" | "Restore";
/* Parameters to indicate the information about the restore. */
export interface RestoreParameters {
/* Describes the mode of the restore. */
restoreMode?: "PointInTime";
/* The id of the restorable database account from which the restore has to be initiated. For example: /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} */
restoreSource?: string;
/* Time to which the account has to be restored (ISO-8601 format). */
restoreTimestampInUtc?: string;
/* List of specific databases available for restore. */
databasesToRestore?: DatabaseRestoreResource[];
/* List of specific gremlin databases available for restore. */
gremlinDatabasesToRestore?: GremlinDatabaseRestoreResource[];
/* List of specific tables available for restore. */
tablesToRestore?: TableName[];
}
/* Specific Databases to restore. */
export interface DatabaseRestoreResource {
/* The name of the database available for restore. */
databaseName?: string;
/* The names of the collections available for restore. */
collectionNames?: CollectionName[];
}
/* Specific Gremlin Databases to restore. */
export interface GremlinDatabaseRestoreResource {
/* The name of the gremlin database available for restore. */
databaseName?: string;
/* The names of the graphs available for restore. */
graphNames?: GraphName[];
}
/* The name of the collection. */
export type CollectionName = string;
/* The name of the graph. */
export type GraphName = string;
/* The name of the table. */
export type TableName = string;
/* The object representing the policy for taking backups on an account. */
export interface BackupPolicy {
/* undocumented */
/* Describes the mode of backups. */
type: BackupPolicyType;
/* The object representing the state of the migration between the backup policies. */
migrationState?: BackupPolicyMigrationState;
}
/* Describes the mode of backups. */
export type BackupPolicyType = "Periodic" | "Continuous";
/* The object representing the state of the migration between the backup policies. */
export interface BackupPolicyMigrationState {
/* Describes the status of migration between backup policy types. */
status?: BackupPolicyMigrationStatus;
/* Describes the target backup policy type of the backup policy migration. */
targetType?: BackupPolicyType;
/* Time at which the backup policy migration started (ISO-8601 format). */
startTime?: string;
}
/* Describes the status of migration between backup policy types. */
export type BackupPolicyMigrationStatus = "Invalid" | "InProgress" | "Completed" | "Failed";
/* The object representing periodic mode backup policy. */
export type PeriodicModeBackupPolicy = BackupPolicy & {
/* Configuration values for periodic mode backup */
@@ -1454,7 +1719,10 @@ export type PeriodicModeBackupPolicy = BackupPolicy & {
};
/* The object representing continuous mode backup policy. */
export type ContinuousModeBackupPolicy = BackupPolicy;
export type ContinuousModeBackupPolicy = BackupPolicy & {
/* Configuration values for continuous mode backup */
continuousModeProperties?: ContinuousModeProperties;
};
/* Configuration values for periodic mode backup */
export interface PeriodicModeProperties {
@@ -1462,4 +1730,50 @@ export interface PeriodicModeProperties {
backupIntervalInMinutes?: number;
/* An integer representing the time (in hours) that each backup is retained */
backupRetentionIntervalInHours?: number;
/* Enum to indicate type of backup residency */
backupStorageRedundancy?: BackupStorageRedundancy;
}
/* Configuration values for periodic mode backup */
export interface ContinuousModeProperties {
/* Enum to indicate type of Continuous backup mode */
tier?: ContinuousTier;
}
/* The List operation response, that contains Cosmos DB locations and their properties. */
export interface LocationListResult {
/* List of Cosmos DB locations and their properties. */
readonly value?: LocationGetResult[];
}
/* Cosmos DB location get result */
export type LocationGetResult = ARMProxyResource & {
/* Cosmos DB location metadata */
properties?: LocationProperties;
};
/* Cosmos DB location metadata */
export interface LocationProperties {
/* Flag indicating whether the location supports availability zones or not. */
readonly supportsAvailabilityZone?: boolean;
/* Flag indicating whether the location is residency sensitive. */
readonly isResidencyRestricted?: boolean;
/* The properties of available backup storage redundancies. */
readonly backupStorageRedundancies?: BackupStorageRedundancy[];
/* Flag indicating whether the subscription have access in region for Non-Availability Zones. */
readonly isSubscriptionRegionAccessAllowedForRegular?: boolean;
/* Flag indicating whether the subscription have access in region for Availability Zones(Az). */
readonly isSubscriptionRegionAccessAllowedForAz?: boolean;
/* Enum to indicate current buildout status of the region. */
readonly status?: "Uninitialized" | "Initializing" | "InternallyReady" | "Online" | "Deleting";
}
/* Enum to indicate type of backup storage redundancy. */
export type BackupStorageRedundancy = "Geo" | "Local" | "Zone";
/* Enum to indicate type of Continuous backup tier. */
export type ContinuousTier = "Continuous7Days" | "Continuous30Days";
/* Indicates the minimum allowed Tls version. The default is Tls 1.0, except for Cassandra and Mongo API's, which only work with Tls 1.2. */
export type MinimalTlsVersion = "Tls" | "Tls11" | "Tls12";