diff --git a/sdk/cosmosdb/arm-cosmosdb/src/cosmosDBManagementClient.ts b/sdk/cosmosdb/arm-cosmosdb/src/cosmosDBManagementClient.ts index 4440e5e7d65d..22062350c374 100644 --- a/sdk/cosmosdb/arm-cosmosdb/src/cosmosDBManagementClient.ts +++ b/sdk/cosmosdb/arm-cosmosdb/src/cosmosDBManagementClient.ts @@ -35,6 +35,7 @@ class CosmosDBManagementClient extends CosmosDBManagementClientContext { tableResources: operations.TableResources; cassandraResources: operations.CassandraResources; gremlinResources: operations.GremlinResources; + restorableDatabaseAccounts: operations.RestorableDatabaseAccounts; notebookWorkspaces: operations.NotebookWorkspaces; privateLinkResources: operations.PrivateLinkResources; privateEndpointConnections: operations.PrivateEndpointConnections; @@ -65,6 +66,7 @@ class CosmosDBManagementClient extends CosmosDBManagementClientContext { this.tableResources = new operations.TableResources(this); this.cassandraResources = new operations.CassandraResources(this); this.gremlinResources = new operations.GremlinResources(this); + this.restorableDatabaseAccounts = new operations.RestorableDatabaseAccounts(this); this.notebookWorkspaces = new operations.NotebookWorkspaces(this); this.privateLinkResources = new operations.PrivateLinkResources(this); this.privateEndpointConnections = new operations.PrivateEndpointConnections(this); diff --git a/sdk/cosmosdb/arm-cosmosdb/src/models/cassandraResourcesMappers.ts b/sdk/cosmosdb/arm-cosmosdb/src/models/cassandraResourcesMappers.ts index 8076d88e0ecd..e4abe6963717 100644 --- a/sdk/cosmosdb/arm-cosmosdb/src/models/cassandraResourcesMappers.ts +++ b/sdk/cosmosdb/arm-cosmosdb/src/models/cassandraResourcesMappers.ts @@ -7,6 +7,7 @@ */ export { + discriminators, ApiProperties, ARMProxyResource, ARMResourceProperties, @@ -14,6 +15,7 @@ export { AutoscaleSettingsResource, AutoUpgradePolicyResource, AzureEntityResource, + BackupPolicy, BaseResource, Capability, CassandraKeyspaceCreateUpdateParameters, @@ -37,9 +39,14 @@ export { ConflictResolutionPolicy, ConsistencyPolicy, ContainerPartitionKey, + ContinuousModeBackupPolicy, + CorsPolicy, CreateUpdateOptions, DatabaseAccountCreateUpdateParameters, + DatabaseAccountCreateUpdateProperties, DatabaseAccountGetResults, + DatabaseRestoreResource, + DefaultRequestDatabaseAccountCreateUpdateProperties, ExcludedPath, FailoverPolicy, GremlinDatabaseCreateUpdateParameters, @@ -57,6 +64,7 @@ export { IndexingPolicy, IpAddressOrRange, Location, + ManagedServiceIdentity, MongoDBCollectionCreateUpdateParameters, MongoDBCollectionGetPropertiesOptions, MongoDBCollectionGetPropertiesResource, @@ -73,12 +81,17 @@ export { NotebookWorkspace, NotebookWorkspaceCreateUpdateParameters, OptionsResource, + PeriodicModeBackupPolicy, + PeriodicModeProperties, PrivateEndpointConnection, PrivateEndpointProperty, PrivateLinkResource, PrivateLinkServiceConnectionStateProperty, ProxyResource, Resource, + RestorableDatabaseAccountGetResult, + RestoreParameters, + RestoreReqeustDatabaseAccountCreateUpdateProperties, SpatialSpec, SqlContainerCreateUpdateParameters, SqlContainerGetPropertiesOptions, @@ -102,6 +115,7 @@ export { SqlUserDefinedFunctionGetPropertiesResource, SqlUserDefinedFunctionGetResults, SqlUserDefinedFunctionResource, + SystemData, TableCreateUpdateParameters, TableGetPropertiesOptions, TableGetPropertiesResource, diff --git a/sdk/cosmosdb/arm-cosmosdb/src/models/collectionMappers.ts b/sdk/cosmosdb/arm-cosmosdb/src/models/collectionMappers.ts index 944586670c79..47fa7a69dbb1 100644 --- a/sdk/cosmosdb/arm-cosmosdb/src/models/collectionMappers.ts +++ b/sdk/cosmosdb/arm-cosmosdb/src/models/collectionMappers.ts @@ -7,6 +7,7 @@ */ export { + discriminators, CloudError, Metric, MetricAvailability, diff --git a/sdk/cosmosdb/arm-cosmosdb/src/models/collectionPartitionMappers.ts b/sdk/cosmosdb/arm-cosmosdb/src/models/collectionPartitionMappers.ts index 8a50f863252d..dc9314fde7b3 100644 --- a/sdk/cosmosdb/arm-cosmosdb/src/models/collectionPartitionMappers.ts +++ b/sdk/cosmosdb/arm-cosmosdb/src/models/collectionPartitionMappers.ts @@ -7,6 +7,7 @@ */ export { + discriminators, CloudError, Metric, MetricName, diff --git a/sdk/cosmosdb/arm-cosmosdb/src/models/collectionPartitionRegionMappers.ts b/sdk/cosmosdb/arm-cosmosdb/src/models/collectionPartitionRegionMappers.ts index c901f39fec5e..ad4eec5bb57b 100644 --- a/sdk/cosmosdb/arm-cosmosdb/src/models/collectionPartitionRegionMappers.ts +++ b/sdk/cosmosdb/arm-cosmosdb/src/models/collectionPartitionRegionMappers.ts @@ -7,6 +7,7 @@ */ export { + discriminators, CloudError, Metric, MetricName, diff --git a/sdk/cosmosdb/arm-cosmosdb/src/models/collectionRegionMappers.ts b/sdk/cosmosdb/arm-cosmosdb/src/models/collectionRegionMappers.ts index 357a24d97955..9db5e4fd94cc 100644 --- a/sdk/cosmosdb/arm-cosmosdb/src/models/collectionRegionMappers.ts +++ b/sdk/cosmosdb/arm-cosmosdb/src/models/collectionRegionMappers.ts @@ -7,6 +7,7 @@ */ export { + discriminators, CloudError, Metric, MetricListResult, diff --git a/sdk/cosmosdb/arm-cosmosdb/src/models/databaseAccountRegionMappers.ts b/sdk/cosmosdb/arm-cosmosdb/src/models/databaseAccountRegionMappers.ts index 357a24d97955..9db5e4fd94cc 100644 --- a/sdk/cosmosdb/arm-cosmosdb/src/models/databaseAccountRegionMappers.ts +++ b/sdk/cosmosdb/arm-cosmosdb/src/models/databaseAccountRegionMappers.ts @@ -7,6 +7,7 @@ */ export { + discriminators, CloudError, Metric, MetricListResult, diff --git a/sdk/cosmosdb/arm-cosmosdb/src/models/databaseAccountsMappers.ts b/sdk/cosmosdb/arm-cosmosdb/src/models/databaseAccountsMappers.ts index 6e8a41e5a809..886bcd8894f0 100644 --- a/sdk/cosmosdb/arm-cosmosdb/src/models/databaseAccountsMappers.ts +++ b/sdk/cosmosdb/arm-cosmosdb/src/models/databaseAccountsMappers.ts @@ -7,6 +7,7 @@ */ export { + discriminators, ApiProperties, ARMProxyResource, ARMResourceProperties, @@ -14,6 +15,7 @@ export { AutoscaleSettingsResource, AutoUpgradePolicyResource, AzureEntityResource, + BackupPolicy, BaseResource, Capability, CassandraKeyspaceCreateUpdateParameters, @@ -35,9 +37,12 @@ export { ConflictResolutionPolicy, ConsistencyPolicy, ContainerPartitionKey, + ContinuousModeBackupPolicy, + CorsPolicy, CreateUpdateOptions, DatabaseAccountConnectionString, DatabaseAccountCreateUpdateParameters, + DatabaseAccountCreateUpdateProperties, DatabaseAccountGetResults, DatabaseAccountListConnectionStringsResult, DatabaseAccountListKeysResult, @@ -45,6 +50,8 @@ export { DatabaseAccountRegenerateKeyParameters, DatabaseAccountsListResult, DatabaseAccountUpdateParameters, + DatabaseRestoreResource, + DefaultRequestDatabaseAccountCreateUpdateProperties, ErrorResponse, ExcludedPath, FailoverPolicies, @@ -64,6 +71,7 @@ export { IndexingPolicy, IpAddressOrRange, Location, + ManagedServiceIdentity, Metric, MetricAvailability, MetricDefinition, @@ -90,6 +98,8 @@ export { PartitionMetric, PartitionUsage, PercentileMetricValue, + PeriodicModeBackupPolicy, + PeriodicModeProperties, PrivateEndpointConnection, PrivateEndpointProperty, PrivateLinkResource, @@ -97,6 +107,9 @@ export { ProxyResource, RegionForOnlineOffline, Resource, + RestorableDatabaseAccountGetResult, + RestoreParameters, + RestoreReqeustDatabaseAccountCreateUpdateProperties, SpatialSpec, SqlContainerCreateUpdateParameters, SqlContainerGetPropertiesOptions, @@ -120,6 +133,7 @@ export { SqlUserDefinedFunctionGetPropertiesResource, SqlUserDefinedFunctionGetResults, SqlUserDefinedFunctionResource, + SystemData, TableCreateUpdateParameters, TableGetPropertiesOptions, TableGetPropertiesResource, diff --git a/sdk/cosmosdb/arm-cosmosdb/src/models/databaseMappers.ts b/sdk/cosmosdb/arm-cosmosdb/src/models/databaseMappers.ts index 944586670c79..47fa7a69dbb1 100644 --- a/sdk/cosmosdb/arm-cosmosdb/src/models/databaseMappers.ts +++ b/sdk/cosmosdb/arm-cosmosdb/src/models/databaseMappers.ts @@ -7,6 +7,7 @@ */ export { + discriminators, CloudError, Metric, MetricAvailability, diff --git a/sdk/cosmosdb/arm-cosmosdb/src/models/gremlinResourcesMappers.ts b/sdk/cosmosdb/arm-cosmosdb/src/models/gremlinResourcesMappers.ts index dd77c0ca8c2e..66428bf55eca 100644 --- a/sdk/cosmosdb/arm-cosmosdb/src/models/gremlinResourcesMappers.ts +++ b/sdk/cosmosdb/arm-cosmosdb/src/models/gremlinResourcesMappers.ts @@ -7,6 +7,7 @@ */ export { + discriminators, ApiProperties, ARMProxyResource, ARMResourceProperties, @@ -14,6 +15,7 @@ export { AutoscaleSettingsResource, AutoUpgradePolicyResource, AzureEntityResource, + BackupPolicy, BaseResource, Capability, CassandraKeyspaceCreateUpdateParameters, @@ -35,9 +37,14 @@ export { ConflictResolutionPolicy, ConsistencyPolicy, ContainerPartitionKey, + ContinuousModeBackupPolicy, + CorsPolicy, CreateUpdateOptions, DatabaseAccountCreateUpdateParameters, + DatabaseAccountCreateUpdateProperties, DatabaseAccountGetResults, + DatabaseRestoreResource, + DefaultRequestDatabaseAccountCreateUpdateProperties, ExcludedPath, FailoverPolicy, GremlinDatabaseCreateUpdateParameters, @@ -57,6 +64,7 @@ export { IndexingPolicy, IpAddressOrRange, Location, + ManagedServiceIdentity, MongoDBCollectionCreateUpdateParameters, MongoDBCollectionGetPropertiesOptions, MongoDBCollectionGetPropertiesResource, @@ -73,12 +81,17 @@ export { NotebookWorkspace, NotebookWorkspaceCreateUpdateParameters, OptionsResource, + PeriodicModeBackupPolicy, + PeriodicModeProperties, PrivateEndpointConnection, PrivateEndpointProperty, PrivateLinkResource, PrivateLinkServiceConnectionStateProperty, ProxyResource, Resource, + RestorableDatabaseAccountGetResult, + RestoreParameters, + RestoreReqeustDatabaseAccountCreateUpdateProperties, SpatialSpec, SqlContainerCreateUpdateParameters, SqlContainerGetPropertiesOptions, @@ -102,6 +115,7 @@ export { SqlUserDefinedFunctionGetPropertiesResource, SqlUserDefinedFunctionGetResults, SqlUserDefinedFunctionResource, + SystemData, TableCreateUpdateParameters, TableGetPropertiesOptions, TableGetPropertiesResource, diff --git a/sdk/cosmosdb/arm-cosmosdb/src/models/index.ts b/sdk/cosmosdb/arm-cosmosdb/src/models/index.ts index e5d581ad3955..5f5daa63e789 100644 --- a/sdk/cosmosdb/arm-cosmosdb/src/models/index.ts +++ b/sdk/cosmosdb/arm-cosmosdb/src/models/index.ts @@ -219,6 +219,116 @@ export interface ApiProperties { serverVersion?: ServerVersion; } +/** + * Specific Databases to restore. + */ +export interface DatabaseRestoreResource { + /** + * The name of the database to restore. + */ + databaseName?: string; + /** + * The names of the collections to restore. + */ + collectionNames?: string[]; +} + +/** + * Parameters to indicate the information about the restore. + */ +export interface RestoreParameters { + /** + * Describes the mode of the restore. Possible values include: 'PointInTime' + */ + restoreMode?: RestoreMode; + /** + * Path of the source account from which the restore has to be initiated + */ + restoreSource?: string; + /** + * Time to which the account has to be restored (ISO-8601 format). + */ + restoreTimestampInUtc?: Date; + /** + * List of specific databases to restore. + */ + databasesToRestore?: DatabaseRestoreResource[]; +} + +/** + * Contains the possible cases for BackupPolicy. + */ +export type BackupPolicyUnion = BackupPolicy | PeriodicModeBackupPolicy | ContinuousModeBackupPolicy; + +/** + * The object representing the policy for taking backups on an account. + */ +export interface BackupPolicy { + /** + * Polymorphic Discriminator + */ + type: "BackupPolicy"; +} + +/** + * The CORS policy for the Cosmos DB database account. + */ +export interface CorsPolicy { + /** + * The origin domains that are permitted to make a request against the service via CORS. + */ + allowedOrigins: string; + /** + * The methods (HTTP request verbs) that the origin domain may use for a CORS request. + */ + allowedMethods?: string; + /** + * The request headers that the origin domain may specify on the CORS request. + */ + allowedHeaders?: string; + /** + * The response headers that may be sent in the response to the CORS request and exposed by the + * browser to the request issuer. + */ + exposedHeaders?: string; + /** + * The maximum amount time that a browser should cache the preflight OPTIONS request. + */ + maxAgeInSeconds?: number; +} + +/** + * Metadata pertaining to creation and last modification of the resource. + */ +export interface SystemData { + /** + * The identity that created the resource. + */ + createdBy?: string; + /** + * The type of identity that created the resource. Possible values include: 'User', + * 'Application', 'ManagedIdentity', 'Key' + */ + createdByType?: CreatedByType; + /** + * The timestamp of resource creation (UTC). + */ + createdAt?: Date; + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. Possible values include: 'User', + * 'Application', 'ManagedIdentity', 'Key' + */ + lastModifiedByType?: CreatedByType; + /** + * The type of identity that last modified the resource. + */ + lastModifiedAt?: Date; +} + /** * The core properties of ARM resources. */ @@ -243,6 +353,7 @@ export interface ARMResourceProperties extends BaseResource { */ location?: string; tags?: { [propertyName: string]: string }; + identity?: ManagedServiceIdentity; } /** @@ -357,6 +468,33 @@ export interface DatabaseAccountGetResults extends ARMResourceProperties { * Flag to indicate whether to enable storage analytics. */ enableAnalyticalStorage?: boolean; + /** + * A unique identifier assigned to the database account + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly instanceId?: string; + /** + * Enum to indicate the mode of account creation. Possible values include: 'Default', 'Restore'. + * Default value: 'Default'. + */ + createMode?: CreateMode; + /** + * Parameters to indicate the information about the restore. + */ + restoreParameters?: RestoreParameters; + /** + * The object representing the policy for taking backups on an account. + */ + backupPolicy?: BackupPolicyUnion; + /** + * The CORS policy for the Cosmos DB database account. + */ + cors?: CorsPolicy[]; + /** + * The system meta data relating to this resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly systemData?: SystemData; } /** @@ -1208,6 +1346,13 @@ export interface ErrorResponse { message?: string; } +/** + * An error response from the service. + */ +export interface ErrorResponseUpdatedFormat { + error?: ErrorResponse; +} + /** * The list of new failover policies for the failover priority change. */ @@ -1228,6 +1373,31 @@ export interface RegionForOnlineOffline { region: string; } +/** + * Identity for the resource. + */ +export interface ManagedServiceIdentity { + /** + * The principal id of the system assigned identity. This property will only be provided for a + * system assigned identity. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly principalId?: string; + /** + * The tenant id of the system assigned identity. This property will only be provided for a + * system assigned identity. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly tenantId?: string; + /** + * The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes + * both an implicitly created identity and a set of user assigned identities. The type 'None' + * will remove any identities from the service. Possible values include: 'SystemAssigned', + * 'UserAssigned', 'SystemAssigned, UserAssigned', 'None' + */ + type?: ResourceIdentityType; +} + /** * The resource model definition for a ARM proxy resource. It will have everything other than * required location and tags @@ -1368,15 +1538,18 @@ export interface ThroughputSettingsGetResults extends ARMResourceProperties { } /** - * Parameters to create and update Cosmos DB database accounts. + * Contains the possible cases for DatabaseAccountCreateUpdateProperties. */ -export interface DatabaseAccountCreateUpdateParameters extends ARMResourceProperties { +export type DatabaseAccountCreateUpdatePropertiesUnion = DatabaseAccountCreateUpdateProperties | DefaultRequestDatabaseAccountCreateUpdateProperties | RestoreReqeustDatabaseAccountCreateUpdateProperties; + +/** + * Properties to create and update Azure Cosmos DB database accounts. + */ +export interface DatabaseAccountCreateUpdateProperties { /** - * Indicates the type of database account. This can only be set at database account creation. - * Possible values include: 'GlobalDocumentDB', 'MongoDB', 'Parse'. Default value: - * 'GlobalDocumentDB'. + * Polymorphic Discriminator */ - kind?: DatabaseAccountKind; + createMode: "DatabaseAccountCreateUpdateProperties"; /** * The consistency policy for the Cosmos DB account. */ @@ -1446,6 +1619,205 @@ export interface DatabaseAccountCreateUpdateParameters extends ARMResourceProper * Flag to indicate whether to enable storage analytics. */ enableAnalyticalStorage?: boolean; + /** + * The object representing the policy for taking backups on an account. + */ + backupPolicy?: BackupPolicyUnion; + /** + * The CORS policy for the Cosmos DB database account. + */ + cors?: CorsPolicy[]; +} + +/** + * Properties for non-restore Azure Cosmos DB database account requests. + */ +export interface DefaultRequestDatabaseAccountCreateUpdateProperties { + /** + * Polymorphic Discriminator + */ + createMode: "Default"; + /** + * The consistency policy for the Cosmos DB account. + */ + consistencyPolicy?: ConsistencyPolicy; + /** + * An array that contains the georeplication locations enabled for the Cosmos DB account. + */ + locations: Location[]; + /** + * List of IpRules. + */ + ipRules?: IpAddressOrRange[]; + /** + * Flag to indicate whether to enable/disable Virtual Network ACL rules. + */ + isVirtualNetworkFilterEnabled?: boolean; + /** + * Enables automatic failover of the write region in the rare event that the region is + * unavailable due to an outage. Automatic failover will result in a new write region for the + * account and is chosen based on the failover priorities configured for the account. + */ + enableAutomaticFailover?: boolean; + /** + * List of Cosmos DB capabilities for the account + */ + capabilities?: Capability[]; + /** + * List of Virtual Network ACL rules configured for the Cosmos DB account. + */ + virtualNetworkRules?: VirtualNetworkRule[]; + /** + * Enables the account to write in multiple locations + */ + enableMultipleWriteLocations?: boolean; + /** + * Enables the cassandra connector on the Cosmos DB C* account + */ + enableCassandraConnector?: boolean; + /** + * The cassandra connector offer type for the Cosmos DB database C* account. Possible values + * include: 'Small' + */ + connectorOffer?: ConnectorOffer; + /** + * Disable write operations on metadata resources (databases, containers, throughput) via account + * keys + */ + disableKeyBasedMetadataWriteAccess?: boolean; + /** + * The URI of the key vault + */ + keyVaultKeyUri?: string; + /** + * Whether requests from Public Network are allowed. Possible values include: 'Enabled', + * 'Disabled' + */ + publicNetworkAccess?: PublicNetworkAccess; + /** + * Flag to indicate whether Free Tier is enabled. + */ + enableFreeTier?: boolean; + /** + * API specific properties. Currently, supported only for MongoDB API. + */ + apiProperties?: ApiProperties; + /** + * Flag to indicate whether to enable storage analytics. + */ + enableAnalyticalStorage?: boolean; + /** + * The object representing the policy for taking backups on an account. + */ + backupPolicy?: BackupPolicyUnion; + /** + * The CORS policy for the Cosmos DB database account. + */ + cors?: CorsPolicy[]; +} + +/** + * Properties to restore Azure Cosmos DB database account. + */ +export interface RestoreReqeustDatabaseAccountCreateUpdateProperties { + /** + * Polymorphic Discriminator + */ + createMode: "Restore"; + /** + * The consistency policy for the Cosmos DB account. + */ + consistencyPolicy?: ConsistencyPolicy; + /** + * An array that contains the georeplication locations enabled for the Cosmos DB account. + */ + locations: Location[]; + /** + * List of IpRules. + */ + ipRules?: IpAddressOrRange[]; + /** + * Flag to indicate whether to enable/disable Virtual Network ACL rules. + */ + isVirtualNetworkFilterEnabled?: boolean; + /** + * Enables automatic failover of the write region in the rare event that the region is + * unavailable due to an outage. Automatic failover will result in a new write region for the + * account and is chosen based on the failover priorities configured for the account. + */ + enableAutomaticFailover?: boolean; + /** + * List of Cosmos DB capabilities for the account + */ + capabilities?: Capability[]; + /** + * List of Virtual Network ACL rules configured for the Cosmos DB account. + */ + virtualNetworkRules?: VirtualNetworkRule[]; + /** + * Enables the account to write in multiple locations + */ + enableMultipleWriteLocations?: boolean; + /** + * Enables the cassandra connector on the Cosmos DB C* account + */ + enableCassandraConnector?: boolean; + /** + * The cassandra connector offer type for the Cosmos DB database C* account. Possible values + * include: 'Small' + */ + connectorOffer?: ConnectorOffer; + /** + * Disable write operations on metadata resources (databases, containers, throughput) via account + * keys + */ + disableKeyBasedMetadataWriteAccess?: boolean; + /** + * The URI of the key vault + */ + keyVaultKeyUri?: string; + /** + * Whether requests from Public Network are allowed. Possible values include: 'Enabled', + * 'Disabled' + */ + publicNetworkAccess?: PublicNetworkAccess; + /** + * Flag to indicate whether Free Tier is enabled. + */ + enableFreeTier?: boolean; + /** + * API specific properties. Currently, supported only for MongoDB API. + */ + apiProperties?: ApiProperties; + /** + * Flag to indicate whether to enable storage analytics. + */ + enableAnalyticalStorage?: boolean; + /** + * The object representing the policy for taking backups on an account. + */ + backupPolicy?: BackupPolicyUnion; + /** + * The CORS policy for the Cosmos DB database account. + */ + cors?: CorsPolicy[]; + /** + * Parameters to indicate the information about the restore. + */ + restoreParameters?: RestoreParameters; +} + +/** + * Parameters to create and update Cosmos DB database accounts. + */ +export interface DatabaseAccountCreateUpdateParameters extends ARMResourceProperties { + /** + * Indicates the type of database account. This can only be set at database account creation. + * Possible values include: 'GlobalDocumentDB', 'MongoDB', 'Parse'. Default value: + * 'GlobalDocumentDB'. + */ + kind?: DatabaseAccountKind; + properties: DatabaseAccountCreateUpdatePropertiesUnion; } /** @@ -1526,6 +1898,14 @@ export interface DatabaseAccountUpdateParameters { * Flag to indicate whether to enable storage analytics. */ enableAnalyticalStorage?: boolean; + /** + * The object representing the policy for taking backups on an account. + */ + backupPolicy?: BackupPolicyUnion; + /** + * The CORS policy for the Cosmos DB database account. + */ + cors?: CorsPolicy[]; } /** @@ -2362,6 +2742,62 @@ export interface PartitionMetric extends Metric { readonly partitionKeyRangeId?: string; } +/** + * Configuration values for periodic mode backup + */ +export interface PeriodicModeProperties { + /** + * An integer representing the interval in minutes between two backups + */ + backupIntervalInMinutes?: number; + /** + * An integer representing the time (in hours) that each backup is retained + */ + backupRetentionIntervalInHours?: number; +} + +/** + * The object representing periodic mode backup policy. + */ +export interface PeriodicModeBackupPolicy { + /** + * Polymorphic Discriminator + */ + type: "Periodic"; + /** + * Configuration values for periodic mode backup + */ + periodicModeProperties?: PeriodicModeProperties; +} + +/** + * The object representing continuous mode backup policy. + */ +export interface ContinuousModeBackupPolicy { + /** + * Polymorphic Discriminator + */ + type: "Continuous"; +} + +/** + * A Azure Cosmos DB restorable database account. + */ +export interface RestorableDatabaseAccountGetResult extends ARMResourceProperties { + /** + * The name of the global database account + */ + accountName?: string; + /** + * The creation time of the restorable database account (ISO-8601 format). + */ + creationTime?: Date; + /** + * The time at which the restorable database account has been deleted (ISO-8601 format). + */ + deletionTime?: Date; +} + /** * The resource model definition for a ARM tracked top level resource */ @@ -2663,6 +3099,15 @@ export interface GremlinDatabaseListResult extends Array { } +/** + * @interface + * The List operation response, that contains the restorable database accounts and their + * properties. + * @extends Array + */ +export interface RestorableDatabaseAccountsListResult extends Array { +} + /** * @interface * A list of notebook workspace resources @@ -2735,6 +3180,30 @@ export type PublicNetworkAccess = 'Enabled' | 'Disabled'; */ export type ServerVersion = '3.2' | '3.6'; +/** + * Defines values for CreateMode. + * Possible values include: 'Default', 'Restore' + * @readonly + * @enum {string} + */ +export type CreateMode = 'Default' | 'Restore'; + +/** + * Defines values for RestoreMode. + * Possible values include: 'PointInTime' + * @readonly + * @enum {string} + */ +export type RestoreMode = 'PointInTime'; + +/** + * Defines values for CreatedByType. + * Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key' + * @readonly + * @enum {string} + */ +export type CreatedByType = 'User' | 'Application' | 'ManagedIdentity' | 'Key'; + /** * Defines values for IndexingMode. * Possible values include: 'Consistent', 'Lazy', 'None' @@ -2807,6 +3276,15 @@ export type TriggerType = 'Pre' | 'Post'; */ export type TriggerOperation = 'All' | 'Create' | 'Update' | 'Delete' | 'Replace'; +/** + * Defines values for ResourceIdentityType. + * Possible values include: 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', + * 'None' + * @readonly + * @enum {string} + */ +export type ResourceIdentityType = 'SystemAssigned' | 'UserAssigned' | 'SystemAssigned, UserAssigned' | 'None'; + /** * Defines values for KeyKind. * Possible values include: 'primary', 'secondary', 'primaryReadonly', 'secondaryReadonly' @@ -4997,6 +5475,66 @@ export type GremlinResourcesBeginUpdateGremlinGraphThroughputResponse = Throughp }; }; +/** + * Contains response data for the listByLocation operation. + */ +export type RestorableDatabaseAccountsListByLocationResponse = RestorableDatabaseAccountsListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: RestorableDatabaseAccountsListResult; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type RestorableDatabaseAccountsListResponse = RestorableDatabaseAccountsListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: RestorableDatabaseAccountsListResult; + }; +}; + +/** + * Contains response data for the getByLocation operation. + */ +export type RestorableDatabaseAccountsGetByLocationResponse = RestorableDatabaseAccountGetResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: RestorableDatabaseAccountGetResult; + }; +}; + /** * Contains response data for the listByDatabaseAccount operation. */ diff --git a/sdk/cosmosdb/arm-cosmosdb/src/models/mappers.ts b/sdk/cosmosdb/arm-cosmosdb/src/models/mappers.ts index 8e51cb8aae25..2d46ea0ecbc2 100644 --- a/sdk/cosmosdb/arm-cosmosdb/src/models/mappers.ts +++ b/sdk/cosmosdb/arm-cosmosdb/src/models/mappers.ts @@ -333,6 +333,186 @@ export const ApiProperties: msRest.CompositeMapper = { } }; +export const DatabaseRestoreResource: msRest.CompositeMapper = { + serializedName: "DatabaseRestoreResource", + type: { + name: "Composite", + className: "DatabaseRestoreResource", + modelProperties: { + databaseName: { + serializedName: "databaseName", + type: { + name: "String" + } + }, + collectionNames: { + serializedName: "collectionNames", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const RestoreParameters: msRest.CompositeMapper = { + serializedName: "RestoreParameters", + type: { + name: "Composite", + className: "RestoreParameters", + modelProperties: { + restoreMode: { + serializedName: "restoreMode", + type: { + name: "String" + } + }, + restoreSource: { + serializedName: "restoreSource", + type: { + name: "String" + } + }, + restoreTimestampInUtc: { + serializedName: "restoreTimestampInUtc", + type: { + name: "DateTime" + } + }, + databasesToRestore: { + serializedName: "databasesToRestore", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DatabaseRestoreResource" + } + } + } + } + } + } +}; + +export const BackupPolicy: msRest.CompositeMapper = { + serializedName: "BackupPolicy", + type: { + name: "Composite", + polymorphicDiscriminator: { + serializedName: "type", + clientName: "type" + }, + uberParent: "BackupPolicy", + className: "BackupPolicy", + modelProperties: { + type: { + required: true, + serializedName: "type", + type: { + name: "String" + } + } + } + } +}; + +export const CorsPolicy: msRest.CompositeMapper = { + serializedName: "CorsPolicy", + type: { + name: "Composite", + className: "CorsPolicy", + modelProperties: { + allowedOrigins: { + required: true, + serializedName: "allowedOrigins", + type: { + name: "String" + } + }, + allowedMethods: { + serializedName: "allowedMethods", + type: { + name: "String" + } + }, + allowedHeaders: { + serializedName: "allowedHeaders", + type: { + name: "String" + } + }, + exposedHeaders: { + serializedName: "exposedHeaders", + type: { + name: "String" + } + }, + maxAgeInSeconds: { + serializedName: "maxAgeInSeconds", + constraints: { + InclusiveMaximum: 2147483647, + InclusiveMinimum: 1 + }, + type: { + name: "Number" + } + } + } + } +}; + +export const SystemData: msRest.CompositeMapper = { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData", + modelProperties: { + createdBy: { + serializedName: "createdBy", + type: { + name: "String" + } + }, + createdByType: { + serializedName: "createdByType", + type: { + name: "String" + } + }, + createdAt: { + serializedName: "createdAt", + type: { + name: "DateTime" + } + }, + lastModifiedBy: { + serializedName: "lastModifiedBy", + type: { + name: "String" + } + }, + lastModifiedByType: { + serializedName: "lastModifiedByType", + type: { + name: "String" + } + }, + lastModifiedAt: { + serializedName: "lastModifiedAt", + type: { + name: "DateTime" + } + } + } + } +}; + export const ARMResourceProperties: msRest.CompositeMapper = { serializedName: "ARMResourceProperties", type: { @@ -376,6 +556,13 @@ export const ARMResourceProperties: msRest.CompositeMapper = { } } } + }, + identity: { + serializedName: "identity", + type: { + name: "Composite", + className: "ManagedServiceIdentity" + } } } } @@ -592,6 +779,54 @@ export const DatabaseAccountGetResults: msRest.CompositeMapper = { type: { name: "Boolean" } + }, + instanceId: { + readOnly: true, + serializedName: "properties.instanceId", + type: { + name: "String" + } + }, + createMode: { + serializedName: "properties.createMode", + defaultValue: 'Default', + type: { + name: "String" + } + }, + restoreParameters: { + serializedName: "properties.restoreParameters", + type: { + name: "Composite", + className: "RestoreParameters" + } + }, + backupPolicy: { + serializedName: "properties.backupPolicy", + type: { + name: "Composite", + className: "BackupPolicy" + } + }, + cors: { + serializedName: "properties.cors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "CorsPolicy" + } + } + } + }, + systemData: { + readOnly: true, + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } } } } @@ -2116,6 +2351,23 @@ export const ErrorResponse: msRest.CompositeMapper = { } }; +export const ErrorResponseUpdatedFormat: msRest.CompositeMapper = { + serializedName: "ErrorResponseUpdatedFormat", + type: { + name: "Composite", + className: "ErrorResponseUpdatedFormat", + modelProperties: { + error: { + serializedName: "error", + type: { + name: "Composite", + className: "ErrorResponse" + } + } + } + } +}; + export const FailoverPolicies: msRest.CompositeMapper = { serializedName: "FailoverPolicies", type: { @@ -2156,6 +2408,42 @@ export const RegionForOnlineOffline: msRest.CompositeMapper = { } }; +export const ManagedServiceIdentity: msRest.CompositeMapper = { + serializedName: "ManagedServiceIdentity", + type: { + name: "Composite", + className: "ManagedServiceIdentity", + modelProperties: { + principalId: { + readOnly: true, + serializedName: "principalId", + type: { + name: "String" + } + }, + tenantId: { + readOnly: true, + serializedName: "tenantId", + type: { + name: "String" + } + }, + type: { + serializedName: "type", + type: { + name: "Enum", + allowedValues: [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ] + } + } + } + } +}; + export const ARMProxyResource: msRest.CompositeMapper = { serializedName: "ARMProxyResource", type: { @@ -2364,22 +2652,19 @@ export const ThroughputSettingsGetResults: msRest.CompositeMapper = { } }; -export const DatabaseAccountCreateUpdateParameters: msRest.CompositeMapper = { - serializedName: "DatabaseAccountCreateUpdateParameters", +export const DatabaseAccountCreateUpdateProperties: msRest.CompositeMapper = { + serializedName: "DatabaseAccountCreateUpdateProperties", type: { name: "Composite", - className: "DatabaseAccountCreateUpdateParameters", + polymorphicDiscriminator: { + serializedName: "createMode", + clientName: "createMode" + }, + uberParent: "DatabaseAccountCreateUpdateProperties", + className: "DatabaseAccountCreateUpdateProperties", modelProperties: { - ...ARMResourceProperties.type.modelProperties, - kind: { - serializedName: "kind", - defaultValue: 'GlobalDocumentDB', - type: { - name: "String" - } - }, consistencyPolicy: { - serializedName: "properties.consistencyPolicy", + serializedName: "consistencyPolicy", type: { name: "Composite", className: "ConsistencyPolicy" @@ -2387,7 +2672,7 @@ export const DatabaseAccountCreateUpdateParameters: msRest.CompositeMapper = { }, locations: { required: true, - serializedName: "properties.locations", + serializedName: "locations", type: { name: "Sequence", element: { @@ -2401,14 +2686,14 @@ export const DatabaseAccountCreateUpdateParameters: msRest.CompositeMapper = { databaseAccountOfferType: { required: true, isConstant: true, - serializedName: "properties.databaseAccountOfferType", + serializedName: "databaseAccountOfferType", defaultValue: 'Standard', type: { name: "String" } }, ipRules: { - serializedName: "properties.ipRules", + serializedName: "ipRules", type: { name: "Sequence", element: { @@ -2420,19 +2705,19 @@ export const DatabaseAccountCreateUpdateParameters: msRest.CompositeMapper = { } }, isVirtualNetworkFilterEnabled: { - serializedName: "properties.isVirtualNetworkFilterEnabled", + serializedName: "isVirtualNetworkFilterEnabled", type: { name: "Boolean" } }, enableAutomaticFailover: { - serializedName: "properties.enableAutomaticFailover", + serializedName: "enableAutomaticFailover", type: { name: "Boolean" } }, capabilities: { - serializedName: "properties.capabilities", + serializedName: "capabilities", type: { name: "Sequence", element: { @@ -2444,7 +2729,7 @@ export const DatabaseAccountCreateUpdateParameters: msRest.CompositeMapper = { } }, virtualNetworkRules: { - serializedName: "properties.virtualNetworkRules", + serializedName: "virtualNetworkRules", type: { name: "Sequence", element: { @@ -2456,59 +2741,145 @@ export const DatabaseAccountCreateUpdateParameters: msRest.CompositeMapper = { } }, enableMultipleWriteLocations: { - serializedName: "properties.enableMultipleWriteLocations", + serializedName: "enableMultipleWriteLocations", type: { name: "Boolean" } }, enableCassandraConnector: { - serializedName: "properties.enableCassandraConnector", + serializedName: "enableCassandraConnector", type: { name: "Boolean" } }, connectorOffer: { - serializedName: "properties.connectorOffer", + serializedName: "connectorOffer", type: { name: "String" } }, disableKeyBasedMetadataWriteAccess: { - serializedName: "properties.disableKeyBasedMetadataWriteAccess", + serializedName: "disableKeyBasedMetadataWriteAccess", type: { name: "Boolean" } }, keyVaultKeyUri: { - serializedName: "properties.keyVaultKeyUri", + serializedName: "keyVaultKeyUri", type: { name: "String" } }, publicNetworkAccess: { - serializedName: "properties.publicNetworkAccess", + serializedName: "publicNetworkAccess", type: { name: "String" } }, enableFreeTier: { - serializedName: "properties.enableFreeTier", + serializedName: "enableFreeTier", type: { name: "Boolean" } }, apiProperties: { - serializedName: "properties.apiProperties", + serializedName: "apiProperties", type: { name: "Composite", className: "ApiProperties" } }, enableAnalyticalStorage: { - serializedName: "properties.enableAnalyticalStorage", + serializedName: "enableAnalyticalStorage", type: { name: "Boolean" } + }, + backupPolicy: { + serializedName: "backupPolicy", + type: { + name: "Composite", + className: "BackupPolicy" + } + }, + cors: { + serializedName: "cors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "CorsPolicy" + } + } + } + }, + createMode: { + required: true, + serializedName: "createMode", + type: { + name: "String" + } + } + } + } +}; + +export const DefaultRequestDatabaseAccountCreateUpdateProperties: msRest.CompositeMapper = { + serializedName: "Default", + type: { + name: "Composite", + polymorphicDiscriminator: DatabaseAccountCreateUpdateProperties.type.polymorphicDiscriminator, + uberParent: "DatabaseAccountCreateUpdateProperties", + className: "DefaultRequestDatabaseAccountCreateUpdateProperties", + modelProperties: { + ...DatabaseAccountCreateUpdateProperties.type.modelProperties + } + } +}; + +export const RestoreReqeustDatabaseAccountCreateUpdateProperties: msRest.CompositeMapper = { + serializedName: "Restore", + type: { + name: "Composite", + polymorphicDiscriminator: DatabaseAccountCreateUpdateProperties.type.polymorphicDiscriminator, + uberParent: "DatabaseAccountCreateUpdateProperties", + className: "RestoreReqeustDatabaseAccountCreateUpdateProperties", + modelProperties: { + ...DatabaseAccountCreateUpdateProperties.type.modelProperties, + restoreParameters: { + serializedName: "restoreParameters", + type: { + name: "Composite", + className: "RestoreParameters" + } + } + } + } +}; + +export const DatabaseAccountCreateUpdateParameters: msRest.CompositeMapper = { + serializedName: "DatabaseAccountCreateUpdateParameters", + type: { + name: "Composite", + className: "DatabaseAccountCreateUpdateParameters", + modelProperties: { + ...ARMResourceProperties.type.modelProperties, + kind: { + serializedName: "kind", + defaultValue: 'GlobalDocumentDB', + type: { + name: "String" + } + }, + properties: { + required: true, + serializedName: "properties", + defaultValue: {}, + type: { + name: "Composite", + className: "DatabaseAccountCreateUpdateProperties" + } } } } @@ -2658,6 +3029,25 @@ export const DatabaseAccountUpdateParameters: msRest.CompositeMapper = { type: { name: "Boolean" } + }, + backupPolicy: { + serializedName: "properties.backupPolicy", + type: { + name: "Composite", + className: "BackupPolicy" + } + }, + cors: { + serializedName: "properties.cors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "CorsPolicy" + } + } + } } } } @@ -4023,6 +4413,96 @@ export const PartitionMetric: msRest.CompositeMapper = { } }; +export const PeriodicModeProperties: msRest.CompositeMapper = { + serializedName: "PeriodicModeProperties", + type: { + name: "Composite", + className: "PeriodicModeProperties", + modelProperties: { + backupIntervalInMinutes: { + serializedName: "backupIntervalInMinutes", + constraints: { + InclusiveMinimum: 0 + }, + type: { + name: "Number" + } + }, + backupRetentionIntervalInHours: { + serializedName: "backupRetentionIntervalInHours", + constraints: { + InclusiveMinimum: 0 + }, + type: { + name: "Number" + } + } + } + } +}; + +export const PeriodicModeBackupPolicy: msRest.CompositeMapper = { + serializedName: "Periodic", + type: { + name: "Composite", + polymorphicDiscriminator: BackupPolicy.type.polymorphicDiscriminator, + uberParent: "BackupPolicy", + className: "PeriodicModeBackupPolicy", + modelProperties: { + ...BackupPolicy.type.modelProperties, + periodicModeProperties: { + serializedName: "periodicModeProperties", + type: { + name: "Composite", + className: "PeriodicModeProperties" + } + } + } + } +}; + +export const ContinuousModeBackupPolicy: msRest.CompositeMapper = { + serializedName: "Continuous", + type: { + name: "Composite", + polymorphicDiscriminator: BackupPolicy.type.polymorphicDiscriminator, + uberParent: "BackupPolicy", + className: "ContinuousModeBackupPolicy", + modelProperties: { + ...BackupPolicy.type.modelProperties + } + } +}; + +export const RestorableDatabaseAccountGetResult: msRest.CompositeMapper = { + serializedName: "RestorableDatabaseAccountGetResult", + type: { + name: "Composite", + className: "RestorableDatabaseAccountGetResult", + modelProperties: { + ...ARMResourceProperties.type.modelProperties, + accountName: { + serializedName: "properties.accountName", + type: { + name: "String" + } + }, + creationTime: { + serializedName: "properties.creationTime", + type: { + name: "DateTime" + } + }, + deletionTime: { + serializedName: "properties.deletionTime", + type: { + name: "DateTime" + } + } + } + } +}; + export const TrackedResource: msRest.CompositeMapper = { serializedName: "TrackedResource", type: { @@ -4637,6 +5117,29 @@ export const GremlinGraphListResult: msRest.CompositeMapper = { } }; +export const RestorableDatabaseAccountsListResult: msRest.CompositeMapper = { + serializedName: "RestorableDatabaseAccountsListResult", + type: { + name: "Composite", + className: "RestorableDatabaseAccountsListResult", + modelProperties: { + value: { + readOnly: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RestorableDatabaseAccountGetResult" + } + } + } + } + } + } +}; + export const NotebookWorkspaceListResult: msRest.CompositeMapper = { serializedName: "NotebookWorkspaceListResult", type: { @@ -4702,3 +5205,13 @@ export const PrivateEndpointConnectionListResult: msRest.CompositeMapper = { } } }; + +export const discriminators = { + 'BackupPolicy' : BackupPolicy, + 'DatabaseAccountCreateUpdateProperties' : DatabaseAccountCreateUpdateProperties, + 'DatabaseAccountCreateUpdateProperties.Default' : DefaultRequestDatabaseAccountCreateUpdateProperties, + 'DatabaseAccountCreateUpdateProperties.Restore' : RestoreReqeustDatabaseAccountCreateUpdateProperties, + 'BackupPolicy.Periodic' : PeriodicModeBackupPolicy, + 'BackupPolicy.Continuous' : ContinuousModeBackupPolicy + +}; diff --git a/sdk/cosmosdb/arm-cosmosdb/src/models/mongoDBResourcesMappers.ts b/sdk/cosmosdb/arm-cosmosdb/src/models/mongoDBResourcesMappers.ts index 5a447e578304..1030d2914a4c 100644 --- a/sdk/cosmosdb/arm-cosmosdb/src/models/mongoDBResourcesMappers.ts +++ b/sdk/cosmosdb/arm-cosmosdb/src/models/mongoDBResourcesMappers.ts @@ -7,6 +7,7 @@ */ export { + discriminators, ApiProperties, ARMProxyResource, ARMResourceProperties, @@ -14,6 +15,7 @@ export { AutoscaleSettingsResource, AutoUpgradePolicyResource, AzureEntityResource, + BackupPolicy, BaseResource, Capability, CassandraKeyspaceCreateUpdateParameters, @@ -35,9 +37,14 @@ export { ConflictResolutionPolicy, ConsistencyPolicy, ContainerPartitionKey, + ContinuousModeBackupPolicy, + CorsPolicy, CreateUpdateOptions, DatabaseAccountCreateUpdateParameters, + DatabaseAccountCreateUpdateProperties, DatabaseAccountGetResults, + DatabaseRestoreResource, + DefaultRequestDatabaseAccountCreateUpdateProperties, ExcludedPath, FailoverPolicy, GremlinDatabaseCreateUpdateParameters, @@ -55,6 +62,7 @@ export { IndexingPolicy, IpAddressOrRange, Location, + ManagedServiceIdentity, MongoDBCollectionCreateUpdateParameters, MongoDBCollectionGetPropertiesOptions, MongoDBCollectionGetPropertiesResource, @@ -73,12 +81,17 @@ export { NotebookWorkspace, NotebookWorkspaceCreateUpdateParameters, OptionsResource, + PeriodicModeBackupPolicy, + PeriodicModeProperties, PrivateEndpointConnection, PrivateEndpointProperty, PrivateLinkResource, PrivateLinkServiceConnectionStateProperty, ProxyResource, Resource, + RestorableDatabaseAccountGetResult, + RestoreParameters, + RestoreReqeustDatabaseAccountCreateUpdateProperties, SpatialSpec, SqlContainerCreateUpdateParameters, SqlContainerGetPropertiesOptions, @@ -102,6 +115,7 @@ export { SqlUserDefinedFunctionGetPropertiesResource, SqlUserDefinedFunctionGetResults, SqlUserDefinedFunctionResource, + SystemData, TableCreateUpdateParameters, TableGetPropertiesOptions, TableGetPropertiesResource, diff --git a/sdk/cosmosdb/arm-cosmosdb/src/models/notebookWorkspacesMappers.ts b/sdk/cosmosdb/arm-cosmosdb/src/models/notebookWorkspacesMappers.ts index 67b430bb0b35..8f156868b2b8 100644 --- a/sdk/cosmosdb/arm-cosmosdb/src/models/notebookWorkspacesMappers.ts +++ b/sdk/cosmosdb/arm-cosmosdb/src/models/notebookWorkspacesMappers.ts @@ -7,6 +7,7 @@ */ export { + discriminators, ApiProperties, ARMProxyResource, ARMResourceProperties, @@ -14,6 +15,7 @@ export { AutoscaleSettingsResource, AutoUpgradePolicyResource, AzureEntityResource, + BackupPolicy, BaseResource, Capability, CassandraKeyspaceCreateUpdateParameters, @@ -34,9 +36,14 @@ export { ConflictResolutionPolicy, ConsistencyPolicy, ContainerPartitionKey, + ContinuousModeBackupPolicy, + CorsPolicy, CreateUpdateOptions, DatabaseAccountCreateUpdateParameters, + DatabaseAccountCreateUpdateProperties, DatabaseAccountGetResults, + DatabaseRestoreResource, + DefaultRequestDatabaseAccountCreateUpdateProperties, ErrorResponse, ExcludedPath, FailoverPolicy, @@ -55,6 +62,7 @@ export { IndexingPolicy, IpAddressOrRange, Location, + ManagedServiceIdentity, MongoDBCollectionCreateUpdateParameters, MongoDBCollectionGetPropertiesOptions, MongoDBCollectionGetPropertiesResource, @@ -73,12 +81,17 @@ export { NotebookWorkspaceCreateUpdateParameters, NotebookWorkspaceListResult, OptionsResource, + PeriodicModeBackupPolicy, + PeriodicModeProperties, PrivateEndpointConnection, PrivateEndpointProperty, PrivateLinkResource, PrivateLinkServiceConnectionStateProperty, ProxyResource, Resource, + RestorableDatabaseAccountGetResult, + RestoreParameters, + RestoreReqeustDatabaseAccountCreateUpdateProperties, SpatialSpec, SqlContainerCreateUpdateParameters, SqlContainerGetPropertiesOptions, @@ -102,6 +115,7 @@ export { SqlUserDefinedFunctionGetPropertiesResource, SqlUserDefinedFunctionGetResults, SqlUserDefinedFunctionResource, + SystemData, TableCreateUpdateParameters, TableGetPropertiesOptions, TableGetPropertiesResource, diff --git a/sdk/cosmosdb/arm-cosmosdb/src/models/operationsMappers.ts b/sdk/cosmosdb/arm-cosmosdb/src/models/operationsMappers.ts index 689688180be7..65fc7dd1800a 100644 --- a/sdk/cosmosdb/arm-cosmosdb/src/models/operationsMappers.ts +++ b/sdk/cosmosdb/arm-cosmosdb/src/models/operationsMappers.ts @@ -7,6 +7,7 @@ */ export { + discriminators, CloudError, Operation, OperationDisplay, diff --git a/sdk/cosmosdb/arm-cosmosdb/src/models/parameters.ts b/sdk/cosmosdb/arm-cosmosdb/src/models/parameters.ts index cb68a8368400..290eae43870e 100644 --- a/sdk/cosmosdb/arm-cosmosdb/src/models/parameters.ts +++ b/sdk/cosmosdb/arm-cosmosdb/src/models/parameters.ts @@ -41,7 +41,7 @@ export const apiVersion0: msRest.OperationQueryParameter = { required: true, isConstant: true, serializedName: "api-version", - defaultValue: '2020-04-01', + defaultValue: '2020-06-01-preview', constraints: { MinLength: 1 }, @@ -157,6 +157,16 @@ export const groupName: msRest.OperationURLParameter = { } } }; +export const instanceId: msRest.OperationURLParameter = { + parameterPath: "instanceId", + mapper: { + required: true, + serializedName: "instanceId", + type: { + name: "String" + } + } +}; export const keyspaceName: msRest.OperationURLParameter = { parameterPath: "keyspaceName", mapper: { @@ -167,6 +177,16 @@ export const keyspaceName: msRest.OperationURLParameter = { } } }; +export const location: msRest.OperationURLParameter = { + parameterPath: "location", + mapper: { + required: true, + serializedName: "location", + type: { + name: "String" + } + } +}; export const nextPageLink: msRest.OperationURLParameter = { parameterPath: "nextPageLink", mapper: { diff --git a/sdk/cosmosdb/arm-cosmosdb/src/models/partitionKeyRangeIdMappers.ts b/sdk/cosmosdb/arm-cosmosdb/src/models/partitionKeyRangeIdMappers.ts index c901f39fec5e..ad4eec5bb57b 100644 --- a/sdk/cosmosdb/arm-cosmosdb/src/models/partitionKeyRangeIdMappers.ts +++ b/sdk/cosmosdb/arm-cosmosdb/src/models/partitionKeyRangeIdMappers.ts @@ -7,6 +7,7 @@ */ export { + discriminators, CloudError, Metric, MetricName, diff --git a/sdk/cosmosdb/arm-cosmosdb/src/models/partitionKeyRangeIdRegionMappers.ts b/sdk/cosmosdb/arm-cosmosdb/src/models/partitionKeyRangeIdRegionMappers.ts index c901f39fec5e..ad4eec5bb57b 100644 --- a/sdk/cosmosdb/arm-cosmosdb/src/models/partitionKeyRangeIdRegionMappers.ts +++ b/sdk/cosmosdb/arm-cosmosdb/src/models/partitionKeyRangeIdRegionMappers.ts @@ -7,6 +7,7 @@ */ export { + discriminators, CloudError, Metric, MetricName, diff --git a/sdk/cosmosdb/arm-cosmosdb/src/models/percentileMappers.ts b/sdk/cosmosdb/arm-cosmosdb/src/models/percentileMappers.ts index 969936d1541a..0b7dd679f5f9 100644 --- a/sdk/cosmosdb/arm-cosmosdb/src/models/percentileMappers.ts +++ b/sdk/cosmosdb/arm-cosmosdb/src/models/percentileMappers.ts @@ -7,6 +7,7 @@ */ export { + discriminators, CloudError, MetricName, MetricValue, diff --git a/sdk/cosmosdb/arm-cosmosdb/src/models/percentileSourceTargetMappers.ts b/sdk/cosmosdb/arm-cosmosdb/src/models/percentileSourceTargetMappers.ts index 969936d1541a..0b7dd679f5f9 100644 --- a/sdk/cosmosdb/arm-cosmosdb/src/models/percentileSourceTargetMappers.ts +++ b/sdk/cosmosdb/arm-cosmosdb/src/models/percentileSourceTargetMappers.ts @@ -7,6 +7,7 @@ */ export { + discriminators, CloudError, MetricName, MetricValue, diff --git a/sdk/cosmosdb/arm-cosmosdb/src/models/percentileTargetMappers.ts b/sdk/cosmosdb/arm-cosmosdb/src/models/percentileTargetMappers.ts index 969936d1541a..0b7dd679f5f9 100644 --- a/sdk/cosmosdb/arm-cosmosdb/src/models/percentileTargetMappers.ts +++ b/sdk/cosmosdb/arm-cosmosdb/src/models/percentileTargetMappers.ts @@ -7,6 +7,7 @@ */ export { + discriminators, CloudError, MetricName, MetricValue, diff --git a/sdk/cosmosdb/arm-cosmosdb/src/models/privateEndpointConnectionsMappers.ts b/sdk/cosmosdb/arm-cosmosdb/src/models/privateEndpointConnectionsMappers.ts index 75eadc705194..55f1381804ab 100644 --- a/sdk/cosmosdb/arm-cosmosdb/src/models/privateEndpointConnectionsMappers.ts +++ b/sdk/cosmosdb/arm-cosmosdb/src/models/privateEndpointConnectionsMappers.ts @@ -7,6 +7,7 @@ */ export { + discriminators, ApiProperties, ARMProxyResource, ARMResourceProperties, @@ -14,6 +15,7 @@ export { AutoscaleSettingsResource, AutoUpgradePolicyResource, AzureEntityResource, + BackupPolicy, BaseResource, Capability, CassandraKeyspaceCreateUpdateParameters, @@ -35,9 +37,14 @@ export { ConflictResolutionPolicy, ConsistencyPolicy, ContainerPartitionKey, + ContinuousModeBackupPolicy, + CorsPolicy, CreateUpdateOptions, DatabaseAccountCreateUpdateParameters, + DatabaseAccountCreateUpdateProperties, DatabaseAccountGetResults, + DatabaseRestoreResource, + DefaultRequestDatabaseAccountCreateUpdateProperties, ErrorResponse, ExcludedPath, FailoverPolicy, @@ -56,6 +63,7 @@ export { IndexingPolicy, IpAddressOrRange, Location, + ManagedServiceIdentity, MongoDBCollectionCreateUpdateParameters, MongoDBCollectionGetPropertiesOptions, MongoDBCollectionGetPropertiesResource, @@ -72,6 +80,8 @@ export { NotebookWorkspace, NotebookWorkspaceCreateUpdateParameters, OptionsResource, + PeriodicModeBackupPolicy, + PeriodicModeProperties, PrivateEndpointConnection, PrivateEndpointConnectionListResult, PrivateEndpointProperty, @@ -79,6 +89,9 @@ export { PrivateLinkServiceConnectionStateProperty, ProxyResource, Resource, + RestorableDatabaseAccountGetResult, + RestoreParameters, + RestoreReqeustDatabaseAccountCreateUpdateProperties, SpatialSpec, SqlContainerCreateUpdateParameters, SqlContainerGetPropertiesOptions, @@ -102,6 +115,7 @@ export { SqlUserDefinedFunctionGetPropertiesResource, SqlUserDefinedFunctionGetResults, SqlUserDefinedFunctionResource, + SystemData, TableCreateUpdateParameters, TableGetPropertiesOptions, TableGetPropertiesResource, diff --git a/sdk/cosmosdb/arm-cosmosdb/src/models/privateLinkResourcesMappers.ts b/sdk/cosmosdb/arm-cosmosdb/src/models/privateLinkResourcesMappers.ts index 982e3c4539fa..53add600bd9c 100644 --- a/sdk/cosmosdb/arm-cosmosdb/src/models/privateLinkResourcesMappers.ts +++ b/sdk/cosmosdb/arm-cosmosdb/src/models/privateLinkResourcesMappers.ts @@ -7,6 +7,7 @@ */ export { + discriminators, ApiProperties, ARMProxyResource, ARMResourceProperties, @@ -14,6 +15,7 @@ export { AutoscaleSettingsResource, AutoUpgradePolicyResource, AzureEntityResource, + BackupPolicy, BaseResource, Capability, CassandraKeyspaceCreateUpdateParameters, @@ -35,9 +37,14 @@ export { ConflictResolutionPolicy, ConsistencyPolicy, ContainerPartitionKey, + ContinuousModeBackupPolicy, + CorsPolicy, CreateUpdateOptions, DatabaseAccountCreateUpdateParameters, + DatabaseAccountCreateUpdateProperties, DatabaseAccountGetResults, + DatabaseRestoreResource, + DefaultRequestDatabaseAccountCreateUpdateProperties, ExcludedPath, FailoverPolicy, GremlinDatabaseCreateUpdateParameters, @@ -55,6 +62,7 @@ export { IndexingPolicy, IpAddressOrRange, Location, + ManagedServiceIdentity, MongoDBCollectionCreateUpdateParameters, MongoDBCollectionGetPropertiesOptions, MongoDBCollectionGetPropertiesResource, @@ -71,6 +79,8 @@ export { NotebookWorkspace, NotebookWorkspaceCreateUpdateParameters, OptionsResource, + PeriodicModeBackupPolicy, + PeriodicModeProperties, PrivateEndpointConnection, PrivateEndpointProperty, PrivateLinkResource, @@ -78,6 +88,9 @@ export { PrivateLinkServiceConnectionStateProperty, ProxyResource, Resource, + RestorableDatabaseAccountGetResult, + RestoreParameters, + RestoreReqeustDatabaseAccountCreateUpdateProperties, SpatialSpec, SqlContainerCreateUpdateParameters, SqlContainerGetPropertiesOptions, @@ -101,6 +114,7 @@ export { SqlUserDefinedFunctionGetPropertiesResource, SqlUserDefinedFunctionGetResults, SqlUserDefinedFunctionResource, + SystemData, TableCreateUpdateParameters, TableGetPropertiesOptions, TableGetPropertiesResource, diff --git a/sdk/cosmosdb/arm-cosmosdb/src/models/restorableDatabaseAccountsMappers.ts b/sdk/cosmosdb/arm-cosmosdb/src/models/restorableDatabaseAccountsMappers.ts new file mode 100644 index 000000000000..93a880d61ad8 --- /dev/null +++ b/sdk/cosmosdb/arm-cosmosdb/src/models/restorableDatabaseAccountsMappers.ts @@ -0,0 +1,133 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +export { + discriminators, + ApiProperties, + ARMProxyResource, + ARMResourceProperties, + AutoscaleSettings, + AutoscaleSettingsResource, + AutoUpgradePolicyResource, + AzureEntityResource, + BackupPolicy, + BaseResource, + Capability, + CassandraKeyspaceCreateUpdateParameters, + CassandraKeyspaceGetPropertiesOptions, + CassandraKeyspaceGetPropertiesResource, + CassandraKeyspaceGetResults, + CassandraKeyspaceResource, + CassandraPartitionKey, + CassandraSchema, + CassandraTableCreateUpdateParameters, + CassandraTableGetPropertiesOptions, + CassandraTableGetPropertiesResource, + CassandraTableGetResults, + CassandraTableResource, + ClusterKey, + Column, + CompositePath, + ConflictResolutionPolicy, + ConsistencyPolicy, + ContainerPartitionKey, + ContinuousModeBackupPolicy, + CorsPolicy, + CreateUpdateOptions, + DatabaseAccountCreateUpdateParameters, + DatabaseAccountCreateUpdateProperties, + DatabaseAccountGetResults, + DatabaseRestoreResource, + DefaultRequestDatabaseAccountCreateUpdateProperties, + ErrorResponse, + ErrorResponseUpdatedFormat, + ExcludedPath, + FailoverPolicy, + GremlinDatabaseCreateUpdateParameters, + GremlinDatabaseGetPropertiesOptions, + GremlinDatabaseGetPropertiesResource, + GremlinDatabaseGetResults, + GremlinDatabaseResource, + GremlinGraphCreateUpdateParameters, + GremlinGraphGetPropertiesOptions, + GremlinGraphGetPropertiesResource, + GremlinGraphGetResults, + GremlinGraphResource, + IncludedPath, + Indexes, + IndexingPolicy, + IpAddressOrRange, + Location, + ManagedServiceIdentity, + MongoDBCollectionCreateUpdateParameters, + MongoDBCollectionGetPropertiesOptions, + MongoDBCollectionGetPropertiesResource, + MongoDBCollectionGetResults, + MongoDBCollectionResource, + MongoDBDatabaseCreateUpdateParameters, + MongoDBDatabaseGetPropertiesOptions, + MongoDBDatabaseGetPropertiesResource, + MongoDBDatabaseGetResults, + MongoDBDatabaseResource, + MongoIndex, + MongoIndexKeys, + MongoIndexOptions, + NotebookWorkspace, + NotebookWorkspaceCreateUpdateParameters, + OptionsResource, + PeriodicModeBackupPolicy, + PeriodicModeProperties, + PrivateEndpointConnection, + PrivateEndpointProperty, + PrivateLinkResource, + PrivateLinkServiceConnectionStateProperty, + ProxyResource, + Resource, + RestorableDatabaseAccountGetResult, + RestorableDatabaseAccountsListResult, + RestoreParameters, + RestoreReqeustDatabaseAccountCreateUpdateProperties, + SpatialSpec, + SqlContainerCreateUpdateParameters, + SqlContainerGetPropertiesOptions, + SqlContainerGetPropertiesResource, + SqlContainerGetResults, + SqlContainerResource, + SqlDatabaseCreateUpdateParameters, + SqlDatabaseGetPropertiesOptions, + SqlDatabaseGetPropertiesResource, + SqlDatabaseGetResults, + SqlDatabaseResource, + SqlStoredProcedureCreateUpdateParameters, + SqlStoredProcedureGetPropertiesResource, + SqlStoredProcedureGetResults, + SqlStoredProcedureResource, + SqlTriggerCreateUpdateParameters, + SqlTriggerGetPropertiesResource, + SqlTriggerGetResults, + SqlTriggerResource, + SqlUserDefinedFunctionCreateUpdateParameters, + SqlUserDefinedFunctionGetPropertiesResource, + SqlUserDefinedFunctionGetResults, + SqlUserDefinedFunctionResource, + SystemData, + TableCreateUpdateParameters, + TableGetPropertiesOptions, + TableGetPropertiesResource, + TableGetResults, + TableResource, + ThroughputPolicyResource, + ThroughputSettingsGetPropertiesResource, + ThroughputSettingsGetResults, + ThroughputSettingsResource, + ThroughputSettingsUpdateParameters, + TrackedResource, + UniqueKey, + UniqueKeyPolicy, + VirtualNetworkRule +} from "../models/mappers"; diff --git a/sdk/cosmosdb/arm-cosmosdb/src/models/sqlResourcesMappers.ts b/sdk/cosmosdb/arm-cosmosdb/src/models/sqlResourcesMappers.ts index c82b56d06e33..5e0d98d6bed9 100644 --- a/sdk/cosmosdb/arm-cosmosdb/src/models/sqlResourcesMappers.ts +++ b/sdk/cosmosdb/arm-cosmosdb/src/models/sqlResourcesMappers.ts @@ -7,6 +7,7 @@ */ export { + discriminators, ApiProperties, ARMProxyResource, ARMResourceProperties, @@ -14,6 +15,7 @@ export { AutoscaleSettingsResource, AutoUpgradePolicyResource, AzureEntityResource, + BackupPolicy, BaseResource, Capability, CassandraKeyspaceCreateUpdateParameters, @@ -35,9 +37,14 @@ export { ConflictResolutionPolicy, ConsistencyPolicy, ContainerPartitionKey, + ContinuousModeBackupPolicy, + CorsPolicy, CreateUpdateOptions, DatabaseAccountCreateUpdateParameters, + DatabaseAccountCreateUpdateProperties, DatabaseAccountGetResults, + DatabaseRestoreResource, + DefaultRequestDatabaseAccountCreateUpdateProperties, ExcludedPath, FailoverPolicy, GremlinDatabaseCreateUpdateParameters, @@ -55,6 +62,7 @@ export { IndexingPolicy, IpAddressOrRange, Location, + ManagedServiceIdentity, MongoDBCollectionCreateUpdateParameters, MongoDBCollectionGetPropertiesOptions, MongoDBCollectionGetPropertiesResource, @@ -71,12 +79,17 @@ export { NotebookWorkspace, NotebookWorkspaceCreateUpdateParameters, OptionsResource, + PeriodicModeBackupPolicy, + PeriodicModeProperties, PrivateEndpointConnection, PrivateEndpointProperty, PrivateLinkResource, PrivateLinkServiceConnectionStateProperty, ProxyResource, Resource, + RestorableDatabaseAccountGetResult, + RestoreParameters, + RestoreReqeustDatabaseAccountCreateUpdateProperties, SpatialSpec, SqlContainerCreateUpdateParameters, SqlContainerGetPropertiesOptions, @@ -105,6 +118,7 @@ export { SqlUserDefinedFunctionGetResults, SqlUserDefinedFunctionListResult, SqlUserDefinedFunctionResource, + SystemData, TableCreateUpdateParameters, TableGetPropertiesOptions, TableGetPropertiesResource, diff --git a/sdk/cosmosdb/arm-cosmosdb/src/models/tableResourcesMappers.ts b/sdk/cosmosdb/arm-cosmosdb/src/models/tableResourcesMappers.ts index db653215827a..1207a40c9953 100644 --- a/sdk/cosmosdb/arm-cosmosdb/src/models/tableResourcesMappers.ts +++ b/sdk/cosmosdb/arm-cosmosdb/src/models/tableResourcesMappers.ts @@ -7,6 +7,7 @@ */ export { + discriminators, ApiProperties, ARMProxyResource, ARMResourceProperties, @@ -14,6 +15,7 @@ export { AutoscaleSettingsResource, AutoUpgradePolicyResource, AzureEntityResource, + BackupPolicy, BaseResource, Capability, CassandraKeyspaceCreateUpdateParameters, @@ -35,9 +37,14 @@ export { ConflictResolutionPolicy, ConsistencyPolicy, ContainerPartitionKey, + ContinuousModeBackupPolicy, + CorsPolicy, CreateUpdateOptions, DatabaseAccountCreateUpdateParameters, + DatabaseAccountCreateUpdateProperties, DatabaseAccountGetResults, + DatabaseRestoreResource, + DefaultRequestDatabaseAccountCreateUpdateProperties, ExcludedPath, FailoverPolicy, GremlinDatabaseCreateUpdateParameters, @@ -55,6 +62,7 @@ export { IndexingPolicy, IpAddressOrRange, Location, + ManagedServiceIdentity, MongoDBCollectionCreateUpdateParameters, MongoDBCollectionGetPropertiesOptions, MongoDBCollectionGetPropertiesResource, @@ -71,12 +79,17 @@ export { NotebookWorkspace, NotebookWorkspaceCreateUpdateParameters, OptionsResource, + PeriodicModeBackupPolicy, + PeriodicModeProperties, PrivateEndpointConnection, PrivateEndpointProperty, PrivateLinkResource, PrivateLinkServiceConnectionStateProperty, ProxyResource, Resource, + RestorableDatabaseAccountGetResult, + RestoreParameters, + RestoreReqeustDatabaseAccountCreateUpdateProperties, SpatialSpec, SqlContainerCreateUpdateParameters, SqlContainerGetPropertiesOptions, @@ -100,6 +113,7 @@ export { SqlUserDefinedFunctionGetPropertiesResource, SqlUserDefinedFunctionGetResults, SqlUserDefinedFunctionResource, + SystemData, TableCreateUpdateParameters, TableGetPropertiesOptions, TableGetPropertiesResource, diff --git a/sdk/cosmosdb/arm-cosmosdb/src/operations/databaseAccounts.ts b/sdk/cosmosdb/arm-cosmosdb/src/operations/databaseAccounts.ts index 67516cd31809..9a59a1044f14 100644 --- a/sdk/cosmosdb/arm-cosmosdb/src/operations/databaseAccounts.ts +++ b/sdk/cosmosdb/arm-cosmosdb/src/operations/databaseAccounts.ts @@ -631,7 +631,6 @@ const getOperationSpec: msRest.OperationSpec = { 200: { bodyMapper: Mappers.DatabaseAccountGetResults }, - 404: {}, default: { bodyMapper: Mappers.CloudError } diff --git a/sdk/cosmosdb/arm-cosmosdb/src/operations/index.ts b/sdk/cosmosdb/arm-cosmosdb/src/operations/index.ts index d5983c59eca5..e64020460889 100644 --- a/sdk/cosmosdb/arm-cosmosdb/src/operations/index.ts +++ b/sdk/cosmosdb/arm-cosmosdb/src/operations/index.ts @@ -26,6 +26,7 @@ export * from "./mongoDBResources"; export * from "./tableResources"; export * from "./cassandraResources"; export * from "./gremlinResources"; +export * from "./restorableDatabaseAccounts"; export * from "./notebookWorkspaces"; export * from "./privateLinkResources"; export * from "./privateEndpointConnections"; diff --git a/sdk/cosmosdb/arm-cosmosdb/src/operations/restorableDatabaseAccounts.ts b/sdk/cosmosdb/arm-cosmosdb/src/operations/restorableDatabaseAccounts.ts new file mode 100644 index 000000000000..9dd498620a36 --- /dev/null +++ b/sdk/cosmosdb/arm-cosmosdb/src/operations/restorableDatabaseAccounts.ts @@ -0,0 +1,187 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/restorableDatabaseAccountsMappers"; +import * as Parameters from "../models/parameters"; +import { CosmosDBManagementClientContext } from "../cosmosDBManagementClientContext"; + +/** Class representing a RestorableDatabaseAccounts. */ +export class RestorableDatabaseAccounts { + private readonly client: CosmosDBManagementClientContext; + + /** + * Create a RestorableDatabaseAccounts. + * @param {CosmosDBManagementClientContext} client Reference to the service client. + */ + constructor(client: CosmosDBManagementClientContext) { + this.client = client; + } + + /** + * Lists all the restorable Azure Cosmos DB database accounts available under the subscription and + * in a region. + * @param location Cosmos DB region, with spaces between words and each word capitalized. + * @param [options] The optional parameters + * @returns Promise + */ + listByLocation(location: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param location Cosmos DB region, with spaces between words and each word capitalized. + * @param callback The callback + */ + listByLocation(location: string, callback: msRest.ServiceCallback): void; + /** + * @param location Cosmos DB region, with spaces between words and each word capitalized. + * @param options The optional parameters + * @param callback The callback + */ + listByLocation(location: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByLocation(location: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + location, + options + }, + listByLocationOperationSpec, + callback) as Promise; + } + + /** + * Lists all the restorable Azure Cosmos DB database accounts available under the subscription. + * @param [options] The optional parameters + * @returns Promise + */ + list(options?: msRest.RequestOptionsBase): Promise; + /** + * @param callback The callback + */ + list(callback: msRest.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * Retrieves the properties of an existing Azure Cosmos DB restorable database account. + * @param location Cosmos DB region, with spaces between words and each word capitalized. + * @param instanceId The instanceId GUID of a restorable database account. + * @param [options] The optional parameters + * @returns Promise + */ + getByLocation(location: string, instanceId: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param location Cosmos DB region, with spaces between words and each word capitalized. + * @param instanceId The instanceId GUID of a restorable database account. + * @param callback The callback + */ + getByLocation(location: string, instanceId: string, callback: msRest.ServiceCallback): void; + /** + * @param location Cosmos DB region, with spaces between words and each word capitalized. + * @param instanceId The instanceId GUID of a restorable database account. + * @param options The optional parameters + * @param callback The callback + */ + getByLocation(location: string, instanceId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getByLocation(location: string, instanceId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + location, + instanceId, + options + }, + getByLocationOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listByLocationOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts", + urlParameters: [ + Parameters.subscriptionId, + Parameters.location + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.RestorableDatabaseAccountsListResult + }, + default: { + bodyMapper: Mappers.ErrorResponseUpdatedFormat + } + }, + serializer +}; + +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/restorableDatabaseAccounts", + urlParameters: [ + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.RestorableDatabaseAccountsListResult + }, + default: { + bodyMapper: Mappers.ErrorResponseUpdatedFormat + } + }, + serializer +}; + +const getByLocationOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.location, + Parameters.instanceId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.RestorableDatabaseAccountGetResult + }, + default: { + bodyMapper: Mappers.ErrorResponseUpdatedFormat + } + }, + serializer +};