From 4c7c49d7a02cb9d57fd6163b1e9090d41a5495b0 Mon Sep 17 00:00:00 2001 From: Xiaofan Zhou <81600993+xfz11@users.noreply.github.com> Date: Mon, 4 Sep 2023 11:42:09 +0800 Subject: [PATCH 1/6] add or modify files --- .../examples/ConfigurationNamesList.json | 52 + .../examples/ConnectorDryrunCreate.json | 116 + .../examples/ConnectorDryrunDelete.json | 13 + .../examples/ConnectorDryrunGet.json | 33 + .../examples/ConnectorDryrunList.json | 36 + .../examples/ConnectorDryrunUpdate.json | 78 + .../examples/ConnectorList.json | 34 + .../examples/Connectors.json | 43 + .../examples/DeleteConnector.json | 18 + .../examples/DeleteDryrun.json | 11 + .../examples/DeleteLinker.json | 16 + .../examples/GenerateConfigurations.json | 26 + .../examples/GetConfigurations.json | 19 + .../examples/GetDryrun.json | 32 + .../2023-04-01-preview/examples/Linker.json | 47 + .../LinkerGenerateConfigurations.json | 24 + .../examples/LinkerList.json | 32 + .../examples/ListDryrun.json | 35 + .../examples/OperationsList.json | 184 ++ .../examples/PatchConnector.json | 64 + .../examples/PatchDryrun.json | 77 + .../examples/PatchLinker.json | 59 + .../examples/PutConnector.json | 63 + .../examples/PutDryrun.json | 116 + .../examples/PutLinker.json | 68 + .../examples/ValidateConnectorSuccess.json | 38 + .../examples/ValidateLinkerSuccess.json | 38 + .../2023-04-01-preview/servicelinker.json | 2687 +++++++++++++++++ .../servicelinker/resource-manager/readme.md | 23 +- 29 files changed, 4079 insertions(+), 3 deletions(-) create mode 100644 specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ConfigurationNamesList.json create mode 100644 specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ConnectorDryrunCreate.json create mode 100644 specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ConnectorDryrunDelete.json create mode 100644 specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ConnectorDryrunGet.json create mode 100644 specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ConnectorDryrunList.json create mode 100644 specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ConnectorDryrunUpdate.json create mode 100644 specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ConnectorList.json create mode 100644 specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/Connectors.json create mode 100644 specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/DeleteConnector.json create mode 100644 specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/DeleteDryrun.json create mode 100644 specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/DeleteLinker.json create mode 100644 specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/GenerateConfigurations.json create mode 100644 specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/GetConfigurations.json create mode 100644 specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/GetDryrun.json create mode 100644 specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/Linker.json create mode 100644 specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/LinkerGenerateConfigurations.json create mode 100644 specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/LinkerList.json create mode 100644 specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ListDryrun.json create mode 100644 specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/OperationsList.json create mode 100644 specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/PatchConnector.json create mode 100644 specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/PatchDryrun.json create mode 100644 specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/PatchLinker.json create mode 100644 specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/PutConnector.json create mode 100644 specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/PutDryrun.json create mode 100644 specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/PutLinker.json create mode 100644 specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ValidateConnectorSuccess.json create mode 100644 specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ValidateLinkerSuccess.json create mode 100644 specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/servicelinker.json diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ConfigurationNamesList.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ConfigurationNamesList.json new file mode 100644 index 000000000000..5bc65903c540 --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ConfigurationNamesList.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "targetService": "MICROSOFT.APPCONFIGURATION/CONFIGURATIONSTORES", + "clientType": "none", + "authType": "systemAssignedIdentity", + "names": [ + { + "value": "AZURE_APPCONFIGURATION_ENDPOINT", + "description": "App configuration endpoint" + }, + { + "value": "AZURE_APPCONFIGURATION_SCOPE", + "description": "The scopes required for the token." + } + ] + } + }, + { + "properties": { + "targetService": "MICROSOFT.APPCONFIGURATION/CONFIGURATIONSTORES", + "clientType": "none", + "authType": "userAssignedIdentity", + "names": [ + { + "value": "AZURE_APPCONFIGURATION_ENDPOINT", + "description": "App configuration endpoint" + }, + { + "value": "AZURE_APPCONFIGURATION_CLIENTID", + "description": "The client(application) ID of the user identity." + }, + { + "value": "AZURE_APPCONFIGURATION_SCOPE", + "description": "The scopes required for getting token." + } + ] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ConnectorDryrunCreate.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ConnectorDryrunCreate.json new file mode 100644 index 000000000000..124a0c574565 --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ConnectorDryrunCreate.json @@ -0,0 +1,116 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "location": "westus", + "dryrunName": "dryrunName", + "parameters": { + "properties": { + "parameters": { + "actionName": "createOrUpdate", + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + }, + "authInfo": { + "authType": "secret", + "name": "name", + "secretInfo": { + "secretType": "rawValue", + "value": "secret" + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "dryrunName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.ServiceLinker/locations/westus/dryruns/dryrunName", + "properties": { + "parameters": { + "actionName": "createOrUpdate", + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + }, + "authInfo": { + "authType": "secret", + "name": "name" + } + }, + "prerequisiteResults": [ + { + "type": "basicError", + "code": "ResourceNotFound", + "message": "Target resource is not found" + }, + { + "type": "permissionsMissing", + "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc", + "permissions": [ + "Microsoft.DocumentDb/databaseAccounts/write" + ] + } + ], + "operationPreviews": [ + { + "name": "configFirewallRule", + "operationType": "configNetwork", + "description": "Config firewall rule for target service to allow source service access", + "action": "Microsoft.DocumentDb/databaseAccounts/write", + "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc" + } + ], + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "name": "dryrunName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.ServiceLinker/locations/westus/dryruns/dryrunName", + "properties": { + "parameters": { + "actionName": "createOrUpdate", + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + }, + "authInfo": { + "authType": "secret", + "name": "name" + } + }, + "prerequisiteResults": [ + { + "type": "basicError", + "code": "ResourceNotFound", + "message": "Target resource is not found" + }, + { + "type": "permissionsMissing", + "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc", + "permissions": [ + "Microsoft.DocumentDb/databaseAccounts/write" + ] + } + ], + "operationPreviews": [ + { + "name": "configFirewallRule", + "operationType": "configNetwork", + "description": "Config firewall rule for target service to allow source service access", + "action": "Microsoft.DocumentDb/databaseAccounts/write", + "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc" + } + ], + "provisioningState": "Accepted" + } + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ConnectorDryrunDelete.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ConnectorDryrunDelete.json new file mode 100644 index 000000000000..2ee66585cb7e --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ConnectorDryrunDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "location": "westus", + "dryrunName": "dryrunName" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ConnectorDryrunGet.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ConnectorDryrunGet.json new file mode 100644 index 000000000000..92f012ac8137 --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ConnectorDryrunGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "location": "westus", + "dryrunName": "dryrunName" + }, + "responses": { + "200": { + "body": { + "name": "dryrunName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.ServiceLinker/locations/westus/dryruns/dryrunName", + "properties": { + "parameters": { + "actionName": "createOrUpdate", + "authInfo": { + "authType": "secret", + "name": "username" + }, + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + } + } + }, + "systemData": { + "createdAt": "2020-07-12T22:05:09Z" + } + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ConnectorDryrunList.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ConnectorDryrunList.json new file mode 100644 index 000000000000..4b2fdc4baa66 --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ConnectorDryrunList.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "location": "westus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "dryrunName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.ServiceLinker/locations/westus/dryruns/dryrunName", + "properties": { + "parameters": { + "actionName": "createOrUpdate", + "authInfo": { + "authType": "secret", + "name": "username" + }, + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + } + } + }, + "systemData": { + "createdAt": "2020-07-12T22:05:09Z" + } + } + ] + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ConnectorDryrunUpdate.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ConnectorDryrunUpdate.json new file mode 100644 index 000000000000..8267626fd374 --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ConnectorDryrunUpdate.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "location": "westus", + "dryrunName": "dryrunName", + "parameters": { + "properties": { + "parameters": { + "actionName": "createOrUpdate", + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + }, + "authInfo": { + "authType": "secret", + "name": "name", + "secretInfo": { + "secretType": "rawValue", + "value": "secret" + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "dryrunName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.ServiceLinker/locations/westus/dryruns/dryrunName", + "properties": { + "parameters": { + "actionName": "createOrUpdate", + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + }, + "authInfo": { + "authType": "secret", + "name": "name" + } + }, + "prerequisiteResults": [ + { + "type": "basicError", + "code": "ResourceNotFound", + "message": "Target resource is not found" + }, + { + "type": "permissionsMissing", + "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc", + "permissions": [ + "Microsoft.DocumentDb/databaseAccounts/write" + ] + } + ], + "operationPreviews": [ + { + "name": "configFirewallRule", + "operationType": "configNetwork", + "description": "Config firewall rule for target service to allow source service access", + "action": "Microsoft.DocumentDb/databaseAccounts/write", + "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc" + } + ], + "provisioningState": "Succeeded" + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "http://azure.async.operation/status" + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ConnectorList.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ConnectorList.json new file mode 100644 index 000000000000..b5664c15c000 --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ConnectorList.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "location": "westus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.ServiceLinker/linkers/linkName", + "name": "linkName", + "type": "Microsoft.ServiceLinker/devConnectors", + "properties": { + "authInfo": { + "authType": "secret", + "name": "username" + }, + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + } + }, + "systemData": { + "createdAt": "2020-07-12T22:05:09Z" + } + } + ] + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/Connectors.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/Connectors.json new file mode 100644 index 000000000000..4cfeb7d61b2f --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/Connectors.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "location": "westus", + "connectorName": "connectorName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.ServiceLinker/devConnnectors/linkName", + "name": "linkName", + "type": "Microsoft.ServiceLinker/devConnectors", + "properties": { + "authInfo": { + "authType": "systemAssignedIdentity", + "roles": [ + "customizedOwner" + ] + }, + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + }, + "publicNetworkSolution": { + "firewallRules": { + "ipRanges": [ + "182.22.120" + ], + "callerClientIP": "true" + }, + "action": "enable", + "deleteOrUpdateBehavior": "ForcedCleanup" + } + }, + "systemData": { + "createdAt": "2020-07-12T22:05:09Z" + } + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/DeleteConnector.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/DeleteConnector.json new file mode 100644 index 000000000000..f0340dfb4dfb --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/DeleteConnector.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "location": "westus", + "connectorName": "connectorName" + }, + "responses": { + "200": {}, + "204": {}, + "202": { + "headers": { + "azure-AsyncOperation": "http://azure.async.operation/status" + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/DeleteDryrun.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/DeleteDryrun.json new file mode 100644 index 000000000000..b406311af609 --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/DeleteDryrun.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", + "dryrunName": "dryrunName" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/DeleteLinker.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/DeleteLinker.json new file mode 100644 index 000000000000..c49d99a9b09e --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/DeleteLinker.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", + "linkerName": "linkName" + }, + "responses": { + "200": {}, + "204": {}, + "202": { + "headers": { + "azure-AsyncOperation": "http://azure.async.operation/status" + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/GenerateConfigurations.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/GenerateConfigurations.json new file mode 100644 index 000000000000..3e367d73b9a3 --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/GenerateConfigurations.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "location": "westus", + "connectorName": "connectorName", + "parameters": { + "customizedKeys": { + "ASL_DocumentDb_ConnectionString": "MyConnectionstring" + } + } + }, + "responses": { + "200": { + "body": { + "configurations": [ + { + "name": "MyConnectionstring", + "value": "ConnectionString" + } + ] + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/GetConfigurations.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/GetConfigurations.json new file mode 100644 index 000000000000..d7c7d341fac7 --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/GetConfigurations.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", + "linkerName": "linkName" + }, + "responses": { + "200": { + "body": { + "configurations": [ + { + "name": "ASL_DocumentDb_ConnectionString", + "value": "ConnectionString" + } + ] + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/GetDryrun.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/GetDryrun.json new file mode 100644 index 000000000000..8a5d7404edd0 --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/GetDryrun.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", + "dryrunName": "dryrunName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app/providers/Microsoft.ServiceLinker/dryruns/dryrunName", + "name": "dryrunName", + "type": "Microsoft.ServiceLinker/dryruns", + "properties": { + "parameters": { + "actionName": "createOrUpdate", + "authInfo": { + "authType": "secret", + "name": "username" + }, + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + } + } + }, + "systemData": { + "createdAt": "2020-07-12T22:05:09Z" + } + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/Linker.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/Linker.json new file mode 100644 index 000000000000..87ae58c108aa --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/Linker.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", + "linkerName": "linkName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app/providers/Microsoft.ServiceLinker/links/linkName", + "name": "linkName", + "type": "Microsoft.ServiceLinker/links", + "properties": { + "authInfo": { + "authType": "secret", + "name": "name" + }, + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + }, + "secretStore": { + "keyVaultId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.KeyVault/vaults/kvname" + }, + "scope": "AKS-Namespace", + "clientType": "dotnet", + "publicNetworkSolution": { + "action": "enable" + }, + "configurationInfo": { + "deleteOrUpdateBehavior": "ForcedCleanup", + "customizedKeys": { + "AZURE_MYSQL_CONNECTIONSTRING": "myConnectionstring", + "AZURE_MYSQL_SSLMODE": "mySslmode" + }, + "additionalConfigurations": { + "throttlingLimit": "100" + } + } + }, + "systemData": { + "createdAt": "2020-07-12T22:05:09Z" + } + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/LinkerGenerateConfigurations.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/LinkerGenerateConfigurations.json new file mode 100644 index 000000000000..d21e946f8ec3 --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/LinkerGenerateConfigurations.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", + "linkerName": "linkName", + "parameters": { + "customizedKeys": { + "ASL_DocumentDb_ConnectionString": "MyConnectionstring" + } + } + }, + "responses": { + "200": { + "body": { + "configurations": [ + { + "name": "MyConnectionstring", + "value": "ConnectionString" + } + ] + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/LinkerList.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/LinkerList.json new file mode 100644 index 000000000000..afffd7662e19 --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/LinkerList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.ServiceLinker/links/linkName", + "name": "linkName", + "type": "Microsoft.ServiceLinker/links", + "properties": { + "authInfo": { + "authType": "secret", + "name": "username" + }, + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + } + }, + "systemData": { + "createdAt": "2020-07-12T22:05:09Z" + } + } + ] + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ListDryrun.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ListDryrun.json new file mode 100644 index 000000000000..b4dda3dac29e --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ListDryrun.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app/providers/Microsoft.ServiceLinker/dryruns/dryrunName", + "name": "dryrunName", + "type": "Microsoft.ServiceLinker/dryruns", + "properties": { + "parameters": { + "actionName": "createOrUpdate", + "authInfo": { + "authType": "secret", + "name": "username" + }, + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + } + } + }, + "systemData": { + "createdAt": "2020-07-12T22:05:09Z" + } + } + ] + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/OperationsList.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/OperationsList.json new file mode 100644 index 000000000000..5dee50b01147 --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/OperationsList.json @@ -0,0 +1,184 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "display": { + "description": "Register the subscription for Microsoft.ServiceLinker", + "operation": "Register the Microsoft.ServiceLinker", + "provider": "Microsoft.ServiceLinker", + "resource": "Microsoft.ServiceLinker" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/register/action" + }, + { + "display": { + "description": "Unregister the subscription for Microsoft.ServiceLinker", + "operation": "Unregister the Microsoft.ServiceLinker", + "provider": "Microsoft.ServiceLinker", + "resource": "Microsoft.ServiceLinker" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/unregister/action" + }, + { + "display": { + "description": "read operations", + "operation": "read_operations", + "provider": "Microsoft.ServiceLinker", + "resource": "operations" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/operations/read" + }, + { + "display": { + "description": "list dryrun jobs", + "operation": "Dryrun_List", + "provider": "Microsoft.ServiceLinker", + "resource": "dryruns" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/dryruns/read" + }, + { + "display": { + "description": "get a dryrun job", + "operation": "Dryrun_Get", + "provider": "Microsoft.ServiceLinker", + "resource": "dryruns" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/dryruns/read" + }, + { + "display": { + "description": "create a dryrun job to do necessary check before actual creation", + "operation": "Dryrun_Create", + "provider": "Microsoft.ServiceLinker", + "resource": "dryruns" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/dryruns/write" + }, + { + "display": { + "description": "delete a dryrun job", + "operation": "Dryrun_Delete", + "provider": "Microsoft.ServiceLinker", + "resource": "dryruns" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/dryruns/delete" + }, + { + "display": { + "description": "add a dryrun job to do necessary check before actual creation", + "operation": "Dryrun_Update", + "provider": "Microsoft.ServiceLinker", + "resource": "dryruns" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/dryruns/write" + }, + { + "display": { + "description": "read operationStatuses", + "operation": "read_operationStatuses", + "provider": "Microsoft.ServiceLinker", + "resource": "locations/operationStatuses" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/locations/operationStatuses/read" + }, + { + "display": { + "description": "write operationStatuses", + "operation": "write_operationStatuses", + "provider": "Microsoft.ServiceLinker", + "resource": "locations/operationStatuses" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/locations/operationStatuses/write" + }, + { + "display": { + "description": "Returns list of Linkers which connects to the resource.", + "operation": "Linker_List", + "provider": "Microsoft.ServiceLinker", + "resource": "linkers" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/linkers/read" + }, + { + "display": { + "description": "Returns Linker resource for a given name.", + "operation": "Linker_Get", + "provider": "Microsoft.ServiceLinker", + "resource": "linkers" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/linkers/read" + }, + { + "display": { + "description": "Create or update linker resource.", + "operation": "Linker_CreateOrUpdate", + "provider": "Microsoft.ServiceLinker", + "resource": "linkers" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/linkers/write" + }, + { + "display": { + "description": "Delete a link.", + "operation": "Linker_Delete", + "provider": "Microsoft.ServiceLinker", + "resource": "linkers" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/linkers/delete" + }, + { + "display": { + "description": "Operation to update an existing link.", + "operation": "Linker_Update", + "provider": "Microsoft.ServiceLinker", + "resource": "linkers" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/linkers/write" + }, + { + "display": { + "description": "Validate a link.", + "operation": "Linker_Validate", + "provider": "Microsoft.ServiceLinker", + "resource": "linkers" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/linkers/validateLinker/action" + }, + { + "display": { + "description": "list source configurations for a linker.", + "operation": "Linker_ListConfigurations", + "provider": "Microsoft.ServiceLinker", + "resource": "linkers" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/linkers/listConfigurations/action" + } + ] + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/PatchConnector.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/PatchConnector.json new file mode 100644 index 000000000000..6cbf8bacfe26 --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/PatchConnector.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "location": "westus", + "connectorName": "connectorName", + "parameters": { + "properties": { + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + }, + "authInfo": { + "authType": "servicePrincipalSecret", + "clientId": "name", + "principalId": "id", + "secret": "secret" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app/providers/Microsoft.ServiceLinker/links/linkName", + "type": "Microsoft.ServiceLinker/links", + "name": "linkName", + "properties": { + "authInfo": { + "authType": "servicePrincipalSecret", + "clientId": "name", + "principalId": "id" + }, + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + } + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "http://azure.async.operation/status" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app/providers/Microsoft.ServiceLinker/links/linkName", + "type": "Microsoft.ServiceLinker/links", + "name": "linkName", + "properties": { + "authInfo": { + "authType": "servicePrincipalSecret", + "clientId": "name", + "principalId": "id" + }, + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + } + } + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/PatchDryrun.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/PatchDryrun.json new file mode 100644 index 000000000000..868435b29b8f --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/PatchDryrun.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", + "dryrunName": "dryrunName", + "parameters": { + "properties": { + "parameters": { + "actionName": "createOrUpdate", + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + }, + "authInfo": { + "authType": "secret", + "name": "name", + "secretInfo": { + "secretType": "rawValue", + "value": "secret" + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app/providers/Microsoft.ServiceLinker/dryruns/dryrunName", + "type": "Microsoft.ServiceLinker/dryruns", + "name": "dryrunName", + "properties": { + "parameters": { + "actionName": "createOrUpdate", + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + }, + "authInfo": { + "authType": "secret", + "name": "name" + } + }, + "prerequisiteResults": [ + { + "type": "basicError", + "code": "ResourceNotFound", + "message": "Target resource is not found" + }, + { + "type": "permissionsMissing", + "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc", + "permissions": [ + "Microsoft.DocumentDb/databaseAccounts/write" + ] + } + ], + "operationPreviews": [ + { + "name": "configFirewallRule", + "operationType": "configNetwork", + "description": "Config firewall rule for target service to allow source service access", + "action": "Microsoft.DocumentDb/databaseAccounts/write", + "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc" + } + ], + "provisioningState": "Succeeded" + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "http://azure.async.operation/status" + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/PatchLinker.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/PatchLinker.json new file mode 100644 index 000000000000..dfe22733c45d --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/PatchLinker.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", + "linkerName": "linkName", + "parameters": { + "properties": { + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + }, + "authInfo": { + "authType": "servicePrincipalSecret", + "clientId": "name", + "principalId": "id", + "secret": "secret" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app/providers/Microsoft.ServiceLinker/links/linkName", + "type": "Microsoft.ServiceLinker/links", + "name": "linkName", + "properties": { + "authInfo": { + "authType": "servicePrincipalSecret", + "clientId": "name", + "principalId": "id" + }, + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app/providers/Microsoft.ServiceLinker/links/linkName", + "type": "Microsoft.ServiceLinker/links", + "name": "linkName", + "properties": { + "authInfo": { + "authType": "servicePrincipalSecret", + "clientId": "name", + "principalId": "id" + }, + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + } + } + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/PutConnector.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/PutConnector.json new file mode 100644 index 000000000000..8d4cc02c8405 --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/PutConnector.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "location": "westus", + "connectorName": "connectorName", + "parameters": { + "properties": { + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + }, + "authInfo": { + "authType": "secret" + }, + "secretStore": { + "keyVaultId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.KeyVault/vaults/test-kv" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app/providers/Microsoft.ServiceLinker/links/linkName", + "type": "Microsoft.ServiceLinker/links", + "name": "linkName", + "properties": { + "authInfo": { + "authType": "secret" + }, + "secretStore": { + "keyVaultId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.KeyVault/vaults/test-kv" + }, + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app/providers/Microsoft.ServiceLinker/links/linkName", + "type": "Microsoft.ServiceLinker/links", + "name": "linkName", + "properties": { + "authInfo": { + "authType": "secret" + }, + "secretStore": { + "keyVaultId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.KeyVault/vaults/test-kv" + }, + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + } + } + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/PutDryrun.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/PutDryrun.json new file mode 100644 index 000000000000..3e83a7728c7a --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/PutDryrun.json @@ -0,0 +1,116 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", + "dryrunName": "dryrunName", + "parameters": { + "properties": { + "parameters": { + "actionName": "createOrUpdate", + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + }, + "authInfo": { + "authType": "secret", + "name": "name", + "secretInfo": { + "secretType": "rawValue", + "value": "secret" + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app/providers/Microsoft.ServiceLinker/dryruns/dryrunName", + "type": "Microsoft.ServiceLinker/dryruns", + "name": "dryrunName", + "properties": { + "parameters": { + "actionName": "createOrUpdate", + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + }, + "authInfo": { + "authType": "secret", + "name": "name" + } + }, + "prerequisiteResults": [ + { + "type": "basicError", + "code": "ResourceNotFound", + "message": "Target resource is not found" + }, + { + "type": "permissionsMissing", + "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc", + "permissions": [ + "Microsoft.DocumentDb/databaseAccounts/write" + ] + } + ], + "operationPreviews": [ + { + "name": "configFirewallRule", + "operationType": "configNetwork", + "description": "Config firewall rule for target service to allow source service access", + "action": "Microsoft.DocumentDb/databaseAccounts/write", + "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc" + } + ], + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app/providers/Microsoft.ServiceLinker/dryruns/dryrunName", + "type": "Microsoft.ServiceLinker/dryruns", + "name": "dryrunName", + "properties": { + "parameters": { + "actionName": "createOrUpdate", + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + }, + "authInfo": { + "authType": "secret", + "name": "name" + } + }, + "prerequisiteResults": [ + { + "type": "basicError", + "code": "ResourceNotFound", + "message": "Target resource is not found" + }, + { + "type": "permissionsMissing", + "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc", + "permissions": [ + "Microsoft.DocumentDb/databaseAccounts/write" + ] + } + ], + "operationPreviews": [ + { + "name": "configFirewallRule", + "operationType": "configNetwork", + "description": "Config firewall rule for target service to allow source service access", + "action": "Microsoft.DocumentDb/databaseAccounts/write", + "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc" + } + ], + "provisioningState": "Updating" + } + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/PutLinker.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/PutLinker.json new file mode 100644 index 000000000000..eff0bfb84fe1 --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/PutLinker.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", + "linkerName": "linkName", + "parameters": { + "properties": { + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DBforPostgreSQL/servers/test-pg/databases/test-db" + }, + "vNetSolution": { + "type": "serviceEndpoint" + }, + "authInfo": { + "authType": "secret", + "name": "name", + "secretInfo": { + "secretType": "rawValue", + "value": "secret" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.ServiceLinker/links", + "name": "linkName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app/providers/Microsoft.ServiceLinker/links/linkName", + "properties": { + "authInfo": { + "authType": "secret", + "name": "name" + }, + "vNetSolution": { + "type": "serviceEndpoint" + }, + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DBforPostgreSQL/servers/test-pg/databases/test-db" + } + } + } + }, + "201": { + "body": { + "type": "Microsoft.ServiceLinker/links", + "name": "linkName", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app/providers/Microsoft.ServiceLinker/links/linkName", + "properties": { + "authInfo": { + "authType": "secret", + "name": "name" + }, + "vNetSolution": { + "type": "serviceEndpoint" + }, + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DBforPostgreSQL/servers/test-pg/databases/test-db" + } + } + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ValidateConnectorSuccess.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ValidateConnectorSuccess.json new file mode 100644 index 000000000000..a7efdadedfb8 --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ValidateConnectorSuccess.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "location": "westus", + "connectorName": "connectorName" + }, + "responses": { + "200": { + "body": { + "properties": { + "isConnectionAvailable": true, + "reportStartTimeUtc": "2020-07-12T22:05:09Z", + "reportEndTimeUtc": "2020-07-12T22:06:09Z", + "authType": "secret", + "validationDetail": [ + { + "name": "TargetExistence", + "description": "The target existence is validated", + "result": "success" + }, + { + "name": "TargetNetworkAccess", + "description": "Deny public network access is set to yes. Please confirm you are using private endpoint connection to access target resource.", + "result": "warning" + } + ] + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "http://azure.async.operation/status" + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ValidateLinkerSuccess.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ValidateLinkerSuccess.json new file mode 100644 index 000000000000..85ec6c34a5d9 --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/ValidateLinkerSuccess.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", + "linkerName": "linkName" + }, + "responses": { + "200": { + "body": { + "properties": { + "isConnectionAvailable": true, + "reportStartTimeUtc": "2020-07-12T22:05:09Z", + "reportEndTimeUtc": "2020-07-12T22:06:09Z", + "sourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db", + "targetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db", + "authType": "secret", + "validationDetail": [ + { + "name": "TargetExistence", + "description": "The target existence is validated", + "result": "success" + }, + { + "name": "TargetNetworkAccess", + "description": "Deny public network access is set to yes. Please confirm you are using private endpoint connection to access target resource.", + "result": "warning" + } + ] + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "http://azure.async.operation/status" + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/servicelinker.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/servicelinker.json new file mode 100644 index 000000000000..567035e171ea --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/servicelinker.json @@ -0,0 +1,2687 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft.ServiceLinker", + "description": "Microsoft.ServiceLinker provider", + "version": "2023-04-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceLinker/locations/{location}/dryruns": { + "get": { + "tags": [ + "Connector" + ], + "operationId": "Connector_ListDryrun", + "description": "list dryrun jobs", + "x-ms-examples": { + "ConnectorDryrunList": { + "$ref": "./examples/ConnectorDryrunList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DryrunList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceLinker/locations/{location}/dryruns/{dryrunName}": { + "get": { + "tags": [ + "Connector" + ], + "operationId": "Connector_GetDryrun", + "description": "get a dryrun job", + "x-ms-examples": { + "ConnectorDryrunGet": { + "$ref": "./examples/ConnectorDryrunGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "dryrunName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of dryrun.", + "x-ms-parameter-location": "method" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DryrunResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Connector" + ], + "operationId": "Connector_CreateDryrun", + "description": "create a dryrun job to do necessary check before actual creation", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "ConnectorDryrunCreate": { + "$ref": "./examples/ConnectorDryrunCreate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "dryrunName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of dryrun.", + "x-ms-parameter-location": "method" + }, + { + "name": "parameters", + "description": "dryrun resource.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DryrunResource" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DryrunResource" + } + }, + "201": { + "description": "Long running operation", + "schema": { + "$ref": "#/definitions/DryrunResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Connector" + ], + "operationId": "Connector_UpdateDryrun", + "description": "update a dryrun job to do necessary check before actual creation", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "ConnectorDryrunUpdate": { + "$ref": "./examples/ConnectorDryrunUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "dryrunName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of dryrun.", + "x-ms-parameter-location": "method" + }, + { + "name": "parameters", + "description": "dryrun resource.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DryrunPatch" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DryrunResource" + } + }, + "202": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Connector" + ], + "operationId": "Connector_DeleteDryrun", + "description": "delete a dryrun job", + "x-ms-examples": { + "ConnectorDryrunDelete": { + "$ref": "./examples/ConnectorDryrunDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "dryrunName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of dryrun.", + "x-ms-parameter-location": "method" + } + ], + "responses": { + "200": { + "description": "OK. The job is deleted." + }, + "204": { + "description": "Deleted. The job is not found." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceLinker/locations/{location}/connectors": { + "get": { + "deprecated": false, + "description": "Returns list of connector which connects to the resource, which supports to config the target service during the resource provision.", + "operationId": "Connector_List", + "x-ms-examples": { + "ConnectorList": { + "$ref": "./examples/ConnectorList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Connector details.", + "schema": { + "$ref": "#/definitions/ResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceLinker/locations/{location}/connectors/{connectorName}": { + "get": { + "description": "Returns Connector resource for a given name.", + "operationId": "Connector_Get", + "x-ms-examples": { + "Connector": { + "$ref": "./examples/Connectors.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ConnectorNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Connector details.", + "schema": { + "$ref": "#/definitions/LinkerResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "description": "Create or update Connector resource.", + "operationId": "Connector_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "PutConnector": { + "$ref": "./examples/PutConnector.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ConnectorNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "description": "Connector details.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LinkerResource" + } + } + ], + "responses": { + "200": { + "description": "Successful.", + "schema": { + "$ref": "#/definitions/LinkerResource" + } + }, + "201": { + "description": "Long running operation.", + "schema": { + "$ref": "#/definitions/LinkerResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Connector" + ], + "operationId": "Connector_Delete", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "description": "Delete a Connector.", + "x-ms-examples": { + "DeleteConnector": { + "$ref": "./examples/DeleteConnector.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ConnectorNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The Connector is deleted." + }, + "202": { + "description": "Long running operation." + }, + "204": { + "description": "Deleted. The Connector is not found." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Connector" + ], + "operationId": "Connector_Update", + "description": "Operation to update an existing Connector.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "PatchConnector": { + "$ref": "./examples/PatchConnector.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ConnectorNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "description": "Connector details.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LinkerPatch" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes a Connector.", + "schema": { + "$ref": "#/definitions/LinkerResource" + } + }, + "202": { + "description": "Long running operation.", + "schema": { + "$ref": "#/definitions/LinkerResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceLinker/locations/{location}/connectors/{connectorName}/validate": { + "post": { + "tags": [ + "Connector" + ], + "operationId": "Connector_Validate", + "description": "Validate a Connector.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "ValidateConnectorSuccess": { + "$ref": "./examples/ValidateConnectorSuccess.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ConnectorNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ValidateOperationResult" + } + }, + "202": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceLinker/locations/{location}/connectors/{connectorName}/generateConfigurations": { + "post": { + "tags": [ + "Connector" + ], + "operationId": "Connector_GenerateConfigurations", + "description": "Generate configurations for a Connector.", + "x-ms-examples": { + "GenerateConfiguration": { + "$ref": "./examples/GenerateConfigurations.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ConnectorNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "description": "Connection Info, including format, secret store, etc", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/ConfigurationInfo" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ConfigurationResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/{resourceUri}/providers/Microsoft.ServiceLinker/linkers": { + "get": { + "deprecated": false, + "description": "Returns list of Linkers which connects to the resource. which supports to config both application and target service during the resource provision.", + "operationId": "Linker_List", + "x-ms-examples": { + "LinkerList": { + "$ref": "./examples/LinkerList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Linker details.", + "schema": { + "$ref": "#/definitions/ResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{resourceUri}/providers/Microsoft.ServiceLinker/linkers/{linkerName}": { + "get": { + "description": "Returns Linker resource for a given name.", + "operationId": "Linker_Get", + "x-ms-examples": { + "Linker": { + "$ref": "./examples/Linker.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LinkerNameParameter" + } + ], + "responses": { + "200": { + "description": "Linker details.", + "schema": { + "$ref": "#/definitions/LinkerResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "description": "Create or update Linker resource.", + "operationId": "Linker_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "PutLinker": { + "$ref": "./examples/PutLinker.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LinkerNameParameter" + }, + { + "name": "parameters", + "description": "Linker details.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LinkerResource" + } + } + ], + "responses": { + "200": { + "description": "Successful.", + "schema": { + "$ref": "#/definitions/LinkerResource" + } + }, + "201": { + "description": "Long running operation.", + "schema": { + "$ref": "#/definitions/LinkerResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Linkers" + ], + "operationId": "Linker_Delete", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "description": "Delete a Linker.", + "x-ms-examples": { + "DeleteLinker": { + "$ref": "./examples/DeleteLinker.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LinkerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The Linker is deleted." + }, + "202": { + "description": "Long running operation." + }, + "204": { + "description": "Deleted. The Linker is not found." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Linkers" + ], + "operationId": "Linker_Update", + "description": "Operation to update an existing Linker.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "PatchLinker": { + "$ref": "./examples/PatchLinker.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LinkerNameParameter" + }, + { + "name": "parameters", + "description": "Linker details.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LinkerPatch" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes a Linker.", + "schema": { + "$ref": "#/definitions/LinkerResource" + } + }, + "201": { + "description": "Long running operation.", + "schema": { + "$ref": "#/definitions/LinkerResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/{resourceUri}/providers/Microsoft.ServiceLinker/linkers/{linkerName}/validateLinker": { + "post": { + "tags": [ + "Linkers" + ], + "operationId": "Linker_Validate", + "description": "Validate a Linker.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "ValidateLinkerSuccess": { + "$ref": "./examples/ValidateLinkerSuccess.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LinkerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ValidateOperationResult" + } + }, + "202": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/{resourceUri}/providers/Microsoft.ServiceLinker/linkers/{linkerName}/listConfigurations": { + "post": { + "tags": [ + "Linkers" + ], + "operationId": "Linker_ListConfigurations", + "description": "list source configurations for a Linker.", + "x-ms-examples": { + "GetConfiguration": { + "$ref": "./examples/GetConfigurations.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LinkerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ConfigurationResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/{resourceUri}/providers/Microsoft.ServiceLinker/dryruns": { + "get": { + "tags": [ + "Linkers" + ], + "operationId": "Linkers_ListDryrun", + "description": "list dryrun jobs", + "x-ms-examples": { + "ListDryrun": { + "$ref": "./examples/ListDryrun.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DryrunList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{resourceUri}/providers/Microsoft.ServiceLinker/dryruns/{dryrunName}": { + "get": { + "tags": [ + "Linkers" + ], + "operationId": "Linkers_GetDryrun", + "description": "get a dryrun job", + "x-ms-examples": { + "GetDryrun": { + "$ref": "./examples/GetDryrun.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "dryrunName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of dryrun.", + "x-ms-parameter-location": "method" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DryrunResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Linkers" + ], + "operationId": "Linkers_CreateDryrun", + "description": "create a dryrun job to do necessary check before actual creation", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "PutDryrun": { + "$ref": "./examples/PutDryrun.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "dryrunName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of dryrun.", + "x-ms-parameter-location": "method" + }, + { + "name": "parameters", + "description": "dryrun resource.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DryrunResource" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DryrunResource" + } + }, + "201": { + "description": "Long running operation", + "schema": { + "$ref": "#/definitions/DryrunResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Linkers" + ], + "operationId": "Linkers_UpdateDryrun", + "description": "add a dryrun job to do necessary check before actual creation", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "PatchDryrun": { + "$ref": "./examples/PatchDryrun.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "dryrunName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of dryrun.", + "x-ms-parameter-location": "method" + }, + { + "name": "parameters", + "description": "dryrun resource.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DryrunPatch" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DryrunResource" + } + }, + "202": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Linkers" + ], + "operationId": "Linkers_DeleteDryrun", + "description": "delete a dryrun job", + "x-ms-examples": { + "DeleteDryrun": { + "$ref": "./examples/DeleteDryrun.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "dryrunName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of dryrun.", + "x-ms-parameter-location": "method" + } + ], + "responses": { + "200": { + "description": "OK. The job is deleted." + }, + "204": { + "description": "Deleted. The job is not found." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/{resourceUri}/providers/Microsoft.ServiceLinker/linkers/{linkerName}/generateConfigurations": { + "post": { + "tags": [ + "Linkers" + ], + "operationId": "Linkers_GenerateConfigurations", + "description": "Generate configurations for a Linker.", + "x-ms-examples": { + "GenerateConfiguration": { + "$ref": "./examples/LinkerGenerateConfigurations.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LinkerNameParameter" + }, + { + "name": "parameters", + "description": "Connection Info, including format, secret store, etc", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/ConfigurationInfo" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ConfigurationResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.ServiceLinker/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists the available ServiceLinker REST API operations.", + "x-ms-examples": { + "GetConfiguration": { + "$ref": "./examples/OperationsList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.ServiceLinker/configurationNames": { + "get": { + "tags": [ + "ConfigurationNames" + ], + "operationId": "ConfigurationNames_List", + "description": "Lists the configuration names generated by Service Connector for all target, client types, auth types.", + "x-ms-examples": { + "GetConfigurationNames": { + "$ref": "./examples/ConfigurationNamesList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter options." + }, + { + "name": "$skipToken", + "in": "query", + "required": false, + "type": "string", + "description": "OData skipToken option for pagination." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ConfigurationNameResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "TargetServiceType": { + "description": "The target service type.", + "type": "string", + "enum": [ + "AzureResource", + "ConfluentBootstrapServer", + "ConfluentSchemaRegistry", + "SelfHostedServer" + ], + "x-ms-enum": { + "name": "targetServiceType", + "modelAsString": true + } + }, + "TargetServiceBase": { + "description": "The target service properties", + "discriminator": "type", + "type": "object", + "properties": { + "type": { + "description": "The target service type.", + "$ref": "#/definitions/TargetServiceType" + } + }, + "required": [ + "type" + ] + }, + "AzureResourceType": { + "description": "The azure resource type.", + "type": "string", + "enum": [ + "KeyVault" + ], + "x-ms-enum": { + "name": "azureResourceType", + "modelAsString": true + } + }, + "AzureResourcePropertiesBase": { + "description": "The azure resource properties", + "discriminator": "type", + "type": "object", + "properties": { + "type": { + "description": "The azure resource type.", + "$ref": "#/definitions/AzureResourceType" + } + }, + "required": [ + "type" + ] + }, + "AzureResource": { + "x-ms-discriminator-value": "AzureResource", + "type": "object", + "description": "The azure resource info when target service type is AzureResource", + "allOf": [ + { + "$ref": "#/definitions/TargetServiceBase" + } + ], + "properties": { + "id": { + "description": "The Id of azure resource.", + "type": "string" + }, + "resourceProperties": { + "x-nullable": true, + "description": "The azure resource connection related properties.", + "$ref": "#/definitions/AzureResourcePropertiesBase" + } + } + }, + "AzureKeyVaultProperties": { + "x-ms-discriminator-value": "KeyVault", + "type": "object", + "description": "The resource properties when type is Azure Key Vault", + "allOf": [ + { + "$ref": "#/definitions/AzureResourcePropertiesBase" + } + ], + "properties": { + "connectAsKubernetesCsiDriver": { + "x-nullable": true, + "description": "True if connect via Kubernetes CSI Driver.", + "type": "boolean" + } + } + }, + "ConfluentBootstrapServer": { + "x-ms-discriminator-value": "ConfluentBootstrapServer", + "type": "object", + "description": "The service properties when target service type is ConfluentBootstrapServer", + "allOf": [ + { + "$ref": "#/definitions/TargetServiceBase" + } + ], + "properties": { + "endpoint": { + "description": "The endpoint of service.", + "type": "string" + } + } + }, + "SelfHostedServer": { + "x-ms-discriminator-value": "SelfHostedServer", + "type": "object", + "description": "The service properties when target service type is SelfHostedServer", + "allOf": [ + { + "$ref": "#/definitions/TargetServiceBase" + } + ], + "properties": { + "endpoint": { + "description": "The endpoint of service.", + "type": "string" + } + } + }, + "ConfluentSchemaRegistry": { + "x-ms-discriminator-value": "ConfluentSchemaRegistry", + "type": "object", + "description": "The service properties when target service type is ConfluentSchemaRegistry", + "allOf": [ + { + "$ref": "#/definitions/TargetServiceBase" + } + ], + "properties": { + "endpoint": { + "description": "The endpoint of service.", + "type": "string" + } + } + }, + "DeleteOrUpdateBehavior": { + "description": "The cleanup behavior to indicate whether clean up operation when resource is deleted or updated", + "type": "string", + "enum": [ + "Default", + "ForcedCleanup" + ], + "x-ms-enum": { + "name": "DeleteOrUpdateBehavior", + "modelAsString": true + } + }, + "ClientType": { + "description": "The application client type", + "type": "string", + "enum": [ + "none", + "dotnet", + "java", + "python", + "go", + "php", + "ruby", + "django", + "nodejs", + "springBoot", + "kafka-springBoot", + "jms-springBoot", + "dapr" + ], + "x-ms-enum": { + "name": "clientType", + "modelAsString": true + } + }, + "AuthType": { + "description": "The authentication type.", + "type": "string", + "enum": [ + "systemAssignedIdentity", + "userAssignedIdentity", + "servicePrincipalSecret", + "servicePrincipalCertificate", + "secret", + "accessKey", + "userAccount" + ], + "x-ms-enum": { + "name": "AuthType", + "modelAsString": true + } + }, + "SecretType": { + "description": "The secret type.", + "type": "string", + "enum": [ + "rawValue", + "keyVaultSecretUri", + "keyVaultSecretReference" + ], + "x-ms-enum": { + "name": "SecretType", + "modelAsString": true + } + }, + "SecretSourceType": { + "description": "The type of secret source.", + "type": "string", + "enum": [ + "rawValue", + "keyVaultSecret" + ], + "x-ms-enum": { + "name": "SecretSourceType", + "modelAsString": true + } + }, + "SecretInfoBase": { + "description": "The secret info", + "discriminator": "secretType", + "type": "object", + "properties": { + "secretType": { + "description": "The secret type.", + "$ref": "#/definitions/SecretType" + } + }, + "required": [ + "secretType" + ] + }, + "ValueSecretInfo": { + "x-ms-discriminator-value": "rawValue", + "type": "object", + "description": "The secret info when type is rawValue. It's for scenarios that user input the secret.", + "allOf": [ + { + "$ref": "#/definitions/SecretInfoBase" + } + ], + "properties": { + "value": { + "x-nullable": true, + "description": "The actual value of the secret.", + "type": "string", + "x-ms-secret": true + } + } + }, + "KeyVaultSecretReferenceSecretInfo": { + "x-ms-discriminator-value": "keyVaultSecretReference", + "type": "object", + "description": "The secret info when type is keyVaultSecretReference. It's for scenario that user provides a secret stored in user's keyvault and source is Azure Kubernetes. The key Vault's resource id is linked to secretStore.keyVaultId.", + "allOf": [ + { + "$ref": "#/definitions/SecretInfoBase" + } + ], + "properties": { + "name": { + "description": "Name of the Key Vault secret.", + "type": "string" + }, + "version": { + "x-nullable": true, + "description": "Version of the Key Vault secret.", + "type": "string" + } + } + }, + "KeyVaultSecretUriSecretInfo": { + "x-ms-discriminator-value": "keyVaultSecretUri", + "type": "object", + "description": "The secret info when type is keyVaultSecretUri. It's for scenario that user provides a secret stored in user's keyvault and source is Web App, Spring Cloud or Container App.", + "allOf": [ + { + "$ref": "#/definitions/SecretInfoBase" + } + ], + "properties": { + "value": { + "description": "URI to the keyvault secret", + "type": "string" + } + } + }, + "AuthInfoBase": { + "description": "The authentication info", + "discriminator": "authType", + "type": "object", + "properties": { + "authType": { + "description": "The authentication type.", + "$ref": "#/definitions/AuthType" + } + }, + "required": [ + "authType" + ] + }, + "AccessKeyInfoBase": { + "description": "The access key directly from target resource properties, which target service is Azure Resource, such as Microsoft.Storage", + "x-ms-discriminator-value": "accessKey", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AuthInfoBase" + } + ], + "properties": { + "permissions": { + "description": "Permissions of the accessKey. `Read` and `Write` are for Azure Cosmos DB and Azure App Configuration, `Listen`, `Send` and `Manage` are for Azure Event Hub and Azure Service Bus.", + "type": "array", + "items": { + "type": "string", + "enum": [ + "Read", + "Write", + "Listen", + "Send", + "Manage" + ], + "x-ms-enum": { + "name": "accessKeyPermissions", + "modelAsString": true + } + } + } + } + }, + "DatabaseAadAuthInfo": { + "description": "The extra auth info required by Database AAD authentication.", + "type": "object", + "properties": { + "userName": { + "x-nullable": true, + "description": "Username created in the database which is mapped to a user in AAD.", + "type": "string" + } + } + }, + "SecretAuthInfo": { + "x-ms-discriminator-value": "secret", + "type": "object", + "description": "The authentication info when authType is secret", + "allOf": [ + { + "$ref": "#/definitions/AuthInfoBase" + } + ], + "properties": { + "name": { + "x-nullable": true, + "description": "Username or account name for secret auth.", + "type": "string" + }, + "secretInfo": { + "x-nullable": true, + "description": "Password or key vault secret for secret auth.", + "$ref": "#/definitions/SecretInfoBase" + } + } + }, + "UserAssignedIdentityAuthInfo": { + "x-ms-discriminator-value": "userAssignedIdentity", + "type": "object", + "description": "The authentication info when authType is userAssignedIdentity", + "allOf": [ + { + "$ref": "#/definitions/AuthInfoBase" + }, + { + "$ref": "#/definitions/DatabaseAadAuthInfo" + } + ], + "properties": { + "clientId": { + "description": "Client Id for userAssignedIdentity.", + "type": "string" + }, + "subscriptionId": { + "description": "Subscription id for userAssignedIdentity.", + "type": "string" + }, + "deleteOrUpdateBehavior": { + "description": "Indicates whether to clean up previous operation when Linker is updating or deleting", + "$ref": "#/definitions/DeleteOrUpdateBehavior" + }, + "roles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional, this value specifies the Azure role to be assigned" + } + } + }, + "SystemAssignedIdentityAuthInfo": { + "x-ms-discriminator-value": "systemAssignedIdentity", + "type": "object", + "description": "The authentication info when authType is systemAssignedIdentity", + "allOf": [ + { + "$ref": "#/definitions/AuthInfoBase" + }, + { + "$ref": "#/definitions/DatabaseAadAuthInfo" + } + ], + "properties": { + "deleteOrUpdateBehavior": { + "description": "Indicates whether to clean up previous operation when Linker is updating or deleting", + "$ref": "#/definitions/DeleteOrUpdateBehavior" + }, + "roles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional, this value specifies the Azure role to be assigned" + } + } + }, + "ServicePrincipalSecretAuthInfo": { + "x-ms-discriminator-value": "servicePrincipalSecret", + "type": "object", + "description": "The authentication info when authType is servicePrincipal secret", + "allOf": [ + { + "$ref": "#/definitions/AuthInfoBase" + }, + { + "$ref": "#/definitions/DatabaseAadAuthInfo" + } + ], + "properties": { + "clientId": { + "description": "ServicePrincipal application clientId for servicePrincipal auth.", + "type": "string" + }, + "principalId": { + "description": "Principal Id for servicePrincipal auth.", + "type": "string" + }, + "secret": { + "description": "Secret for servicePrincipal auth.", + "type": "string", + "x-ms-secret": true + }, + "deleteOrUpdateBehavior": { + "description": "Indicates whether to clean up previous operation when Linker is updating or deleting", + "$ref": "#/definitions/DeleteOrUpdateBehavior" + }, + "roles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional, this value specifies the Azure roles to be assigned. Automatically " + } + }, + "required": [ + "clientId", + "principalId", + "secret" + ] + }, + "ServicePrincipalCertificateAuthInfo": { + "x-ms-discriminator-value": "servicePrincipalCertificate", + "type": "object", + "description": "The authentication info when authType is servicePrincipal certificate", + "allOf": [ + { + "$ref": "#/definitions/AuthInfoBase" + } + ], + "properties": { + "clientId": { + "description": "Application clientId for servicePrincipal auth.", + "type": "string" + }, + "principalId": { + "description": "Principal Id for servicePrincipal auth.", + "type": "string" + }, + "certificate": { + "description": "ServicePrincipal certificate for servicePrincipal auth.", + "type": "string", + "x-ms-secret": true + }, + "deleteOrUpdateBehavior": { + "description": "Indicates whether to clean up previous operation when Linker is updating or deleting", + "$ref": "#/definitions/DeleteOrUpdateBehavior" + }, + "roles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional, this value specifies the Azure roles to be assigned. Automatically " + } + }, + "required": [ + "clientId", + "principalId", + "certificate" + ] + }, + "UserAccountAuthInfo": { + "x-ms-discriminator-value": "userAccount", + "type": "object", + "description": "The authentication info when authType is user account", + "allOf": [ + { + "$ref": "#/definitions/AuthInfoBase" + }, + { + "$ref": "#/definitions/DatabaseAadAuthInfo" + } + ], + "properties": { + "principalId": { + "description": "Principal Id for user account.", + "type": "string" + }, + "deleteOrUpdateBehavior": { + "description": "Indicates whether to clean up previous operation when Linker is updating or deleting", + "$ref": "#/definitions/DeleteOrUpdateBehavior" + }, + "roles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional, this value specifies the Azure roles to be assigned. Automatically " + } + } + }, + "LinkerResource": { + "type": "object", + "description": "Linker of source and target resource", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource", + "description": "The resource model definition for an Azure Resource Manager proxy resource." + } + ], + "required": [ + "properties" + ], + "properties": { + "properties": { + "description": "The properties of the Linker.", + "$ref": "#/definitions/LinkerProperties", + "x-ms-client-flatten": true + }, + "systemData": { + "x-nullable": true, + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "description": "The system data." + } + } + }, + "LinkerPatch": { + "description": "A Linker to be updated.", + "type": "object", + "properties": { + "properties": { + "description": "Linker properties", + "type": "object", + "x-ms-client-flatten": true, + "$ref": "#/definitions/LinkerProperties" + } + } + }, + "ResourceList": { + "description": "The list of Linker.", + "type": "object", + "properties": { + "nextLink": { + "x-nullable": true, + "description": "The Linker used to get the next page of Linker list.", + "type": "string" + }, + "value": { + "description": "The list of Linkers.", + "type": "array", + "items": { + "$ref": "#/definitions/LinkerResource" + } + } + } + }, + "LinkerProperties": { + "description": "The properties of the Linker.", + "type": "object", + "properties": { + "targetService": { + "$ref": "#/definitions/TargetServiceBase", + "description": "The target service properties" + }, + "authInfo": { + "description": "The authentication type.", + "$ref": "#/definitions/AuthInfoBase" + }, + "clientType": { + "description": "The application client type", + "$ref": "#/definitions/ClientType" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state. " + }, + "vNetSolution": { + "x-nullable": true, + "description": "The VNet solution.", + "$ref": "#/definitions/VNetSolution" + }, + "secretStore": { + "x-nullable": true, + "description": "An option to store secret value in secure place", + "$ref": "#/definitions/SecretStore" + }, + "scope": { + "x-nullable": true, + "type": "string", + "description": "connection scope in source service." + }, + "publicNetworkSolution": { + "x-nullable": true, + "description": "The network solution.", + "$ref": "#/definitions/PublicNetworkSolution" + }, + "configurationInfo": { + "x-nullable": true, + "description": "The connection information consumed by applications, including secrets, connection strings.", + "$ref": "#/definitions/ConfigurationInfo" + } + } + }, + "SourceConfiguration": { + "description": "A configuration item for source resource", + "type": "object", + "properties": { + "name": { + "description": "The name of setting.", + "type": "string" + }, + "value": { + "x-nullable": true, + "description": "The value of setting", + "type": "string" + } + } + }, + "ConfigurationNameItem": { + "type": "object", + "properties": { + "properties": { + "x-nullable": true, + "description": "The result detail.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ConfigurationNames" + } + } + }, + "ConfigurationNames": { + "type": "object", + "description": "The configuration names which will be set based on specific target resource, client type, auth type.", + "properties": { + "targetService": { + "type": "string", + "description": "The target service provider name and resource name." + }, + "clientType": { + "$ref": "#/definitions/ClientType", + "description": "The client type for configuration names." + }, + "authType": { + "$ref": "#/definitions/AuthType", + "description": "The auth type." + }, + "secretType": { + "$ref": "#/definitions/SecretSourceType", + "description": "Indicates where the secrets in configuration from. Used when secrets are from Keyvault." + }, + "daprProperties": { + "description": "Indicates some additional properties for dapr client type", + "$ref": "#/definitions/DaprProperties" + }, + "names": { + "type": "array", + "description": "The configuration names to be set in compute service environment.", + "items": { + "$ref": "#/definitions/ConfigurationName" + } + } + } + }, + "ConfigurationName": { + "type": "object", + "description": "The configuration names.", + "properties": { + "value": { + "type": "string" + }, + "description": { + "type": "string", + "description": "Description for the configuration name." + }, + "required": { + "type": "boolean", + "description": "Represent the configuration is required or not" + } + } + }, + "ConfigurationNameResult": { + "description": "Configuration Name list which will be set based on different target resource, client type, auth type.", + "type": "object", + "properties": { + "value": { + "description": "Expected configuration names for each target service.", + "type": "array", + "items": { + "$ref": "#/definitions/ConfigurationNameItem" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "ConfigurationResult": { + "description": "Configurations for source resource, include appSettings, connectionString and serviceBindings", + "type": "object", + "properties": { + "configurations": { + "description": "The configuration properties for source resource.", + "type": "array", + "items": { + "$ref": "#/definitions/SourceConfiguration" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "ValidateOperationResult": { + "description": "The validation operation result for a Linker.", + "type": "object", + "properties": { + "properties": { + "x-nullable": true, + "description": "The validation result detail.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ValidateResult" + }, + "resourceId": { + "x-nullable": true, + "description": "Validated Linker id.", + "type": "string" + }, + "status": { + "x-nullable": true, + "description": "Validation operation status.", + "type": "string" + } + } + }, + "ValidateResult": { + "description": "The validation result for a Linker.", + "type": "object", + "properties": { + "linkerName": { + "x-nullable": true, + "description": "The linker name.", + "type": "string" + }, + "isConnectionAvailable": { + "x-nullable": true, + "description": "A boolean value indicating whether the connection is available or not", + "type": "boolean" + }, + "reportStartTimeUtc": { + "x-nullable": true, + "type": "string", + "format": "date-time", + "description": "The start time of the validation report." + }, + "reportEndTimeUtc": { + "x-nullable": true, + "type": "string", + "format": "date-time", + "description": "The end time of the validation report." + }, + "sourceId": { + "x-nullable": true, + "description": "The resource id of the Linker source application.", + "type": "string" + }, + "targetId": { + "x-nullable": true, + "description": "The resource Id of target service.", + "type": "string" + }, + "authType": { + "x-nullable": true, + "description": "The authentication type.", + "$ref": "#/definitions/AuthType" + }, + "validationDetail": { + "description": "The detail of validation result", + "type": "array", + "items": { + "$ref": "#/definitions/ValidationResultItem" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "ValidationResultItem": { + "description": "The validation item for a Linker.", + "type": "object", + "properties": { + "name": { + "description": "The validation item name.", + "type": "string" + }, + "description": { + "x-nullable": true, + "description": "The display name of validation item", + "type": "string" + }, + "result": { + "x-nullable": true, + "description": "The result of validation", + "type": "string", + "enum": [ + "success", + "failure", + "warning" + ], + "x-ms-enum": { + "name": "ValidationResultStatus", + "modelAsString": true + } + }, + "errorMessage": { + "x-nullable": true, + "description": "The error message of validation result", + "type": "string" + }, + "errorCode": { + "x-nullable": true, + "description": "The error code of validation result", + "type": "string" + } + } + }, + "VNetSolution": { + "type": "object", + "description": "The VNet solution for linker", + "properties": { + "type": { + "x-nullable": true, + "description": "Type of VNet solution.", + "type": "string", + "enum": [ + "serviceEndpoint", + "privateLink" + ], + "x-ms-enum": { + "name": "vNetSolutionType", + "modelAsString": true + } + }, + "deleteOrUpdateBehavior": { + "description": "Indicates whether to clean up previous operation when Linker is updating or deleting", + "$ref": "#/definitions/DeleteOrUpdateBehavior" + } + } + }, + "PublicNetworkSolution": { + "type": "object", + "description": "Indicates public network solution, include firewall rules", + "properties": { + "deleteOrUpdateBehavior": { + "description": "Indicates whether to clean up previous operation(such as firewall rules) when Linker is updating or deleting", + "$ref": "#/definitions/DeleteOrUpdateBehavior" + }, + "action": { + "description": "Optional. Indicates public network solution. If enable, enable public network access of target service with best try. Default is enable. If optOut, opt out public network access configuration.", + "$ref": "#/definitions/ActionType" + }, + "firewallRules": { + "description": "Describe firewall rules of target service to make sure source application could connect to the target.", + "$ref": "#/definitions/FirewallRules" + } + } + }, + "FirewallRules": { + "type": "object", + "description": "Target service's firewall rules. to allow connections from source service.", + "properties": { + "ipRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "This value specifies the set of IP addresses or IP address ranges in CIDR form to be included as the allowed list of client IPs for a given database account." + }, + "azureServices": { + "description": "Allow Azure services to access the target service if true.", + "$ref": "#/definitions/AllowType" + }, + "callerClientIP": { + "description": "Allow caller client IP to access the target service if true. the property is used when connecting local application to target service.", + "$ref": "#/definitions/AllowType" + } + } + }, + "ConfigurationInfo": { + "type": "object", + "description": "The configuration information, used to generate configurations or save to applications", + "properties": { + "deleteOrUpdateBehavior": { + "description": "Indicates whether to clean up previous operation when Linker is updating or deleting", + "$ref": "#/definitions/DeleteOrUpdateBehavior" + }, + "action": { + "description": "Optional, indicate whether to apply configurations on source application. If enable, generate configurations and applied to the source application. Default is enable. If optOut, no configuration change will be made on source.", + "$ref": "#/definitions/ActionType" + }, + "customizedKeys": { + "description": "Optional. A dictionary of default key name and customized key name mapping. If not specified, default key name will be used for generate configurations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "daprProperties": { + "description": "Indicates some additional properties for dapr client type", + "$ref": "#/definitions/DaprProperties" + }, + "additionalConfigurations": { + "description": "A dictionary of additional configurations to be added. Service will auto generate a set of basic configurations and this property is to full fill more customized configurations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "additionalConnectionStringProperties": { + "description": "A dictionary of additional properties to be added in the end of connection string.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "DaprProperties": { + "type": "object", + "description": "Indicates some additional properties for dapr client type", + "properties": { + "version": { + "x-nullable": true, + "type": "string", + "description": "The dapr component version" + }, + "componentType": { + "x-nullable": true, + "type": "string", + "description": "The dapr component type" + }, + "secretStoreComponent": { + "x-nullable": true, + "type": "string", + "description": "The name of a secret store dapr to retrieve secret" + }, + "metadata": { + "description": "Additional dapr metadata", + "type": "array", + "items": { + "$ref": "#/definitions/DaprMetadata" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "scopes": { + "description": "The dapr component scopes", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DaprMetadata": { + "description": "The dapr component metadata.", + "type": "object", + "properties": { + "name": { + "description": "Metadata property name.", + "type": "string" + }, + "value": { + "description": "Metadata property value.", + "type": "string" + }, + "secretRef": { + "description": "The secret name where dapr could get value", + "type": "string" + } + } + }, + "SecretStore": { + "type": "object", + "description": "An option to store secret value in secure place", + "properties": { + "keyVaultId": { + "x-nullable": true, + "type": "string", + "description": "The key vault id to store secret" + }, + "keyVaultSecretName": { + "x-nullable": true, + "type": "string", + "description": "The key vault secret name to store secret, only valid when storing one secret" + } + } + }, + "DryrunList": { + "description": "The list of dryrun.", + "type": "object", + "properties": { + "nextLink": { + "x-nullable": true, + "description": "The link used to get the next page of dryrun list.", + "type": "string" + }, + "value": { + "description": "The list of dryrun.", + "type": "array", + "items": { + "$ref": "#/definitions/DryrunResource" + } + } + } + }, + "DryrunResource": { + "type": "object", + "description": "a dryrun job resource", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource", + "description": "The resource model definition for an Azure Resource Manager proxy resource." + } + ], + "properties": { + "properties": { + "description": "The properties of the dryrun job.", + "$ref": "#/definitions/DryrunProperties", + "x-ms-client-flatten": true + } + } + }, + "DryrunPatch": { + "type": "object", + "description": "a dryrun job to be updated.", + "properties": { + "properties": { + "description": "The properties of the dryrun job.", + "$ref": "#/definitions/DryrunProperties", + "x-ms-client-flatten": true + } + } + }, + "DryrunProperties": { + "description": "The properties of the dryrun job", + "type": "object", + "properties": { + "parameters": { + "description": "The parameters of the dryrun", + "$ref": "#/definitions/DryrunParameters" + }, + "prerequisiteResults": { + "readOnly": true, + "description": "the result of the dryrun", + "type": "array", + "items": { + "$ref": "#/definitions/DryrunPrerequisiteResult" + }, + "x-ms-identifiers": [] + }, + "operationPreviews": { + "readOnly": true, + "description": "the preview of the operations for creation", + "type": "array", + "items": { + "$ref": "#/definitions/DryrunOperationPreview" + }, + "x-ms-identifiers": [] + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state. " + } + } + }, + "DryrunActionName": { + "description": "The name of action for you dryrun job.", + "type": "string", + "enum": [ + "createOrUpdate" + ], + "x-ms-enum": { + "name": "DryrunActionName", + "modelAsString": true + } + }, + "DryrunParameters": { + "description": "The parameters of the dryrun", + "discriminator": "actionName", + "type": "object", + "properties": { + "actionName": { + "$ref": "#/definitions/DryrunActionName" + } + }, + "required": [ + "actionName" + ] + }, + "CreateOrUpdateDryrunParameters": { + "x-ms-discriminator-value": "createOrUpdate", + "type": "object", + "description": "The dryrun parameters for creation or update a linker", + "allOf": [ + { + "$ref": "#/definitions/DryrunParameters" + }, + { + "$ref": "#/definitions/LinkerProperties" + } + ] + }, + "DryrunPrerequisiteResultType": { + "description": "The type of dryrun result.", + "type": "string", + "enum": [ + "basicError", + "permissionsMissing" + ], + "x-ms-enum": { + "name": "DryrunPrerequisiteResultType", + "modelAsString": true + } + }, + "DryrunPrerequisiteResult": { + "description": "A result of dryrun", + "discriminator": "type", + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/DryrunPrerequisiteResultType" + } + }, + "required": [ + "type" + ] + }, + "BasicErrorDryrunPrerequisiteResult": { + "x-ms-discriminator-value": "basicError", + "description": "The represent of basic error", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DryrunPrerequisiteResult" + } + ], + "properties": { + "code": { + "type": "string", + "description": "The error code." + }, + "message": { + "type": "string", + "description": "The error message." + } + } + }, + "PermissionsMissingDryrunPrerequisiteResult": { + "x-ms-discriminator-value": "permissionsMissing", + "description": "The represent of missing permissions", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DryrunPrerequisiteResult" + } + ], + "properties": { + "scope": { + "description": "The permission scope", + "type": "string" + }, + "permissions": { + "description": "The permission list", + "type": "array", + "items": { + "type": "string" + } + }, + "recommendedRole": { + "description": "The recommended role to resolve permissions missing", + "type": "string" + } + } + }, + "DryrunOperationPreview": { + "description": "The preview of the operations for creation", + "type": "object", + "properties": { + "name": { + "description": "The operation name", + "type": "string" + }, + "operationType": { + "description": "The operation type", + "type": "string", + "enum": [ + "configConnection", + "configNetwork", + "configAuth" + ], + "x-ms-enum": { + "name": "DryrunPreviewOperationType", + "modelAsString": true + } + }, + "description": { + "description": "The description of the operation", + "type": "string" + }, + "action": { + "description": "The action defined by RBAC, refer https://docs.microsoft.com/azure/role-based-access-control/role-definitions#actions-format", + "type": "string" + }, + "scope": { + "description": "The scope of the operation, refer https://docs.microsoft.com/azure/role-based-access-control/scope-overview", + "type": "string" + } + } + }, + "ActionType": { + "description": "Indicates how to apply the connector operations, such as opt out network configuration, opt in configuration.", + "type": "string", + "enum": [ + "enable", + "optOut" + ], + "x-ms-enum": { + "name": "actionType", + "modelAsString": true + } + }, + "AllowType": { + "description": "Whether to allow firewall rules.", + "type": "string", + "enum": [ + "true", + "false" + ], + "x-ms-enum": { + "name": "allowType", + "modelAsString": true + } + } + }, + "parameters": { + "LinkerNameParameter": { + "name": "linkerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name Linker resource.", + "x-ms-parameter-location": "method" + }, + "ConnectorNameParameter": { + "name": "connectorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of resource.", + "x-ms-parameter-location": "method" + }, + "ResourceUriParameter": { + "name": "resourceUri", + "in": "path", + "required": true, + "type": "string", + "description": "The fully qualified Azure Resource manager identifier of the resource to be connected.", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the target subscription.", + "minLength": 1, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/servicelinker/resource-manager/readme.md b/specification/servicelinker/resource-manager/readme.md index e040e81ac13c..81e93434c339 100644 --- a/specification/servicelinker/resource-manager/readme.md +++ b/specification/servicelinker/resource-manager/readme.md @@ -28,7 +28,7 @@ These are the global settings for the ServiceLinker. title: ServiceLinkerManagementClient openapi-type: arm openapi-subtype : rpaas -tag: package-2022-11-01-preview +tag: package-2023-04-01-preview ``` ### Tag: package-2021-11-01-preview @@ -58,6 +58,15 @@ input-file: - Microsoft.ServiceLinker/stable/2022-05-01/servicelinker.json ``` +### Tag: package-2022-07-01-privatepreview + +These settings apply only when `--tag=package-2022-07-01-privatepreview` is specified on the command line. + +```yaml $(tag) == 'package-2022-07-01-privatepreview' +input-file: + - Microsoft.ServiceLinker/preview/2022-07-01-privatepreview/servicelinker.json +``` + ### Tag: package-2022-11-01-preview These settings apply only when `--tag=package-2022-11-01-preview` is specified on the command line. @@ -67,6 +76,15 @@ input-file: - Microsoft.ServiceLinker/preview/2022-11-01-preview/servicelinker.json ``` +### Tag: package-2023-04-01-preview + +These settings apply only when `--tag=package-2023-04-01-preview` is specified on the command line. + +```yaml $(tag) == 'package-2023-04-01-preview' +input-file: + - Microsoft.ServiceLinker/preview/2023-04-01-preview/servicelinker.json +``` + ## Suppression ``` yaml @@ -88,10 +106,9 @@ This is not used by Autorest itself. ```yaml $(swagger-to-sdk) swagger-to-sdk: - - repo: azure-sdk-for-net-track2 - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-js - repo: azure-sdk-for-ruby after_scripts: From de33b35303ddf6cf8bfcf2cac1e6e04f75412dfa Mon Sep 17 00:00:00 2001 From: xiaofanzhou Date: Mon, 4 Sep 2023 13:21:29 +0800 Subject: [PATCH 2/6] add PR #13022 --- .../examples/GetDaprConfigurations.json | 33 +++++ .../2023-04-01-preview/servicelinker.json | 121 +++++++++++++++++- 2 files changed, 153 insertions(+), 1 deletion(-) create mode 100644 specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/GetDaprConfigurations.json diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/GetDaprConfigurations.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/GetDaprConfigurations.json new file mode 100644 index 000000000000..5b6bbc3d51d4 --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/GetDaprConfigurations.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-04-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "targetType": "MICROSOFT.STORAGE/STORAGEACCOUNTS/BLOBSERVICES", + "authType": "secret", + "daprProperties": { + "version": "v1", + "componentType": "bindings", + "runtimeVersion": "1.10", + "bindingComponentDirection": "input", + "metadata": [ + { + "name": "containerName", + "description": "The name of the container to be used for Dapr state.", + "required": "true" + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/servicelinker.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/servicelinker.json index 567035e171ea..be3bd2a59b76 100644 --- a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/servicelinker.json +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/servicelinker.json @@ -1358,6 +1358,45 @@ "nextLinkName": "nextLink" } } + }, + "/{resourceUri}/providers/Microsoft.ServiceLinker/daprConfigurations": { + "get": { + "tags": [ + "Linkers" + ], + "operationId": "Linkers_ListDaprConfigurations", + "description": "List the dapr configuration supported by Service Connector.", + "x-ms-examples": { + "GetDaprConfigurations": { + "$ref": "./examples/GetDaprConfigurations.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DaprConfigurationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } } }, "definitions": { @@ -2049,7 +2088,7 @@ "description": "Indicates where the secrets in configuration from. Used when secrets are from Keyvault." }, "daprProperties": { - "description": "Indicates some additional properties for dapr client type", + "description": "Deprecated, please use #/definitions/DaprConfigurationList instead", "$ref": "#/definitions/DaprProperties" }, "names": { @@ -2363,6 +2402,26 @@ "items": { "type": "string" } + }, + "runtimeVersion": { + "x-nullable": true, + "type": "string", + "readOnly": true, + "description": "The runtime version supported by the properties" + }, + "bindingComponentDirection": { + "x-nullable": true, + "type": "string", + "enum": [ + "input", + "output" + ], + "x-ms-enum": { + "name": "DaprBindingComponentDirection", + "modelAsString": true + }, + "readOnly": true, + "description": "The direction supported by the dapr binding component" } } }, @@ -2381,6 +2440,22 @@ "secretRef": { "description": "The secret name where dapr could get value", "type": "string" + }, + "description": { + "description": "The description of the metadata, returned from configuration api", + "type": "string" + }, + "required": { + "description": "The value indicating whether the metadata is required or not", + "type": "string", + "enum": [ + "true", + "false" + ], + "x-ms-enum": { + "name": "DaprMetadataRequired", + "modelAsString": true + } } } }, @@ -2646,6 +2721,50 @@ "name": "allowType", "modelAsString": true } + }, + "DaprConfigurationList": { + "description": "Dapr configuration list supported by Service Connector", + "type": "object", + "properties": { + "value": { + "description": "The list of dapr configurations", + "type": "array", + "items": { + "$ref": "#/definitions/DaprConfigurationResource" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "DaprConfigurationResource": { + "description": "Represent one resource of the dapr configuration list", + "type": "object", + "properties": { + "properties": { + "description": "The properties of the dapr configuration.", + "$ref": "#/definitions/DaprConfigurationProperties", + "x-ms-client-flatten": true + } + } + }, + "DaprConfigurationProperties": { + "properties": { + "targetType": { + "type": "string", + "description": "Supported target resource type, extract from resource id, uppercase" + }, + "authType": { + "$ref": "#/definitions/AuthType" + }, + "daprProperties": { + "$ref": "#/definitions/DaprProperties" + } + } } }, "parameters": { From 3e1138b8289bf0dd04c70177990fb3a3840c6136 Mon Sep 17 00:00:00 2001 From: Xiaofan Zhou <81600993+xfz11@users.noreply.github.com> Date: Mon, 18 Sep 2023 10:20:47 +0800 Subject: [PATCH 3/6] Update servicelinker.json --- .../preview/2023-04-01-preview/servicelinker.json | 1 + 1 file changed, 1 insertion(+) diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/servicelinker.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/servicelinker.json index be3bd2a59b76..a23fad75326b 100644 --- a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/servicelinker.json +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/servicelinker.json @@ -2753,6 +2753,7 @@ } }, "DaprConfigurationProperties": { + "type": "object", "properties": { "targetType": { "type": "string", From 36793598ae2b64cc07ee0155a61cd2646ba0b9b8 Mon Sep 17 00:00:00 2001 From: Xiaofan Zhou <81600993+xfz11@users.noreply.github.com> Date: Wed, 1 Nov 2023 10:16:47 +0800 Subject: [PATCH 4/6] Update servicelinker.json --- .../2023-04-01-preview/servicelinker.json | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/servicelinker.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/servicelinker.json index a23fad75326b..c8deaac59f2e 100644 --- a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/servicelinker.json +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/servicelinker.json @@ -2041,6 +2041,18 @@ } } }, + "LinkerConfigurationType": { + "description": "Type of configuration to determine whether the configuration can be modified after creation. KeyvaultSecret means the configuration references a key vault secret, such as App Service/ACA key vault reference. Default means the configuration is real value, such as user name, raw secret, etc.", + "type": "string", + "enum": [ + "Default", + "KeyVaultSecret" + ], + "x-ms-enum": { + "name": "LinkerConfigurationType", + "modelAsString": true + } + }, "SourceConfiguration": { "description": "A configuration item for source resource", "type": "object", @@ -2053,6 +2065,21 @@ "x-nullable": true, "description": "The value of setting", "type": "string" + }, + "configType": { + "description": "The type of setting", + "readOnly": true, + "$ref": "#/definitions/LinkerConfigurationType" + }, + "keyVaultReferenceIdentity": { + "x-nullable": true, + "description": "The identity for key vault reference, system or user-assigned managed identity ID", + "type": "string" + }, + "description": { + "x-nullable": true, + "description": "Descriptive information for the configuration", + "type": "string" } } }, From c007e95032e446d70bfe9e786f50fa1a77892538 Mon Sep 17 00:00:00 2001 From: Xiaofan Zhou <81600993+xfz11@users.noreply.github.com> Date: Wed, 1 Nov 2023 10:17:49 +0800 Subject: [PATCH 5/6] Update GetConfigurations.json --- .../examples/GetConfigurations.json | 28 +++++++++++++++++-- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/GetConfigurations.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/GetConfigurations.json index d7c7d341fac7..00908c92a5b5 100644 --- a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/GetConfigurations.json +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2023-04-01-preview/examples/GetConfigurations.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2023-04-01-preview", - "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.App/containerApps/test-app", "linkerName": "linkName" }, "responses": { @@ -9,8 +9,30 @@ "body": { "configurations": [ { - "name": "ASL_DocumentDb_ConnectionString", - "value": "ConnectionString" + "name": "AZURE_POSTGRESQL_HOST", + "value": "Host", + "configType": "Default" + }, + { + "name": "AZURE_POSTGRESQL_USER", + "value": "Username", + "configType": "Default" + }, + { + "name": "AZURE_POSTGRESQL_DATABASE", + "value": "DatabaseName", + "configType": "Default" + }, + { + "name": "AZURE_POSTGRESQL_PORT", + "value": "Port", + "configType": "Default" + }, + { + "name": "AZURE_POSTGRESQL_PASSWORD", + "value": "SecretUri", + "configType": "KeyVaultSecret", + "keyVaultReferenceIdentity": "system" } ] } From f1627f4827260ffdd4aca6e14b3595c5456748e6 Mon Sep 17 00:00:00 2001 From: Xiaofan Zhou <81600993+xfz11@users.noreply.github.com> Date: Wed, 1 Nov 2023 13:50:29 +0800 Subject: [PATCH 6/6] Update readme.md --- specification/servicelinker/resource-manager/readme.md | 9 --------- 1 file changed, 9 deletions(-) diff --git a/specification/servicelinker/resource-manager/readme.md b/specification/servicelinker/resource-manager/readme.md index 81e93434c339..c599f6aa954b 100644 --- a/specification/servicelinker/resource-manager/readme.md +++ b/specification/servicelinker/resource-manager/readme.md @@ -58,15 +58,6 @@ input-file: - Microsoft.ServiceLinker/stable/2022-05-01/servicelinker.json ``` -### Tag: package-2022-07-01-privatepreview - -These settings apply only when `--tag=package-2022-07-01-privatepreview` is specified on the command line. - -```yaml $(tag) == 'package-2022-07-01-privatepreview' -input-file: - - Microsoft.ServiceLinker/preview/2022-07-01-privatepreview/servicelinker.json -``` - ### Tag: package-2022-11-01-preview These settings apply only when `--tag=package-2022-11-01-preview` is specified on the command line.