swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  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.
  title: SqlManagementClient
  version: 2015-05-01-preview
  x-apisguru-categories:
    - cloud
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/failoverGroups.json
      version: "2.0"
  x-providerName: azure.com
  x-serviceName: sql-failoverGroups
  x-tags:
    - Azure
    - Microsoft
consumes:
  - application/json
produces:
  - application/json
securityDefinitions:
  azure_auth:
    authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
    description: Azure Active Directory OAuth2 Flow
    flow: implicit
    scopes:
      user_impersonation: impersonate your user account
    type: oauth2
parameters:
  ApiVersionParameter:
    description: The API version to use for the request.
    in: query
    name: api-version
    required: true
    type: string
    x-ms-parameter-location: client
  DatabaseNameParameter:
    description: The name of the database.
    in: path
    name: databaseName
    required: true
    type: string
    x-ms-parameter-location: method
  ResourceGroupParameter:
    description: The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
    in: path
    name: resourceGroupName
    required: true
    type: string
    x-ms-parameter-location: method
  ServerNameParameter:
    description: The name of the server.
    in: path
    name: serverName
    required: true
    type: string
    x-ms-parameter-location: method
  SubscriptionIdParameter:
    description: The subscription ID that identifies an Azure subscription.
    in: path
    name: subscriptionId
    required: true
    type: string
    x-ms-parameter-location: client
