diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/2017-04-01/examples/disasterRecoveryConfigs/SBAliasCreate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/2017-04-01/examples/disasterRecoveryConfigs/SBAliasCreate.json new file mode 100644 index 000000000000..7a8788a6824f --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/2017-04-01/examples/disasterRecoveryConfigs/SBAliasCreate.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-8860", + "resourceGroupName": "ardsouzatestRG", + "alias": "sdk-DisasterRecovery-3814", + "api-version": "2017-04-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", + "parameters": { + "properties": { + "partnerNamespace": "sdk-Namespace-37" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ardsouzatestRG/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-8860/disasterRecoveryConfig/sdk-DisasterRecovery-3814", + "name": "sdk-DisasterRecovery-3814", + "type": "Microsoft.ServiceBus/Namespaces/DisasterRecoveryConfig", + "properties": { + "provisioningState": "Accepted", + "partnerNamespace": "sdk-Namespace-37", + "role": "Primary", + "type": "MetadataReplication" + } + } + }, + "201": {} + } +} \ No newline at end of file diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/2017-04-01/examples/disasterRecoveryConfigs/SBAliasDelete.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/2017-04-01/examples/disasterRecoveryConfigs/SBAliasDelete.json new file mode 100644 index 000000000000..b5aa995963cd --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/2017-04-01/examples/disasterRecoveryConfigs/SBAliasDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-8860", + "resourceGroupName": "SouthCentralUS", + "alias": "sdk-DisasterRecovery-3814", + "api-version": "2017-04-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": {} + } +} \ No newline at end of file diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/2017-04-01/examples/disasterRecoveryConfigs/SBAliasFailOver.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/2017-04-01/examples/disasterRecoveryConfigs/SBAliasFailOver.json new file mode 100644 index 000000000000..df7d155d71b8 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/2017-04-01/examples/disasterRecoveryConfigs/SBAliasFailOver.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-8860", + "resourceGroupName": "ardsouzatestRG", + "alias": "sdk-DisasterRecovery-3814", + "api-version": "2017-04-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": {} + } +} \ No newline at end of file diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/2017-04-01/examples/disasterRecoveryConfigs/SBAliasGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/2017-04-01/examples/disasterRecoveryConfigs/SBAliasGet.json new file mode 100644 index 000000000000..15b3e7e33eb2 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/2017-04-01/examples/disasterRecoveryConfigs/SBAliasGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-8860", + "resourceGroupName": "ardsouzatestRG", + "alias": "sdk-DisasterRecovery-3814", + "api-version": "2017-04-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ardsouzatestRG/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-37/disasterRecoveryConfig/sdk-DisasterRecovery-3814", + "name": "sdk-DisasterRecovery-3814", + "type": "Microsoft.ServiceBus/Namespaces/DisasterRecoveryConfig", + "properties": { + "provisioningState": "Accepted", + "partnerNamespace": "sdk-Namespace-8860", + "role": "Secondary", + "type": "MetadataReplication" + } + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/2017-04-01/examples/disasterRecoveryConfigs/SBAliasList.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/2017-04-01/examples/disasterRecoveryConfigs/SBAliasList.json new file mode 100644 index 000000000000..c613feb06659 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/2017-04-01/examples/disasterRecoveryConfigs/SBAliasList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-8860", + "resourceGroupName": "ardsouzatestRG", + "alias": "sdk-DisasterRecovery-3814", + "api-version": "2017-04-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ardsouzatestRG/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-8860/disasterRecoveryConfig/sdk-DisasterRecovery-3814", + "name": "sdk-DisasterRecovery-3814", + "type": "Microsoft.ServiceBus/Namespaces/DisasterRecoveryConfig", + "properties": { + "provisioningState": "Accepted", + "partnerNamespace": "sdk-Namespace-37", + "role": "Primary", + "type": "MetadataReplication" + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/2017-04-01/examples/disasterRecoveryConfigs/SBEHAliasBreakPairing.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/2017-04-01/examples/disasterRecoveryConfigs/SBEHAliasBreakPairing.json new file mode 100644 index 000000000000..9eebc2078df1 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/2017-04-01/examples/disasterRecoveryConfigs/SBEHAliasBreakPairing.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-8860", + "resourceGroupName": "ardsouzatestRG", + "alias": "sdk-DisasterRecovery-3814", + "api-version": "2017-04-01", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": {} + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/2017-04-01/servicebus.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/2017-04-01/servicebus.json index 9884a634b9ab..cc64d009a161 100644 --- a/specification/servicebus/resource-manager/Microsoft.ServiceBus/2017-04-01/servicebus.json +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/2017-04-01/servicebus.json @@ -692,6 +692,263 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs": { + "get": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_List", + "x-ms-examples": { + "SBAliasList": { "$ref": "./examples/disasterRecoveryConfigs/SBAliasList.json" } + }, + "description": "Gets all Alias(Disaster Recovery configurations)", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/namespaceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of Alias(Disaster Recovery configurations) for servicebus namespace", + "schema": { + "$ref": "#/definitions/ArmDisasterRecoveryListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}": { + "put": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_CreateOrUpdate", + "x-ms-examples": { + "SBAliasCreate": { "$ref": "./examples/disasterRecoveryConfigs/SBAliasCreate.json" } + }, + "description": "Creates or updates a new Alias(Disaster Recovery configuration)", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/namespaceNameParameter" + }, + { + "$ref": "#/parameters/aliasNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ArmDisasterRecovery" + }, + "description": "Parameters required to create an Alias(Disaster Recovery configuration)" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Alias(Disaster Recovery configuration) successfully created", + "schema": { + "$ref": "#/definitions/ArmDisasterRecovery" + } + }, + "201": { + "description": "Alias(Disaster Recovery configuration) creation request received" + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_Delete", + "x-ms-examples": { + "SBAliasDelete": { "$ref": "./examples/disasterRecoveryConfigs/SBAliasDelete.json" } + }, + "description": "Deletes an Alias(Disaster Recovery configuration)", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/namespaceNameParameter" + }, + { + "$ref": "#/parameters/aliasNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete Alias(Disaster Recovery configuration) request accepted" + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_Get", + "x-ms-examples": { + "SBAliasGet": { "$ref": "./examples/disasterRecoveryConfigs/SBAliasGet.json" } + }, + "description": "Retrieves Alias(Disaster Recovery configuration) for primary or secondary namespace", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/namespaceNameParameter" + }, + { + "$ref": "#/parameters/aliasNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the Alias(Disaster Recovery configurations)", + "schema": { + "$ref": "#/definitions/ArmDisasterRecovery" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/breakPairing": { + "post": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_BreakPairing", + "x-ms-examples": { + "SBEHAliasBreakPairing": { "$ref": "./examples/disasterRecoveryConfigs/SBEHAliasBreakPairing.json" } + }, + "description": "This operation disables the Disaster Recovery and stops replicating changes from primary to secondary namespaces", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/namespaceNameParameter" + }, + { + "$ref": "#/parameters/aliasNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Break-Pairing operation is successful." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/failover": { + "post": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_FailOver", + "x-ms-examples": { + "SBAliasFailOver": { "$ref": "./examples/disasterRecoveryConfigs/SBAliasFailOver.json" } + }, + "description": "envokes GEO DR failover and reconfigure the alias to point to the secondary namespace", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/namespaceNameParameter" + }, + { + "$ref": "#/parameters/aliasNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Failover operation is successful." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues": { "get": { "tags": [ @@ -2498,6 +2755,16 @@ "type": "string", "description": "Secondary connection string of the created namespace authorization rule." }, + "aliasPrimaryConnectionString": { + "readOnly": true, + "type": "string", + "description": "Primary connection string of the alias if GEO DR is enabled" + }, + "aliasSecondaryConnectionString": { + "readOnly": true, + "type": "string", + "description": "Secondary connection string of the alias if GEO DR is enabled" + }, "primaryKey": { "readOnly": true, "type": "string", @@ -3421,6 +3688,71 @@ } }, "description": "Capture storage details for capture description" + }, + "ArmDisasterRecovery": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Provisioning state of the Alias(Disaster Recovery configuration) - possible values 'Accepted' or 'Succeeded' or 'Failed'", + "enum": [ + "Accepted", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "ProvisioningStateDR", + "modelAsString": false + } + }, + "partnerNamespace": { + "type": "string", + "description": "Primary/Secondary eventhub namespace name, which is part of GEO DR pairning" + }, + "role": { + "readOnly": true, + "type": "string", + "description": "role of namespace in GEO DR - possible values 'Primary' or 'PrimaryNotReplicating' or 'Secondary'", + "enum": [ + "Primary", + "PrimaryNotReplicating", + "Secondary" + ], + "x-ms-enum": { + "name": "RoleDisasterRecovery", + "modelAsString": false + } + } + }, + "description": "Properties required to the Create Or Update Alias(Disaster Recovery configurations)" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Single item in List or Get Alias(Disaster Recovery configuration) operation" + }, + "ArmDisasterRecoveryListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ArmDisasterRecovery" + }, + "description": "List of Alias(Disaster Recovery configurations)" + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next set of results. Not empty if Value contains incomplete list of Alias(Disaster Recovery configuration)" + } + }, + "description": "The result of the List Alias(Disaster Recovery configuration) operation." } }, "parameters": { @@ -3464,6 +3796,7 @@ "required": true, "type": "string", "minLength": 1, + "maxLength": 50, "x-ms-parameter-location": "method", "description": "The authorizationrule name." }, @@ -3491,6 +3824,7 @@ "required": true, "type": "string", "minLength": 1, + "maxLength": 50, "x-ms-parameter-location": "method", "description": "The subscription name." }, @@ -3500,6 +3834,7 @@ "required": true, "type": "string", "minLength": 1, + "maxLength": 50, "x-ms-parameter-location": "method", "description": "The rule name." }, @@ -3509,8 +3844,19 @@ "required": true, "type": "string", "minLength": 1, + "maxLength": 50, "x-ms-parameter-location": "method", "description": "The sku type." + }, + "aliasNameParameter": { + "name": "alias", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The Disaster Recovery configuration name" } } } \ No newline at end of file