{ "swagger": "2.0", "info": { "version": "2021-05-01-preview", "title": "SqlManagementClient", "description": "The Azure SQL Database management API provides a RESTful set of web APIs that interact with Azure SQL Database services to manage your databases. The API enables users to create, retrieve, update, and delete databases, servers, and other entities." }, "host": "management.azure.com", "schemes": [ "https" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "paths": { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/backupLongTermRetentionPolicies/{policyName}": { "get": { "tags": [ "ManagedInstanceLongTermRetentionPolicies" ], "description": "Gets a managed database's long term retention policy.", "operationId": "ManagedInstanceLongTermRetentionPolicies_Get", "parameters": [ { "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" }, { "$ref": "#/parameters/ManagedInstanceNameParameter" }, { "$ref": "#/parameters/DatabaseNameParameter" }, { "name": "policyName", "in": "path", "description": "The policy name. Should always be Default.", "required": true, "type": "string", "enum": [ "default" ], "x-ms-enum": { "name": "ManagedInstanceLongTermRetentionPolicyName", "modelAsString": true } }, { "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "Successfully got LTR policy for managed database.", "schema": { "$ref": "#/definitions/ManagedInstanceLongTermRetentionPolicy" } }, "default": { "description": "*** Error Responses: ***\n\n * 400 LongTermRetentionPolicyNotSupported - Long Term Retention is not supported on this database.\n\n * 400 LongTermRetentionPolicyInvalid - Long Term Retention policy is invalid.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." } }, "x-ms-examples": { "Get the long term retention policy for the managed database.": { "$ref": "./examples/ManagedInstanceLongTermRetentionPolicyGet.json" } } }, "put": { "tags": [ "ManagedInstanceLongTermRetentionPolicies" ], "description": "Sets a managed database's long term retention policy.", "operationId": "ManagedInstanceLongTermRetentionPolicies_CreateOrUpdate", "parameters": [ { "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" }, { "$ref": "#/parameters/ManagedInstanceNameParameter" }, { "$ref": "#/parameters/DatabaseNameParameter" }, { "name": "policyName", "in": "path", "description": "The policy name. Should always be Default.", "required": true, "type": "string", "enum": [ "default" ], "x-ms-enum": { "name": "ManagedInstanceLongTermRetentionPolicyName", "modelAsString": true } }, { "name": "parameters", "in": "body", "description": "The long term retention policy info.", "required": true, "schema": { "$ref": "#/definitions/ManagedInstanceLongTermRetentionPolicy" } }, { "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "Successfully set LTR policy for managed database.", "schema": { "$ref": "#/definitions/ManagedInstanceLongTermRetentionPolicy" } }, "default": { "description": "*** Error Responses: ***\n\n * 400 InvalidResourceRequestBody - The resource or resource properties in the request body is empty or invalid.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 LongTermRetentionMissingWeekOfYear - WeekOfYear is required to be set between 1 and 52 in order to set yearly retention.\n\n * 400 LongTermRetentionPolicyNotSupported - Long Term Retention is not supported on this database.\n\n * 400 LongTermRetentionPolicyInvalid - Long Term Retention policy is invalid.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." }, "202": { "description": "Accepted" } }, "x-ms-long-running-operation": true, "x-ms-examples": { "Create or update the LTR policy for the managed database.": { "$ref": "./examples/ManagedInstanceLongTermRetentionPolicyCreateOrUpdate.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/backupLongTermRetentionPolicies": { "get": { "tags": [ "ManagedInstanceLongTermRetentionPolicies" ], "description": "Gets a database's long term retention policy.", "operationId": "ManagedInstanceLongTermRetentionPolicies_ListByDatabase", "parameters": [ { "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" }, { "$ref": "#/parameters/ManagedInstanceNameParameter" }, { "$ref": "#/parameters/DatabaseNameParameter" }, { "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "Successfully got LTR policy for managed database.", "schema": { "$ref": "#/definitions/ManagedInstanceLongTermRetentionPolicyListResult" } }, "default": { "description": "*** Error Responses: ***\n\n * 400 LongTermRetentionPolicyNotSupported - Long Term Retention is not supported on this database.\n\n * 400 LongTermRetentionPolicyInvalid - Long Term Retention policy is invalid.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, "x-ms-examples": { "Get the long term retention policies for the managed database.": { "$ref": "./examples/ManagedInstanceLongTermRetentionPolicyListByDatabase.json" } } } } }, "definitions": { "BaseLongTermRetentionPolicyProperties": { "description": "Properties of a long term retention policy", "type": "object", "properties": { "weeklyRetention": { "description": "The weekly retention policy for an LTR backup in an ISO 8601 format.", "type": "string" }, "monthlyRetention": { "description": "The monthly retention policy for an LTR backup in an ISO 8601 format.", "type": "string" }, "yearlyRetention": { "description": "The yearly retention policy for an LTR backup in an ISO 8601 format.", "type": "string" }, "weekOfYear": { "format": "int32", "description": "The week of year to take the yearly backup in an ISO 8601 format.", "type": "integer" } } }, "ManagedInstanceLongTermRetentionPolicy": { "description": "A long term retention policy.", "type": "object", "allOf": [ { "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" } ], "properties": { "properties": { "$ref": "#/definitions/BaseLongTermRetentionPolicyProperties", "description": "Resource properties.", "x-ms-client-flatten": true } } }, "ManagedInstanceLongTermRetentionPolicyListResult": { "description": "A list of long term retention policies.", "type": "object", "properties": { "value": { "description": "Array of results.", "type": "array", "items": { "$ref": "#/definitions/ManagedInstanceLongTermRetentionPolicy" }, "readOnly": true }, "nextLink": { "description": "Link to retrieve next page of results.", "type": "string", "readOnly": true } } } }, "parameters": { "ManagedInstanceNameParameter": { "name": "managedInstanceName", "in": "path", "description": "The name of the managed instance.", "required": true, "type": "string", "x-ms-parameter-location": "method" }, "DatabaseNameParameter": { "name": "databaseName", "in": "path", "description": "The name of the database.", "required": true, "type": "string", "x-ms-parameter-location": "method" } }, "securityDefinitions": { "azure_auth": { "type": "oauth2", "description": "Azure Active Directory OAuth2 Flow", "flow": "implicit", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "scopes": { "user_impersonation": "impersonate your user account" } } } }