paths:
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups":
    get:
      description: Lists the failover groups in a server.
      operationId: FailoverGroups_ListByServer
      parameters:
        - $ref: "#/parameters/ResourceGroupParameter"
        - description: The name of the server containing the failover group.
          in: path
          name: serverName
          required: true
          type: string
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: Successfully retrieved the failover groups.
          schema:
            $ref: "#/definitions/FailoverGroupListResult"
        default:
          description: |-
            *** Error Responses: ***

             * 400 FailoverGroupCreateOrUpdateRequestInvalidDatabases - The provided databases in the request are not valid database resource IDs.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidPartner - The given partners field in create or update failover group request body is empty or invalid.

             * 400 FailoverGroupCreateOrUpdateRequestDuplicatePartner - One or more of the provided partner servers are already part of the failover group. Please make sure the primary server and all of the given partner servers are unique.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidDatabaseServer - One or more of the provided databases do not exist on the primary server of the failover group. Please make sure that all the databases exist on the primary server.

             * 400 FailoverGroupCreateOrUpdateRequestUnsupportedPartnerCount - Only one partner server is supported.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpoint - The readWriteEndpoint field is required for create or update requests.

             * 400 FailoverGroupCreateOrUpdateRequestInvalid - The create or update failover group request body is empty or invalid.

             * 400 FailoverGroupUpdateOrDeleteRequestOnSecondary - Modifications to the failover group are not allowed on a secondary server. Execute the request on the primary server.

             * 400 FailoverGroupCreateOrUpdateRequestNegativeGracePeriodValues - Grace period value for the read-write endpoint must be non-negative.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFields - The property failoverWithDataLossGracePeriodMinutes must be provided when failover policy Automatic is selected for the read-write endpoint.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteFailoverPolicy - The failoverPolicy field for the read-write endpoint is required for create or update requests.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFieldsForManualPolicy - Grace period value should not be provided when failover policy Manual is selected for the read-write endpoint.

             * 400 FailoverGroupCreateOrUpdateRequestReadOnlyPropertyModified - The create or update failover group request body should not modify the read-only property '{0}'.

             * 400 FailoverGroupFailoverRequestOnPrimary - The failover request should be initiated on the secondary server of failover group.

             * 400 FailoverGroupPartnerServerFromDifferentSubscription - Primary server and the partner servers of failover group are from different subscriptions. Cross subscription for servers of failover group is not allowed.

             * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.

             * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.

             * 400 InvalidFailoverGroupRegion - Servers specified in a Failover Group need to reside in different regions to provide isolation.

             * 400 ServerNotFound - The requested server was not found.

             * 400 FailoverGroupDoesNotExist - Failover group does not exist on a server.

             * 400 FailoverGroupNotSecondary - Failover cannot be initiated from the primary server in a Failover Group.

             * 400 PlannedFailoverTimedOutForDatabase - User invoked planned failover, it timed out, and a specific database appears to be to blame.

             * 400 PlannedFailoverTimedOut - User invoked planned failover, and it timed out while trying to contact the partner management service.

             * 400 DatabaseInFailoverGroupNotPrimary - GeoDR link for the database already exists, but its role is not 'Primary' or it is not continuous copy link.

             * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.

             * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.

             * 400 InvalidSku - The user specified an invalid sku.

             * 400 TokenTooLong - The provided token is too long.

             * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.

             * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.

             * 400 InvalidServerName - Invalid server name specified.

             * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.

             * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.

             * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.

             * 400 ResourcePoolNotFound - Specified elastic pool does not exist in the specified logical server.

             * 400 GeoReplicationDatabaseNotSecondary - The operation expects the database to be a replication target.

             * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.

             * 404 ResourceNotFound - The requested resource was not found.

             * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.

             * 404 SourceDatabaseNotFound - The source database does not exist.

             * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.

             * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.

             * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.

             * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.

             * 409 FailoverGroupAlreadyExists - Failover group already exists on a given server.

             * 409 FailoverGroupBusy - Failover Group is busy with another operation.

             * 409 DatabaseBelongsToOtherFailoverGroup - Database belongs to other Failover Group and cannot be consider a part of this one.

             * 409 DatabaseBeingAddedToFailoverGroup - The database is currently being added to Failover Group, customer needs to wait for this operation to finish to issue remove.

             * 409 DatabaseBeingRemovedFromFailoverGroup - The database is currently being removed from failover group, customer needs to wait for this operation to finish to issue add.

             * 409 FailoverGroupDnsRecordInUse - A duplicate DNS record exists for the requested endpoint.

             * 409 InvalidFailoverGroupName - Invalid Failover Group name was supplied.

             * 409 SubscriptionDisabled - Subscription is disabled.

             * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.

             * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.

             * 409 InvalidDatabaseStateForOperation - The operation is not allowed on the database in its current replication state.

             * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.

             * 409 GeoReplicationCannotBecomePrimaryDuringUndo - User attempted to failover or force-terminate a geo-link while the secondary is in a state where it may not be physically consistent and so cannot enter the primary role.

             * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.

             * 429 ConflictingServerOperation - An operation is currently in progress for the server.

             * 429 TooManyRequests - Requests beyond max requests that can be processed by available resources.

             * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.

             * 504 RequestTimeout - Service request exceeded the allowed timeout.
      tags:
        - FailoverGroups
      x-ms-examples:
        List failover group:
          parameters:
            api-version: 2015-05-01-preview
            resourceGroupName: Default
            serverName: failover-group-primary-server
            subscriptionId: 00000000-1111-2222-3333-444444444444
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/failoverGroups/failover-group-test
                    location: Japan East
                    name: failover-group-test
                    properties:
                      databases: []
                      partnerServers:
                        - id: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server
                          location: Japan West
                          replicationRole: Secondary
                      readOnlyEndpoint:
                        failoverPolicy: Disabled
                      readWriteEndpoint:
                        failoverPolicy: Automatic
                        failoverWithDataLossGracePeriodMinutes: 480
                      replicationRole: Primary
                      replicationState: CATCH_UP
                    type: Microsoft.Sql/servers/failoverGroups
                  - id: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/failoverGroups/failover-group-test-2
                    location: Japan East
                    name: failover-group-test-2
                    properties:
                      databases: []
                      partnerServers:
                        - id: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server
                          location: Japan West
                          replicationRole: Secondary
                      readOnlyEndpoint:
                        failoverPolicy: Disabled
                      readWriteEndpoint:
                        failoverPolicy: Automatic
                        failoverWithDataLossGracePeriodMinutes: 480
                      replicationRole: Primary
                      replicationState: CATCH_UP
                    type: Microsoft.Sql/servers/failoverGroups
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}":
    delete:
      description: Deletes a failover group.
      operationId: FailoverGroups_Delete
      parameters:
        - $ref: "#/parameters/ResourceGroupParameter"
        - description: The name of the server containing the failover group.
          in: path
          name: serverName
          required: true
          type: string
        - description: The name of the failover group.
          in: path
          name: failoverGroupName
          required: true
          type: string
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: Successfully deleted the failover group.
        "202":
          description: Accepted
        "204":
          description: The specified failover group does not exist.
        default:
          description: |-
            *** Error Responses: ***

             * 400 FailoverGroupCreateOrUpdateRequestInvalidDatabases - The provided databases in the request are not valid database resource IDs.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidPartner - The given partners field in create or update failover group request body is empty or invalid.

             * 400 FailoverGroupCreateOrUpdateRequestDuplicatePartner - One or more of the provided partner servers are already part of the failover group. Please make sure the primary server and all of the given partner servers are unique.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidDatabaseServer - One or more of the provided databases do not exist on the primary server of the failover group. Please make sure that all the databases exist on the primary server.

             * 400 FailoverGroupCreateOrUpdateRequestUnsupportedPartnerCount - Only one partner server is supported.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpoint - The readWriteEndpoint field is required for create or update requests.

             * 400 FailoverGroupCreateOrUpdateRequestInvalid - The create or update failover group request body is empty or invalid.

             * 400 FailoverGroupUpdateOrDeleteRequestOnSecondary - Modifications to the failover group are not allowed on a secondary server. Execute the request on the primary server.

             * 400 FailoverGroupCreateOrUpdateRequestNegativeGracePeriodValues - Grace period value for the read-write endpoint must be non-negative.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFields - The property failoverWithDataLossGracePeriodMinutes must be provided when failover policy Automatic is selected for the read-write endpoint.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteFailoverPolicy - The failoverPolicy field for the read-write endpoint is required for create or update requests.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFieldsForManualPolicy - Grace period value should not be provided when failover policy Manual is selected for the read-write endpoint.

             * 400 FailoverGroupCreateOrUpdateRequestReadOnlyPropertyModified - The create or update failover group request body should not modify the read-only property '{0}'.

             * 400 FailoverGroupFailoverRequestOnPrimary - The failover request should be initiated on the secondary server of failover group.

             * 400 FailoverGroupPartnerServerFromDifferentSubscription - Primary server and the partner servers of failover group are from different subscriptions. Cross subscription for servers of failover group is not allowed.

             * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.

             * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.

             * 400 InvalidFailoverGroupRegion - Servers specified in a Failover Group need to reside in different regions to provide isolation.

             * 400 ServerNotFound - The requested server was not found.

             * 400 FailoverGroupDoesNotExist - Failover group does not exist on a server.

             * 400 FailoverGroupNotSecondary - Failover cannot be initiated from the primary server in a Failover Group.

             * 400 PlannedFailoverTimedOutForDatabase - User invoked planned failover, it timed out, and a specific database appears to be to blame.

             * 400 PlannedFailoverTimedOut - User invoked planned failover, and it timed out while trying to contact the partner management service.

             * 400 DatabaseInFailoverGroupNotPrimary - GeoDR link for the database already exists, but its role is not 'Primary' or it is not continuous copy link.

             * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.

             * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.

             * 400 InvalidSku - The user specified an invalid sku.

             * 400 TokenTooLong - The provided token is too long.

             * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.

             * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.

             * 400 InvalidServerName - Invalid server name specified.

             * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.

             * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.

             * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.

             * 400 ResourcePoolNotFound - Specified elastic pool does not exist in the specified logical server.

             * 400 GeoReplicationDatabaseNotSecondary - The operation expects the database to be a replication target.

             * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.

             * 404 OperationIdNotFound - The operation with Id does not exist.

             * 404 ResourceNotFound - The requested resource was not found.

             * 404 OperationIdNotFound - The operation with Id does not exist.

             * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.

             * 404 SourceDatabaseNotFound - The source database does not exist.

             * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.

             * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.

             * 409 OperationCancelled - The operation has been cancelled by user.

             * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.

             * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.

             * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.

             * 409 FailoverGroupAlreadyExists - Failover group already exists on a given server.

             * 409 FailoverGroupBusy - Failover Group is busy with another operation.

             * 409 DatabaseBelongsToOtherFailoverGroup - Database belongs to other Failover Group and cannot be consider a part of this one.

             * 409 DatabaseBeingAddedToFailoverGroup - The database is currently being added to Failover Group, customer needs to wait for this operation to finish to issue remove.

             * 409 DatabaseBeingRemovedFromFailoverGroup - The database is currently being removed from failover group, customer needs to wait for this operation to finish to issue add.

             * 409 FailoverGroupDnsRecordInUse - A duplicate DNS record exists for the requested endpoint.

             * 409 InvalidFailoverGroupName - Invalid Failover Group name was supplied.

             * 409 SubscriptionDisabled - Subscription is disabled.

             * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.

             * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.

             * 409 InvalidDatabaseStateForOperation - The operation is not allowed on the database in its current replication state.

             * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.

             * 409 GeoReplicationCannotBecomePrimaryDuringUndo - User attempted to failover or force-terminate a geo-link while the secondary is in a state where it may not be physically consistent and so cannot enter the primary role.

             * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.

             * 429 ConflictingServerOperation - An operation is currently in progress for the server.

             * 429 TooManyRequests - Requests beyond max requests that can be processed by available resources.

             * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.

             * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.

             * 504 RequestTimeout - Service request exceeded the allowed timeout.
      tags:
        - FailoverGroups
      x-ms-examples:
        Delete failover group:
          parameters:
            api-version: 2015-05-01-preview
            failoverGroupName: failover-group-test-1
            resourceGroupName: Default
            serverName: failover-group-primary-server
            subscriptionId: 00000000-1111-2222-3333-444444444444
          responses:
            "200": {}
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: Gets a failover group.
      operationId: FailoverGroups_Get
      parameters:
        - $ref: "#/parameters/ResourceGroupParameter"
        - description: The name of the server containing the failover group.
          in: path
          name: serverName
          required: true
          type: string
        - description: The name of the failover group.
          in: path
          name: failoverGroupName
          required: true
          type: string
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: Successfully retrieved the specified failover group.
          schema:
            $ref: "#/definitions/FailoverGroup"
        default:
          description: |-
            *** Error Responses: ***

             * 400 FailoverGroupCreateOrUpdateRequestInvalidDatabases - The provided databases in the request are not valid database resource IDs.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidPartner - The given partners field in create or update failover group request body is empty or invalid.

             * 400 FailoverGroupCreateOrUpdateRequestDuplicatePartner - One or more of the provided partner servers are already part of the failover group. Please make sure the primary server and all of the given partner servers are unique.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidDatabaseServer - One or more of the provided databases do not exist on the primary server of the failover group. Please make sure that all the databases exist on the primary server.

             * 400 FailoverGroupCreateOrUpdateRequestUnsupportedPartnerCount - Only one partner server is supported.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpoint - The readWriteEndpoint field is required for create or update requests.

             * 400 FailoverGroupCreateOrUpdateRequestInvalid - The create or update failover group request body is empty or invalid.

             * 400 FailoverGroupUpdateOrDeleteRequestOnSecondary - Modifications to the failover group are not allowed on a secondary server. Execute the request on the primary server.

             * 400 FailoverGroupCreateOrUpdateRequestNegativeGracePeriodValues - Grace period value for the read-write endpoint must be non-negative.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFields - The property failoverWithDataLossGracePeriodMinutes must be provided when failover policy Automatic is selected for the read-write endpoint.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteFailoverPolicy - The failoverPolicy field for the read-write endpoint is required for create or update requests.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFieldsForManualPolicy - Grace period value should not be provided when failover policy Manual is selected for the read-write endpoint.

             * 400 FailoverGroupCreateOrUpdateRequestReadOnlyPropertyModified - The create or update failover group request body should not modify the read-only property '{0}'.

             * 400 FailoverGroupFailoverRequestOnPrimary - The failover request should be initiated on the secondary server of failover group.

             * 400 FailoverGroupPartnerServerFromDifferentSubscription - Primary server and the partner servers of failover group are from different subscriptions. Cross subscription for servers of failover group is not allowed.

             * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.

             * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.

             * 400 InvalidFailoverGroupRegion - Servers specified in a Failover Group need to reside in different regions to provide isolation.

             * 400 ServerNotFound - The requested server was not found.

             * 400 FailoverGroupDoesNotExist - Failover group does not exist on a server.

             * 400 FailoverGroupNotSecondary - Failover cannot be initiated from the primary server in a Failover Group.

             * 400 PlannedFailoverTimedOutForDatabase - User invoked planned failover, it timed out, and a specific database appears to be to blame.

             * 400 PlannedFailoverTimedOut - User invoked planned failover, and it timed out while trying to contact the partner management service.

             * 400 DatabaseInFailoverGroupNotPrimary - GeoDR link for the database already exists, but its role is not 'Primary' or it is not continuous copy link.

             * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.

             * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.

             * 400 InvalidSku - The user specified an invalid sku.

             * 400 TokenTooLong - The provided token is too long.

             * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.

             * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.

             * 400 InvalidServerName - Invalid server name specified.

             * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.

             * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.

             * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.

             * 400 ResourcePoolNotFound - Specified elastic pool does not exist in the specified logical server.

             * 400 GeoReplicationDatabaseNotSecondary - The operation expects the database to be a replication target.

             * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.

             * 404 ResourceNotFound - The requested resource was not found.

             * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.

             * 404 SourceDatabaseNotFound - The source database does not exist.

             * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.

             * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.

             * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.

             * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.

             * 409 FailoverGroupAlreadyExists - Failover group already exists on a given server.

             * 409 FailoverGroupBusy - Failover Group is busy with another operation.

             * 409 DatabaseBelongsToOtherFailoverGroup - Database belongs to other Failover Group and cannot be consider a part of this one.

             * 409 DatabaseBeingAddedToFailoverGroup - The database is currently being added to Failover Group, customer needs to wait for this operation to finish to issue remove.

             * 409 DatabaseBeingRemovedFromFailoverGroup - The database is currently being removed from failover group, customer needs to wait for this operation to finish to issue add.

             * 409 FailoverGroupDnsRecordInUse - A duplicate DNS record exists for the requested endpoint.

             * 409 InvalidFailoverGroupName - Invalid Failover Group name was supplied.

             * 409 SubscriptionDisabled - Subscription is disabled.

             * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.

             * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.

             * 409 InvalidDatabaseStateForOperation - The operation is not allowed on the database in its current replication state.

             * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.

             * 409 GeoReplicationCannotBecomePrimaryDuringUndo - User attempted to failover or force-terminate a geo-link while the secondary is in a state where it may not be physically consistent and so cannot enter the primary role.

             * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.

             * 429 ConflictingServerOperation - An operation is currently in progress for the server.

             * 429 TooManyRequests - Requests beyond max requests that can be processed by available resources.

             * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.

             * 504 RequestTimeout - Service request exceeded the allowed timeout.
      tags:
        - FailoverGroups
      x-ms-examples:
        Get failover group:
          parameters:
            api-version: 2015-05-01-preview
            failoverGroupName: failover-group-test
            resourceGroupName: Default
            serverName: failover-group-primary-server
            subscriptionId: 00000000-1111-2222-3333-444444444444
          responses:
            "200":
              body:
                id: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/failoverGroups/failover-group-test
                location: Japan East
                name: failover-group-test
                properties:
                  databases: []
                  partnerServers:
                    - id: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server
                      location: Japan West
                      replicationRole: Secondary
                  readOnlyEndpoint:
                    failoverPolicy: Disabled
                  readWriteEndpoint:
                    failoverPolicy: Automatic
                    failoverWithDataLossGracePeriodMinutes: 480
                  replicationRole: Primary
                  replicationState: CATCH_UP
                type: Microsoft.Sql/servers/failoverGroups
    patch:
      description: Updates a failover group.
      operationId: FailoverGroups_Update
      parameters:
        - $ref: "#/parameters/ResourceGroupParameter"
        - description: The name of the server containing the failover group.
          in: path
          name: serverName
          required: true
          type: string
        - description: The name of the failover group.
          in: path
          name: failoverGroupName
          required: true
          type: string
        - description: The failover group parameters.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/FailoverGroupUpdate"
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: Successfully updated the failover group.
          schema:
            $ref: "#/definitions/FailoverGroup"
        "202":
          description: Accepted
        default:
          description: |-
            *** Error Responses: ***

             * 400 FailoverGroupCreateOrUpdateRequestInvalidDatabases - The provided databases in the request are not valid database resource IDs.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidPartner - The given partners field in create or update failover group request body is empty or invalid.

             * 400 FailoverGroupCreateOrUpdateRequestDuplicatePartner - One or more of the provided partner servers are already part of the failover group. Please make sure the primary server and all of the given partner servers are unique.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidDatabaseServer - One or more of the provided databases do not exist on the primary server of the failover group. Please make sure that all the databases exist on the primary server.

             * 400 FailoverGroupCreateOrUpdateRequestUnsupportedPartnerCount - Only one partner server is supported.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpoint - The readWriteEndpoint field is required for create or update requests.

             * 400 FailoverGroupCreateOrUpdateRequestInvalid - The create or update failover group request body is empty or invalid.

             * 400 FailoverGroupUpdateOrDeleteRequestOnSecondary - Modifications to the failover group are not allowed on a secondary server. Execute the request on the primary server.

             * 400 FailoverGroupCreateOrUpdateRequestNegativeGracePeriodValues - Grace period value for the read-write endpoint must be non-negative.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFields - The property failoverWithDataLossGracePeriodMinutes must be provided when failover policy Automatic is selected for the read-write endpoint.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteFailoverPolicy - The failoverPolicy field for the read-write endpoint is required for create or update requests.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFieldsForManualPolicy - Grace period value should not be provided when failover policy Manual is selected for the read-write endpoint.

             * 400 FailoverGroupCreateOrUpdateRequestReadOnlyPropertyModified - The create or update failover group request body should not modify the read-only property '{0}'.

             * 400 FailoverGroupFailoverRequestOnPrimary - The failover request should be initiated on the secondary server of failover group.

             * 400 FailoverGroupPartnerServerFromDifferentSubscription - Primary server and the partner servers of failover group are from different subscriptions. Cross subscription for servers of failover group is not allowed.

             * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.

             * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.

             * 400 InvalidFailoverGroupRegion - Servers specified in a Failover Group need to reside in different regions to provide isolation.

             * 400 ServerNotFound - The requested server was not found.

             * 400 FailoverGroupDoesNotExist - Failover group does not exist on a server.

             * 400 FailoverGroupNotSecondary - Failover cannot be initiated from the primary server in a Failover Group.

             * 400 PlannedFailoverTimedOutForDatabase - User invoked planned failover, it timed out, and a specific database appears to be to blame.

             * 400 PlannedFailoverTimedOut - User invoked planned failover, and it timed out while trying to contact the partner management service.

             * 400 DatabaseInFailoverGroupNotPrimary - GeoDR link for the database already exists, but its role is not 'Primary' or it is not continuous copy link.

             * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.

             * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.

             * 400 InvalidSku - The user specified an invalid sku.

             * 400 TokenTooLong - The provided token is too long.

             * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.

             * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.

             * 400 InvalidServerName - Invalid server name specified.

             * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.

             * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.

             * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.

             * 400 ResourcePoolNotFound - Specified elastic pool does not exist in the specified logical server.

             * 400 GeoReplicationDatabaseNotSecondary - The operation expects the database to be a replication target.

             * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.

             * 400 FailoverGroupCreateOrUpdatePartiallySucceeded - Some databases could not be added or removed.

             * 404 OperationIdNotFound - The operation with Id does not exist.

             * 404 ResourceNotFound - The requested resource was not found.

             * 404 OperationIdNotFound - The operation with Id does not exist.

             * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.

             * 404 SourceDatabaseNotFound - The source database does not exist.

             * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.

             * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.

             * 409 OperationCancelled - The operation has been cancelled by user.

             * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.

             * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.

             * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.

             * 409 FailoverGroupAlreadyExists - Failover group already exists on a given server.

             * 409 FailoverGroupBusy - Failover Group is busy with another operation.

             * 409 DatabaseBelongsToOtherFailoverGroup - Database belongs to other Failover Group and cannot be consider a part of this one.

             * 409 DatabaseBeingAddedToFailoverGroup - The database is currently being added to Failover Group, customer needs to wait for this operation to finish to issue remove.

             * 409 DatabaseBeingRemovedFromFailoverGroup - The database is currently being removed from failover group, customer needs to wait for this operation to finish to issue add.

             * 409 FailoverGroupDnsRecordInUse - A duplicate DNS record exists for the requested endpoint.

             * 409 InvalidFailoverGroupName - Invalid Failover Group name was supplied.

             * 409 SubscriptionDisabled - Subscription is disabled.

             * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.

             * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.

             * 409 InvalidDatabaseStateForOperation - The operation is not allowed on the database in its current replication state.

             * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.

             * 409 GeoReplicationCannotBecomePrimaryDuringUndo - User attempted to failover or force-terminate a geo-link while the secondary is in a state where it may not be physically consistent and so cannot enter the primary role.

             * 409 FailoverGroupUnableToPerformGroupOperationOnDatabases - The list of databases to add/remove to/from Failover Group contains errors that are preventing operation to complete.

             * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.

             * 429 ConflictingServerOperation - An operation is currently in progress for the server.

             * 429 TooManyRequests - Requests beyond max requests that can be processed by available resources.

             * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.

             * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.

             * 504 RequestTimeout - Service request exceeded the allowed timeout.
      tags:
        - FailoverGroups
      x-ms-examples:
        Update failover group:
          parameters:
            api-version: 2015-05-01-preview
            failoverGroupName: failover-group-test-1
            parameters:
              properties:
                databases:
                  - /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-1
                readWriteEndpoint:
                  failoverPolicy: Automatic
                  failoverWithDataLossGracePeriodMinutes: 120
            resourceGroupName: Default
            serverName: failover-group-primary-server
            subscriptionId: 00000000-1111-2222-3333-444444444444
          responses:
            "200":
              body:
                id: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/failoverGroups/failover-group-test-3
                location: Japan East
                name: failover-group-test-3
                properties:
                  databases:
                    - /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-1
                  partnerServers:
                    - id: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server
                      location: Japan West
                      replicationRole: Secondary
                  readOnlyEndpoint:
                    failoverPolicy: Disabled
                  readWriteEndpoint:
                    failoverPolicy: Automatic
                    failoverWithDataLossGracePeriodMinutes: 120
                  replicationRole: Primary
                  replicationState: CATCH_UP
                type: Microsoft.Sql/servers/failoverGroups
            "202": {}
      x-ms-long-running-operation: true
    put:
      description: Creates or updates a failover group.
      operationId: FailoverGroups_CreateOrUpdate
      parameters:
        - $ref: "#/parameters/ResourceGroupParameter"
        - description: The name of the server containing the failover group.
          in: path
          name: serverName
          required: true
          type: string
        - description: The name of the failover group.
          in: path
          name: failoverGroupName
          required: true
          type: string
        - description: The failover group parameters.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/FailoverGroup"
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: Successfully updated the failover group.
          schema:
            $ref: "#/definitions/FailoverGroup"
        "201":
          description: Successfully created the failover group.
          schema:
            $ref: "#/definitions/FailoverGroup"
        "202":
          description: Accepted
        default:
          description: |-
            *** Error Responses: ***

             * 400 FailoverGroupCreateOrUpdateRequestInvalidDatabases - The provided databases in the request are not valid database resource IDs.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidPartner - The given partners field in create or update failover group request body is empty or invalid.

             * 400 FailoverGroupCreateOrUpdateRequestDuplicatePartner - One or more of the provided partner servers are already part of the failover group. Please make sure the primary server and all of the given partner servers are unique.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidDatabaseServer - One or more of the provided databases do not exist on the primary server of the failover group. Please make sure that all the databases exist on the primary server.

             * 400 FailoverGroupCreateOrUpdateRequestUnsupportedPartnerCount - Only one partner server is supported.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpoint - The readWriteEndpoint field is required for create or update requests.

             * 400 FailoverGroupCreateOrUpdateRequestInvalid - The create or update failover group request body is empty or invalid.

             * 400 FailoverGroupUpdateOrDeleteRequestOnSecondary - Modifications to the failover group are not allowed on a secondary server. Execute the request on the primary server.

             * 400 FailoverGroupCreateOrUpdateRequestNegativeGracePeriodValues - Grace period value for the read-write endpoint must be non-negative.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFields - The property failoverWithDataLossGracePeriodMinutes must be provided when failover policy Automatic is selected for the read-write endpoint.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteFailoverPolicy - The failoverPolicy field for the read-write endpoint is required for create or update requests.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFieldsForManualPolicy - Grace period value should not be provided when failover policy Manual is selected for the read-write endpoint.

             * 400 FailoverGroupCreateOrUpdateRequestReadOnlyPropertyModified - The create or update failover group request body should not modify the read-only property '{0}'.

             * 400 FailoverGroupFailoverRequestOnPrimary - The failover request should be initiated on the secondary server of failover group.

             * 400 FailoverGroupPartnerServerFromDifferentSubscription - Primary server and the partner servers of failover group are from different subscriptions. Cross subscription for servers of failover group is not allowed.

             * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.

             * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.

             * 400 InvalidFailoverGroupRegion - Servers specified in a Failover Group need to reside in different regions to provide isolation.

             * 400 ServerNotFound - The requested server was not found.

             * 400 FailoverGroupDoesNotExist - Failover group does not exist on a server.

             * 400 FailoverGroupNotSecondary - Failover cannot be initiated from the primary server in a Failover Group.

             * 400 PlannedFailoverTimedOutForDatabase - User invoked planned failover, it timed out, and a specific database appears to be to blame.

             * 400 PlannedFailoverTimedOut - User invoked planned failover, and it timed out while trying to contact the partner management service.

             * 400 DatabaseInFailoverGroupNotPrimary - GeoDR link for the database already exists, but its role is not 'Primary' or it is not continuous copy link.

             * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.

             * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.

             * 400 InvalidSku - The user specified an invalid sku.

             * 400 TokenTooLong - The provided token is too long.

             * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.

             * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.

             * 400 InvalidServerName - Invalid server name specified.

             * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.

             * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.

             * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.

             * 400 ResourcePoolNotFound - Specified elastic pool does not exist in the specified logical server.

             * 400 GeoReplicationDatabaseNotSecondary - The operation expects the database to be a replication target.

             * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.

             * 400 FailoverGroupCreateOrUpdatePartiallySucceeded - Some databases could not be added or removed.

             * 404 OperationIdNotFound - The operation with Id does not exist.

             * 404 ResourceNotFound - The requested resource was not found.

             * 404 OperationIdNotFound - The operation with Id does not exist.

             * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.

             * 404 SourceDatabaseNotFound - The source database does not exist.

             * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.

             * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.

             * 409 OperationCancelled - The operation has been cancelled by user.

             * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.

             * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.

             * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.

             * 409 FailoverGroupAlreadyExists - Failover group already exists on a given server.

             * 409 FailoverGroupBusy - Failover Group is busy with another operation.

             * 409 DatabaseBelongsToOtherFailoverGroup - Database belongs to other Failover Group and cannot be consider a part of this one.

             * 409 DatabaseBeingAddedToFailoverGroup - The database is currently being added to Failover Group, customer needs to wait for this operation to finish to issue remove.

             * 409 DatabaseBeingRemovedFromFailoverGroup - The database is currently being removed from failover group, customer needs to wait for this operation to finish to issue add.

             * 409 FailoverGroupDnsRecordInUse - A duplicate DNS record exists for the requested endpoint.

             * 409 InvalidFailoverGroupName - Invalid Failover Group name was supplied.

             * 409 SubscriptionDisabled - Subscription is disabled.

             * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.

             * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.

             * 409 InvalidDatabaseStateForOperation - The operation is not allowed on the database in its current replication state.

             * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.

             * 409 GeoReplicationCannotBecomePrimaryDuringUndo - User attempted to failover or force-terminate a geo-link while the secondary is in a state where it may not be physically consistent and so cannot enter the primary role.

             * 409 FailoverGroupUnableToPerformGroupOperationOnDatabases - The list of databases to add/remove to/from Failover Group contains errors that are preventing operation to complete.

             * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.

             * 429 ConflictingServerOperation - An operation is currently in progress for the server.

             * 429 TooManyRequests - Requests beyond max requests that can be processed by available resources.

             * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.

             * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.

             * 504 RequestTimeout - Service request exceeded the allowed timeout.
      tags:
        - FailoverGroups
      x-ms-examples:
        Create failover group:
          parameters:
            api-version: 2015-05-01-preview
            failoverGroupName: failover-group-test-3
            parameters:
              properties:
                databases:
                  - /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-1
                  - /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-2
                partnerServers:
                  - id: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server
                readOnlyEndpoint:
                  failoverPolicy: Disabled
                readWriteEndpoint:
                  failoverPolicy: Automatic
                  failoverWithDataLossGracePeriodMinutes: 480
            resourceGroupName: Default
            serverName: failover-group-primary-server
            subscriptionId: 00000000-1111-2222-3333-444444444444
          responses:
            "200":
              body:
                id: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/failoverGroups/failover-group-test-3
                location: Japan East
                name: failover-group-test-3
                properties:
                  databases:
                    - /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-1
                    - /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-2
                  partnerServers:
                    - id: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server
                      location: Japan West
                      replicationRole: Secondary
                  readOnlyEndpoint:
                    failoverPolicy: Disabled
                  readWriteEndpoint:
                    failoverPolicy: Automatic
                    failoverWithDataLossGracePeriodMinutes: 480
                  replicationRole: Primary
                  replicationState: CATCH_UP
                type: Microsoft.Sql/servers/failoverGroups
            "201":
              body:
                id: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/failoverGroups/failover-group-test-3
                location: Japan East
                name: failover-group-test-3
                properties:
                  databases:
                    - /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-1
                    - /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-2
                  partnerServers:
                    - id: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server
                      location: Japan West
                      replicationRole: Secondary
                  readOnlyEndpoint:
                    failoverPolicy: Disabled
                  readWriteEndpoint:
                    failoverPolicy: Automatic
                    failoverWithDataLossGracePeriodMinutes: 480
                  replicationRole: Primary
                  replicationState: CATCH_UP
                type: Microsoft.Sql/servers/failoverGroups
            "202": {}
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}/failover":
    post:
      description: Fails over from the current primary server to this server.
      operationId: FailoverGroups_Failover
      parameters:
        - $ref: "#/parameters/ResourceGroupParameter"
        - description: The name of the server containing the failover group.
          in: path
          name: serverName
          required: true
          type: string
        - description: The name of the failover group.
          in: path
          name: failoverGroupName
          required: true
          type: string
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: Successfully failed over.
          schema:
            $ref: "#/definitions/FailoverGroup"
        "202":
          description: Accepted
        default:
          description: |-
            *** Error Responses: ***

             * 400 FailoverGroupCreateOrUpdateRequestInvalidDatabases - The provided databases in the request are not valid database resource IDs.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidPartner - The given partners field in create or update failover group request body is empty or invalid.

             * 400 FailoverGroupCreateOrUpdateRequestDuplicatePartner - One or more of the provided partner servers are already part of the failover group. Please make sure the primary server and all of the given partner servers are unique.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidDatabaseServer - One or more of the provided databases do not exist on the primary server of the failover group. Please make sure that all the databases exist on the primary server.

             * 400 FailoverGroupCreateOrUpdateRequestUnsupportedPartnerCount - Only one partner server is supported.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpoint - The readWriteEndpoint field is required for create or update requests.

             * 400 FailoverGroupCreateOrUpdateRequestInvalid - The create or update failover group request body is empty or invalid.

             * 400 FailoverGroupUpdateOrDeleteRequestOnSecondary - Modifications to the failover group are not allowed on a secondary server. Execute the request on the primary server.

             * 400 FailoverGroupCreateOrUpdateRequestNegativeGracePeriodValues - Grace period value for the read-write endpoint must be non-negative.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFields - The property failoverWithDataLossGracePeriodMinutes must be provided when failover policy Automatic is selected for the read-write endpoint.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteFailoverPolicy - The failoverPolicy field for the read-write endpoint is required for create or update requests.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFieldsForManualPolicy - Grace period value should not be provided when failover policy Manual is selected for the read-write endpoint.

             * 400 FailoverGroupCreateOrUpdateRequestReadOnlyPropertyModified - The create or update failover group request body should not modify the read-only property '{0}'.

             * 400 FailoverGroupFailoverRequestOnPrimary - The failover request should be initiated on the secondary server of failover group.

             * 400 FailoverGroupPartnerServerFromDifferentSubscription - Primary server and the partner servers of failover group are from different subscriptions. Cross subscription for servers of failover group is not allowed.

             * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.

             * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.

             * 400 InvalidFailoverGroupRegion - Servers specified in a Failover Group need to reside in different regions to provide isolation.

             * 400 ServerNotFound - The requested server was not found.

             * 400 FailoverGroupDoesNotExist - Failover group does not exist on a server.

             * 400 FailoverGroupNotSecondary - Failover cannot be initiated from the primary server in a Failover Group.

             * 400 PlannedFailoverTimedOutForDatabase - User invoked planned failover, it timed out, and a specific database appears to be to blame.

             * 400 PlannedFailoverTimedOut - User invoked planned failover, and it timed out while trying to contact the partner management service.

             * 400 DatabaseInFailoverGroupNotPrimary - GeoDR link for the database already exists, but its role is not 'Primary' or it is not continuous copy link.

             * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.

             * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.

             * 400 InvalidSku - The user specified an invalid sku.

             * 400 TokenTooLong - The provided token is too long.

             * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.

             * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.

             * 400 InvalidServerName - Invalid server name specified.

             * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.

             * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.

             * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.

             * 400 ResourcePoolNotFound - Specified elastic pool does not exist in the specified logical server.

             * 400 GeoReplicationDatabaseNotSecondary - The operation expects the database to be a replication target.

             * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.

             * 404 OperationIdNotFound - The operation with Id does not exist.

             * 404 ResourceNotFound - The requested resource was not found.

             * 404 OperationIdNotFound - The operation with Id does not exist.

             * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.

             * 404 SourceDatabaseNotFound - The source database does not exist.

             * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.

             * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.

             * 409 OperationCancelled - The operation has been cancelled by user.

             * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.

             * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.

             * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.

             * 409 FailoverGroupAlreadyExists - Failover group already exists on a given server.

             * 409 FailoverGroupBusy - Failover Group is busy with another operation.

             * 409 DatabaseBelongsToOtherFailoverGroup - Database belongs to other Failover Group and cannot be consider a part of this one.

             * 409 DatabaseBeingAddedToFailoverGroup - The database is currently being added to Failover Group, customer needs to wait for this operation to finish to issue remove.

             * 409 DatabaseBeingRemovedFromFailoverGroup - The database is currently being removed from failover group, customer needs to wait for this operation to finish to issue add.

             * 409 FailoverGroupDnsRecordInUse - A duplicate DNS record exists for the requested endpoint.

             * 409 InvalidFailoverGroupName - Invalid Failover Group name was supplied.

             * 409 SubscriptionDisabled - Subscription is disabled.

             * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.

             * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.

             * 409 InvalidDatabaseStateForOperation - The operation is not allowed on the database in its current replication state.

             * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.

             * 409 GeoReplicationCannotBecomePrimaryDuringUndo - User attempted to failover or force-terminate a geo-link while the secondary is in a state where it may not be physically consistent and so cannot enter the primary role.

             * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.

             * 429 ConflictingServerOperation - An operation is currently in progress for the server.

             * 429 TooManyRequests - Requests beyond max requests that can be processed by available resources.

             * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.

             * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.

             * 504 RequestTimeout - Service request exceeded the allowed timeout.
      tags:
        - FailoverGroups
      x-ms-examples:
        Planned failover of a failover group:
          parameters:
            api-version: 2015-05-01-preview
            failoverGroupName: failover-group-test-3
            resourceGroupName: Default
            serverName: failover-group-secondary-server
            subscriptionId: 00000000-1111-2222-3333-444444444444
          responses:
            "200":
              body:
                id: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server/failoverGroups/failover-group-test-3
                location: Japan West
                name: failover-group-test-3
                properties:
                  databases:
                    - /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server/databases/testdb-1
                    - /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server/databases/testdb-2
                  partnerServers:
                    - id: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server
                      location: Japan East
                      replicationRole: Secondary
                  readOnlyEndpoint:
                    failoverPolicy: Disabled
                  readWriteEndpoint:
                    failoverPolicy: Automatic
                    failoverWithDataLossGracePeriodMinutes: 120
                  replicationRole: Primary
                  replicationState: CATCH_UP
                type: Microsoft.Sql/servers/failoverGroups
            "202": {}
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}/forceFailoverAllowDataLoss":
    post:
      description: Fails over from the current primary server to this server. This operation might result in data loss.
      operationId: FailoverGroups_ForceFailoverAllowDataLoss
      parameters:
        - $ref: "#/parameters/ResourceGroupParameter"
        - description: The name of the server containing the failover group.
          in: path
          name: serverName
          required: true
          type: string
        - description: The name of the failover group.
          in: path
          name: failoverGroupName
          required: true
          type: string
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: Successfully failed over.
          schema:
            $ref: "#/definitions/FailoverGroup"
        "202":
          description: Accepted
        default:
          description: |-
            *** Error Responses: ***

             * 400 FailoverGroupCreateOrUpdateRequestInvalidDatabases - The provided databases in the request are not valid database resource IDs.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidPartner - The given partners field in create or update failover group request body is empty or invalid.

             * 400 FailoverGroupCreateOrUpdateRequestDuplicatePartner - One or more of the provided partner servers are already part of the failover group. Please make sure the primary server and all of the given partner servers are unique.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidDatabaseServer - One or more of the provided databases do not exist on the primary server of the failover group. Please make sure that all the databases exist on the primary server.

             * 400 FailoverGroupCreateOrUpdateRequestUnsupportedPartnerCount - Only one partner server is supported.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpoint - The readWriteEndpoint field is required for create or update requests.

             * 400 FailoverGroupCreateOrUpdateRequestInvalid - The create or update failover group request body is empty or invalid.

             * 400 FailoverGroupUpdateOrDeleteRequestOnSecondary - Modifications to the failover group are not allowed on a secondary server. Execute the request on the primary server.

             * 400 FailoverGroupCreateOrUpdateRequestNegativeGracePeriodValues - Grace period value for the read-write endpoint must be non-negative.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFields - The property failoverWithDataLossGracePeriodMinutes must be provided when failover policy Automatic is selected for the read-write endpoint.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteFailoverPolicy - The failoverPolicy field for the read-write endpoint is required for create or update requests.

             * 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFieldsForManualPolicy - Grace period value should not be provided when failover policy Manual is selected for the read-write endpoint.

             * 400 FailoverGroupCreateOrUpdateRequestReadOnlyPropertyModified - The create or update failover group request body should not modify the read-only property '{0}'.

             * 400 FailoverGroupFailoverRequestOnPrimary - The failover request should be initiated on the secondary server of failover group.

             * 400 FailoverGroupPartnerServerFromDifferentSubscription - Primary server and the partner servers of failover group are from different subscriptions. Cross subscription for servers of failover group is not allowed.

             * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.

             * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.

             * 400 InvalidFailoverGroupRegion - Servers specified in a Failover Group need to reside in different regions to provide isolation.

             * 400 ServerNotFound - The requested server was not found.

             * 400 FailoverGroupDoesNotExist - Failover group does not exist on a server.

             * 400 FailoverGroupNotSecondary - Failover cannot be initiated from the primary server in a Failover Group.

             * 400 PlannedFailoverTimedOutForDatabase - User invoked planned failover, it timed out, and a specific database appears to be to blame.

             * 400 PlannedFailoverTimedOut - User invoked planned failover, and it timed out while trying to contact the partner management service.

             * 400 DatabaseInFailoverGroupNotPrimary - GeoDR link for the database already exists, but its role is not 'Primary' or it is not continuous copy link.

             * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.

             * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.

             * 400 InvalidSku - The user specified an invalid sku.

             * 400 TokenTooLong - The provided token is too long.

             * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.

             * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.

             * 400 InvalidServerName - Invalid server name specified.

             * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.

             * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.

             * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.

             * 400 ResourcePoolNotFound - Specified elastic pool does not exist in the specified logical server.

             * 400 GeoReplicationDatabaseNotSecondary - The operation expects the database to be a replication target.

             * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.

             * 404 OperationIdNotFound - The operation with Id does not exist.

             * 404 ResourceNotFound - The requested resource was not found.

             * 404 OperationIdNotFound - The operation with Id does not exist.

             * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.

             * 404 SourceDatabaseNotFound - The source database does not exist.

             * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.

             * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.

             * 409 OperationCancelled - The operation has been cancelled by user.

             * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.

             * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.

             * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.

             * 409 FailoverGroupAlreadyExists - Failover group already exists on a given server.

             * 409 FailoverGroupBusy - Failover Group is busy with another operation.

             * 409 DatabaseBelongsToOtherFailoverGroup - Database belongs to other Failover Group and cannot be consider a part of this one.

             * 409 DatabaseBeingAddedToFailoverGroup - The database is currently being added to Failover Group, customer needs to wait for this operation to finish to issue remove.

             * 409 DatabaseBeingRemovedFromFailoverGroup - The database is currently being removed from failover group, customer needs to wait for this operation to finish to issue add.

             * 409 FailoverGroupDnsRecordInUse - A duplicate DNS record exists for the requested endpoint.

             * 409 InvalidFailoverGroupName - Invalid Failover Group name was supplied.

             * 409 SubscriptionDisabled - Subscription is disabled.

             * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.

             * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.

             * 409 InvalidDatabaseStateForOperation - The operation is not allowed on the database in its current replication state.

             * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.

             * 409 GeoReplicationCannotBecomePrimaryDuringUndo - User attempted to failover or force-terminate a geo-link while the secondary is in a state where it may not be physically consistent and so cannot enter the primary role.

             * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.

             * 429 ConflictingServerOperation - An operation is currently in progress for the server.

             * 429 TooManyRequests - Requests beyond max requests that can be processed by available resources.

             * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.

             * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.

             * 504 RequestTimeout - Service request exceeded the allowed timeout.
      tags:
        - FailoverGroups
      x-ms-examples:
        Forced failover of a failover group allowing data loss:
          parameters:
            api-version: 2015-05-01-preview
            failoverGroupName: failover-group-test-3
            resourceGroupName: Default
            serverName: failover-group-secondary-server
            subscriptionId: 00000000-1111-2222-3333-444444444444
          responses:
            "200":
              body:
                id: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server/failoverGroups/failover-group-test-3
                location: Japan West
                name: failover-group-test-3
                properties:
                  databases:
                    - /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server/databases/testdb-1
                    - /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server/databases/testdb-2
                  partnerServers:
                    - id: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server
                      location: Japan East
                      replicationRole: Secondary
                  readOnlyEndpoint:
                    failoverPolicy: Disabled
                  readWriteEndpoint:
                    failoverPolicy: Automatic
                    failoverWithDataLossGracePeriodMinutes: 120
                  replicationRole: Primary
                  replicationState: CATCH_UP
                type: Microsoft.Sql/servers/failoverGroups
            "202": {}
      x-ms-long-running-operation: true
