-
Notifications
You must be signed in to change notification settings - Fork 5.7k
Add ManagedInstanceDTCs APIs #18770
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add ManagedInstanceDTCs APIs #18770
Changes from all commits
7951e14
ddb7cfd
d126152
aba361a
c613fcb
8107b87
498f99d
6fb2c3f
ebfda31
2d18c66
1484207
673a8ac
4daf240
7fbd99d
a893475
c94a12c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2523,4 +2523,5 @@ Dataworld | |
| Asana | ||
| AppFigures | ||
| Twilio | ||
| getazresiliencystatus | ||
| getazresiliencystatus | ||
| DTCs | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,315 @@ | ||
| { | ||
| "swagger": "2.0", | ||
| "info": { | ||
| "version": "2022-02-01-preview", | ||
| "title": "SqlManagementClient", | ||
| "description": "The Azure SQL Database management API provides a RESTful set of web APIs that interact with Azure SQL Database services to manage your databases. The API enables users to create, retrieve, update, and delete databases, servers, and other entities." | ||
| }, | ||
| "host": "management.azure.com", | ||
| "schemes": [ | ||
| "https" | ||
| ], | ||
| "consumes": [ | ||
| "application/json" | ||
| ], | ||
| "produces": [ | ||
| "application/json" | ||
| ], | ||
| "paths": { | ||
| "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/dtc": { | ||
| "get": { | ||
| "tags": [ | ||
| "ManagedInstanceDtcs" | ||
| ], | ||
| "description": "Gets a list of managed instance DTC settings.", | ||
| "operationId": "ManagedInstanceDtcs_ListByManagedInstance", | ||
| "parameters": [ | ||
| { | ||
| "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" | ||
| }, | ||
| { | ||
| "$ref": "#/parameters/ManagedInstanceNameParameter" | ||
| }, | ||
| { | ||
| "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" | ||
| }, | ||
| { | ||
| "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" | ||
| } | ||
| ], | ||
| "responses": { | ||
| "200": { | ||
| "description": "Successfully retrieved the specified managed instance DTC settings.", | ||
| "schema": { | ||
| "$ref": "#/definitions/ManagedInstanceDtcListResult" | ||
| } | ||
| }, | ||
| "default": { | ||
| "description": "*** Error Responses: ***\n\n * 400 InvalidDtcVirtualClusterVersion - Virtual cluster version of the Azure SQL Managed Instance \"{0}\" is not supported.\n\n * 400 ManagementServiceManagedInstanceDtcFeatureDisabled - User tried to interact with Azure SQL Managed Instance DTC settings but DTC feature is currently not supported.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ResourceNotFound - The requested resource was not found." | ||
| } | ||
| }, | ||
| "x-ms-pageable": { | ||
| "nextLinkName": "nextLink" | ||
| }, | ||
| "x-ms-examples": { | ||
| "Gets a list of managed instance DTC settings.": { | ||
| "$ref": "./examples/ManagedInstanceDtcList.json" | ||
| } | ||
| } | ||
| } | ||
| }, | ||
| "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/dtc/{dtcName}": { | ||
| "get": { | ||
| "tags": [ | ||
| "ManagedInstanceDtcs" | ||
| ], | ||
| "description": "Gets managed instance DTC settings.", | ||
| "operationId": "ManagedInstanceDtcs_Get", | ||
| "parameters": [ | ||
| { | ||
| "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" | ||
| }, | ||
| { | ||
| "$ref": "#/parameters/ManagedInstanceNameParameter" | ||
| }, | ||
| { | ||
| "name": "dtcName", | ||
| "in": "path", | ||
| "description": "The name of the managed instance DTC.", | ||
| "required": true, | ||
| "type": "string", | ||
| "enum": [ | ||
| "current" | ||
| ], | ||
| "x-ms-enum": { | ||
| "name": "DtcName", | ||
| "modelAsString": true | ||
| } | ||
| }, | ||
| { | ||
| "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" | ||
| }, | ||
| { | ||
| "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" | ||
| } | ||
| ], | ||
| "responses": { | ||
| "200": { | ||
| "description": "Successfully retrieved the specified managed instance DTC settings.", | ||
| "schema": { | ||
| "$ref": "#/definitions/ManagedInstanceDtc" | ||
| } | ||
| }, | ||
| "default": { | ||
| "description": "*** Error Responses: ***\n\n * 400 InvalidDtcName - User tried to interact with Azure SQL Managed Instance DTC settings with a DTC name different from 'current'.\n\n * 400 InvalidUpdateDtcOperationParameters - The provided set of parameters in the body of the request is either empty or invalid.\n\n * 400 InvalidDtcAuthenticationMethod - DTC authentication method \"{0}\" is not supported.\n\n * 400 InvalidDtcVirtualClusterVersion - Virtual cluster version of the Azure SQL Managed Instance \"{0}\" is not supported.\n\n * 400 ManagementServiceManagedInstanceDtcFeatureDisabled - User tried to interact with Azure SQL Managed Instance DTC settings but DTC feature is currently not supported.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ResourceNotFound - The requested resource was not found." | ||
| } | ||
| }, | ||
| "x-ms-examples": { | ||
| "Gets managed instance DTC settings.": { | ||
| "$ref": "./examples/ManagedInstanceDtcGet.json" | ||
| } | ||
| } | ||
| }, | ||
| "put": { | ||
| "tags": [ | ||
| "ManagedInstanceDtcs" | ||
| ], | ||
| "description": "Updates managed instance DTC settings.", | ||
| "operationId": "ManagedInstanceDtcs_CreateOrUpdate", | ||
| "parameters": [ | ||
| { | ||
| "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" | ||
| }, | ||
| { | ||
| "$ref": "#/parameters/ManagedInstanceNameParameter" | ||
| }, | ||
| { | ||
| "name": "dtcName", | ||
| "in": "path", | ||
| "description": "The name of the managed instance DTC.", | ||
| "required": true, | ||
| "type": "string", | ||
| "enum": [ | ||
| "current" | ||
| ], | ||
| "x-ms-enum": { | ||
| "name": "DtcName", | ||
| "modelAsString": true | ||
| } | ||
| }, | ||
| { | ||
| "name": "parameters", | ||
| "in": "body", | ||
| "description": "Managed instance DTC settings.", | ||
| "required": true, | ||
| "schema": { | ||
| "$ref": "#/definitions/ManagedInstanceDtc" | ||
| } | ||
| }, | ||
| { | ||
| "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" | ||
| }, | ||
| { | ||
| "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" | ||
| } | ||
| ], | ||
| "responses": { | ||
| "200": { | ||
| "description": "Applying DTC settings is in progress", | ||
| "schema": { | ||
| "$ref": "#/definitions/ManagedInstanceDtc" | ||
| } | ||
| }, | ||
| "default": { | ||
| "description": "*** Error Responses: ***\n\n * 400 InvalidDtcName - User tried to interact with Azure SQL Managed Instance DTC settings with a DTC name different from 'current'.\n\n * 400 InvalidUpdateDtcOperationParameters - The provided set of parameters in the body of the request is either empty or invalid.\n\n * 400 InvalidDtcAuthenticationMethod - DTC authentication method \"{0}\" is not supported.\n\n * 400 InvalidDtcVirtualClusterVersion - Virtual cluster version of the Azure SQL Managed Instance \"{0}\" is not supported.\n\n * 400 ManagementServiceManagedInstanceDtcFeatureDisabled - User tried to interact with Azure SQL Managed Instance DTC settings but DTC feature is currently not supported.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation." | ||
| } | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Are you planning to support both sync and async for 200 and 202? For async patch, the recommend pattern is to use 202 and location header. See: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/async-api-reference.md#updating-using-patch #Closed
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Shouldn't swagger document the final Location response which is 200 OK?
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We are following https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/async-api-reference.md#202-accepted-and-location-headers |
||
| }, | ||
| "x-ms-long-running-operation": true, | ||
| "x-ms-examples": { | ||
| "Updates managed instance DTC settings with all optional parameters specified.": { | ||
| "$ref": "./examples/ManagedInstanceDtcUpdateMax.json" | ||
| }, | ||
| "Updates managed instance DTC settings by enabling DTC.": { | ||
| "$ref": "./examples/ManagedInstanceDtcUpdateEnableDtc.json" | ||
| } | ||
| } | ||
| } | ||
| } | ||
| }, | ||
| "definitions": { | ||
| "ManagedInstanceDtc": { | ||
| "description": "SQL Managed Instance DTC", | ||
| "type": "object", | ||
| "allOf": [ | ||
| { | ||
| "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" | ||
| } | ||
| ], | ||
| "properties": { | ||
| "properties": { | ||
| "$ref": "#/definitions/ManagedInstanceDtcProperties", | ||
| "description": "Resource properties.", | ||
| "x-ms-client-flatten": true | ||
| } | ||
| } | ||
| }, | ||
| "ManagedInstanceDtcListResult": { | ||
| "description": "A list of managed instance's DTCs.", | ||
| "type": "object", | ||
| "properties": { | ||
| "value": { | ||
| "description": "Array of results.", | ||
| "type": "array", | ||
| "items": { | ||
| "$ref": "#/definitions/ManagedInstanceDtc" | ||
| }, | ||
| "readOnly": true | ||
| }, | ||
| "nextLink": { | ||
| "description": "Link to retrieve next page of results.", | ||
| "type": "string", | ||
| "readOnly": true | ||
| } | ||
| } | ||
| }, | ||
| "ManagedInstanceDtcProperties": { | ||
| "description": "The properties of managed instance DTC.", | ||
| "type": "object", | ||
| "properties": { | ||
| "dtcEnabled": { | ||
| "description": "Active status of managed instance DTC.", | ||
| "type": "boolean" | ||
| }, | ||
| "securitySettings": { | ||
| "$ref": "#/definitions/ManagedInstanceDtcSecuritySettings", | ||
| "description": "Security settings of managed instance DTC." | ||
| }, | ||
| "externalDnsSuffixSearchList": { | ||
| "description": "External dns suffix search list of managed instance DTC.", | ||
| "type": "array", | ||
| "items": { | ||
| "type": "string" | ||
| } | ||
| }, | ||
| "dtcHostNameDnsSuffix": { | ||
| "description": "Host name dns suffix of managed instance DTC.", | ||
| "type": "string", | ||
| "readOnly": true | ||
| }, | ||
| "provisioningState": { | ||
| "description": "Provisioning state of managed instance DTC.", | ||
| "enum": [ | ||
| "Created", | ||
| "InProgress", | ||
| "Succeeded", | ||
| "Failed", | ||
| "Canceled" | ||
| ], | ||
| "type": "string", | ||
| "readOnly": true, | ||
| "x-ms-enum": { | ||
| "name": "ProvisioningState", | ||
| "modelAsString": true | ||
| } | ||
| } | ||
| } | ||
| }, | ||
| "ManagedInstanceDtcSecuritySettings": { | ||
| "description": "The Security Settings of managed instance DTC.", | ||
| "type": "object", | ||
| "properties": { | ||
| "transactionManagerCommunicationSettings": { | ||
| "$ref": "#/definitions/ManagedInstanceDtcTransactionManagerCommunicationSettings", | ||
| "description": "Transaction Manager communication settings of managed instance DTC." | ||
| }, | ||
| "xaTransactionsEnabled": { | ||
| "description": "Allow XA Transactions to managed instance DTC.", | ||
| "type": "boolean" | ||
| }, | ||
| "snaLu6point2TransactionsEnabled": { | ||
| "description": "Allow SNA LU 6.2 to managed instance DTC.", | ||
| "type": "boolean" | ||
| } | ||
| } | ||
| }, | ||
| "ManagedInstanceDtcTransactionManagerCommunicationSettings": { | ||
| "description": "The Transaction Manager Communication Settings of managed instance DTC.", | ||
| "type": "object", | ||
| "properties": { | ||
| "allowInboundEnabled": { | ||
| "description": "Allow Inbound traffic to managed instance DTC.", | ||
| "type": "boolean" | ||
| }, | ||
| "allowOutboundEnabled": { | ||
| "description": "Allow Outbound traffic of managed instance DTC.", | ||
| "type": "boolean" | ||
| }, | ||
| "authentication": { | ||
| "description": "Authentication type of managed instance DTC.", | ||
| "type": "string" | ||
| } | ||
| } | ||
| } | ||
| }, | ||
| "parameters": { | ||
| "ManagedInstanceNameParameter": { | ||
| "name": "managedInstanceName", | ||
| "in": "path", | ||
| "description": "The name of the managed instance.", | ||
| "required": true, | ||
| "type": "string", | ||
| "x-ms-parameter-location": "method" | ||
| } | ||
| }, | ||
| "securityDefinitions": { | ||
| "azure_auth": { | ||
| "type": "oauth2", | ||
| "description": "Azure Active Directory OAuth2 Flow", | ||
| "flow": "implicit", | ||
| "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", | ||
| "scopes": { | ||
| "user_impersonation": "impersonate your user account" | ||
| } | ||
| } | ||
| } | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,36 @@ | ||
| { | ||
| "parameters": { | ||
| "subscriptionId": "00000000-1111-2222-3333-444444444444", | ||
| "resourceGroupName": "testrg", | ||
| "managedInstanceName": "testinstance", | ||
| "dtcName": "current", | ||
| "api-version": "2022-02-01-preview" | ||
| }, | ||
| "responses": { | ||
| "200": { | ||
| "body": { | ||
| "properties": { | ||
| "dtcEnabled": true, | ||
| "securitySettings": { | ||
| "transactionManagerCommunicationSettings": { | ||
| "allowInboundEnabled": false, | ||
| "allowOutboundEnabled": true, | ||
| "authentication": "NoAuth" | ||
| }, | ||
| "xaTransactionsEnabled": false, | ||
| "snaLu6point2TransactionsEnabled": false | ||
| }, | ||
| "externalDnsSuffixSearchList": [ | ||
| "dns.example1.com", | ||
| "dns.example2.com" | ||
| ], | ||
| "dtcHostNameDnsSuffix": "dtcHostNameSuffixExample.com", | ||
| "provisioningState": "Succeeded" | ||
| }, | ||
| "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance/dtc/current", | ||
| "name": "current", | ||
| "type": "Microsoft.Sql/managedInstances/dtc" | ||
| } | ||
| } | ||
| } | ||
| } |
Uh oh!
There was an error while loading. Please reload this page.