{ "swagger": "2.0", "info": { "title": "Azure SQL Database replication links", "description": "Provides read, delete, and failover functionality for Azure SQL Database replication links.", "version": "2014-04-01" }, "host": "management.azure.com", "schemes": [ "https" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "paths": { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}": { "delete": { "tags": [ "DatabaseReplicationLinks" ], "operationId": "ReplicationLinks_Delete", "description": "Deletes a database replication link. Cannot be done during failover.", "x-ms-examples": { "Delete a replication link": { "$ref": "./examples/ReplicationLinkDelete.json" } }, "parameters": [ { "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" }, { "$ref": "#/parameters/ServerNameParameter" }, { "name": "databaseName", "in": "path", "required": true, "type": "string", "description": "The name of the database that has the replication link to be dropped." }, { "name": "linkId", "in": "path", "required": true, "type": "string", "description": "The ID of the replication link to be deleted." } ], "responses": { "200": { "description": "OK" }, "204": { "description": "NoContent" } } }, "get": { "tags": [ "DatabaseReplicationLinks" ], "operationId": "ReplicationLinks_Get", "description": "Gets a database replication link.", "x-ms-examples": { "Get a replication link": { "$ref": "./examples/ReplicationLinkGet.json" } }, "parameters": [ { "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" }, { "$ref": "#/parameters/ServerNameParameter" }, { "name": "databaseName", "in": "path", "required": true, "type": "string", "description": "The name of the database to get the link for." }, { "name": "linkId", "in": "path", "required": true, "type": "string", "description": "The replication link ID to be retrieved." } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/ReplicationLink" } } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}/failover": { "post": { "tags": [ "DatabaseReplicationLinks" ], "operationId": "ReplicationLinks_Failover", "description": "Sets which replica database is primary by failing over from the current primary replica database.", "x-ms-examples": { "Failover a replication link": { "$ref": "./examples/ReplicationLinkFailover.json" } }, "parameters": [ { "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" }, { "$ref": "#/parameters/ServerNameParameter" }, { "name": "databaseName", "in": "path", "required": true, "type": "string", "description": "The name of the database that has the replication link to be failed over." }, { "name": "linkId", "in": "path", "required": true, "type": "string", "description": "The ID of the replication link to be failed over." } ], "responses": { "204": { "description": "No Content" }, "202": { "description": "Accepted" } }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}/forceFailoverAllowDataLoss": { "post": { "tags": [ "DatabaseReplicationLinks" ], "operationId": "ReplicationLinks_FailoverAllowDataLoss", "description": "Sets which replica database is primary by failing over from the current primary replica database. This operation might result in data loss.", "x-ms-examples": { "Failover a replication link": { "$ref": "./examples/ReplicationLinkFailover.json" } }, "parameters": [ { "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" }, { "$ref": "#/parameters/ServerNameParameter" }, { "name": "databaseName", "in": "path", "required": true, "type": "string", "description": "The name of the database that has the replication link to be failed over." }, { "name": "linkId", "in": "path", "required": true, "type": "string", "description": "The ID of the replication link to be failed over." } ], "responses": { "204": { "description": "No Content" }, "202": { "description": "Accepted" } }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}/unlink": { "post": { "tags": [ "DatabaseReplicationLinks" ], "operationId": "ReplicationLinks_Unlink", "description": "Deletes a database replication link in forced or friendly way.", "x-ms-examples": { "Delete replication link": { "$ref": "./examples/ReplicationLinkUnlink.json" } }, "parameters": [ { "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" }, { "$ref": "#/parameters/ServerNameParameter" }, { "name": "databaseName", "in": "path", "required": true, "type": "string", "description": "The name of the database that has the replication link to be failed over." }, { "name": "linkId", "in": "path", "required": true, "type": "string", "description": "The ID of the replication link to be failed over." }, { "name": "parameters", "in": "body", "required": true, "schema": { "$ref": "#/definitions/UnlinkParameters" }, "description": "The required parameters for unlinking replication link." } ], "responses": { "204": { "description": "No Content" }, "202": { "description": "Accepted" } }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks": { "get": { "tags": [ "DatabaseReplicationLinks" ], "operationId": "ReplicationLinks_ListByDatabase", "description": "Lists a database's replication links.", "x-ms-examples": { "List Replication links": { "$ref": "./examples/ReplicationLinkList.json" } }, "parameters": [ { "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" }, { "$ref": "#/parameters/ServerNameParameter" }, { "name": "databaseName", "in": "path", "required": true, "type": "string", "description": "The name of the database to retrieve links for." } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/ReplicationLinkListResult" } } }, "x-ms-pageable": { "nextLinkName": null } } } }, "definitions": { "ReplicationLinkProperties": { "properties": { "isTerminationAllowed": { "readOnly": true, "type": "boolean", "description": "Legacy value indicating whether termination is allowed. Currently always returns true." }, "replicationMode": { "readOnly": true, "type": "string", "description": "Replication mode of this replication link." }, "partnerServer": { "readOnly": true, "type": "string", "description": "The name of the server hosting the partner database." }, "partnerDatabase": { "readOnly": true, "type": "string", "description": "The name of the partner database." }, "partnerLocation": { "readOnly": true, "type": "string", "description": "The Azure Region of the partner database." }, "role": { "readOnly": true, "type": "string", "description": "The role of the database in the replication link.", "enum": [ "Primary", "Secondary", "NonReadableSecondary", "Source", "Copy" ], "x-ms-enum": { "name": "ReplicationRole" } }, "partnerRole": { "readOnly": true, "type": "string", "description": "The role of the partner database in the replication link.", "enum": [ "Primary", "Secondary", "NonReadableSecondary", "Source", "Copy" ], "x-ms-enum": { "name": "ReplicationRole" } }, "startTime": { "readOnly": true, "type": "string", "format": "date-time", "description": "The start time for the replication link." }, "percentComplete": { "readOnly": true, "type": "integer", "format": "int32", "description": "The percentage of seeding complete for the replication link." }, "replicationState": { "readOnly": true, "type": "string", "description": "The replication state for the replication link.", "enum": [ "PENDING", "SEEDING", "CATCH_UP", "SUSPENDED" ], "x-ms-enum": { "name": "ReplicationState", "modelAsString": true } } }, "description": "Represents the properties of a database replication link." }, "ReplicationLink": { "properties": { "location": { "type": "string", "description": "Location of the server that contains this firewall rule.", "readOnly": true }, "type": { "type": "string", "description": "Type of resource this is.", "readOnly": true }, "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/ReplicationLinkProperties", "description": "The properties representing the resource." } }, "allOf": [ { "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a database replication link." }, "ReplicationLinkListResult": { "properties": { "value": { "type": "array", "items": { "$ref": "#/definitions/ReplicationLink" }, "description": "The list of database replication links housed in the database." } }, "description": "Represents the response to a List database replication link request." }, "UnlinkParameters": { "properties": { "forcedTermination": { "type": "boolean", "description": "Determines whether link will be terminated in a forced or a friendly way." } }, "description": "Represents the parameters for Unlink Replication Link request." } }, "parameters": { "ServerNameParameter": { "name": "serverName", "in": "path", "required": true, "type": "string", "description": "The name of the server.", "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" } } } }