definitions:
  FailoverGroup:
    allOf:
      - allOf:
          - description: ARM resource.
            properties:
              id:
                description: Resource ID.
                readOnly: true
                type: string
              name:
                description: Resource name.
                readOnly: true
                type: string
              type:
                description: Resource type.
                readOnly: true
                type: string
            type: object
            x-ms-azure-resource: true
        description: ARM proxy resource.
        properties: {}
        type: object
    description: A failover group.
    properties:
      location:
        description: Resource location.
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/FailoverGroupProperties"
        description: Resource properties.
        x-ms-client-flatten: true
      tags:
        additionalProperties:
          type: string
        description: Resource tags.
        type: object
    type: object
  FailoverGroupListResult:
    description: A list of failover groups.
    properties:
      nextLink:
        description: Link to retrieve next page of results.
        readOnly: true
        type: string
      value:
        description: Array of results.
        items:
          $ref: "#/definitions/FailoverGroup"
        readOnly: true
        type: array
    type: object
  FailoverGroupProperties:
    description: Properties of a failover group.
    properties:
      databases:
        description: List of databases in the failover group.
        items:
          type: string
        type: array
      partnerServers:
        description: List of partner server information for the failover group.
        items:
          $ref: "#/definitions/PartnerInfo"
        type: array
        x-ms-mutability:
          - read
          - create
      readOnlyEndpoint:
        $ref: "#/definitions/FailoverGroupReadOnlyEndpoint"
        description: Read-only endpoint of the failover group instance.
      readWriteEndpoint:
        $ref: "#/definitions/FailoverGroupReadWriteEndpoint"
        description: Read-write endpoint of the failover group instance.
      replicationRole:
        description: Local replication role of the failover group instance.
        enum:
          - Primary
          - Secondary
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: FailoverGroupReplicationRole
      replicationState:
        description: Replication state of the failover group instance.
        readOnly: true
        type: string
    required:
      - readWriteEndpoint
      - partnerServers
    type: object
  FailoverGroupReadOnlyEndpoint:
    description: Read-only endpoint of the failover group instance.
    properties:
      failoverPolicy:
        description: Failover policy of the read-only endpoint for the failover group.
        enum:
          - Disabled
          - Enabled
        type: string
        x-ms-enum:
          modelAsString: true
          name: ReadOnlyEndpointFailoverPolicy
    type: object
  FailoverGroupReadWriteEndpoint:
    description: Read-write endpoint of the failover group instance.
    properties:
      failoverPolicy:
        description: Failover policy of the read-write endpoint for the failover group. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required.
        enum:
          - Manual
          - Automatic
        type: string
        x-ms-enum:
          modelAsString: true
          name: ReadWriteEndpointFailoverPolicy
      failoverWithDataLossGracePeriodMinutes:
        description: Grace period before failover with data loss is attempted for the read-write endpoint. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required.
        format: int32
        type: integer
    required:
      - failoverPolicy
    type: object
  FailoverGroupUpdate:
    description: A failover group update request.
    properties:
      properties:
        $ref: "#/definitions/FailoverGroupUpdateProperties"
        description: Resource properties.
        x-ms-client-flatten: true
      tags:
        additionalProperties:
          type: string
        description: Resource tags.
        type: object
    type: object
  FailoverGroupUpdateProperties:
    description: Properties of a failover group update.
    properties:
      databases:
        description: List of databases in the failover group.
        items:
          type: string
        type: array
      readOnlyEndpoint:
        $ref: "#/definitions/FailoverGroupReadOnlyEndpoint"
        description: Read-only endpoint of the failover group instance.
      readWriteEndpoint:
        $ref: "#/definitions/FailoverGroupReadWriteEndpoint"
        description: Read-write endpoint of the failover group instance.
    type: object
  PartnerInfo:
    description: Partner server information for the failover group.
    properties:
      id:
        description: Resource identifier of the partner server.
        type: string
      location:
        description: Geo location of the partner server.
        readOnly: true
        type: string
      replicationRole:
        description: Replication role of the partner server.
        enum:
          - Primary
          - Secondary
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: FailoverGroupReplicationRole
    required:
      - id
    type: object
