From d03fbbc041b1edfd5a3bc892b2e82707c928caab Mon Sep 17 00:00:00 2001 From: Brent Rusinow <44413020+brrusino@users.noreply.github.com> Date: Fri, 27 Oct 2023 11:39:16 -0700 Subject: [PATCH] Added back Chaos Studio private access resources mistakenly removed in merge (#26398) * added back private access * fix linting issue --------- Co-authored-by: James Duan --- .../CreateOrUpdateAPrivateAccess.json | 42 ++ .../examples/DeleteAPrivateAccess.json | 12 + .../examples/GetAPrivateAccess.json | 26 + ...GetAPrivateAccess_WithPrivateEndpoint.json | 45 ++ .../ListPrivateAccessInAResourceGroup.json | 58 +++ .../ListPrivateAccessInASubscription.json | 57 +++ ...ccessPrivateEndpointConnection_Delete.json | 18 + ...teAccessPrivateEndpointConnection_Get.json | 29 ++ ...ndpointConnection_ListByPrivateAccess.json | 32 ++ ...PrivateAccessPrivateLinkResources_Get.json | 30 ++ .../2023-10-27-preview/privateAccesses.json | 481 ++++++++++++++++++ .../types/privateAccesses.json | 96 ++++ .../chaos/resource-manager/readme.md | 1 + 13 files changed, 927 insertions(+) create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/CreateOrUpdateAPrivateAccess.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/DeleteAPrivateAccess.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/GetAPrivateAccess.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/GetAPrivateAccess_WithPrivateEndpoint.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/ListPrivateAccessInAResourceGroup.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/ListPrivateAccessInASubscription.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/PrivateAccessPrivateEndpointConnection_Delete.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/PrivateAccessPrivateEndpointConnection_Get.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/PrivateAccessPrivateEndpointConnection_ListByPrivateAccess.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/PrivateAccessPrivateLinkResources_Get.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/privateAccesses.json create mode 100644 specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/types/privateAccesses.json diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/CreateOrUpdateAPrivateAccess.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/CreateOrUpdateAPrivateAccess.json new file mode 100644 index 000000000000..8759e07de86b --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/CreateOrUpdateAPrivateAccess.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "myResourceGroup", + "api-version": "2023-10-27-preview", + "privateAccessName": "myPrivateAccess", + "privateAccess": { + "location": "centraluseuap", + "properties": {} + } + }, + "responses": { + "201": { + "header": {}, + "body": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourcegroup/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess", + "name": "myPrivateAccess", + "location": "centraluseuap", + "type": "Microsoft.Chaos/privateAccesses", + "properties": {}, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "lastModifiedAt": "2021-07-01T00:00:00.0Z" + } + } + }, + "200": { + "header": {}, + "body": { + "name": "myPrivateAccess", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourcegroup/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess", + "type": "Microsoft.Chaos/privateAccesses", + "location": "centraluseuap", + "properties": {}, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "lastModifiedAt": "2021-07-01T00:00:00.0Z" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/DeleteAPrivateAccess.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/DeleteAPrivateAccess.json new file mode 100644 index 000000000000..e6ea83a4213b --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/DeleteAPrivateAccess.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "myResourceGroup", + "privateAccessName": "myPrivateAccess", + "api-version": "2023-10-27-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/GetAPrivateAccess.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/GetAPrivateAccess.json new file mode 100644 index 000000000000..3ca183a35cb4 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/GetAPrivateAccess.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "myResourceGroup", + "api-version": "2023-10-27-preview", + "privateAccessName": "myPrivateAccess", + "privateAccess": { + "location": "centraluseuap" + } + }, + "responses": { + "200": { + "body": { + "name": "myPrivateAccess", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourcegroup/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess", + "type": "Microsoft.Chaos/privateAccesses", + "location": "centraluseuap", + "properties": {}, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "lastModifiedAt": "2021-07-01T00:00:00.0Z" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/GetAPrivateAccess_WithPrivateEndpoint.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/GetAPrivateAccess_WithPrivateEndpoint.json new file mode 100644 index 000000000000..12ef74ecbb93 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/GetAPrivateAccess_WithPrivateEndpoint.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "myResourceGroup", + "api-version": "2023-10-27-preview", + "privateAccessName": "myPrivateAccess", + "privateAccess": { + "location": "centraluseuap" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "privateEndpointConnections": [ + { + "name": "myPrivateAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "type": "Microsoft.Chaos/privateAccesses/PrivateEndpointConnections", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess/privateEndpoinConnections/myPrivateAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "actionsRequired": "None", + "description": "Auto-Approved", + "status": "Approved" + } + } + } + ] + }, + "type": "Microsoft.Chaos/privateAccesses", + "location": "centraluseuap", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/privateAccesses/myprivateAccess", + "name": "myPrivateAccess", + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "lastModifiedAt": "2021-07-01T00:00:00.0Z" + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/ListPrivateAccessInAResourceGroup.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/ListPrivateAccessInAResourceGroup.json new file mode 100644 index 000000000000..945188b6c01c --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/ListPrivateAccessInAResourceGroup.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "myResourceGroup", + "api-version": "2023-10-27-preview", + "continuationToken": null + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "type": "Microsoft.Chaos/privateAccesses", + "location": "centraluseuap", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess2", + "name": "myPrivateAccess2", + "properties": {}, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "lastModifiedAt": "2021-07-01T00:00:00.0Z" + } + }, + { + "properties": { + "privateEndpointConnections": [ + { + "name": "myPrivateAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "type": "Microsoft.Chaos/privateAccesses/PrivateEndpointConnections", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess/privateEndpoinConnections/myPrivateAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "actionsRequired": "None", + "description": "Auto-Approved", + "status": "Approved" + } + } + } + ] + }, + "type": "Microsoft.Chaos/privateAccesses", + "location": "centraluseuap", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess", + "name": "myPrivateAccess", + "systemData": { + "createdAt": "2021-08-01T00:00:00.0Z", + "lastModifiedAt": "2021-08-01T00:00:00.0Z" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/privateAccesses?continuationToken=&api-version=2023-10-27-preview" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/ListPrivateAccessInASubscription.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/ListPrivateAccessInASubscription.json new file mode 100644 index 000000000000..12a0432ff4c7 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/ListPrivateAccessInASubscription.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "api-version": "2023-10-27-preview", + "continuationToken": null + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "type": "Microsoft.Chaos/privateAccesses", + "location": "centraluseuap", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess2", + "name": "myPrivateAccess2", + "properties": {}, + "systemData": { + "createdAt": "2021-07-01T00:00:00.0Z", + "lastModifiedAt": "2021-07-01T00:00:00.0Z" + } + }, + { + "properties": { + "privateEndpointConnections": [ + { + "name": "myPrivateAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "type": "Microsoft.Chaos/privateAccesses/PrivateEndpointConnections", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup2/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess/privateEndpoinConnections/myPrivateAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup2/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "actionsRequired": "None", + "description": "Auto-Approved", + "status": "Approved" + } + } + } + ] + }, + "type": "Microsoft.Chaos/privateAccesses", + "location": "centraluseuap", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup2/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess", + "name": "myPrivateAccess", + "systemData": { + "createdAt": "2021-08-01T00:00:00.0Z", + "lastModifiedAt": "2021-08-01T00:00:00.0Z" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/privateAccesses?continuationToken=&api-version=2023-10-27-preview" + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/PrivateAccessPrivateEndpointConnection_Delete.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/PrivateAccessPrivateEndpointConnection_Delete.json new file mode 100644 index 000000000000..af71edb517d4 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/PrivateAccessPrivateEndpointConnection_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "myResourceGroup", + "privateAccessName": "myPrivateAccess", + "privateEndpointConnectionName": "myPrivateEndpointConnection", + "api-version": "2023-10-27-preview" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2023-10-27-preview", + "Location": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-10-27-preview" + } + }, + "204": {} + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/PrivateAccessPrivateEndpointConnection_Get.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/PrivateAccessPrivateEndpointConnection_Get.json new file mode 100644 index 000000000000..cfcfc4a62319 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/PrivateAccessPrivateEndpointConnection_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "myResourceGroup", + "api-version": "2023-10-27-preview", + "privateAccessName": "myPrivateAccess", + "privateEndpointConnectionName": "myPrivateEndpointConnection" + }, + "responses": { + "200": { + "body": { + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Chaos/privateAccesses/PrivateEndpointConnections", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess/privateEndpoinConnections/myPrivateEndpointConnection", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "actionsRequired": "None", + "description": "Auto-Approved", + "status": "Approved" + } + } + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/PrivateAccessPrivateEndpointConnection_ListByPrivateAccess.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/PrivateAccessPrivateEndpointConnection_ListByPrivateAccess.json new file mode 100644 index 000000000000..834332316030 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/PrivateAccessPrivateEndpointConnection_ListByPrivateAccess.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "myResourceGroup", + "api-version": "2023-10-27-preview", + "privateAccessName": "myPrivateAccess" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Chaos/privateAccesses/PrivateEndpointConnections", + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess/privateEndpoinConnections/myPrivateEndpointConnection", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "actionsRequired": "None", + "description": "Auto-Approved", + "status": "Approved" + } + } + } + ] + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/PrivateAccessPrivateLinkResources_Get.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/PrivateAccessPrivateLinkResources_Get.json new file mode 100644 index 000000000000..2e307141c331 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/examples/PrivateAccessPrivateLinkResources_Get.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291", + "resourceGroupName": "myResourceGroup", + "api-version": "2023-10-27-preview", + "privateAccessName": "myPrivateAccess" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/myResourceGroup/providers/Microsoft.Chaos/privateAccesses/myPrivateAccess/privateLinkResources/agents", + "name": "agents", + "type": "Microsoft.Chaos/privateAccesses/privateLinkResources", + "properties": { + "groupId": "agents", + "requiredMembers": [ + "privateAccess_1" + ], + "requiredZoneNames": [ + "privatelink.agents.core.windows.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/privateAccesses.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/privateAccesses.json new file mode 100644 index 000000000000..e71918496c8f --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/privateAccesses.json @@ -0,0 +1,481 @@ +{ + "swagger": "2.0", + "info": { + "title": "Chaos Management", + "version": "2023-10-27-preview", + "description": "Chaos Studio Private Accesses resource type." + }, + "schemes": [ + "https" + ], + "host": "management.azure.com", + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "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" + } + } + }, + "tags": [ + { + "name": "Operations" + }, + { + "name": "PrivateAccesses" + } + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/privateAccesses": { + "get": { + "description": "Get a list of private access resources in a subscription.", + "tags": [ + "PrivateAccesses" + ], + "operationId": "PrivateAccesses_ListAll", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/continuationToken" + } + ], + "responses": { + "200": { + "description": "List of Private Access resources returned if request was successful.", + "schema": { + "$ref": "./types/privateAccesses.json#/definitions/PrivateAccessListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all private accesses in a subscription.": { + "$ref": "./examples/ListPrivateAccessInASubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/privateAccesses": { + "get": { + "description": "Get a list of private access resources in a resource group.", + "tags": [ + "PrivateAccesses" + ], + "operationId": "PrivateAccesses_List", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "./types/common.json#/parameters/continuationToken" + } + ], + "responses": { + "200": { + "description": "List of private access resources returned if request was successful.", + "schema": { + "$ref": "./types/privateAccesses.json#/definitions/PrivateAccessListResult" + } + }, + "default": { + "description": "Error response returned if request was unsuccessful.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all private access in a resource group.": { + "$ref": "./examples/ListPrivateAccessInAResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/privateAccesses/{privateAccessName}": { + "get": { + "tags": [ + "PrivateAccesses" + ], + "operationId": "PrivateAccesses_Get", + "description": "Get a private access resource", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/PrivateAccessName" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "./types/privateAccesses.json#/definitions/PrivateAccess" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a private access resource": { + "$ref": "./examples/GetAPrivateAccess.json" + }, + "Get a private access resource with private endpoint": { + "$ref": "./examples/GetAPrivateAccess_WithPrivateEndpoint.json" + } + } + }, + "put": { + "tags": [ + "PrivateAccesses" + ], + "operationId": "PrivateAccesses_CreateOrUpdate", + "description": "Create or update a private access", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/PrivateAccessName" + }, + { + "name": "privateAccess", + "description": "private access resource to be created or updated.", + "in": "body", + "required": true, + "schema": { + "$ref": "./types/privateAccesses.json#/definitions/PrivateAccess" + } + } + ], + "responses": { + "201": { + "description": "Private access resource created successfully.", + "schema": { + "$ref": "./types/privateAccesses.json#/definitions/PrivateAccess" + } + }, + "200": { + "description": "Private Access resource updated successfully.", + "schema": { + "$ref": "./types/privateAccesses.json#/definitions/PrivateAccess" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update a private access resource": { + "$ref": "./examples/CreateOrUpdateAPrivateAccess.json" + } + } + }, + "delete": { + "tags": [ + "PrivateAccesses" + ], + "operationId": "PrivateAccesses_Delete", + "description": "Delete a private access", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/PrivateAccessName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "Resource deleted successfully." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a private access resource": { + "$ref": "./examples/DeleteAPrivateAccess.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/privateAccesses/{privateAccessName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateAccesses" + ], + "operationId": "PrivateAccesses_GetPrivateLinkResources", + "description": "Gets the private link resources possible under private access resource", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/PrivateAccessName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./types/privateAccesses.json#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all possible private link resources under private access resource.": { + "$ref": "./examples/PrivateAccessPrivateLinkResources_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/privateAccesses/{privateAccessName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateAccesses" + ], + "operationId": "PrivateAccesses_GetAPrivateEndpointConnection", + "description": "Gets information about a private endpoint connection under a private access resource.", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/PrivateAccessName" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get information about a private endpoint connection under a private access resource.": { + "$ref": "./examples/PrivateAccessPrivateEndpointConnection_Get.json" + } + } + }, + "delete": { + "tags": [ + "PrivateAccesses" + ], + "operationId": "PrivateAccesses_DeleteAPrivateEndpointConnection", + "description": "Deletes a private endpoint connection under a private access resource.", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/PrivateAccessName" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "202": { + "description": "Asynchronous delete operation.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource is deleted already." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a private endpoint connection under a private access resource.": { + "$ref": "./examples/PrivateAccessPrivateEndpointConnection_Delete.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/privateAccesses/{privateAccessName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateAccesses" + ], + "operationId": "PrivateAccesses_ListPrivateEndpointConnections", + "description": "List information about private endpoint connections under a private access resource", + "parameters": [ + { + "$ref": "./types/common.json#/parameters/apiVersion" + }, + { + "$ref": "./types/common.json#/parameters/subscriptionId" + }, + { + "$ref": "./types/common.json#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/PrivateAccessName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./types/privateAccesses.json#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List all private endpoint connections under a private access resource.": { + "$ref": "./examples/PrivateAccessPrivateEndpointConnection_ListByPrivateAccess.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "parameters": { + "PrivateAccessName": { + "name": "privateAccessName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[^<>%&:?#/\\\\]+$", + "minLength": 1, + "description": "The name of the private access resource that is being created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters.", + "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionName": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[^<>%&:?#/\\\\]+$", + "description": "The name of the private endpoint connection.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/types/privateAccesses.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/types/privateAccesses.json new file mode 100644 index 000000000000..05d5f6c29856 --- /dev/null +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/types/privateAccesses.json @@ -0,0 +1,96 @@ +{ + "swagger": "2.0", + "info": { + "title": "PrivateAccesses types", + "version": "2023-10-27-preview" + }, + "paths": {}, + "definitions": { + "PrivateAccess": { + "type": "object", + "description": "PrivateAccesses tracked resource.", + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PrivateAccessProperties", + "x-ms-client-flatten": true, + "description": "The resource-specific properties for this resource." + } + }, + "required": [ + "properties" + ] + }, + "PrivateAccessProperties": { + "type": "object", + "description": "The properties of a private access resource", + "properties": { + "privateEndpointConnections": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "../../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "A readonly collection of private endpoint connection. Currently only one endpoint connection is supported." + } + } + }, + "PrivateAccessListResult": { + "type": "object", + "description": "Model that represents a list of private access resources and a link for pagination.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateAccess" + }, + "description": "List of private access resources.", + "readOnly": true + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "URL to retrieve the next page of private access resources.", + "readOnly": true + } + } + }, + "PrivateLinkResourceListResult": { + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "../../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateLinkResource" + } + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "The uri to fetch the next page of snapshots. Call ListNext() with this to fetch the next page of snapshots.", + "readOnly": true + } + }, + "description": "A list of private link resources" + }, + "PrivateEndpointConnectionListResult": { + "properties": { + "value": { + "type": "array", + "description": "Array of private endpoint connections", + "items": { + "$ref": "../../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "nextLink": { + "$ref": "./common.json#/definitions/urlNullable", + "description": "The uri to fetch the next page of snapshots. Call ListNext() with this to fetch the next page of snapshots.", + "readOnly": true + } + }, + "description": "A list of private link resources" + } + } +} diff --git a/specification/chaos/resource-manager/readme.md b/specification/chaos/resource-manager/readme.md index 9287637ba42d..1a7999056386 100644 --- a/specification/chaos/resource-manager/readme.md +++ b/specification/chaos/resource-manager/readme.md @@ -94,6 +94,7 @@ input-file: - Microsoft.Chaos/preview/2023-10-27-preview/experiments.json - Microsoft.Chaos/preview/2023-10-27-preview/operationStatuses.json - Microsoft.Chaos/preview/2023-10-27-preview/operations.json + - Microsoft.Chaos/preview/2023-10-27-preview/privateAccesses.json - Microsoft.Chaos/preview/2023-10-27-preview/targetTypes.json - Microsoft.Chaos/preview/2023-10-27-preview/targets.json directive: