forked from Azure/azure-rest-api-specs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Flexible MySQL: Adding apis for BackupAndExport/LTR Backup (Azure#20675)
* Flexible MySQL: Adding apis for BackupAndExport/LTR Backup * Fixing model validation errors * Fixing lint errors * Fixing swagger api version * Prettier fix * Fixing lint check * Adding existing apis in readme for new tag * Changing prebackup response parameter and adding base class for storage details. * changes after PR comments 1. change name from "PreBackup" to "ValidateBackup" 2. add tag in backupFormat "INTERNAL - DO NOT USE" 3. change the order of securitydefinitions , title, paths * updated description for "CollatedFormat" do not use. just added description for "CollatedFormat" to not use. Co-authored-by: sumitkumams <107923889+sumitkumams@users.noreply.github.com>
- Loading branch information
1 parent
0f161c7
commit 64adedb
Showing
4 changed files
with
412 additions
and
0 deletions.
There are no files selected for viewing
338 changes: 338 additions & 0 deletions
338
...ource-manager/Microsoft.DBforMySQL/preview/2022-08-01-privatepreview/BackupAndExport.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,338 @@ | ||
{ | ||
"swagger": "2.0", | ||
"consumes": [ | ||
"application/json" | ||
], | ||
"host": "management.azure.com", | ||
"info": { | ||
"title": "MySQLManagementClient", | ||
"description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure MySQL resources including servers, databases, firewall rules and configurations.", | ||
"version": "2022-08-01-privatepreview" | ||
}, | ||
"securityDefinitions": { | ||
"azure_auth": { | ||
"type": "oauth2", | ||
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", | ||
"flow": "implicit", | ||
"description": "Azure Active Directory OAuth2 Flow", | ||
"scopes": { | ||
"user_impersonation": "impersonate your user account" | ||
} | ||
} | ||
}, | ||
"parameters": { | ||
"ServerNameParameter": { | ||
"name": "serverName", | ||
"in": "path", | ||
"required": true, | ||
"type": "string", | ||
"description": "The name of the server.", | ||
"x-ms-parameter-location": "method" | ||
} | ||
}, | ||
"paths": { | ||
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/backupAndExport": { | ||
"post": { | ||
"tags": [ | ||
"Servers" | ||
], | ||
"operationId": "Servers_BackupAndExport", | ||
"x-ms-examples": { | ||
"Create and Export Backup": { | ||
"$ref": "./examples/BackupAndExport.json" | ||
} | ||
}, | ||
"description": "Exports the backup of the given server by creating a backup if not existing.", | ||
"parameters": [ | ||
{ | ||
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" | ||
}, | ||
{ | ||
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" | ||
}, | ||
{ | ||
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" | ||
}, | ||
{ | ||
"$ref": "#/parameters/ServerNameParameter" | ||
}, | ||
{ | ||
"name": "parameters", | ||
"in": "body", | ||
"required": true, | ||
"schema": { | ||
"$ref": "#/definitions/BackupAndExportRequest" | ||
}, | ||
"description": "The required parameters for creating and exporting backup of the given server." | ||
} | ||
], | ||
"responses": { | ||
"200": { | ||
"description": "OK", | ||
"schema": { | ||
"$ref": "#/definitions/BackupAndExportResponse" | ||
} | ||
}, | ||
"202": { | ||
"description": "Accepted" | ||
}, | ||
"default": { | ||
"description": "Error response describing why the operation failed.", | ||
"schema": { | ||
"$ref": "#/definitions/CloudError" | ||
} | ||
} | ||
}, | ||
"x-ms-long-running-operation": true, | ||
"x-ms-long-running-operation-options": { | ||
"final-state-via": "azure-async-operation" | ||
} | ||
} | ||
}, | ||
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/validateBackup": { | ||
"post": { | ||
"tags": [ | ||
"Servers" | ||
], | ||
"operationId": "Servers_ValidateBackup", | ||
"x-ms-examples": { | ||
"Validate Backup": { | ||
"$ref": "./examples/ValidateBackup.json" | ||
} | ||
}, | ||
"description": "Validates if backup can be performed for given server.", | ||
"parameters": [ | ||
{ | ||
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" | ||
}, | ||
{ | ||
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" | ||
}, | ||
{ | ||
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" | ||
}, | ||
{ | ||
"$ref": "#/parameters/ServerNameParameter" | ||
}, | ||
{ | ||
"name": "parameters", | ||
"in": "body", | ||
"required": true, | ||
"schema": { | ||
"$ref": "#/definitions/ValidateBackupRequest" | ||
}, | ||
"description": "The required parameters for validating if backup can be performed for given server." | ||
} | ||
], | ||
"responses": { | ||
"200": { | ||
"description": "OK", | ||
"schema": { | ||
"$ref": "#/definitions/ValidateBackupResponse" | ||
} | ||
}, | ||
"default": { | ||
"description": "Error response describing why the operation failed.", | ||
"schema": { | ||
"$ref": "#/definitions/CloudError" | ||
} | ||
} | ||
} | ||
} | ||
} | ||
}, | ||
"definitions": { | ||
"BackupRequestBase": { | ||
"description": "BackupRequestBase is the base for all backup request.", | ||
"required": [ | ||
"backupSettings" | ||
], | ||
"type": "object", | ||
"properties": { | ||
"backupSettings": { | ||
"$ref": "#/definitions/BackupSettings", | ||
"description": "Backup Settings" | ||
} | ||
} | ||
}, | ||
"BackupAndExportRequest": { | ||
"description": "BackupAndExport API Request", | ||
"type": "object", | ||
"allOf": [ | ||
{ | ||
"$ref": "#/definitions/BackupRequestBase" | ||
} | ||
], | ||
"required": [ | ||
"backupSettings", | ||
"targetDetails" | ||
], | ||
"properties": { | ||
"targetDetails": { | ||
"$ref": "#/definitions/BackupStoreDetails", | ||
"description": "Backup Target Store Details" | ||
} | ||
} | ||
}, | ||
"ValidateBackupRequest": { | ||
"description": "ValidateBackup API Request.", | ||
"type": "object", | ||
"allOf": [ | ||
{ | ||
"$ref": "#/definitions/BackupRequestBase" | ||
} | ||
] | ||
}, | ||
"BackupStoreDetails": { | ||
"description": "Details about the target where the backup content will be stored.", | ||
"required": [ | ||
"objectType" | ||
], | ||
"type": "object", | ||
"properties": { | ||
"objectType": { | ||
"description": "Type of the specific object - used for deserializing", | ||
"type": "string", | ||
"readOnly": false | ||
} | ||
}, | ||
"discriminator": "objectType" | ||
}, | ||
"FullBackupStoreDetails": { | ||
"description": "FullBackupStoreDetails is used for scenarios where backup data is streamed/copied over to a storage destination.", | ||
"type": "object", | ||
"required": [ | ||
"sasUriList" | ||
], | ||
"allOf": [ | ||
{ | ||
"$ref": "#/definitions/BackupStoreDetails" | ||
} | ||
], | ||
"properties": { | ||
"sasUriList": { | ||
"description": "SASUriList of storage containers where backup data is to be streamed/copied.", | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
} | ||
} | ||
} | ||
}, | ||
"BackupSettings": { | ||
"description": "Backup Settings", | ||
"type": "object", | ||
"required": [ | ||
"backupName" | ||
], | ||
"properties": { | ||
"backupName": { | ||
"type": "string", | ||
"description": "Backup Name for the current backup" | ||
}, | ||
"backupFormat": { | ||
"description": "Backup Format for the current backup. (CollatedFormat is INTERNAL – DO NOT USE)", | ||
"enum": [ | ||
"None", | ||
"CollatedFormat" | ||
], | ||
"type": "string", | ||
"x-ms-enum": { | ||
"name": "BackupFormat", | ||
"modelAsString": true | ||
} | ||
} | ||
} | ||
}, | ||
"ValidateBackupResponseProperties": { | ||
"description": "ValidateBackup Response Properties", | ||
"type": "object", | ||
"required": [ | ||
"numberOfContainers" | ||
], | ||
"properties": { | ||
"numberOfContainers": { | ||
"format": "int32", | ||
"description": "Estimated no of storage containers required for resource data to be backed up.", | ||
"type": "integer" | ||
} | ||
} | ||
}, | ||
"BackupAndExportResponseProperties": { | ||
"description": "BackupAndExport Response Properties", | ||
"type": "object", | ||
"required": [ | ||
"datasourceSizeInBytes", | ||
"dataTransferredInBytes", | ||
"backupMetadata" | ||
], | ||
"properties": { | ||
"datasourceSizeInBytes": { | ||
"format": "int64", | ||
"description": "Size of datasource in bytes", | ||
"type": "integer" | ||
}, | ||
"dataTransferredInBytes": { | ||
"format": "int64", | ||
"description": "Data transferred in bytes", | ||
"type": "integer" | ||
}, | ||
"backupMetadata": { | ||
"description": "Metadata related to backup to be stored for restoring resource in key-value pairs.", | ||
"type": "string" | ||
} | ||
} | ||
}, | ||
"BackupAndExportResponse": { | ||
"type": "object", | ||
"properties": { | ||
"properties": { | ||
"$ref": "#/definitions/BackupAndExportResponseProperties", | ||
"x-ms-client-flatten": true, | ||
"description": "The response properties of an backup and export operation." | ||
} | ||
}, | ||
"allOf": [ | ||
{ | ||
"$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" | ||
} | ||
], | ||
"description": "Represents BackupAndExport API Response" | ||
}, | ||
"ValidateBackupResponse": { | ||
"type": "object", | ||
"properties": { | ||
"properties": { | ||
"$ref": "#/definitions/ValidateBackupResponseProperties", | ||
"x-ms-client-flatten": true, | ||
"description": "The response properties of an pre backup operation." | ||
} | ||
}, | ||
"description": "Represents ValidateBackup API Response" | ||
}, | ||
"CloudError": { | ||
"type": "object", | ||
"x-ms-external": true, | ||
"properties": { | ||
"error": { | ||
"$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse", | ||
"description": "The resource management error response." | ||
} | ||
}, | ||
"description": "An error response from the Batch service." | ||
} | ||
}, | ||
"produces": [ | ||
"application/json" | ||
], | ||
"schemes": [ | ||
"https" | ||
], | ||
"security": [ | ||
{ | ||
"azure_auth": [ | ||
"user_impersonation" | ||
] | ||
} | ||
] | ||
} |
35 changes: 35 additions & 0 deletions
35
...ager/Microsoft.DBforMySQL/preview/2022-08-01-privatepreview/examples/BackupAndExport.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
{ | ||
"parameters": { | ||
"api-version": "2022-08-01-privatepreview", | ||
"serverName": "mysqltestserver", | ||
"resourceGroupName": "TestGroup", | ||
"subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", | ||
"parameters": { | ||
"targetDetails": { | ||
"objectType": "FullBackupStoreDetails", | ||
"sasUriList": [ | ||
"sasuri1", | ||
"sasuri2" | ||
] | ||
}, | ||
"backupSettings": { | ||
"backupName": "customer-backup-name" | ||
} | ||
} | ||
}, | ||
"responses": { | ||
"200": { | ||
"body": { | ||
"id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver/backups/customer-backup-name", | ||
"name": "customer-backup-name", | ||
"type": "Microsoft.DBforMySQL/flexibleServers/backups", | ||
"properties": { | ||
"datasourceSizeInBytes": 1024, | ||
"dataTransferredInBytes": 1024, | ||
"backupMetadata": "{\"key1\":\"value1\",\"key2\":\"value2\"}" | ||
} | ||
} | ||
}, | ||
"202": {} | ||
} | ||
} |
22 changes: 22 additions & 0 deletions
22
...nager/Microsoft.DBforMySQL/preview/2022-08-01-privatepreview/examples/ValidateBackup.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
{ | ||
"parameters": { | ||
"api-version": "2022-08-01-privatepreview", | ||
"serverName": "mysqltestserver", | ||
"resourceGroupName": "TestGroup", | ||
"subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", | ||
"parameters": { | ||
"backupSettings": { | ||
"backupName": "customer-backup-name" | ||
} | ||
} | ||
}, | ||
"responses": { | ||
"200": { | ||
"body": { | ||
"properties": { | ||
"numberOfContainers": 1 | ||
} | ||
} | ||
} | ||
} | ||
} |
Oops, something went wrong.