Skip to content

Commit 9cfdd25

Browse files
Charan000Charan MVS
and
Charan MVS
authored
Adding ResourceGuardProxy APIs to Microsoft.Dataprotection latest stable version (#22574)
* manual swagger fix adding change to newer version ResourceGuardProxy APIs and example fixing parameter refs fixing refs incorrect ref fixes pattern for resourceGuardProxyName param semantic fixes * warning fixes --------- Co-authored-by: Charan MVS <[email protected]>
1 parent 5643503 commit 9cfdd25

File tree

6 files changed

+508
-0
lines changed

6 files changed

+508
-0
lines changed

specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json

Lines changed: 366 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3456,6 +3456,280 @@
34563456
}
34573457
}
34583458
}
3459+
},
3460+
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupResourceGuardProxies": {
3461+
"get": {
3462+
"tags": [
3463+
"DppResourceGuardProxies"
3464+
],
3465+
"summary": "Returns the list of ResourceGuardProxies associated with the vault",
3466+
"operationId": "DppResourceGuardProxy_List",
3467+
"produces": [
3468+
"application/json"
3469+
],
3470+
"parameters": [
3471+
{
3472+
"$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
3473+
},
3474+
{
3475+
"$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
3476+
},
3477+
{
3478+
"$ref": "#/parameters/VaultName"
3479+
},
3480+
{
3481+
"$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
3482+
}
3483+
],
3484+
"responses": {
3485+
"200": {
3486+
"description": "OK",
3487+
"schema": {
3488+
"$ref": "#/definitions/ResourceGuardProxyBaseResourceList"
3489+
}
3490+
},
3491+
"default": {
3492+
"description": "Error response describing why the operation failed.",
3493+
"schema": {
3494+
"$ref": "#/definitions/CloudError"
3495+
}
3496+
}
3497+
},
3498+
"x-ms-pageable": {
3499+
"nextLinkName": "nextLink"
3500+
},
3501+
"x-ms-examples": {
3502+
"Get ResourceGuardProxies": {
3503+
"$ref": "./examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json"
3504+
}
3505+
}
3506+
}
3507+
},
3508+
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupResourceGuardProxies/{resourceGuardProxyName}": {
3509+
"get": {
3510+
"tags": [
3511+
"DppResourceGuardProxies"
3512+
],
3513+
"summary": "Returns the ResourceGuardProxy object associated with the vault, and that matches the name in the request",
3514+
"operationId": "DppResourceGuardProxy_Get",
3515+
"produces": [
3516+
"application/json"
3517+
],
3518+
"parameters": [
3519+
{
3520+
"$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
3521+
},
3522+
{
3523+
"$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
3524+
},
3525+
{
3526+
"$ref": "#/parameters/VaultName"
3527+
},
3528+
{
3529+
"name": "resourceGuardProxyName",
3530+
"description": "name of the resource guard proxy",
3531+
"in": "path",
3532+
"required": true,
3533+
"type": "string",
3534+
"pattern": "^[A-Za-z0-9]*$"
3535+
},
3536+
{
3537+
"$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
3538+
}
3539+
],
3540+
"responses": {
3541+
"200": {
3542+
"description": "OK",
3543+
"schema": {
3544+
"$ref": "#/definitions/ResourceGuardProxyBaseResource"
3545+
}
3546+
},
3547+
"default": {
3548+
"description": "Error response describing why the operation failed.",
3549+
"schema": {
3550+
"$ref": "#/definitions/CloudError"
3551+
}
3552+
}
3553+
},
3554+
"x-ms-examples": {
3555+
"Get ResourceGuardProxy": {
3556+
"$ref": "./examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json"
3557+
}
3558+
}
3559+
},
3560+
"put": {
3561+
"tags": [
3562+
"DppResourceGuardProxies"
3563+
],
3564+
"summary": "Creates or Updates a ResourceGuardProxy",
3565+
"operationId": "DppResourceGuardProxy_CreateOrUpdate",
3566+
"produces": [
3567+
"application/json"
3568+
],
3569+
"parameters": [
3570+
{
3571+
"$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
3572+
},
3573+
{
3574+
"$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
3575+
},
3576+
{
3577+
"$ref": "#/parameters/VaultName"
3578+
},
3579+
{
3580+
"name": "resourceGuardProxyName",
3581+
"description": "name of the resource guard proxy",
3582+
"in": "path",
3583+
"required": true,
3584+
"type": "string",
3585+
"pattern": "^[A-Za-z0-9]*$"
3586+
},
3587+
{
3588+
"$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
3589+
},
3590+
{
3591+
"name": "parameters",
3592+
"in": "body",
3593+
"description": "Request body for operation",
3594+
"required": true,
3595+
"schema": {
3596+
"$ref": "#/definitions/ResourceGuardProxyBaseResource"
3597+
}
3598+
}
3599+
],
3600+
"responses": {
3601+
"200": {
3602+
"description": "OK",
3603+
"schema": {
3604+
"$ref": "#/definitions/ResourceGuardProxyBaseResource"
3605+
}
3606+
},
3607+
"default": {
3608+
"description": "Error response describing why the operation failed.",
3609+
"schema": {
3610+
"$ref": "#/definitions/CloudError"
3611+
}
3612+
}
3613+
},
3614+
"x-ms-examples": {
3615+
"Create ResourceGuardProxy": {
3616+
"$ref": "./examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json"
3617+
}
3618+
}
3619+
},
3620+
"delete": {
3621+
"tags": [
3622+
"DppResourceGuardProxies"
3623+
],
3624+
"summary": "Deletes the ResourceGuardProxy",
3625+
"operationId": "DppResourceGuardProxy_Delete",
3626+
"produces": [
3627+
"application/json"
3628+
],
3629+
"parameters": [
3630+
{
3631+
"$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
3632+
},
3633+
{
3634+
"$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
3635+
},
3636+
{
3637+
"$ref": "#/parameters/VaultName"
3638+
},
3639+
{
3640+
"name": "resourceGuardProxyName",
3641+
"description": "name of the resource guard proxy",
3642+
"in": "path",
3643+
"required": true,
3644+
"type": "string",
3645+
"pattern": "^[A-Za-z0-9]*$"
3646+
},
3647+
{
3648+
"$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
3649+
}
3650+
],
3651+
"responses": {
3652+
"200": {
3653+
"description": "OK"
3654+
},
3655+
"204": {
3656+
"description": "NoContent"
3657+
},
3658+
"default": {
3659+
"description": "Error response describing why the operation failed.",
3660+
"schema": {
3661+
"$ref": "#/definitions/CloudError"
3662+
}
3663+
}
3664+
},
3665+
"x-ms-examples": {
3666+
"Delete ResourceGuardProxy": {
3667+
"$ref": "./examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json"
3668+
}
3669+
}
3670+
}
3671+
},
3672+
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupResourceGuardProxies/{resourceGuardProxyName}/unlockDelete": {
3673+
"post": {
3674+
"tags": [
3675+
"DppResourceGuardProxies"
3676+
],
3677+
"summary": "UnlockDelete call for ResourceGuardProxy, executed before one can delete it",
3678+
"operationId": "DppResourceGuardProxy_UnlockDelete",
3679+
"produces": [
3680+
"application/json"
3681+
],
3682+
"parameters": [
3683+
{
3684+
"$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter"
3685+
},
3686+
{
3687+
"$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter"
3688+
},
3689+
{
3690+
"$ref": "#/parameters/VaultName"
3691+
},
3692+
{
3693+
"name": "resourceGuardProxyName",
3694+
"description": "name of the resource guard proxy",
3695+
"in": "path",
3696+
"required": true,
3697+
"type": "string",
3698+
"pattern": "^[A-Za-z0-9]*$"
3699+
},
3700+
{
3701+
"$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter"
3702+
},
3703+
{
3704+
"name": "parameters",
3705+
"in": "body",
3706+
"description": "Request body for operation",
3707+
"required": true,
3708+
"schema": {
3709+
"$ref": "#/definitions/UnlockDeleteRequest"
3710+
}
3711+
}
3712+
],
3713+
"responses": {
3714+
"200": {
3715+
"description": "OK",
3716+
"schema": {
3717+
"$ref": "#/definitions/UnlockDeleteResponse"
3718+
}
3719+
},
3720+
"default": {
3721+
"description": "Error response describing why the operation failed.",
3722+
"schema": {
3723+
"$ref": "#/definitions/CloudError"
3724+
}
3725+
}
3726+
},
3727+
"x-ms-examples": {
3728+
"UnlockDelete ResourceGuardProxy": {
3729+
"$ref": "./examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json"
3730+
}
3731+
}
3732+
}
34593733
}
34603734
},
34613735
"definitions": {
@@ -6973,6 +7247,98 @@
69737247
}
69747248
}
69757249
}
7250+
},
7251+
"ResourceGuardOperationDetail": {
7252+
"description": "VaultCritical Operation protected by a resource guard",
7253+
"type": "object",
7254+
"properties": {
7255+
"vaultCriticalOperation": {
7256+
"type": "string"
7257+
},
7258+
"defaultResourceRequest": {
7259+
"type": "string"
7260+
}
7261+
}
7262+
},
7263+
"ResourceGuardProxyBase": {
7264+
"description": "ResourceGuardProxyBase object, used in ResourceGuardProxyBaseResource",
7265+
"type": "object",
7266+
"properties": {
7267+
"resourceGuardResourceId": {
7268+
"type": "string"
7269+
},
7270+
"resourceGuardOperationDetails": {
7271+
"type": "array",
7272+
"items": {
7273+
"$ref": "#/definitions/ResourceGuardOperationDetail"
7274+
},
7275+
"x-ms-identifiers": []
7276+
},
7277+
"lastUpdatedTime": {
7278+
"type": "string"
7279+
},
7280+
"description": {
7281+
"type": "string"
7282+
}
7283+
}
7284+
},
7285+
"ResourceGuardProxyBaseResource": {
7286+
"description": "ResourceGuardProxyBaseResource object, used for response and request bodies for ResourceGuardProxy APIs",
7287+
"type": "object",
7288+
"allOf": [
7289+
{
7290+
"$ref": "#/definitions/DppResource"
7291+
}
7292+
],
7293+
"properties": {
7294+
"properties": {
7295+
"$ref": "#/definitions/ResourceGuardProxyBase",
7296+
"description": "ResourceGuardProxyBaseResource properties"
7297+
}
7298+
}
7299+
},
7300+
"ResourceGuardProxyBaseResourceList": {
7301+
"description": "List of ResourceGuardProxyBase resources",
7302+
"type": "object",
7303+
"allOf": [
7304+
{
7305+
"$ref": "#/definitions/DppResourceList"
7306+
}
7307+
],
7308+
"properties": {
7309+
"value": {
7310+
"description": "List of resources.",
7311+
"type": "array",
7312+
"items": {
7313+
"$ref": "#/definitions/ResourceGuardProxyBaseResource"
7314+
}
7315+
}
7316+
}
7317+
},
7318+
"UnlockDeleteRequest": {
7319+
"description": "Request body of unlock delete API.",
7320+
"type": "object",
7321+
"properties": {
7322+
"resourceGuardOperationRequests": {
7323+
"type": "array",
7324+
"items": {
7325+
"type": "string"
7326+
}
7327+
},
7328+
"resourceToBeDeleted": {
7329+
"type": "string"
7330+
}
7331+
}
7332+
},
7333+
"UnlockDeleteResponse": {
7334+
"description": "Response of Unlock Delete API.",
7335+
"type": "object",
7336+
"properties": {
7337+
"unlockDeleteExpiryTime": {
7338+
"description": "This is the time when unlock delete privileges will get expired.",
7339+
"type": "string"
7340+
}
7341+
}
69767342
}
69777343
},
69787344
"parameters": {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"parameters": {
3+
"subscriptionId": "5e13b949-1218-4d18-8b99-7e12155ec4f7",
4+
"vaultName": "sampleVault",
5+
"resourceGroupName": "SampleResourceGroup",
6+
"resourceGuardProxyName": "swaggerExample",
7+
"api-version": "2023-01-01"
8+
},
9+
"responses": {
10+
"200": {},
11+
"204": {}
12+
}
13+
}

0 commit comments

Comments
 (0)