From 32367dcc28c9ec5bbff907c65dd47926fa9e8a8d Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Thu, 14 Apr 2022 02:29:58 +0000 Subject: [PATCH] CodeGen from PR 18684 in Azure/azure-rest-api-specs Merge 94b040363c2b1a4761bfc59c929a5647f221fe62 into 49135492d5ea1c15f1ba53813c4be8cb2109c416 --- .../2022-05-01/Microsoft.ServiceLinker.json | 505 ++++++++++++++++++ 1 file changed, 505 insertions(+) create mode 100644 schemas/2022-05-01/Microsoft.ServiceLinker.json diff --git a/schemas/2022-05-01/Microsoft.ServiceLinker.json b/schemas/2022-05-01/Microsoft.ServiceLinker.json new file mode 100644 index 0000000000..6d009039ef --- /dev/null +++ b/schemas/2022-05-01/Microsoft.ServiceLinker.json @@ -0,0 +1,505 @@ +{ + "id": "https://schema.management.azure.com/schemas/2022-05-01/Microsoft.ServiceLinker.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.ServiceLinker", + "description": "Microsoft ServiceLinker Resource Types", + "resourceDefinitions": {}, + "unknown_resourceDefinitions": { + "linkers": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-05-01" + ] + }, + "name": { + "type": "string", + "description": "The name Linker resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/LinkerProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the linker." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ServiceLinker/linkers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ServiceLinker/linkers" + } + }, + "definitions": { + "AuthInfoBase": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/SecretAuthInfo" + }, + { + "$ref": "#/definitions/UserAssignedIdentityAuthInfo" + }, + { + "$ref": "#/definitions/SystemAssignedIdentityAuthInfo" + }, + { + "$ref": "#/definitions/ServicePrincipalSecretAuthInfo" + }, + { + "$ref": "#/definitions/ServicePrincipalCertificateAuthInfo" + } + ], + "properties": {}, + "description": "The authentication info" + }, + "AzureKeyVaultProperties": { + "type": "object", + "properties": { + "connectAsKubernetesCsiDriver": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "True if connect via Kubernetes CSI Driver." + }, + "type": { + "type": "string", + "enum": [ + "KeyVault" + ] + } + }, + "required": [ + "type" + ], + "description": "The resource properties when type is Azure Key Vault" + }, + "AzureResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The Id of azure resource." + }, + "resourceProperties": { + "oneOf": [ + { + "$ref": "#/definitions/AzureResourcePropertiesBase" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The azure resource properties" + }, + "type": { + "type": "string", + "enum": [ + "AzureResource" + ] + } + }, + "required": [ + "type" + ], + "description": "The azure resource info when target service type is AzureResource" + }, + "AzureResourcePropertiesBase": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureKeyVaultProperties" + } + ], + "properties": {}, + "description": "The azure resource properties" + }, + "ConfluentBootstrapServer": { + "type": "object", + "properties": { + "endpoint": { + "type": "string", + "description": "The endpoint of service." + }, + "type": { + "type": "string", + "enum": [ + "ConfluentBootstrapServer" + ] + } + }, + "required": [ + "type" + ], + "description": "The service properties when target service type is ConfluentBootstrapServer" + }, + "ConfluentSchemaRegistry": { + "type": "object", + "properties": { + "endpoint": { + "type": "string", + "description": "The endpoint of service." + }, + "type": { + "type": "string", + "enum": [ + "ConfluentSchemaRegistry" + ] + } + }, + "required": [ + "type" + ], + "description": "The service properties when target service type is ConfluentSchemaRegistry" + }, + "KeyVaultSecretReferenceSecretInfo": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the Key Vault secret." + }, + "secretType": { + "type": "string", + "enum": [ + "keyVaultSecretReference" + ] + }, + "version": { + "type": "string", + "description": "Version of the Key Vault secret." + } + }, + "required": [ + "secretType" + ], + "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." + }, + "KeyVaultSecretUriSecretInfo": { + "type": "object", + "properties": { + "secretType": { + "type": "string", + "enum": [ + "keyVaultSecretUri" + ] + }, + "value": { + "type": "string", + "description": "URI to the keyvault secret" + } + }, + "required": [ + "secretType" + ], + "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." + }, + "LinkerProperties": { + "type": "object", + "properties": { + "authInfo": { + "oneOf": [ + { + "$ref": "#/definitions/AuthInfoBase" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The authentication info" + }, + "clientType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "none", + "dotnet", + "java", + "python", + "go", + "php", + "ruby", + "django", + "nodejs", + "springBoot" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The application client type." + }, + "scope": { + "type": "string", + "description": "connection scope in source service." + }, + "secretStore": { + "oneOf": [ + { + "$ref": "#/definitions/SecretStore" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An option to store secret value in secure place" + }, + "targetService": { + "oneOf": [ + { + "$ref": "#/definitions/TargetServiceBase" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The target service properties" + }, + "vNetSolution": { + "oneOf": [ + { + "$ref": "#/definitions/VNetSolution" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The VNet solution for linker" + } + }, + "description": "The properties of the linker." + }, + "SecretAuthInfo": { + "type": "object", + "properties": { + "authType": { + "type": "string", + "enum": [ + "secret" + ] + }, + "name": { + "type": "string", + "description": "Username or account name for secret auth." + }, + "secretInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SecretInfoBase" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The secret info" + } + }, + "required": [ + "authType" + ], + "description": "The authentication info when authType is secret" + }, + "SecretInfoBase": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ValueSecretInfo" + }, + { + "$ref": "#/definitions/KeyVaultSecretReferenceSecretInfo" + }, + { + "$ref": "#/definitions/KeyVaultSecretUriSecretInfo" + } + ], + "properties": {}, + "description": "The secret info" + }, + "SecretStore": { + "type": "object", + "properties": { + "keyVaultId": { + "type": "string", + "description": "The key vault id to store secret" + } + }, + "description": "An option to store secret value in secure place" + }, + "ServicePrincipalCertificateAuthInfo": { + "type": "object", + "properties": { + "authType": { + "type": "string", + "enum": [ + "servicePrincipalCertificate" + ] + }, + "certificate": { + "type": "string", + "description": "ServicePrincipal certificate for servicePrincipal auth." + }, + "clientId": { + "type": "string", + "description": "Application clientId for servicePrincipal auth." + }, + "principalId": { + "type": "string", + "description": "Principal Id for servicePrincipal auth." + } + }, + "required": [ + "authType", + "certificate", + "clientId", + "principalId" + ], + "description": "The authentication info when authType is servicePrincipal certificate" + }, + "ServicePrincipalSecretAuthInfo": { + "type": "object", + "properties": { + "authType": { + "type": "string", + "enum": [ + "servicePrincipalSecret" + ] + }, + "clientId": { + "type": "string", + "description": "ServicePrincipal application clientId for servicePrincipal auth." + }, + "principalId": { + "type": "string", + "description": "Principal Id for servicePrincipal auth." + }, + "secret": { + "type": "string", + "description": "Secret for servicePrincipal auth." + } + }, + "required": [ + "authType", + "clientId", + "principalId", + "secret" + ], + "description": "The authentication info when authType is servicePrincipal secret" + }, + "SystemAssignedIdentityAuthInfo": { + "type": "object", + "properties": { + "authType": { + "type": "string", + "enum": [ + "systemAssignedIdentity" + ] + } + }, + "required": [ + "authType" + ], + "description": "The authentication info when authType is systemAssignedIdentity" + }, + "TargetServiceBase": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureResource" + }, + { + "$ref": "#/definitions/ConfluentBootstrapServer" + }, + { + "$ref": "#/definitions/ConfluentSchemaRegistry" + } + ], + "properties": {}, + "description": "The target service properties" + }, + "UserAssignedIdentityAuthInfo": { + "type": "object", + "properties": { + "authType": { + "type": "string", + "enum": [ + "userAssignedIdentity" + ] + }, + "clientId": { + "type": "string", + "description": "Client Id for userAssignedIdentity." + }, + "subscriptionId": { + "type": "string", + "description": "Subscription id for userAssignedIdentity." + } + }, + "required": [ + "authType" + ], + "description": "The authentication info when authType is userAssignedIdentity" + }, + "ValueSecretInfo": { + "type": "object", + "properties": { + "secretType": { + "type": "string", + "enum": [ + "rawValue" + ] + }, + "value": { + "type": "string", + "description": "The actual value of the secret." + } + }, + "required": [ + "secretType" + ], + "description": "The secret info when type is rawValue. It's for scenarios that user input the secret." + }, + "VNetSolution": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "serviceEndpoint", + "privateLink" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of VNet solution." + } + }, + "description": "The VNet solution for linker" + } + } +} \ No newline at end of file