Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -3916,6 +3916,263 @@
}
}
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupResourceGuardProxies": {
"get": {
"tags": [
"ResourceGuardProxies"
],
"description": "List the ResourceGuardProxies under vault",
"operationId": "ResourceGuardProxies_Get",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/ResourceGuardProxyBaseResourceList"
}
},
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
"$ref": "#/definitions/CloudError"
}
}
},
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
"x-ms-examples": {
"Get VaultGuardProxies": {
"$ref": "./examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json"
}
}
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupResourceGuardProxies/{resourceGuardProxyName}": {
"get": {
"tags": [
"ResourceGuardProxy"
],
"description": "Returns ResourceGuardProxy under vault and with the name referenced in request",
"operationId": "ResourceGuardProxy_Get",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "resourceGuardProxyName",
"in": "path",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/ResourceGuardProxyBaseResource"
}
},
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
"$ref": "#/definitions/CloudError"
}
}
},
"x-ms-examples": {
"Get ResourceGuardProxy": {
"$ref": "./examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json"
}
}
},
"put": {
"tags": [
"ResourceGuardProxy"
],
"description": "Add or Update ResourceGuardProxy under vault\r\nSecures vault critical operations",
"operationId": "ResourceGuardProxy_Put",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "resourceGuardProxyName",
"in": "path",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/ResourceGuardProxyBaseResource"
}
},
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
"$ref": "#/definitions/CloudError"
}
}
},
"x-ms-examples": {
"Create ResourceGuardProxy": {
"$ref": "./examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json"
}
}
},
"delete": {
"tags": [
"ResourceGuardProxy"
],
"description": "Delete ResourceGuardProxy under vault",
"operationId": "ResourceGuardProxy_Delete",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "resourceGuardProxyName",
"in": "path",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK"
},
"204": {
"description": "NoContent"
},
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
"$ref": "#/definitions/CloudError"
}
}
},
"x-ms-examples": {
"Delete ResourceGuardProxy": {
"$ref": "./examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json"
}
}
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupResourceGuardProxies/{resourceGuardProxyName}/unlockDelete": {
"post": {
"tags": [
"ResourceGuardProxy"
],
"description": "Secures delete ResourceGuardProxy operations.",
"operationId": "ResourceGuardProxy_UnlockDelete",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
},
{
"$ref": "#/parameters/VaultName"
},
{
"$ref": "#/parameters/ResourceGroupName"
},
{
"$ref": "#/parameters/SubscriptionId"
},
{
"name": "resourceGuardProxyName",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "parameters",
"in": "body",
"description": "Request body for operation",
"required": true,
"schema": {
"$ref": "#/definitions/UnlockDeleteRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/UnlockDeleteResponse"
}
},
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
"$ref": "#/definitions/CloudError"
}
}
},
"x-ms-examples": {
"UnlockDelete ResourceGuardProxy": {
"$ref": "./examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json"
}
}
}
}
},
"definitions": {
Expand Down Expand Up @@ -8315,6 +8572,13 @@
"name": "SoftDeleteFeatureState",
"modelAsString": true
}
},
"resourceGuardOperationRequests": {
"description": "ResourceGuard Operation Requests",
"type": "array",
"items": {
"type": "string"
}
}
}
},
Expand Down Expand Up @@ -11235,6 +11499,87 @@
}
}
}
},
"UnlockDeleteRequest": {
"description": "Request body of unlock delete API.",
"type": "object",
"properties": {
"resourceGuardOperationRequests": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"UnlockDeleteResponse": {
"description": "Response of Unlock Delete API.",
"type": "object",
"properties": {
"unlockDeleteExpiryTime": {
"description": "This is the time when unlock delete privileges will get expired.",
"type": "string"
}
}
},
"ResourceGuardOperationDetail": {
"type": "object",
"properties": {
"vaultCriticalOperation": {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can any of these properties be enums? read only?

"type": "string"
},
"defaultResourceRequest": {
"type": "string"
}
}
},
"ResourceGuardProxyBase": {
"type": "object",
"properties": {
"resourceGuardResourceId": {
"type": "string"
},
"resourceGuardOperationDetails": {
"type": "array",
"items": {
"$ref": "#/definitions/ResourceGuardOperationDetail"
}
},
"lastUpdatedTime": {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mark properties as readonly where ever applicable. lastUpdatedTime isnt a property that customer can set. Please mark this and any other such as readOnly

"type": "string"
}
}
},
"ResourceGuardProxyBaseResource": {
"allOf": [
{
"$ref": "#/definitions/Resource"
}
],
"properties": {
"properties": {
"$ref": "#/definitions/ResourceGuardProxyBase",
"description": "ResourceGuardProxyBaseResource properties"
}
}
},
"ResourceGuardProxyBaseResourceList": {
"description": "List of ResourceGuardProxyBase resources",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/ResourceList"
}
],
"properties": {
"value": {
"description": "List of resources.",
"type": "array",
"items": {
"$ref": "#/definitions/ResourceGuardProxyBaseResource"
}
}
}
}
},
"parameters": {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"parameters": {
"subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
"vaultName": "sampleVault",
"resourceGroupName": "SampleResourceGroup",
"resourceGuardProxyName": "swaggerExample",
"api-version": "2021-02-01-preview"
},
"responses": {
"200": {},
"204": {}
}
}
Loading