Skip to content

Commit 94198ce

Browse files
Microsoft.Sql - adding Managed Instance AdvancedThreatProtection APIs (#19089)
1 parent 1e1e0f3 commit 94198ce

11 files changed

+877
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,292 @@
1+
{
2+
"swagger": "2.0",
3+
"info": {
4+
"version": "2022-02-01-preview",
5+
"title": "SqlManagementClient",
6+
"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."
7+
},
8+
"host": "management.azure.com",
9+
"schemes": [
10+
"https"
11+
],
12+
"consumes": [
13+
"application/json"
14+
],
15+
"produces": [
16+
"application/json"
17+
],
18+
"paths": {
19+
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/advancedThreatProtectionSettings": {
20+
"get": {
21+
"tags": [
22+
"ManagedDatabaseAdvancedThreatProtectionSettings"
23+
],
24+
"description": "Gets a list of managed database's Advanced Threat Protection states.",
25+
"operationId": "ManagedDatabaseAdvancedThreatProtectionSettings_ListByDatabase",
26+
"parameters": [
27+
{
28+
"$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
29+
},
30+
{
31+
"$ref": "#/parameters/ManagedInstanceNameParameter"
32+
},
33+
{
34+
"$ref": "#/parameters/DatabaseNameParameter"
35+
},
36+
{
37+
"$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
38+
},
39+
{
40+
"$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
41+
}
42+
],
43+
"responses": {
44+
"200": {
45+
"description": "Successfully retrieved the managed database Advanced Threat Protection states.",
46+
"schema": {
47+
"$ref": "#/definitions/ManagedDatabaseAdvancedThreatProtectionListResult"
48+
}
49+
},
50+
"default": {
51+
"description": "*** Error Responses: ***\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 AdvancedThreatProtectionInsufficientDiskSpace - Insufficient disk space to save the Advanced Threat Protection settings metadata in the database\n\n * 400 InvalidDatabaseAdvancedThreatProtectionCreateRequest - The create database Advanced Threat Protection request does not exist or has no properties object\n\n * 400 AdvancedThreatProtectionInvalidUserSuppliedParameter - An invalid parameter value was provided by the client\n\n * 400 UpsertDatabaseAdvancedThreatProtectionFailed - An error has occurred while saving Advanced Threat Protection settings, please try again later\n\n * 400 UpsertDatabaseAdvancedThreatProtectionFailed - An error has occurred while saving Advanced Threat Protection settings, please try again later\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 UpsertDatabaseAdvancedThreatProtectionFailed - An error has occurred while saving Advanced Threat Protection settings, please try again later\n\n * 409 DatabaseAdvancedThreatProtectionInProgress - Setting the database Advanced Threat Protection is already in progress\n\n * 409 UpsertDatabaseAdvancedThreatProtectionFailed - An error has occurred while saving Advanced Threat Protection settings, please try again later\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later.\n\n * 500 UpsertDatabaseAdvancedThreatProtectionFailed - An error has occurred while saving Advanced Threat Protection settings, please try again later\n\n * 500 GetDatabaseAdvancedThreatProtectionFailed - Failed to get Advanced Threat Protection settings"
52+
}
53+
},
54+
"x-ms-pageable": {
55+
"nextLinkName": "nextLink"
56+
},
57+
"x-ms-examples": {
58+
"Get a list of the managed database's Advanced Threat Protection settings.": {
59+
"$ref": "./examples/ManagedDatabaseAdvancedThreatProtectionSettingsListByDatabase.json"
60+
}
61+
}
62+
}
63+
},
64+
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/advancedThreatProtectionSettings/{advancedThreatProtectionName}": {
65+
"get": {
66+
"tags": [
67+
"ManagedDatabaseAdvancedThreatProtectionSettings"
68+
],
69+
"description": "Gets a managed database's Advanced Threat Protection state.",
70+
"operationId": "ManagedDatabaseAdvancedThreatProtectionSettings_Get",
71+
"parameters": [
72+
{
73+
"$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
74+
},
75+
{
76+
"$ref": "#/parameters/ManagedInstanceNameParameter"
77+
},
78+
{
79+
"$ref": "#/parameters/DatabaseNameParameter"
80+
},
81+
{
82+
"name": "advancedThreatProtectionName",
83+
"in": "path",
84+
"description": "The name of the Advanced Threat Protection state.",
85+
"required": true,
86+
"type": "string",
87+
"enum": [
88+
"Default"
89+
],
90+
"x-ms-enum": {
91+
"name": "AdvancedThreatProtectionName",
92+
"modelAsString": true
93+
}
94+
},
95+
{
96+
"$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
97+
},
98+
{
99+
"$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
100+
}
101+
],
102+
"responses": {
103+
"200": {
104+
"description": "Successfully retrieved the managed database's Advanced Threat Protection state.",
105+
"schema": {
106+
"$ref": "#/definitions/ManagedDatabaseAdvancedThreatProtection"
107+
}
108+
},
109+
"default": {
110+
"description": "*** Error Responses: ***\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 AdvancedThreatProtectionInsufficientDiskSpace - Insufficient disk space to save the Advanced Threat Protection settings metadata in the database\n\n * 400 InvalidDatabaseAdvancedThreatProtectionCreateRequest - The create database Advanced Threat Protection request does not exist or has no properties object\n\n * 400 AdvancedThreatProtectionInvalidUserSuppliedParameter - An invalid parameter value was provided by the client\n\n * 400 UpsertDatabaseAdvancedThreatProtectionFailed - An error has occurred while saving Advanced Threat Protection settings, please try again later\n\n * 400 UpsertDatabaseAdvancedThreatProtectionFailed - An error has occurred while saving Advanced Threat Protection settings, please try again later\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 UpsertDatabaseAdvancedThreatProtectionFailed - An error has occurred while saving Advanced Threat Protection settings, please try again later\n\n * 409 DatabaseAdvancedThreatProtectionInProgress - Setting the database Advanced Threat Protection is already in progress\n\n * 409 UpsertDatabaseAdvancedThreatProtectionFailed - An error has occurred while saving Advanced Threat Protection settings, please try again later\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later.\n\n * 500 UpsertDatabaseAdvancedThreatProtectionFailed - An error has occurred while saving Advanced Threat Protection settings, please try again later\n\n * 500 GetDatabaseAdvancedThreatProtectionFailed - Failed to get Advanced Threat Protection settings"
111+
}
112+
},
113+
"x-ms-examples": {
114+
"Get a managed database's Advanced Threat Protection settings.": {
115+
"$ref": "./examples/ManagedDatabaseAdvancedThreatProtectionSettingsGet.json"
116+
}
117+
}
118+
},
119+
"put": {
120+
"tags": [
121+
"ManagedDatabaseAdvancedThreatProtectionSettings"
122+
],
123+
"description": "Creates or updates a managed database's Advanced Threat Protection state.",
124+
"operationId": "ManagedDatabaseAdvancedThreatProtectionSettings_CreateOrUpdate",
125+
"parameters": [
126+
{
127+
"$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
128+
},
129+
{
130+
"$ref": "#/parameters/ManagedInstanceNameParameter"
131+
},
132+
{
133+
"$ref": "#/parameters/DatabaseNameParameter"
134+
},
135+
{
136+
"name": "advancedThreatProtectionName",
137+
"in": "path",
138+
"description": "The name of the Advanced Threat Protection state.",
139+
"required": true,
140+
"type": "string",
141+
"enum": [
142+
"Default"
143+
],
144+
"x-ms-enum": {
145+
"name": "AdvancedThreatProtectionName",
146+
"modelAsString": true
147+
}
148+
},
149+
{
150+
"name": "parameters",
151+
"in": "body",
152+
"description": "The managed database Advanced Threat Protection state.",
153+
"required": true,
154+
"schema": {
155+
"$ref": "#/definitions/ManagedDatabaseAdvancedThreatProtection"
156+
}
157+
},
158+
{
159+
"$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
160+
},
161+
{
162+
"$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
163+
}
164+
],
165+
"responses": {
166+
"200": {
167+
"description": "Successfully set the managed database Advanced Threat Protection state.",
168+
"schema": {
169+
"$ref": "#/definitions/ManagedDatabaseAdvancedThreatProtection"
170+
}
171+
},
172+
"default": {
173+
"description": "*** Error Responses: ***\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 AdvancedThreatProtectionInsufficientDiskSpace - Insufficient disk space to save the Advanced Threat Protection settings metadata in the database\n\n * 400 InvalidDatabaseAdvancedThreatProtectionCreateRequest - The create database Advanced Threat Protection request does not exist or has no properties object\n\n * 400 AdvancedThreatProtectionInvalidUserSuppliedParameter - An invalid parameter value was provided by the client\n\n * 400 UpsertDatabaseAdvancedThreatProtectionFailed - An error has occurred while saving Advanced Threat Protection settings, please try again later\n\n * 400 UpsertDatabaseAdvancedThreatProtectionFailed - An error has occurred while saving Advanced Threat Protection settings, please try again later\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 UpsertDatabaseAdvancedThreatProtectionFailed - An error has occurred while saving Advanced Threat Protection settings, please try again later\n\n * 409 DatabaseAdvancedThreatProtectionInProgress - Setting the database Advanced Threat Protection is already in progress\n\n * 409 UpsertDatabaseAdvancedThreatProtectionFailed - An error has occurred while saving Advanced Threat Protection settings, please try again later\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later.\n\n * 500 UpsertDatabaseAdvancedThreatProtectionFailed - An error has occurred while saving Advanced Threat Protection settings, please try again later\n\n * 500 GetDatabaseAdvancedThreatProtectionFailed - Failed to get Advanced Threat Protection settings"
174+
},
175+
"201": {
176+
"description": "Successfully created the managed database Advanced Threat Protection state.",
177+
"schema": {
178+
"$ref": "#/definitions/ManagedDatabaseAdvancedThreatProtection"
179+
}
180+
}
181+
},
182+
"x-ms-examples": {
183+
"Update a managed database's Advanced Threat Protection settings with minimal parameters": {
184+
"$ref": "./examples/ManagedDatabaseAdvancedThreatProtectionSettingsCreateMin.json"
185+
},
186+
"Update a managed database's Advanced Threat Protection settings with all parameters": {
187+
"$ref": "./examples/ManagedDatabaseAdvancedThreatProtectionSettingsCreateMax.json"
188+
}
189+
}
190+
}
191+
}
192+
},
193+
"definitions": {
194+
"AdvancedThreatProtectionProperties": {
195+
"description": "Properties of an Advanced Threat Protection state.",
196+
"required": [
197+
"state"
198+
],
199+
"type": "object",
200+
"properties": {
201+
"state": {
202+
"description": "Specifies the state of the Advanced Threat Protection, whether it is enabled or disabled or a state has not been applied yet on the specific database or server.",
203+
"enum": [
204+
"New",
205+
"Enabled",
206+
"Disabled"
207+
],
208+
"type": "string",
209+
"x-ms-enum": {
210+
"name": "AdvancedThreatProtectionState",
211+
"modelAsString": false
212+
}
213+
},
214+
"creationTime": {
215+
"format": "date-time",
216+
"description": "Specifies the UTC creation time of the policy.",
217+
"type": "string",
218+
"readOnly": true
219+
}
220+
}
221+
},
222+
"ManagedDatabaseAdvancedThreatProtection": {
223+
"description": "A managed database Advanced Threat Protection.",
224+
"type": "object",
225+
"allOf": [
226+
{
227+
"$ref": "../../../common/v1/types.json#/definitions/ProxyResource"
228+
}
229+
],
230+
"properties": {
231+
"systemData": {
232+
"$ref": "../../../common/v1/types.json#/definitions/systemData",
233+
"description": "SystemData of AdvancedThreatProtectionResource.",
234+
"readOnly": true
235+
},
236+
"properties": {
237+
"$ref": "#/definitions/AdvancedThreatProtectionProperties",
238+
"description": "Resource properties.",
239+
"x-ms-client-flatten": true
240+
}
241+
}
242+
},
243+
"ManagedDatabaseAdvancedThreatProtectionListResult": {
244+
"description": "A list of the managed database's Advanced Threat Protection settings.",
245+
"type": "object",
246+
"properties": {
247+
"value": {
248+
"description": "Array of results.",
249+
"type": "array",
250+
"items": {
251+
"$ref": "#/definitions/ManagedDatabaseAdvancedThreatProtection"
252+
},
253+
"readOnly": true
254+
},
255+
"nextLink": {
256+
"description": "Link to retrieve next page of results.",
257+
"type": "string",
258+
"readOnly": true
259+
}
260+
}
261+
}
262+
},
263+
"parameters": {
264+
"DatabaseNameParameter": {
265+
"name": "databaseName",
266+
"in": "path",
267+
"description": "The name of the database.",
268+
"required": true,
269+
"type": "string",
270+
"x-ms-parameter-location": "method"
271+
},
272+
"ManagedInstanceNameParameter": {
273+
"name": "managedInstanceName",
274+
"in": "path",
275+
"description": "The name of the managed instance.",
276+
"required": true,
277+
"type": "string",
278+
"x-ms-parameter-location": "method"
279+
}
280+
},
281+
"securityDefinitions": {
282+
"azure_auth": {
283+
"type": "oauth2",
284+
"description": "Azure Active Directory OAuth2 Flow",
285+
"flow": "implicit",
286+
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
287+
"scopes": {
288+
"user_impersonation": "impersonate your user account"
289+
}
290+
}
291+
}
292+
}

0 commit comments

Comments
 (0)