mirror of
https://github.com/Azure/cosmos-explorer.git
synced 2025-12-22 02:11:29 +00:00
Functional version
This commit is contained in:
@@ -6,110 +6,150 @@
|
||||
|
||||
import * as Types from "./types";
|
||||
|
||||
export class CassandraResourcesClient {
|
||||
private readonly baseUrl = "https://management.azure.com";
|
||||
private readonly basePath = `/subscriptions/${this.subscriptionId}/resourceGroups/${this.resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${this.accountName}/cassandraKeyspaces`;
|
||||
|
||||
constructor(
|
||||
private readonly subscriptionId: string,
|
||||
private readonly resourceGroupName: string,
|
||||
private readonly accountName: string
|
||||
) {}
|
||||
|
||||
/* Lists the Cassandra keyspaces under an existing Azure Cosmos DB database account. */
|
||||
async listCassandraKeyspaces(): Promise<Types.CassandraKeyspaceListResult> {
|
||||
const path = ``;
|
||||
/* Lists the Cassandra keyspaces under an existing Azure Cosmos DB database account. */
|
||||
export async function listCassandraKeyspaces(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string
|
||||
): Promise<Types.CassandraKeyspaceListResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/cassandraKeyspaces`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Gets the Cassandra keyspaces under an existing Azure Cosmos DB database account with the provided name. */
|
||||
async getCassandraKeyspace(keyspaceName: string): Promise<Types.CassandraKeyspaceGetResults> {
|
||||
const path = `/${keyspaceName}`;
|
||||
/* Gets the Cassandra keyspaces under an existing Azure Cosmos DB database account with the provided name. */
|
||||
export async function getCassandraKeyspace(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
keyspaceName: string
|
||||
): Promise<Types.CassandraKeyspaceGetResults> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/cassandraKeyspaces/${keyspaceName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Create or update an Azure Cosmos DB Cassandra keyspace */
|
||||
async createUpdateCassandraKeyspace(
|
||||
/* Create or update an Azure Cosmos DB Cassandra keyspace */
|
||||
export async function createUpdateCassandraKeyspace(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
keyspaceName: string,
|
||||
body: Types.CassandraKeyspaceCreateUpdateParameters
|
||||
): Promise<Types.CassandraKeyspaceGetResults | void> {
|
||||
const path = `/${keyspaceName}`;
|
||||
): Promise<Types.CassandraKeyspaceGetResults | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/cassandraKeyspaces/${keyspaceName}`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "put", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Deletes an existing Azure Cosmos DB Cassandra keyspace. */
|
||||
async deleteCassandraKeyspace(keyspaceName: string): Promise<void | void> {
|
||||
const path = `/${keyspaceName}`;
|
||||
/* Deletes an existing Azure Cosmos DB Cassandra keyspace. */
|
||||
export async function deleteCassandraKeyspace(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
keyspaceName: string
|
||||
): Promise<void | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/cassandraKeyspaces/${keyspaceName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "delete" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Lists the Cassandra table under an existing Azure Cosmos DB database account. */
|
||||
async listCassandraTables(keyspaceName: string): Promise<Types.CassandraTableListResult> {
|
||||
const path = `/${keyspaceName}/tables`;
|
||||
/* Gets the RUs per second of the Cassandra Keyspace under an existing Azure Cosmos DB database account with the provided name. */
|
||||
export async function getCassandraKeyspaceThroughput(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
keyspaceName: string
|
||||
): Promise<Types.ThroughputSettingsGetResults> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/cassandraKeyspaces/${keyspaceName}/throughputSettings/default`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Gets the Cassandra table under an existing Azure Cosmos DB database account. */
|
||||
async getCassandraTable(keyspaceName: string, tableName: string): Promise<Types.CassandraTableGetResults> {
|
||||
const path = `/${keyspaceName}/tables/${tableName}`;
|
||||
/* Update RUs per second of an Azure Cosmos DB Cassandra Keyspace */
|
||||
export async function updateCassandraKeyspaceThroughput(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
keyspaceName: string,
|
||||
body: Types.ThroughputSettingsUpdateParameters
|
||||
): Promise<Types.ThroughputSettingsGetResults | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/cassandraKeyspaces/${keyspaceName}/throughputSettings/default`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "put", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
|
||||
/* Lists the Cassandra table under an existing Azure Cosmos DB database account. */
|
||||
export async function listCassandraTables(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
keyspaceName: string
|
||||
): Promise<Types.CassandraTableListResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/cassandraKeyspaces/${keyspaceName}/tables`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Create or update an Azure Cosmos DB Cassandra Table */
|
||||
async createUpdateCassandraTable(
|
||||
/* Gets the Cassandra table under an existing Azure Cosmos DB database account. */
|
||||
export async function getCassandraTable(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
keyspaceName: string,
|
||||
tableName: string
|
||||
): Promise<Types.CassandraTableGetResults> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/cassandraKeyspaces/${keyspaceName}/tables/${tableName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Create or update an Azure Cosmos DB Cassandra Table */
|
||||
export async function createUpdateCassandraTable(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
keyspaceName: string,
|
||||
tableName: string,
|
||||
body: Types.CassandraTableCreateUpdateParameters
|
||||
): Promise<Types.CassandraTableGetResults | void> {
|
||||
const path = `/${keyspaceName}/tables/${tableName}`;
|
||||
): Promise<Types.CassandraTableGetResults | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/cassandraKeyspaces/${keyspaceName}/tables/${tableName}`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "put", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Deletes an existing Azure Cosmos DB Cassandra table. */
|
||||
async deleteCassandraTable(keyspaceName: string, tableName: string): Promise<void | void> {
|
||||
const path = `/${keyspaceName}/tables/${tableName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "delete" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Gets the RUs per second of the Cassandra table under an existing Azure Cosmos DB database account with the provided name. */
|
||||
async getCassandraTableThroughput(
|
||||
/* Deletes an existing Azure Cosmos DB Cassandra table. */
|
||||
export async function deleteCassandraTable(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
keyspaceName: string,
|
||||
tableName: string
|
||||
): Promise<Types.ThroughputSettingsGetResults> {
|
||||
const path = `/${keyspaceName}/tables/${tableName}/throughputSettings/default`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
): Promise<void | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/cassandraKeyspaces/${keyspaceName}/tables/${tableName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "delete" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Update RUs per second of an Azure Cosmos DB Cassandra table */
|
||||
async updateCassandraTableThroughput(
|
||||
/* Gets the RUs per second of the Cassandra table under an existing Azure Cosmos DB database account with the provided name. */
|
||||
export async function getCassandraTableThroughput(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
keyspaceName: string,
|
||||
tableName: string
|
||||
): Promise<Types.ThroughputSettingsGetResults> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/cassandraKeyspaces/${keyspaceName}/tables/${tableName}/throughputSettings/default`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Update RUs per second of an Azure Cosmos DB Cassandra table */
|
||||
export async function updateCassandraTableThroughput(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
keyspaceName: string,
|
||||
tableName: string,
|
||||
body: Types.ThroughputSettingsUpdateParameters
|
||||
): Promise<Types.ThroughputSettingsGetResults | void> {
|
||||
const path = `/${keyspaceName}/tables/${tableName}/throughputSettings/default`;
|
||||
): Promise<Types.ThroughputSettingsGetResults | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/cassandraKeyspaces/${keyspaceName}/tables/${tableName}/throughputSettings/default`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "put", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
|
||||
/* Gets the RUs per second of the Cassandra Keyspace under an existing Azure Cosmos DB database account with the provided name. */
|
||||
async getCassandraKeyspaceThroughput(keyspaceName: string): Promise<Types.ThroughputSettingsGetResults> {
|
||||
const path = `/${keyspaceName}/throughputSettings/default`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Update RUs per second of an Azure Cosmos DB Cassandra Keyspace */
|
||||
async updateCassandraKeyspaceThroughput(
|
||||
keyspaceName: string,
|
||||
body: Types.ThroughputSettingsUpdateParameters
|
||||
): Promise<Types.ThroughputSettingsGetResults | void> {
|
||||
const path = `/${keyspaceName}/throughputSettings/default`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "put", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,33 +6,38 @@
|
||||
|
||||
import * as Types from "./types";
|
||||
|
||||
export class CollectionClient {
|
||||
private readonly baseUrl = "https://management.azure.com";
|
||||
private readonly basePath = `/subscriptions/${this.subscriptionId}/resourceGroups/${this.resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${this.accountName}/databases/${this.databaseRid}/collections/${this.collectionRid}/`;
|
||||
|
||||
constructor(
|
||||
private readonly subscriptionId: string,
|
||||
private readonly resourceGroupName: string,
|
||||
private readonly accountName: string,
|
||||
private readonly databaseRid: string,
|
||||
private readonly collectionRid: string
|
||||
) {}
|
||||
|
||||
/* Retrieves metric definitions for the given collection. */
|
||||
async listMetricDefinitions(): Promise<Types.MetricDefinitionsListResult> {
|
||||
const path = `metricDefinitions`;
|
||||
/* Retrieves the metrics determined by the given filter for the given database account and collection. */
|
||||
export async function listMetrics(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseRid: string,
|
||||
collectionRid: string
|
||||
): Promise<Types.MetricListResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/databases/${databaseRid}/collections/${collectionRid}/metrics`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Retrieves the usages (most recent storage data) for the given collection. */
|
||||
export async function listUsages(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseRid: string,
|
||||
collectionRid: string
|
||||
): Promise<Types.UsagesResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/databases/${databaseRid}/collections/${collectionRid}/usages`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Retrieves metric definitions for the given collection. */
|
||||
export async function listMetricDefinitions(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseRid: string,
|
||||
collectionRid: string
|
||||
): Promise<Types.MetricDefinitionsListResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/databases/${databaseRid}/collections/${collectionRid}/metricDefinitions`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Retrieves the metrics determined by the given filter for the given database account and collection. */
|
||||
async listMetrics(): Promise<Types.MetricListResult> {
|
||||
const path = `metrics`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Retrieves the usages (most recent storage data) for the given collection. */
|
||||
async listUsages(): Promise<Types.UsagesResult> {
|
||||
const path = `usages`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,27 +6,26 @@
|
||||
|
||||
import * as Types from "./types";
|
||||
|
||||
export class CollectionPartitionClient {
|
||||
private readonly baseUrl = "https://management.azure.com";
|
||||
private readonly basePath = `/subscriptions/${this.subscriptionId}/resourceGroups/${this.resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${this.accountName}/databases/${this.databaseRid}/collections/${this.collectionRid}/partitions/`;
|
||||
|
||||
constructor(
|
||||
private readonly subscriptionId: string,
|
||||
private readonly resourceGroupName: string,
|
||||
private readonly accountName: string,
|
||||
private readonly databaseRid: string,
|
||||
private readonly collectionRid: string
|
||||
) {}
|
||||
|
||||
/* Retrieves the metrics determined by the given filter for the given collection, split by partition. */
|
||||
async listMetrics(): Promise<Types.PartitionMetricListResult> {
|
||||
const path = `metrics`;
|
||||
/* Retrieves the metrics determined by the given filter for the given collection, split by partition. */
|
||||
export async function listMetrics(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseRid: string,
|
||||
collectionRid: string
|
||||
): Promise<Types.PartitionMetricListResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/databases/${databaseRid}/collections/${collectionRid}/partitions/metrics`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Retrieves the usages (most recent storage data) for the given collection, split by partition. */
|
||||
export async function listUsages(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseRid: string,
|
||||
collectionRid: string
|
||||
): Promise<Types.PartitionUsagesResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/databases/${databaseRid}/collections/${collectionRid}/partitions/usages`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Retrieves the usages (most recent storage data) for the given collection, split by partition. */
|
||||
async listUsages(): Promise<Types.PartitionUsagesResult> {
|
||||
const path = `usages`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,22 +6,15 @@
|
||||
|
||||
import * as Types from "./types";
|
||||
|
||||
export class CollectionPartitionRegionClient {
|
||||
private readonly baseUrl = "https://management.azure.com";
|
||||
private readonly basePath = `/subscriptions/${this.subscriptionId}/resourceGroups/${this.resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${this.accountName}/region/${this.region}/databases/${this.databaseRid}/collections/${this.collectionRid}/partitions/metrics`;
|
||||
|
||||
constructor(
|
||||
private readonly subscriptionId: string,
|
||||
private readonly resourceGroupName: string,
|
||||
private readonly accountName: string,
|
||||
private readonly region: string,
|
||||
private readonly databaseRid: string,
|
||||
private readonly collectionRid: string
|
||||
) {}
|
||||
|
||||
/* Retrieves the metrics determined by the given filter for the given collection and region, split by partition. */
|
||||
async listMetrics(): Promise<Types.PartitionMetricListResult> {
|
||||
const path = ``;
|
||||
/* Retrieves the metrics determined by the given filter for the given collection and region, split by partition. */
|
||||
export async function listMetrics(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
region: string,
|
||||
databaseRid: string,
|
||||
collectionRid: string
|
||||
): Promise<Types.PartitionMetricListResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/region/${region}/databases/${databaseRid}/collections/${collectionRid}/partitions/metrics`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,22 +6,15 @@
|
||||
|
||||
import * as Types from "./types";
|
||||
|
||||
export class CollectionRegionClient {
|
||||
private readonly baseUrl = "https://management.azure.com";
|
||||
private readonly basePath = `/subscriptions/${this.subscriptionId}/resourceGroups/${this.resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${this.accountName}/region/${this.region}/databases/${this.databaseRid}/collections/${this.collectionRid}/metrics`;
|
||||
|
||||
constructor(
|
||||
private readonly subscriptionId: string,
|
||||
private readonly resourceGroupName: string,
|
||||
private readonly accountName: string,
|
||||
private readonly region: string,
|
||||
private readonly databaseRid: string,
|
||||
private readonly collectionRid: string
|
||||
) {}
|
||||
|
||||
/* Retrieves the metrics determined by the given filter for the given database account, collection and region. */
|
||||
async listMetrics(): Promise<Types.MetricListResult> {
|
||||
const path = ``;
|
||||
/* Retrieves the metrics determined by the given filter for the given database account, collection and region. */
|
||||
export async function listMetrics(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
region: string,
|
||||
databaseRid: string,
|
||||
collectionRid: string
|
||||
): Promise<Types.MetricListResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/region/${region}/databases/${databaseRid}/collections/${collectionRid}/metrics`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,32 +6,35 @@
|
||||
|
||||
import * as Types from "./types";
|
||||
|
||||
export class DatabaseClient {
|
||||
private readonly baseUrl = "https://management.azure.com";
|
||||
private readonly basePath = `/subscriptions/${this.subscriptionId}/resourceGroups/${this.resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${this.accountName}/databases/${this.databaseRid}/`;
|
||||
|
||||
constructor(
|
||||
private readonly subscriptionId: string,
|
||||
private readonly resourceGroupName: string,
|
||||
private readonly accountName: string,
|
||||
private readonly databaseRid: string
|
||||
) {}
|
||||
|
||||
/* Retrieves metric definitions for the given database. */
|
||||
async listMetricDefinitions(): Promise<Types.MetricDefinitionsListResult> {
|
||||
const path = `metricDefinitions`;
|
||||
/* Retrieves the metrics determined by the given filter for the given database account and database. */
|
||||
export async function listMetrics(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseRid: string
|
||||
): Promise<Types.MetricListResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/databases/${databaseRid}/metrics`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Retrieves the usages (most recent data) for the given database. */
|
||||
export async function listUsages(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseRid: string
|
||||
): Promise<Types.UsagesResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/databases/${databaseRid}/usages`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Retrieves metric definitions for the given database. */
|
||||
export async function listMetricDefinitions(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseRid: string
|
||||
): Promise<Types.MetricDefinitionsListResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/databases/${databaseRid}/metricDefinitions`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Retrieves the metrics determined by the given filter for the given database account and database. */
|
||||
async listMetrics(): Promise<Types.MetricListResult> {
|
||||
const path = `metrics`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Retrieves the usages (most recent data) for the given database. */
|
||||
async listUsages(): Promise<Types.UsagesResult> {
|
||||
const path = `usages`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,20 +6,13 @@
|
||||
|
||||
import * as Types from "./types";
|
||||
|
||||
export class DatabaseAccountRegionClient {
|
||||
private readonly baseUrl = "https://management.azure.com";
|
||||
private readonly basePath = `/subscriptions/${this.subscriptionId}/resourceGroups/${this.resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${this.accountName}/region/${this.region}/metrics`;
|
||||
|
||||
constructor(
|
||||
private readonly subscriptionId: string,
|
||||
private readonly resourceGroupName: string,
|
||||
private readonly accountName: string,
|
||||
private readonly region: string
|
||||
) {}
|
||||
|
||||
/* Retrieves the metrics determined by the given filter for the given database account and region. */
|
||||
async listMetrics(): Promise<Types.MetricListResult> {
|
||||
const path = ``;
|
||||
/* Retrieves the metrics determined by the given filter for the given database account and region. */
|
||||
export async function listMetrics(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
region: string
|
||||
): Promise<Types.MetricListResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/region/${region}/metrics`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,192 +6,191 @@
|
||||
|
||||
import * as Types from "./types";
|
||||
|
||||
export class DatabaseAccountsClient {
|
||||
private readonly baseUrl = "https://management.azure.com";
|
||||
private readonly basePath = `/`;
|
||||
|
||||
/* Checks that the Azure Cosmos DB account name already exists. A valid account name may contain only lowercase letters, numbers, and the '-' character, and must be between 3 and 50 characters. */
|
||||
async checkNameExists(accountName: string): Promise<void | void> {
|
||||
const path = `providers/Microsoft.DocumentDB/databaseAccountNames/${accountName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "head" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Lists all the Azure Cosmos DB database accounts available under the subscription. */
|
||||
async list(subscriptionId: string): Promise<Types.DatabaseAccountsListResult> {
|
||||
const path = `subscriptions/${subscriptionId}/providers/Microsoft.DocumentDB/databaseAccounts`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Lists all the Azure Cosmos DB database accounts available under the given resource group. */
|
||||
async listByResourceGroup(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string
|
||||
): Promise<Types.DatabaseAccountsListResult> {
|
||||
const path = `subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Retrieves the properties of an existing Azure Cosmos DB database account. */
|
||||
async get(
|
||||
/* Retrieves the properties of an existing Azure Cosmos DB database account. */
|
||||
export async function get(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string
|
||||
): Promise<Types.DatabaseAccountGetResults> {
|
||||
const path = `subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}`;
|
||||
): Promise<Types.DatabaseAccountGetResults> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Updates the properties of an existing Azure Cosmos DB database account. */
|
||||
async update(
|
||||
/* Updates the properties of an existing Azure Cosmos DB database account. */
|
||||
export async function update(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
body: Types.DatabaseAccountUpdateParameters
|
||||
): Promise<Types.DatabaseAccountGetResults> {
|
||||
const path = `subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}`;
|
||||
): Promise<Types.DatabaseAccountGetResults> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "patch", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Creates or updates an Azure Cosmos DB database account. The "Update" method is preferred when performing updates on an account. */
|
||||
async createOrUpdate(
|
||||
/* Creates or updates an Azure Cosmos DB database account. The "Update" method is preferred when performing updates on an account. */
|
||||
export async function createOrUpdate(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
body: Types.DatabaseAccountCreateUpdateParameters
|
||||
): Promise<Types.DatabaseAccountGetResults> {
|
||||
const path = `subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}`;
|
||||
): Promise<Types.DatabaseAccountGetResults> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "put", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Deletes an existing Azure Cosmos DB database account. */
|
||||
async destroy(subscriptionId: string, resourceGroupName: string, accountName: string): Promise<void | void> {
|
||||
const path = `subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}`;
|
||||
/* Deletes an existing Azure Cosmos DB database account. */
|
||||
export async function destroy(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string
|
||||
): Promise<void | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "delete" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Changes the failover priority for the Azure Cosmos DB database account. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists. */
|
||||
async failoverPriorityChange(
|
||||
/* Changes the failover priority for the Azure Cosmos DB database account. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists. */
|
||||
export async function failoverPriorityChange(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
body: Types.FailoverPolicies
|
||||
): Promise<void | void> {
|
||||
const path = `subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/failoverPriorityChange`;
|
||||
): Promise<void | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/failoverPriorityChange`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "post", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Lists the connection strings for the specified Azure Cosmos DB database account. */
|
||||
async listConnectionStrings(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string
|
||||
): Promise<Types.DatabaseAccountListConnectionStringsResult> {
|
||||
const path = `subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/listConnectionStrings`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "post" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Lists the access keys for the specified Azure Cosmos DB database account. */
|
||||
async listKeys(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string
|
||||
): Promise<Types.DatabaseAccountListKeysResult> {
|
||||
const path = `subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/listKeys`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "post" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Retrieves metric definitions for the given database account. */
|
||||
async listMetricDefinitions(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string
|
||||
): Promise<Types.MetricDefinitionsListResult> {
|
||||
const path = `subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/metricDefinitions`;
|
||||
/* Lists all the Azure Cosmos DB database accounts available under the subscription. */
|
||||
export async function list(subscriptionId: string): Promise<Types.DatabaseAccountsListResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/providers/Microsoft.DocumentDB/databaseAccounts`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Retrieves the metrics determined by the given filter for the given database account. */
|
||||
async listMetrics(
|
||||
/* Lists all the Azure Cosmos DB database accounts available under the given resource group. */
|
||||
export async function listByResourceGroup(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string
|
||||
): Promise<Types.DatabaseAccountsListResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Lists the access keys for the specified Azure Cosmos DB database account. */
|
||||
export async function listKeys(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string
|
||||
): Promise<Types.MetricListResult> {
|
||||
const path = `subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/metrics`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
): Promise<Types.DatabaseAccountListKeysResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/listKeys`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "post" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Offline the specified region for the specified Azure Cosmos DB database account. */
|
||||
async offlineRegion(
|
||||
/* Lists the connection strings for the specified Azure Cosmos DB database account. */
|
||||
export async function listConnectionStrings(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string
|
||||
): Promise<Types.DatabaseAccountListConnectionStringsResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/listConnectionStrings`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "post" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Offline the specified region for the specified Azure Cosmos DB database account. */
|
||||
export async function offlineRegion(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
body: Types.RegionForOnlineOffline
|
||||
): Promise<void | void | Types.ErrorResponse> {
|
||||
const path = `subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/offlineRegion`;
|
||||
): Promise<void | void | Types.ErrorResponse> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/offlineRegion`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "post", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Online the specified region for the specified Azure Cosmos DB database account. */
|
||||
async onlineRegion(
|
||||
/* Online the specified region for the specified Azure Cosmos DB database account. */
|
||||
export async function onlineRegion(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
body: Types.RegionForOnlineOffline
|
||||
): Promise<void | void | Types.ErrorResponse> {
|
||||
const path = `subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/onlineRegion`;
|
||||
): Promise<void | void | Types.ErrorResponse> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/onlineRegion`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "post", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Lists the read-only access keys for the specified Azure Cosmos DB database account. */
|
||||
async getReadOnlyKeys(
|
||||
/* Lists the read-only access keys for the specified Azure Cosmos DB database account. */
|
||||
export async function getReadOnlyKeys(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string
|
||||
): Promise<Types.DatabaseAccountListReadOnlyKeysResult> {
|
||||
const path = `subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/readonlykeys`;
|
||||
): Promise<Types.DatabaseAccountListReadOnlyKeysResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/readonlykeys`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Lists the read-only access keys for the specified Azure Cosmos DB database account. */
|
||||
async listReadOnlyKeys(
|
||||
/* Lists the read-only access keys for the specified Azure Cosmos DB database account. */
|
||||
export async function listReadOnlyKeys(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string
|
||||
): Promise<Types.DatabaseAccountListReadOnlyKeysResult> {
|
||||
const path = `subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/readonlykeys`;
|
||||
): Promise<Types.DatabaseAccountListReadOnlyKeysResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/readonlykeys`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "post" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Regenerates an access key for the specified Azure Cosmos DB database account. */
|
||||
async regenerateKey(
|
||||
/* Regenerates an access key for the specified Azure Cosmos DB database account. */
|
||||
export async function regenerateKey(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
body: Types.DatabaseAccountRegenerateKeyParameters
|
||||
): Promise<void | void> {
|
||||
const path = `subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/regenerateKey`;
|
||||
): Promise<void | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/regenerateKey`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "post", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Retrieves the usages (most recent data) for the given database account. */
|
||||
async listUsages(
|
||||
/* Checks that the Azure Cosmos DB account name already exists. A valid account name may contain only lowercase letters, numbers, and the '-' character, and must be between 3 and 50 characters. */
|
||||
export async function checkNameExists(accountName: string): Promise<void | void> {
|
||||
const path = `/providers/Microsoft.DocumentDB/databaseAccountNames/${accountName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "head" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Retrieves the metrics determined by the given filter for the given database account. */
|
||||
export async function listMetrics(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string
|
||||
): Promise<Types.UsagesResult> {
|
||||
const path = `subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/usages`;
|
||||
): Promise<Types.MetricListResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/metrics`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Retrieves the usages (most recent data) for the given database account. */
|
||||
export async function listUsages(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string
|
||||
): Promise<Types.UsagesResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/usages`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Retrieves metric definitions for the given database account. */
|
||||
export async function listMetricDefinitions(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string
|
||||
): Promise<Types.MetricDefinitionsListResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/metricDefinitions`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,110 +6,150 @@
|
||||
|
||||
import * as Types from "./types";
|
||||
|
||||
export class GremlinResourcesClient {
|
||||
private readonly baseUrl = "https://management.azure.com";
|
||||
private readonly basePath = `/subscriptions/${this.subscriptionId}/resourceGroups/${this.resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${this.accountName}/gremlinDatabases`;
|
||||
|
||||
constructor(
|
||||
private readonly subscriptionId: string,
|
||||
private readonly resourceGroupName: string,
|
||||
private readonly accountName: string
|
||||
) {}
|
||||
|
||||
/* Lists the Gremlin databases under an existing Azure Cosmos DB database account. */
|
||||
async listGremlinDatabases(): Promise<Types.GremlinDatabaseListResult> {
|
||||
const path = ``;
|
||||
/* Lists the Gremlin databases under an existing Azure Cosmos DB database account. */
|
||||
export async function listGremlinDatabases(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string
|
||||
): Promise<Types.GremlinDatabaseListResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/gremlinDatabases`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Gets the Gremlin databases under an existing Azure Cosmos DB database account with the provided name. */
|
||||
async getGremlinDatabase(databaseName: string): Promise<Types.GremlinDatabaseGetResults> {
|
||||
const path = `/${databaseName}`;
|
||||
/* Gets the Gremlin databases under an existing Azure Cosmos DB database account with the provided name. */
|
||||
export async function getGremlinDatabase(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string
|
||||
): Promise<Types.GremlinDatabaseGetResults> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/gremlinDatabases/${databaseName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Create or update an Azure Cosmos DB Gremlin database */
|
||||
async createUpdateGremlinDatabase(
|
||||
/* Create or update an Azure Cosmos DB Gremlin database */
|
||||
export async function createUpdateGremlinDatabase(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
body: Types.GremlinDatabaseCreateUpdateParameters
|
||||
): Promise<Types.GremlinDatabaseGetResults | void> {
|
||||
const path = `/${databaseName}`;
|
||||
): Promise<Types.GremlinDatabaseGetResults | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/gremlinDatabases/${databaseName}`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "put", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Deletes an existing Azure Cosmos DB Gremlin database. */
|
||||
async deleteGremlinDatabase(databaseName: string): Promise<void | void> {
|
||||
const path = `/${databaseName}`;
|
||||
/* Deletes an existing Azure Cosmos DB Gremlin database. */
|
||||
export async function deleteGremlinDatabase(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string
|
||||
): Promise<void | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/gremlinDatabases/${databaseName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "delete" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Lists the Gremlin graph under an existing Azure Cosmos DB database account. */
|
||||
async listGremlinGraphs(databaseName: string): Promise<Types.GremlinGraphListResult> {
|
||||
const path = `/${databaseName}/graphs`;
|
||||
/* Gets the RUs per second of the Gremlin database under an existing Azure Cosmos DB database account with the provided name. */
|
||||
export async function getGremlinDatabaseThroughput(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string
|
||||
): Promise<Types.ThroughputSettingsGetResults> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/gremlinDatabases/${databaseName}/throughputSettings/default`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Gets the Gremlin graph under an existing Azure Cosmos DB database account. */
|
||||
async getGremlinGraph(databaseName: string, graphName: string): Promise<Types.GremlinGraphGetResults> {
|
||||
const path = `/${databaseName}/graphs/${graphName}`;
|
||||
/* Update RUs per second of an Azure Cosmos DB Gremlin database */
|
||||
export async function updateGremlinDatabaseThroughput(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
body: Types.ThroughputSettingsUpdateParameters
|
||||
): Promise<Types.ThroughputSettingsGetResults | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/gremlinDatabases/${databaseName}/throughputSettings/default`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "put", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
|
||||
/* Lists the Gremlin graph under an existing Azure Cosmos DB database account. */
|
||||
export async function listGremlinGraphs(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string
|
||||
): Promise<Types.GremlinGraphListResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/gremlinDatabases/${databaseName}/graphs`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Create or update an Azure Cosmos DB Gremlin graph */
|
||||
async createUpdateGremlinGraph(
|
||||
/* Gets the Gremlin graph under an existing Azure Cosmos DB database account. */
|
||||
export async function getGremlinGraph(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
graphName: string
|
||||
): Promise<Types.GremlinGraphGetResults> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/gremlinDatabases/${databaseName}/graphs/${graphName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Create or update an Azure Cosmos DB Gremlin graph */
|
||||
export async function createUpdateGremlinGraph(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
graphName: string,
|
||||
body: Types.GremlinGraphCreateUpdateParameters
|
||||
): Promise<Types.GremlinGraphGetResults | void> {
|
||||
const path = `/${databaseName}/graphs/${graphName}`;
|
||||
): Promise<Types.GremlinGraphGetResults | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/gremlinDatabases/${databaseName}/graphs/${graphName}`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "put", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Deletes an existing Azure Cosmos DB Gremlin graph. */
|
||||
async deleteGremlinGraph(databaseName: string, graphName: string): Promise<void | void> {
|
||||
const path = `/${databaseName}/graphs/${graphName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "delete" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Gets the Gremlin graph throughput under an existing Azure Cosmos DB database account with the provided name. */
|
||||
async getGremlinGraphThroughput(
|
||||
/* Deletes an existing Azure Cosmos DB Gremlin graph. */
|
||||
export async function deleteGremlinGraph(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
graphName: string
|
||||
): Promise<Types.ThroughputSettingsGetResults> {
|
||||
const path = `/${databaseName}/graphs/${graphName}/throughputSettings/default`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
): Promise<void | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/gremlinDatabases/${databaseName}/graphs/${graphName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "delete" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Update RUs per second of an Azure Cosmos DB Gremlin graph */
|
||||
async updateGremlinGraphThroughput(
|
||||
/* Gets the Gremlin graph throughput under an existing Azure Cosmos DB database account with the provided name. */
|
||||
export async function getGremlinGraphThroughput(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
graphName: string
|
||||
): Promise<Types.ThroughputSettingsGetResults> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/gremlinDatabases/${databaseName}/graphs/${graphName}/throughputSettings/default`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Update RUs per second of an Azure Cosmos DB Gremlin graph */
|
||||
export async function updateGremlinGraphThroughput(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
graphName: string,
|
||||
body: Types.ThroughputSettingsUpdateParameters
|
||||
): Promise<Types.ThroughputSettingsGetResults | void> {
|
||||
const path = `/${databaseName}/graphs/${graphName}/throughputSettings/default`;
|
||||
): Promise<Types.ThroughputSettingsGetResults | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/gremlinDatabases/${databaseName}/graphs/${graphName}/throughputSettings/default`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "put", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
|
||||
/* Gets the RUs per second of the Gremlin database under an existing Azure Cosmos DB database account with the provided name. */
|
||||
async getGremlinDatabaseThroughput(databaseName: string): Promise<Types.ThroughputSettingsGetResults> {
|
||||
const path = `/${databaseName}/throughputSettings/default`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Update RUs per second of an Azure Cosmos DB Gremlin database */
|
||||
async updateGremlinDatabaseThroughput(
|
||||
databaseName: string,
|
||||
body: Types.ThroughputSettingsUpdateParameters
|
||||
): Promise<Types.ThroughputSettingsGetResults | void> {
|
||||
const path = `/${databaseName}/throughputSettings/default`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "put", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,110 +6,150 @@
|
||||
|
||||
import * as Types from "./types";
|
||||
|
||||
export class MongoDBResourcesClient {
|
||||
private readonly baseUrl = "https://management.azure.com";
|
||||
private readonly basePath = `/subscriptions/${this.subscriptionId}/resourceGroups/${this.resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${this.accountName}/mongodbDatabases`;
|
||||
|
||||
constructor(
|
||||
private readonly subscriptionId: string,
|
||||
private readonly resourceGroupName: string,
|
||||
private readonly accountName: string
|
||||
) {}
|
||||
|
||||
/* Lists the MongoDB databases under an existing Azure Cosmos DB database account. */
|
||||
async listMongoDBDatabases(): Promise<Types.MongoDBDatabaseListResult> {
|
||||
const path = ``;
|
||||
/* Lists the MongoDB databases under an existing Azure Cosmos DB database account. */
|
||||
export async function listMongoDBDatabases(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string
|
||||
): Promise<Types.MongoDBDatabaseListResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/mongodbDatabases`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Gets the MongoDB databases under an existing Azure Cosmos DB database account with the provided name. */
|
||||
async getMongoDBDatabase(databaseName: string): Promise<Types.MongoDBDatabaseGetResults> {
|
||||
const path = `/${databaseName}`;
|
||||
/* Gets the MongoDB databases under an existing Azure Cosmos DB database account with the provided name. */
|
||||
export async function getMongoDBDatabase(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string
|
||||
): Promise<Types.MongoDBDatabaseGetResults> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/mongodbDatabases/${databaseName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Create or updates Azure Cosmos DB MongoDB database */
|
||||
async createUpdateMongoDBDatabase(
|
||||
/* Create or updates Azure Cosmos DB MongoDB database */
|
||||
export async function createUpdateMongoDBDatabase(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
body: Types.MongoDBDatabaseCreateUpdateParameters
|
||||
): Promise<Types.MongoDBDatabaseGetResults | void> {
|
||||
const path = `/${databaseName}`;
|
||||
): Promise<Types.MongoDBDatabaseGetResults | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/mongodbDatabases/${databaseName}`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "put", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Deletes an existing Azure Cosmos DB MongoDB database. */
|
||||
async deleteMongoDBDatabase(databaseName: string): Promise<void | void> {
|
||||
const path = `/${databaseName}`;
|
||||
/* Deletes an existing Azure Cosmos DB MongoDB database. */
|
||||
export async function deleteMongoDBDatabase(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string
|
||||
): Promise<void | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/mongodbDatabases/${databaseName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "delete" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Lists the MongoDB collection under an existing Azure Cosmos DB database account. */
|
||||
async listMongoDBCollections(databaseName: string): Promise<Types.MongoDBCollectionListResult> {
|
||||
const path = `/${databaseName}/collections`;
|
||||
/* Gets the RUs per second of the MongoDB database under an existing Azure Cosmos DB database account with the provided name. */
|
||||
export async function getMongoDBDatabaseThroughput(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string
|
||||
): Promise<Types.ThroughputSettingsGetResults> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/mongodbDatabases/${databaseName}/throughputSettings/default`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Gets the MongoDB collection under an existing Azure Cosmos DB database account. */
|
||||
async getMongoDBCollection(databaseName: string, collectionName: string): Promise<Types.MongoDBCollectionGetResults> {
|
||||
const path = `/${databaseName}/collections/${collectionName}`;
|
||||
/* Update RUs per second of the an Azure Cosmos DB MongoDB database */
|
||||
export async function updateMongoDBDatabaseThroughput(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
body: Types.ThroughputSettingsUpdateParameters
|
||||
): Promise<Types.ThroughputSettingsGetResults | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/mongodbDatabases/${databaseName}/throughputSettings/default`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "put", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
|
||||
/* Lists the MongoDB collection under an existing Azure Cosmos DB database account. */
|
||||
export async function listMongoDBCollections(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string
|
||||
): Promise<Types.MongoDBCollectionListResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/mongodbDatabases/${databaseName}/collections`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Create or update an Azure Cosmos DB MongoDB Collection */
|
||||
async createUpdateMongoDBCollection(
|
||||
/* Gets the MongoDB collection under an existing Azure Cosmos DB database account. */
|
||||
export async function getMongoDBCollection(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
collectionName: string
|
||||
): Promise<Types.MongoDBCollectionGetResults> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/mongodbDatabases/${databaseName}/collections/${collectionName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Create or update an Azure Cosmos DB MongoDB Collection */
|
||||
export async function createUpdateMongoDBCollection(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
collectionName: string,
|
||||
body: Types.MongoDBCollectionCreateUpdateParameters
|
||||
): Promise<Types.MongoDBCollectionGetResults | void> {
|
||||
const path = `/${databaseName}/collections/${collectionName}`;
|
||||
): Promise<Types.MongoDBCollectionGetResults | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/mongodbDatabases/${databaseName}/collections/${collectionName}`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "put", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Deletes an existing Azure Cosmos DB MongoDB Collection. */
|
||||
async deleteMongoDBCollection(databaseName: string, collectionName: string): Promise<void | void> {
|
||||
const path = `/${databaseName}/collections/${collectionName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "delete" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Gets the RUs per second of the MongoDB collection under an existing Azure Cosmos DB database account with the provided name. */
|
||||
async getMongoDBCollectionThroughput(
|
||||
/* Deletes an existing Azure Cosmos DB MongoDB Collection. */
|
||||
export async function deleteMongoDBCollection(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
collectionName: string
|
||||
): Promise<Types.ThroughputSettingsGetResults> {
|
||||
const path = `/${databaseName}/collections/${collectionName}/throughputSettings/default`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
): Promise<void | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/mongodbDatabases/${databaseName}/collections/${collectionName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "delete" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Update the RUs per second of an Azure Cosmos DB MongoDB collection */
|
||||
async updateMongoDBCollectionThroughput(
|
||||
/* Gets the RUs per second of the MongoDB collection under an existing Azure Cosmos DB database account with the provided name. */
|
||||
export async function getMongoDBCollectionThroughput(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
collectionName: string
|
||||
): Promise<Types.ThroughputSettingsGetResults> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/mongodbDatabases/${databaseName}/collections/${collectionName}/throughputSettings/default`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Update the RUs per second of an Azure Cosmos DB MongoDB collection */
|
||||
export async function updateMongoDBCollectionThroughput(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
collectionName: string,
|
||||
body: Types.ThroughputSettingsUpdateParameters
|
||||
): Promise<Types.ThroughputSettingsGetResults | void> {
|
||||
const path = `/${databaseName}/collections/${collectionName}/throughputSettings/default`;
|
||||
): Promise<Types.ThroughputSettingsGetResults | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/mongodbDatabases/${databaseName}/collections/${collectionName}/throughputSettings/default`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "put", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
|
||||
/* Gets the RUs per second of the MongoDB database under an existing Azure Cosmos DB database account with the provided name. */
|
||||
async getMongoDBDatabaseThroughput(databaseName: string): Promise<Types.ThroughputSettingsGetResults> {
|
||||
const path = `/${databaseName}/throughputSettings/default`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Update RUs per second of the an Azure Cosmos DB MongoDB database */
|
||||
async updateMongoDBDatabaseThroughput(
|
||||
databaseName: string,
|
||||
body: Types.ThroughputSettingsUpdateParameters
|
||||
): Promise<Types.ThroughputSettingsGetResults | void> {
|
||||
const path = `/${databaseName}/throughputSettings/default`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "put", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,13 +6,8 @@
|
||||
|
||||
import * as Types from "./types";
|
||||
|
||||
export class OperationsClient {
|
||||
private readonly baseUrl = "https://management.azure.com";
|
||||
private readonly basePath = `/providers/Microsoft.DocumentDB/operations`;
|
||||
|
||||
/* Lists all of the available Cosmos DB Resource Provider operations. */
|
||||
async list(): Promise<Types.OperationListResult> {
|
||||
const path = ``;
|
||||
/* Lists all of the available Cosmos DB Resource Provider operations. */
|
||||
export async function list(): Promise<Types.OperationListResult> {
|
||||
const path = `/providers/Microsoft.DocumentDB/operations`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,22 +6,15 @@
|
||||
|
||||
import * as Types from "./types";
|
||||
|
||||
export class PartitionKeyRangeIdClient {
|
||||
private readonly baseUrl = "https://management.azure.com";
|
||||
private readonly basePath = `/subscriptions/${this.subscriptionId}/resourceGroups/${this.resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${this.accountName}/databases/${this.databaseRid}/collections/${this.collectionRid}/partitionKeyRangeId/${this.partitionKeyRangeId}/metrics`;
|
||||
|
||||
constructor(
|
||||
private readonly subscriptionId: string,
|
||||
private readonly resourceGroupName: string,
|
||||
private readonly accountName: string,
|
||||
private readonly databaseRid: string,
|
||||
private readonly collectionRid: string,
|
||||
private readonly partitionKeyRangeId: string
|
||||
) {}
|
||||
|
||||
/* Retrieves the metrics determined by the given filter for the given partition key range id. */
|
||||
async listMetrics(): Promise<Types.PartitionMetricListResult> {
|
||||
const path = ``;
|
||||
/* Retrieves the metrics determined by the given filter for the given partition key range id. */
|
||||
export async function listMetrics(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseRid: string,
|
||||
collectionRid: string,
|
||||
partitionKeyRangeId: string
|
||||
): Promise<Types.PartitionMetricListResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/databases/${databaseRid}/collections/${collectionRid}/partitionKeyRangeId/${partitionKeyRangeId}/metrics`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,23 +6,16 @@
|
||||
|
||||
import * as Types from "./types";
|
||||
|
||||
export class PartitionKeyRangeIdRegionClient {
|
||||
private readonly baseUrl = "https://management.azure.com";
|
||||
private readonly basePath = `/subscriptions/${this.subscriptionId}/resourceGroups/${this.resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${this.accountName}/region/${this.region}/databases/${this.databaseRid}/collections/${this.collectionRid}/partitionKeyRangeId/${this.partitionKeyRangeId}/metrics`;
|
||||
|
||||
constructor(
|
||||
private readonly subscriptionId: string,
|
||||
private readonly resourceGroupName: string,
|
||||
private readonly accountName: string,
|
||||
private readonly region: string,
|
||||
private readonly databaseRid: string,
|
||||
private readonly collectionRid: string,
|
||||
private readonly partitionKeyRangeId: string
|
||||
) {}
|
||||
|
||||
/* Retrieves the metrics determined by the given filter for the given partition key range id and region. */
|
||||
async listMetrics(): Promise<Types.PartitionMetricListResult> {
|
||||
const path = ``;
|
||||
/* Retrieves the metrics determined by the given filter for the given partition key range id and region. */
|
||||
export async function listMetrics(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
region: string,
|
||||
databaseRid: string,
|
||||
collectionRid: string,
|
||||
partitionKeyRangeId: string
|
||||
): Promise<Types.PartitionMetricListResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/region/${region}/databases/${databaseRid}/collections/${collectionRid}/partitionKeyRangeId/${partitionKeyRangeId}/metrics`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,19 +6,12 @@
|
||||
|
||||
import * as Types from "./types";
|
||||
|
||||
export class PercentileClient {
|
||||
private readonly baseUrl = "https://management.azure.com";
|
||||
private readonly basePath = `/subscriptions/${this.subscriptionId}/resourceGroups/${this.resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${this.accountName}/percentile/metrics`;
|
||||
|
||||
constructor(
|
||||
private readonly subscriptionId: string,
|
||||
private readonly resourceGroupName: string,
|
||||
private readonly accountName: string
|
||||
) {}
|
||||
|
||||
/* Retrieves the metrics determined by the given filter for the given database account. This url is only for PBS and Replication Latency data */
|
||||
async listMetrics(): Promise<Types.PercentileMetricListResult> {
|
||||
const path = ``;
|
||||
/* 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(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string
|
||||
): Promise<Types.PercentileMetricListResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/percentile/metrics`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,21 +6,14 @@
|
||||
|
||||
import * as Types from "./types";
|
||||
|
||||
export class PercentileSourceTargetClient {
|
||||
private readonly baseUrl = "https://management.azure.com";
|
||||
private readonly basePath = `/subscriptions/${this.subscriptionId}/resourceGroups/${this.resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${this.accountName}/sourceRegion/${this.sourceRegion}/targetRegion/${this.targetRegion}/percentile/metrics`;
|
||||
|
||||
constructor(
|
||||
private readonly subscriptionId: string,
|
||||
private readonly resourceGroupName: string,
|
||||
private readonly accountName: string,
|
||||
private readonly sourceRegion: string,
|
||||
private readonly targetRegion: string
|
||||
) {}
|
||||
|
||||
/* 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 */
|
||||
async listMetrics(): Promise<Types.PercentileMetricListResult> {
|
||||
const path = ``;
|
||||
/* 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(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
sourceRegion: string,
|
||||
targetRegion: string
|
||||
): Promise<Types.PercentileMetricListResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/sourceRegion/${sourceRegion}/targetRegion/${targetRegion}/percentile/metrics`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,20 +6,13 @@
|
||||
|
||||
import * as Types from "./types";
|
||||
|
||||
export class PercentileTargetClient {
|
||||
private readonly baseUrl = "https://management.azure.com";
|
||||
private readonly basePath = `/subscriptions/${this.subscriptionId}/resourceGroups/${this.resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${this.accountName}/targetRegion/${this.targetRegion}/percentile/metrics`;
|
||||
|
||||
constructor(
|
||||
private readonly subscriptionId: string,
|
||||
private readonly resourceGroupName: string,
|
||||
private readonly accountName: string,
|
||||
private readonly targetRegion: string
|
||||
) {}
|
||||
|
||||
/* Retrieves the metrics determined by the given filter for the given account target region. This url is only for PBS and Replication Latency data */
|
||||
async listMetrics(): Promise<Types.PercentileMetricListResult> {
|
||||
const path = ``;
|
||||
/* 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(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
targetRegion: string
|
||||
): Promise<Types.PercentileMetricListResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/targetRegion/${targetRegion}/percentile/metrics`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,32 +6,29 @@
|
||||
|
||||
import * as Types from "./types";
|
||||
|
||||
export class RestorableDatabaseAccountsClient {
|
||||
private readonly baseUrl = "https://management.azure.com";
|
||||
private readonly basePath = `/subscriptions/${this.subscriptionId}/providers/Microsoft.DocumentDB/`;
|
||||
|
||||
constructor(private readonly subscriptionId: string) {}
|
||||
|
||||
/* Lists all the restorable Azure Cosmos DB database accounts available under the subscription and in a region. */
|
||||
async listByLocation(
|
||||
/* Lists all the restorable Azure Cosmos DB database accounts available under the subscription and in a region. */
|
||||
export async function listByLocation(
|
||||
subscriptionId: string,
|
||||
location: string
|
||||
): Promise<Types.RestorableDatabaseAccountsListResult | Types.ErrorResponseUpdatedFormat> {
|
||||
const path = `locations/${location}/restorableDatabaseAccounts`;
|
||||
): Promise<Types.RestorableDatabaseAccountsListResult | Types.ErrorResponseUpdatedFormat> {
|
||||
const path = `/subscriptions/${subscriptionId}/providers/Microsoft.DocumentDB/locations/${location}/restorableDatabaseAccounts`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Retrieves the properties of an existing Azure Cosmos DB restorable database account. */
|
||||
async getByLocation(
|
||||
/* Lists all the restorable Azure Cosmos DB database accounts available under the subscription. */
|
||||
export async function list(
|
||||
subscriptionId: string
|
||||
): Promise<Types.RestorableDatabaseAccountsListResult | Types.ErrorResponseUpdatedFormat> {
|
||||
const path = `/subscriptions/${subscriptionId}/providers/Microsoft.DocumentDB/restorableDatabaseAccounts`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Retrieves the properties of an existing Azure Cosmos DB restorable database account. */
|
||||
export async function getByLocation(
|
||||
subscriptionId: string,
|
||||
location: string,
|
||||
instanceId: string
|
||||
): Promise<Types.RestorableDatabaseAccountGetResult | Types.ErrorResponseUpdatedFormat> {
|
||||
const path = `locations/${location}/restorableDatabaseAccounts/${instanceId}`;
|
||||
): Promise<Types.RestorableDatabaseAccountGetResult | Types.ErrorResponseUpdatedFormat> {
|
||||
const path = `/subscriptions/${subscriptionId}/providers/Microsoft.DocumentDB/locations/${location}/restorableDatabaseAccounts/${instanceId}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Lists all the restorable Azure Cosmos DB database accounts available under the subscription. */
|
||||
async list(): Promise<Types.RestorableDatabaseAccountsListResult | Types.ErrorResponseUpdatedFormat> {
|
||||
const path = `restorableDatabaseAccounts`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,229 +6,312 @@
|
||||
|
||||
import * as Types from "./types";
|
||||
|
||||
export class SqlResourcesClient {
|
||||
private readonly baseUrl = "https://management.azure.com";
|
||||
private readonly basePath = `/subscriptions/${this.subscriptionId}/resourceGroups/${this.resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${this.accountName}/sqlDatabases`;
|
||||
|
||||
constructor(
|
||||
private readonly subscriptionId: string,
|
||||
private readonly resourceGroupName: string,
|
||||
private readonly accountName: string
|
||||
) {}
|
||||
|
||||
/* Lists the SQL databases under an existing Azure Cosmos DB database account. */
|
||||
async listSqlDatabases(): Promise<Types.SqlDatabaseListResult> {
|
||||
const path = ``;
|
||||
/* Lists the SQL databases under an existing Azure Cosmos DB database account. */
|
||||
export async function listSqlDatabases(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string
|
||||
): Promise<Types.SqlDatabaseListResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/sqlDatabases`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Gets the SQL database under an existing Azure Cosmos DB database account with the provided name. */
|
||||
async getSqlDatabase(databaseName: string): Promise<Types.SqlDatabaseGetResults> {
|
||||
const path = `/${databaseName}`;
|
||||
/* Gets the SQL database under an existing Azure Cosmos DB database account with the provided name. */
|
||||
export async function getSqlDatabase(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string
|
||||
): Promise<Types.SqlDatabaseGetResults> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/sqlDatabases/${databaseName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Create or update an Azure Cosmos DB SQL database */
|
||||
async createUpdateSqlDatabase(
|
||||
/* Create or update an Azure Cosmos DB SQL database */
|
||||
export async function createUpdateSqlDatabase(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
body: Types.SqlDatabaseCreateUpdateParameters
|
||||
): Promise<Types.SqlDatabaseGetResults | void> {
|
||||
const path = `/${databaseName}`;
|
||||
): Promise<Types.SqlDatabaseGetResults | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/sqlDatabases/${databaseName}`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "put", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Deletes an existing Azure Cosmos DB SQL database. */
|
||||
async deleteSqlDatabase(databaseName: string): Promise<void | void> {
|
||||
const path = `/${databaseName}`;
|
||||
/* Deletes an existing Azure Cosmos DB SQL database. */
|
||||
export async function deleteSqlDatabase(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string
|
||||
): Promise<void | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/sqlDatabases/${databaseName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "delete" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Lists the SQL container under an existing Azure Cosmos DB database account. */
|
||||
async listSqlContainers(databaseName: string): Promise<Types.SqlContainerListResult> {
|
||||
const path = `/${databaseName}/containers`;
|
||||
/* Gets the RUs per second of the SQL database under an existing Azure Cosmos DB database account with the provided name. */
|
||||
export async function getSqlDatabaseThroughput(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string
|
||||
): Promise<Types.ThroughputSettingsGetResults> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/sqlDatabases/${databaseName}/throughputSettings/default`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Gets the SQL container under an existing Azure Cosmos DB database account. */
|
||||
async getSqlContainer(databaseName: string, containerName: string): Promise<Types.SqlContainerGetResults> {
|
||||
const path = `/${databaseName}/containers/${containerName}`;
|
||||
/* Update RUs per second of an Azure Cosmos DB SQL database */
|
||||
export async function updateSqlDatabaseThroughput(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
body: Types.ThroughputSettingsUpdateParameters
|
||||
): Promise<Types.ThroughputSettingsGetResults | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/sqlDatabases/${databaseName}/throughputSettings/default`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "put", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
|
||||
/* Lists the SQL container under an existing Azure Cosmos DB database account. */
|
||||
export async function listSqlContainers(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string
|
||||
): Promise<Types.SqlContainerListResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/sqlDatabases/${databaseName}/containers`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Create or update an Azure Cosmos DB SQL container */
|
||||
async createUpdateSqlContainer(
|
||||
/* Gets the SQL container under an existing Azure Cosmos DB database account. */
|
||||
export async function getSqlContainer(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
containerName: string
|
||||
): Promise<Types.SqlContainerGetResults> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/sqlDatabases/${databaseName}/containers/${containerName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Create or update an Azure Cosmos DB SQL container */
|
||||
export async function createUpdateSqlContainer(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
containerName: string,
|
||||
body: Types.SqlContainerCreateUpdateParameters
|
||||
): Promise<Types.SqlContainerGetResults | void> {
|
||||
const path = `/${databaseName}/containers/${containerName}`;
|
||||
): Promise<Types.SqlContainerGetResults | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/sqlDatabases/${databaseName}/containers/${containerName}`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "put", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Deletes an existing Azure Cosmos DB SQL container. */
|
||||
async deleteSqlContainer(databaseName: string, containerName: string): Promise<void | void> {
|
||||
const path = `/${databaseName}/containers/${containerName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "delete" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Lists the SQL storedProcedure under an existing Azure Cosmos DB database account. */
|
||||
async listSqlStoredProcedures(
|
||||
/* Deletes an existing Azure Cosmos DB SQL container. */
|
||||
export async function deleteSqlContainer(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
containerName: string
|
||||
): Promise<Types.SqlStoredProcedureListResult> {
|
||||
const path = `/${databaseName}/containers/${containerName}/storedProcedures`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
): Promise<void | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/sqlDatabases/${databaseName}/containers/${containerName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "delete" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Gets the SQL storedProcedure under an existing Azure Cosmos DB database account. */
|
||||
async getSqlStoredProcedure(
|
||||
/* Gets the RUs per second of the SQL container under an existing Azure Cosmos DB database account. */
|
||||
export async function getSqlContainerThroughput(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
containerName: string
|
||||
): Promise<Types.ThroughputSettingsGetResults> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/sqlDatabases/${databaseName}/containers/${containerName}/throughputSettings/default`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Update RUs per second of an Azure Cosmos DB SQL container */
|
||||
export async function updateSqlContainerThroughput(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
containerName: string,
|
||||
body: Types.ThroughputSettingsUpdateParameters
|
||||
): Promise<Types.ThroughputSettingsGetResults | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/sqlDatabases/${databaseName}/containers/${containerName}/throughputSettings/default`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "put", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
|
||||
/* Lists the SQL storedProcedure under an existing Azure Cosmos DB database account. */
|
||||
export async function listSqlStoredProcedures(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
containerName: string
|
||||
): Promise<Types.SqlStoredProcedureListResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/sqlDatabases/${databaseName}/containers/${containerName}/storedProcedures`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Gets the SQL storedProcedure under an existing Azure Cosmos DB database account. */
|
||||
export async function getSqlStoredProcedure(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
containerName: string,
|
||||
storedProcedureName: string
|
||||
): Promise<Types.SqlStoredProcedureGetResults> {
|
||||
const path = `/${databaseName}/containers/${containerName}/storedProcedures/${storedProcedureName}`;
|
||||
): Promise<Types.SqlStoredProcedureGetResults> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/sqlDatabases/${databaseName}/containers/${containerName}/storedProcedures/${storedProcedureName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Create or update an Azure Cosmos DB SQL storedProcedure */
|
||||
async createUpdateSqlStoredProcedure(
|
||||
/* Create or update an Azure Cosmos DB SQL storedProcedure */
|
||||
export async function createUpdateSqlStoredProcedure(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
containerName: string,
|
||||
storedProcedureName: string,
|
||||
body: Types.SqlStoredProcedureCreateUpdateParameters
|
||||
): Promise<Types.SqlStoredProcedureGetResults | void> {
|
||||
const path = `/${databaseName}/containers/${containerName}/storedProcedures/${storedProcedureName}`;
|
||||
): Promise<Types.SqlStoredProcedureGetResults | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/sqlDatabases/${databaseName}/containers/${containerName}/storedProcedures/${storedProcedureName}`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "put", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Deletes an existing Azure Cosmos DB SQL storedProcedure. */
|
||||
async deleteSqlStoredProcedure(
|
||||
/* Deletes an existing Azure Cosmos DB SQL storedProcedure. */
|
||||
export async function deleteSqlStoredProcedure(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
containerName: string,
|
||||
storedProcedureName: string
|
||||
): Promise<void | void> {
|
||||
const path = `/${databaseName}/containers/${containerName}/storedProcedures/${storedProcedureName}`;
|
||||
): Promise<void | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/sqlDatabases/${databaseName}/containers/${containerName}/storedProcedures/${storedProcedureName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "delete" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Gets the RUs per second of the SQL container under an existing Azure Cosmos DB database account. */
|
||||
async getSqlContainerThroughput(
|
||||
/* Lists the SQL userDefinedFunction under an existing Azure Cosmos DB database account. */
|
||||
export async function listSqlUserDefinedFunctions(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
containerName: string
|
||||
): Promise<Types.ThroughputSettingsGetResults> {
|
||||
const path = `/${databaseName}/containers/${containerName}/throughputSettings/default`;
|
||||
): Promise<Types.SqlUserDefinedFunctionListResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/sqlDatabases/${databaseName}/containers/${containerName}/userDefinedFunctions`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Update RUs per second of an Azure Cosmos DB SQL container */
|
||||
async updateSqlContainerThroughput(
|
||||
databaseName: string,
|
||||
containerName: string,
|
||||
body: Types.ThroughputSettingsUpdateParameters
|
||||
): Promise<Types.ThroughputSettingsGetResults | void> {
|
||||
const path = `/${databaseName}/containers/${containerName}/throughputSettings/default`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "put", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
|
||||
/* Lists the SQL trigger under an existing Azure Cosmos DB database account. */
|
||||
async listSqlTriggers(databaseName: string, containerName: string): Promise<Types.SqlTriggerListResult> {
|
||||
const path = `/${databaseName}/containers/${containerName}/triggers`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Gets the SQL trigger under an existing Azure Cosmos DB database account. */
|
||||
async getSqlTrigger(
|
||||
databaseName: string,
|
||||
containerName: string,
|
||||
triggerName: string
|
||||
): Promise<Types.SqlTriggerGetResults> {
|
||||
const path = `/${databaseName}/containers/${containerName}/triggers/${triggerName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Create or update an Azure Cosmos DB SQL trigger */
|
||||
async createUpdateSqlTrigger(
|
||||
databaseName: string,
|
||||
containerName: string,
|
||||
triggerName: string,
|
||||
body: Types.SqlTriggerCreateUpdateParameters
|
||||
): Promise<Types.SqlTriggerGetResults | void> {
|
||||
const path = `/${databaseName}/containers/${containerName}/triggers/${triggerName}`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "put", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
|
||||
/* Deletes an existing Azure Cosmos DB SQL trigger. */
|
||||
async deleteSqlTrigger(databaseName: string, containerName: string, triggerName: string): Promise<void | void> {
|
||||
const path = `/${databaseName}/containers/${containerName}/triggers/${triggerName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "delete" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Lists the SQL userDefinedFunction under an existing Azure Cosmos DB database account. */
|
||||
async listSqlUserDefinedFunctions(
|
||||
databaseName: string,
|
||||
containerName: string
|
||||
): Promise<Types.SqlUserDefinedFunctionListResult> {
|
||||
const path = `/${databaseName}/containers/${containerName}/userDefinedFunctions`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Gets the SQL userDefinedFunction under an existing Azure Cosmos DB database account. */
|
||||
async getSqlUserDefinedFunction(
|
||||
/* Gets the SQL userDefinedFunction under an existing Azure Cosmos DB database account. */
|
||||
export async function getSqlUserDefinedFunction(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
containerName: string,
|
||||
userDefinedFunctionName: string
|
||||
): Promise<Types.SqlUserDefinedFunctionGetResults> {
|
||||
const path = `/${databaseName}/containers/${containerName}/userDefinedFunctions/${userDefinedFunctionName}`;
|
||||
): Promise<Types.SqlUserDefinedFunctionGetResults> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/sqlDatabases/${databaseName}/containers/${containerName}/userDefinedFunctions/${userDefinedFunctionName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Create or update an Azure Cosmos DB SQL userDefinedFunction */
|
||||
async createUpdateSqlUserDefinedFunction(
|
||||
/* Create or update an Azure Cosmos DB SQL userDefinedFunction */
|
||||
export async function createUpdateSqlUserDefinedFunction(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
containerName: string,
|
||||
userDefinedFunctionName: string,
|
||||
body: Types.SqlUserDefinedFunctionCreateUpdateParameters
|
||||
): Promise<Types.SqlUserDefinedFunctionGetResults | void> {
|
||||
const path = `/${databaseName}/containers/${containerName}/userDefinedFunctions/${userDefinedFunctionName}`;
|
||||
): Promise<Types.SqlUserDefinedFunctionGetResults | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/sqlDatabases/${databaseName}/containers/${containerName}/userDefinedFunctions/${userDefinedFunctionName}`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "put", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Deletes an existing Azure Cosmos DB SQL userDefinedFunction. */
|
||||
async deleteSqlUserDefinedFunction(
|
||||
/* Deletes an existing Azure Cosmos DB SQL userDefinedFunction. */
|
||||
export async function deleteSqlUserDefinedFunction(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
containerName: string,
|
||||
userDefinedFunctionName: string
|
||||
): Promise<void | void> {
|
||||
const path = `/${databaseName}/containers/${containerName}/userDefinedFunctions/${userDefinedFunctionName}`;
|
||||
): Promise<void | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/sqlDatabases/${databaseName}/containers/${containerName}/userDefinedFunctions/${userDefinedFunctionName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "delete" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Gets the RUs per second of the SQL database under an existing Azure Cosmos DB database account with the provided name. */
|
||||
async getSqlDatabaseThroughput(databaseName: string): Promise<Types.ThroughputSettingsGetResults> {
|
||||
const path = `/${databaseName}/throughputSettings/default`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Update RUs per second of an Azure Cosmos DB SQL database */
|
||||
async updateSqlDatabaseThroughput(
|
||||
/* Lists the SQL trigger under an existing Azure Cosmos DB database account. */
|
||||
export async function listSqlTriggers(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
body: Types.ThroughputSettingsUpdateParameters
|
||||
): Promise<Types.ThroughputSettingsGetResults | void> {
|
||||
const path = `/${databaseName}/throughputSettings/default`;
|
||||
containerName: string
|
||||
): Promise<Types.SqlTriggerListResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/sqlDatabases/${databaseName}/containers/${containerName}/triggers`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Gets the SQL trigger under an existing Azure Cosmos DB database account. */
|
||||
export async function getSqlTrigger(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
containerName: string,
|
||||
triggerName: string
|
||||
): Promise<Types.SqlTriggerGetResults> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/sqlDatabases/${databaseName}/containers/${containerName}/triggers/${triggerName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
|
||||
/* Create or update an Azure Cosmos DB SQL trigger */
|
||||
export async function createUpdateSqlTrigger(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
containerName: string,
|
||||
triggerName: string,
|
||||
body: Types.SqlTriggerCreateUpdateParameters
|
||||
): Promise<Types.SqlTriggerGetResults | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/sqlDatabases/${databaseName}/containers/${containerName}/triggers/${triggerName}`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "put", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Deletes an existing Azure Cosmos DB SQL trigger. */
|
||||
export async function deleteSqlTrigger(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
databaseName: string,
|
||||
containerName: string,
|
||||
triggerName: string
|
||||
): Promise<void | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/sqlDatabases/${databaseName}/containers/${containerName}/triggers/${triggerName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "delete" }).then(response => response.json());
|
||||
}
|
||||
|
||||
@@ -6,59 +6,73 @@
|
||||
|
||||
import * as Types from "./types";
|
||||
|
||||
export class TableResourcesClient {
|
||||
private readonly baseUrl = "https://management.azure.com";
|
||||
private readonly basePath = `/subscriptions/${this.subscriptionId}/resourceGroups/${this.resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${this.accountName}/tables`;
|
||||
|
||||
constructor(
|
||||
private readonly subscriptionId: string,
|
||||
private readonly resourceGroupName: string,
|
||||
private readonly accountName: string
|
||||
) {}
|
||||
|
||||
/* Lists the Tables under an existing Azure Cosmos DB database account. */
|
||||
async listTables(): Promise<Types.TableListResult> {
|
||||
const path = ``;
|
||||
/* Lists the Tables under an existing Azure Cosmos DB database account. */
|
||||
export async function listTables(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string
|
||||
): Promise<Types.TableListResult> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/tables`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Gets the Tables under an existing Azure Cosmos DB database account with the provided name. */
|
||||
async getTable(tableName: string): Promise<Types.TableGetResults> {
|
||||
const path = `/${tableName}`;
|
||||
/* Gets the Tables under an existing Azure Cosmos DB database account with the provided name. */
|
||||
export async function getTable(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
tableName: string
|
||||
): Promise<Types.TableGetResults> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/tables/${tableName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Create or update an Azure Cosmos DB Table */
|
||||
async createUpdateTable(
|
||||
/* Create or update an Azure Cosmos DB Table */
|
||||
export async function createUpdateTable(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
tableName: string,
|
||||
body: Types.TableCreateUpdateParameters
|
||||
): Promise<Types.TableGetResults | void> {
|
||||
const path = `/${tableName}`;
|
||||
): Promise<Types.TableGetResults | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/tables/${tableName}`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "put", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Deletes an existing Azure Cosmos DB Table. */
|
||||
async deleteTable(tableName: string): Promise<void | void> {
|
||||
const path = `/${tableName}`;
|
||||
/* Deletes an existing Azure Cosmos DB Table. */
|
||||
export async function deleteTable(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
tableName: string
|
||||
): Promise<void | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/tables/${tableName}`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "delete" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Gets the RUs per second of the Table under an existing Azure Cosmos DB database account with the provided name. */
|
||||
async getTableThroughput(tableName: string): Promise<Types.ThroughputSettingsGetResults> {
|
||||
const path = `/${tableName}/throughputSettings/default`;
|
||||
/* Gets the RUs per second of the Table under an existing Azure Cosmos DB database account with the provided name. */
|
||||
export async function getTableThroughput(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
tableName: string
|
||||
): Promise<Types.ThroughputSettingsGetResults> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/tables/${tableName}/throughputSettings/default`;
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "get" }).then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
/* Update RUs per second of an Azure Cosmos DB Table */
|
||||
async updateTableThroughput(
|
||||
/* Update RUs per second of an Azure Cosmos DB Table */
|
||||
export async function updateTableThroughput(
|
||||
subscriptionId: string,
|
||||
resourceGroupName: string,
|
||||
accountName: string,
|
||||
tableName: string,
|
||||
body: Types.ThroughputSettingsUpdateParameters
|
||||
): Promise<Types.ThroughputSettingsGetResults | void> {
|
||||
const path = `/${tableName}/throughputSettings/default`;
|
||||
): Promise<Types.ThroughputSettingsGetResults | void> {
|
||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/tables/${tableName}/throughputSettings/default`;
|
||||
return window
|
||||
.fetch(this.baseUrl + this.basePath + path, { method: "put", body: JSON.stringify(body) })
|
||||
.then(response => response.json());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -191,11 +191,6 @@ async function main() {
|
||||
for (const clientName in clients) {
|
||||
const outputClient: string[] = [""];
|
||||
outputClient.push(`import * as Types from "./types"\n\n`);
|
||||
outputClient.push(`export class ${clientName}Client {\n\n`);
|
||||
outputClient.push(`private readonly baseUrl = "https://management.azure.com"\n`);
|
||||
const basePath = buildBasePath(clients[clientName].paths);
|
||||
outputClient.push(`private readonly basePath = \`${basePath.replace(/{/g, "${this.")}\`\n\n`);
|
||||
outputClient.push(buildConstructor(clients[clientName]));
|
||||
for (const path of clients[clientName].paths) {
|
||||
for (const method in schema.paths[path]) {
|
||||
const operation = schema.paths[path][method];
|
||||
@@ -203,15 +198,15 @@ async function main() {
|
||||
const bodyParameter = operation.parameters.find(
|
||||
(parameter: { in: string; required: boolean }) => parameter.in === "body" && parameter.required === true
|
||||
);
|
||||
const constructorParameters = constructorParams(clients[clientName]);
|
||||
const methodParameters = parametersFromPath(path).filter(p => !constructorParameters.includes(p));
|
||||
outputClient.push(`
|
||||
/* ${operation.description} */
|
||||
async ${sanitize(camelize(methodName))} (
|
||||
${methodParameters.map(p => `${p}: string`).join(",\n")}
|
||||
export async function ${sanitize(camelize(methodName))} (
|
||||
${parametersFromPath(path)
|
||||
.map(p => `${p}: string`)
|
||||
.join(",\n")}
|
||||
${bodyParam(bodyParameter, "Types")}
|
||||
) : Promise<${responseType(operation, "Types")}> {
|
||||
const path = \`${path.replace(basePath, "").replace(/{/g, "${")}\`
|
||||
const path = \`${path.replace(/{/g, "${")}\`
|
||||
return window.fetch(this.baseUrl + this.basePath + path, { method: "${method}", ${
|
||||
bodyParameter ? "body: JSON.stringify(body)" : ""
|
||||
} }).then((response) => response.json())
|
||||
@@ -219,25 +214,12 @@ async function main() {
|
||||
`);
|
||||
}
|
||||
}
|
||||
outputClient.push(`}`);
|
||||
writeOutputFile(`./${clientName}.ts`, outputClient);
|
||||
}
|
||||
|
||||
writeOutputFile("./types.ts", outputTypes);
|
||||
}
|
||||
|
||||
function buildBasePath(strings: string[]) {
|
||||
const sortArr = strings.sort();
|
||||
const arrFirstElem = strings[0];
|
||||
const arrLastElem = sortArr[sortArr.length - 1];
|
||||
const arrFirstElemLength = arrFirstElem.length;
|
||||
let i = 0;
|
||||
while (i < arrFirstElemLength && arrFirstElem.charAt(i) === arrLastElem.charAt(i)) {
|
||||
i++;
|
||||
}
|
||||
return arrFirstElem.substring(0, i);
|
||||
}
|
||||
|
||||
function sanitize(name: string) {
|
||||
if (name === "delete") {
|
||||
return "destroy";
|
||||
@@ -245,23 +227,6 @@ function sanitize(name: string) {
|
||||
return name;
|
||||
}
|
||||
|
||||
function buildConstructor(client: Client) {
|
||||
const params = constructorParams(client);
|
||||
if (params.length === 0) {
|
||||
return "";
|
||||
}
|
||||
return `\nconstructor(${params.map(p => `private readonly ${p}: string`).join(",")}){}\n`;
|
||||
}
|
||||
|
||||
function constructorParams(client: Client) {
|
||||
let commonParams = parametersFromPath(client.paths[0]);
|
||||
for (const path of client.paths) {
|
||||
const params = parametersFromPath(path);
|
||||
commonParams = commonParams.filter(p => params.includes(p));
|
||||
}
|
||||
return commonParams;
|
||||
}
|
||||
|
||||
function writeOutputFile(outputPath: string, components: string[]) {
|
||||
components.unshift(`/*
|
||||
AUTOGENERATED FILE
|
||||
|
||||
Reference in New Issue
Block a user