Share via


Microsoft.ServiceLinker locations/connectors

Choose a deployment language

Bicep resource definition

The locations/connectors resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.ServiceLinker/locations/connectors resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.ServiceLinker/locations/connectors@2024-07-01-preview' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    authInfo: {
      authMode: 'string'
      authType: 'string'
      // For remaining properties, see AuthInfoBase objects
    }
    clientType: 'string'
    configurationInfo: {
      action: 'string'
      additionalConfigurations: {
        {customized property}: 'string'
      }
      additionalConnectionStringProperties: {
        {customized property}: 'string'
      }
      configurationStore: {
        appConfigurationId: 'string'
      }
      customizedKeys: {
        {customized property}: 'string'
      }
      daprProperties: {
        componentType: 'string'
        metadata: [
          {
            description: 'string'
            name: 'string'
            required: 'string'
            secretRef: 'string'
            value: 'string'
          }
        ]
        scopes: [
          'string'
        ]
        secretStoreComponent: 'string'
        version: 'string'
      }
      deleteOrUpdateBehavior: 'string'
    }
    publicNetworkSolution: {
      action: 'string'
      deleteOrUpdateBehavior: 'string'
      firewallRules: {
        azureServices: 'string'
        callerClientIP: 'string'
        ipRanges: [
          'string'
        ]
      }
    }
    scope: 'string'
    secretStore: {
      keyVaultId: 'string'
      keyVaultSecretName: 'string'
    }
    targetService: {
      type: 'string'
      // For remaining properties, see TargetServiceBase objects
    }
    vNetSolution: {
      deleteOrUpdateBehavior: 'string'
      type: 'string'
    }
  }
}

AuthInfoBase objects

Set the authType property to specify the type of object.

For accessKey, use:

{
  authType: 'accessKey'
  permissions: [
    'string'
  ]
}

For easyAuthMicrosoftEntraID, use:

{
  authType: 'easyAuthMicrosoftEntraID'
  clientId: 'string'
  deleteOrUpdateBehavior: 'string'
  secret: 'string'
}

For secret, use:

{
  authType: 'secret'
  name: 'string'
  secretInfo: {
    secretType: 'string'
    // For remaining properties, see SecretInfoBase objects
  }
}

For servicePrincipalCertificate, use:

{
  authType: 'servicePrincipalCertificate'
  certificate: 'string'
  clientId: 'string'
  deleteOrUpdateBehavior: 'string'
  principalId: 'string'
  roles: [
    'string'
  ]
}

For servicePrincipalSecret, use:

{
  authType: 'servicePrincipalSecret'
  clientId: 'string'
  deleteOrUpdateBehavior: 'string'
  principalId: 'string'
  roles: [
    'string'
  ]
  secret: 'string'
  userName: 'string'
}

For systemAssignedIdentity, use:

{
  authType: 'systemAssignedIdentity'
  deleteOrUpdateBehavior: 'string'
  roles: [
    'string'
  ]
  userName: 'string'
}

For userAccount, use:

{
  authType: 'userAccount'
  deleteOrUpdateBehavior: 'string'
  principalId: 'string'
  roles: [
    'string'
  ]
  userName: 'string'
}

For userAssignedIdentity, use:

{
  authType: 'userAssignedIdentity'
  clientId: 'string'
  deleteOrUpdateBehavior: 'string'
  roles: [
    'string'
  ]
  subscriptionId: 'string'
  userName: 'string'
}

TargetServiceBase objects

Set the type property to specify the type of object.

For AzureResource, use:

{
  id: 'string'
  resourceProperties: {
    type: 'string'
    // For remaining properties, see AzureResourcePropertiesBase objects
  }
  type: 'AzureResource'
}

For ConfluentBootstrapServer, use:

{
  endpoint: 'string'
  type: 'ConfluentBootstrapServer'
}

For ConfluentSchemaRegistry, use:

{
  endpoint: 'string'
  type: 'ConfluentSchemaRegistry'
}

For FabricPlatform, use:

{
  endpoint: 'string'
  type: 'FabricPlatform'
}

For SelfHostedServer, use:

{
  endpoint: 'string'
  type: 'SelfHostedServer'
}

SecretInfoBase objects

Set the secretType property to specify the type of object.

For keyVaultSecretReference, use:

{
  name: 'string'
  secretType: 'keyVaultSecretReference'
  version: 'string'
}

For keyVaultSecretUri, use:

{
  secretType: 'keyVaultSecretUri'
  value: 'string'
}

For rawValue, use:

{
  secretType: 'rawValue'
  value: 'string'
}

AzureResourcePropertiesBase objects

Set the type property to specify the type of object.

For AppConfig, use:

{
  connectWithKubernetesExtension: bool
  type: 'AppConfig'
}

For KeyVault, use:

{
  connectAsKubernetesCsiDriver: bool
  type: 'KeyVault'
}

Property Values

AccessKeyInfoBase

Name Description Value
authType The authentication type. 'accessKey' (required)
permissions 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. String array containing any of:
'Listen'
'Manage'
'Read'
'Send'
'Write'

AuthInfoBase

Name Description Value
authMode Optional. Indicates how to configure authentication. If optInAllAuth, service linker configures authentication such as enabling identity on source resource and granting RBAC roles. If optOutAllAuth, opt out authentication setup. Default is optInAllAuth. 'optInAllAuth'
'optOutAllAuth'
authType Set to 'accessKey' for type AccessKeyInfoBase. Set to 'easyAuthMicrosoftEntraID' for type EasyAuthMicrosoftEntraIDAuthInfo. Set to 'secret' for type SecretAuthInfo. Set to 'servicePrincipalCertificate' for type ServicePrincipalCertificateAuthInfo. Set to 'servicePrincipalSecret' for type ServicePrincipalSecretAuthInfo. Set to 'systemAssignedIdentity' for type SystemAssignedIdentityAuthInfo. Set to 'userAccount' for type UserAccountAuthInfo. Set to 'userAssignedIdentity' for type UserAssignedIdentityAuthInfo. 'accessKey'
'easyAuthMicrosoftEntraID'
'secret'
'servicePrincipalCertificate'
'servicePrincipalSecret'
'systemAssignedIdentity'
'userAccount'
'userAssignedIdentity' (required)

AzureAppConfigProperties

Name Description Value
connectWithKubernetesExtension True if connection enables app configuration kubernetes extension. bool
type The azure resource type. 'AppConfig' (required)

AzureKeyVaultProperties

Name Description Value
connectAsKubernetesCsiDriver True if connect via Kubernetes CSI Driver. bool
type The azure resource type. 'KeyVault' (required)

AzureResource

Name Description Value
id The Id of azure resource. string
resourceProperties The azure resource connection related properties. AzureResourcePropertiesBase
type The target service type. 'AzureResource' (required)

AzureResourcePropertiesBase

Name Description Value
type Set to 'AppConfig' for type AzureAppConfigProperties. Set to 'KeyVault' for type AzureKeyVaultProperties. 'AppConfig'
'KeyVault' (required)

ConfigurationInfo

Name Description Value
action 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. 'enable'
'Internal'
'optOut'
additionalConfigurations 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 ConfigurationInfoAdditionalConfigurations
additionalConnectionStringProperties A dictionary of additional properties to be added in the end of connection string. ConfigurationInfoAdditionalConnectionStringProperties
configurationStore An option to store configuration into different place ConfigurationStore
customizedKeys Optional. A dictionary of default key name and customized key name mapping. If not specified, default key name will be used for generate configurations ConfigurationInfoCustomizedKeys
daprProperties Indicates some additional properties for dapr client type DaprProperties
deleteOrUpdateBehavior Indicates whether to clean up previous operation when Linker is updating or deleting 'Default'
'ForcedCleanup'

ConfigurationInfoAdditionalConfigurations

Name Description Value

ConfigurationInfoAdditionalConnectionStringProperties

Name Description Value

ConfigurationInfoCustomizedKeys

Name Description Value

ConfigurationStore

Name Description Value
appConfigurationId The app configuration id to store configuration string

ConfluentBootstrapServer

Name Description Value
endpoint The endpoint of service. string
type The target service type. 'ConfluentBootstrapServer' (required)

ConfluentSchemaRegistry

Name Description Value
endpoint The endpoint of service. string
type The target service type. 'ConfluentSchemaRegistry' (required)

DaprMetadata

Name Description Value
description The description of the metadata, returned from configuration api string
name Metadata property name. string
required The value indicating whether the metadata is required or not 'false'
'true'
secretRef The secret name where dapr could get value string
value Metadata property value. string

DaprProperties

Name Description Value
componentType The dapr component type string
metadata Additional dapr metadata DaprMetadata[]
scopes The dapr component scopes string[]
secretStoreComponent The name of a secret store dapr to retrieve secret string
version The dapr component version string

EasyAuthMicrosoftEntraIDAuthInfo

Name Description Value
authType The authentication type. 'easyAuthMicrosoftEntraID' (required)
clientId Application clientId for EasyAuth Microsoft Entra ID. string
deleteOrUpdateBehavior Indicates whether to clean up previous operation when Linker is updating or deleting 'Default'
'ForcedCleanup'
secret Application Secret for EasyAuth Microsoft Entra ID. string

Constraints:
Sensitive value. Pass in as a secure parameter.

FabricPlatform

Name Description Value
endpoint The endpoint of service. string
type The target service type. 'FabricPlatform' (required)

FirewallRules

Name Description Value
azureServices Allow Azure services to access the target service if true. 'false'
'true'
callerClientIP Allow caller client IP to access the target service if true. the property is used when connecting local application to target service. 'false'
'true'
ipRanges 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. string[]

KeyVaultSecretReferenceSecretInfo

Name Description Value
name Name of the Key Vault secret. string
secretType The secret type. 'keyVaultSecretReference' (required)
version Version of the Key Vault secret. string

KeyVaultSecretUriSecretInfo

Name Description Value
secretType The secret type. 'keyVaultSecretUri' (required)
value URI to the keyvault secret string

LinkerProperties

Name Description Value
authInfo The authentication type. AuthInfoBase
clientType The application client type 'dapr'
'django'
'dotnet'
'go'
'java'
'jms-springBoot'
'kafka-springBoot'
'nodejs'
'none'
'php'
'python'
'ruby'
'springBoot'
configurationInfo The connection information consumed by applications, including secrets, connection strings. ConfigurationInfo
publicNetworkSolution The network solution. PublicNetworkSolution
scope connection scope in source service. string
secretStore An option to store secret value in secure place SecretStore
targetService The target service properties TargetServiceBase
vNetSolution The VNet solution. VNetSolution

Microsoft.ServiceLinker/locations/connectors

Name Description Value
name The resource name string (required)
parent In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource.

For more information, see Child resource outside parent resource.
Symbolic name for resource of type: locations
properties The properties of the Linker. LinkerProperties (required)

PublicNetworkSolution

Name Description Value
action 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. 'enable'
'Internal'
'optOut'
deleteOrUpdateBehavior Indicates whether to clean up previous operation(such as firewall rules) when Linker is updating or deleting 'Default'
'ForcedCleanup'
firewallRules Describe firewall rules of target service to make sure source application could connect to the target. FirewallRules

SecretAuthInfo

Name Description Value
authType The authentication type. 'secret' (required)
name Username or account name for secret auth. string
secretInfo Password or key vault secret for secret auth. SecretInfoBase

SecretInfoBase

Name Description Value
secretType Set to 'keyVaultSecretReference' for type KeyVaultSecretReferenceSecretInfo. Set to 'keyVaultSecretUri' for type KeyVaultSecretUriSecretInfo. Set to 'rawValue' for type ValueSecretInfo. 'keyVaultSecretReference'
'keyVaultSecretUri'
'rawValue' (required)

SecretStore

Name Description Value
keyVaultId The key vault id to store secret string
keyVaultSecretName The key vault secret name to store secret, only valid when storing one secret string

SelfHostedServer

Name Description Value
endpoint The endpoint of service. string
type The target service type. 'SelfHostedServer' (required)

ServicePrincipalCertificateAuthInfo

Name Description Value
authType The authentication type. 'servicePrincipalCertificate' (required)
certificate ServicePrincipal certificate for servicePrincipal auth. string

Constraints:
Sensitive value. Pass in as a secure parameter. (required)
clientId Application clientId for servicePrincipal auth. string (required)
deleteOrUpdateBehavior Indicates whether to clean up previous operation when Linker is updating or deleting 'Default'
'ForcedCleanup'
principalId Principal Id for servicePrincipal auth. string (required)
roles Optional, this value specifies the Azure roles to be assigned. Automatically string[]

ServicePrincipalSecretAuthInfo

Name Description Value
authType The authentication type. 'servicePrincipalSecret' (required)
clientId ServicePrincipal application clientId for servicePrincipal auth. string (required)
deleteOrUpdateBehavior Indicates whether to clean up previous operation when Linker is updating or deleting 'Default'
'ForcedCleanup'
principalId Principal Id for servicePrincipal auth. string (required)
roles Optional, this value specifies the Azure roles to be assigned. Automatically string[]
secret Secret for servicePrincipal auth. string

Constraints:
Sensitive value. Pass in as a secure parameter. (required)
userName Username created in the database which is mapped to a user in AAD. string

SystemAssignedIdentityAuthInfo

Name Description Value
authType The authentication type. 'systemAssignedIdentity' (required)
deleteOrUpdateBehavior Indicates whether to clean up previous operation when Linker is updating or deleting 'Default'
'ForcedCleanup'
roles Optional, this value specifies the Azure role to be assigned string[]
userName Username created in the database which is mapped to a user in AAD. string

TargetServiceBase

Name Description Value
type Set to 'AzureResource' for type AzureResource. Set to 'ConfluentBootstrapServer' for type ConfluentBootstrapServer. Set to 'ConfluentSchemaRegistry' for type ConfluentSchemaRegistry. Set to 'FabricPlatform' for type FabricPlatform. Set to 'SelfHostedServer' for type SelfHostedServer. 'AzureResource'
'ConfluentBootstrapServer'
'ConfluentSchemaRegistry'
'FabricPlatform'
'SelfHostedServer' (required)

UserAccountAuthInfo

Name Description Value
authType The authentication type. 'userAccount' (required)
deleteOrUpdateBehavior Indicates whether to clean up previous operation when Linker is updating or deleting 'Default'
'ForcedCleanup'
principalId Principal Id for user account. string
roles Optional, this value specifies the Azure roles to be assigned. Automatically string[]
userName Username created in the database which is mapped to a user in AAD. string

UserAssignedIdentityAuthInfo

Name Description Value
authType The authentication type. 'userAssignedIdentity' (required)
clientId Client Id for userAssignedIdentity. string
deleteOrUpdateBehavior Indicates whether to clean up previous operation when Linker is updating or deleting 'Default'
'ForcedCleanup'
roles Optional, this value specifies the Azure role to be assigned string[]
subscriptionId Subscription id for userAssignedIdentity. string
userName Username created in the database which is mapped to a user in AAD. string

ValueSecretInfo

Name Description Value
secretType The secret type. 'rawValue' (required)
value The actual value of the secret. string

Constraints:
Sensitive value. Pass in as a secure parameter.

VNetSolution

Name Description Value
deleteOrUpdateBehavior Indicates whether to clean up previous operation when Linker is updating or deleting 'Default'
'ForcedCleanup'
type Type of VNet solution. 'privateLink'
'serviceEndpoint'

ARM template resource definition

The locations/connectors resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.ServiceLinker/locations/connectors resource, add the following JSON to your template.

{
  "type": "Microsoft.ServiceLinker/locations/connectors",
  "apiVersion": "2024-07-01-preview",
  "name": "string",
  "properties": {
    "authInfo": {
      "authMode": "string",
      "authType": "string"
      // For remaining properties, see AuthInfoBase objects
    },
    "clientType": "string",
    "configurationInfo": {
      "action": "string",
      "additionalConfigurations": {
        "{customized property}": "string"
      },
      "additionalConnectionStringProperties": {
        "{customized property}": "string"
      },
      "configurationStore": {
        "appConfigurationId": "string"
      },
      "customizedKeys": {
        "{customized property}": "string"
      },
      "daprProperties": {
        "componentType": "string",
        "metadata": [
          {
            "description": "string",
            "name": "string",
            "required": "string",
            "secretRef": "string",
            "value": "string"
          }
        ],
        "scopes": [ "string" ],
        "secretStoreComponent": "string",
        "version": "string"
      },
      "deleteOrUpdateBehavior": "string"
    },
    "publicNetworkSolution": {
      "action": "string",
      "deleteOrUpdateBehavior": "string",
      "firewallRules": {
        "azureServices": "string",
        "callerClientIP": "string",
        "ipRanges": [ "string" ]
      }
    },
    "scope": "string",
    "secretStore": {
      "keyVaultId": "string",
      "keyVaultSecretName": "string"
    },
    "targetService": {
      "type": "string"
      // For remaining properties, see TargetServiceBase objects
    },
    "vNetSolution": {
      "deleteOrUpdateBehavior": "string",
      "type": "string"
    }
  }
}

AuthInfoBase objects

Set the authType property to specify the type of object.

For accessKey, use:

{
  "authType": "accessKey",
  "permissions": [ "string" ]
}

For easyAuthMicrosoftEntraID, use:

{
  "authType": "easyAuthMicrosoftEntraID",
  "clientId": "string",
  "deleteOrUpdateBehavior": "string",
  "secret": "string"
}

For secret, use:

{
  "authType": "secret",
  "name": "string",
  "secretInfo": {
    "secretType": "string"
    // For remaining properties, see SecretInfoBase objects
  }
}

For servicePrincipalCertificate, use:

{
  "authType": "servicePrincipalCertificate",
  "certificate": "string",
  "clientId": "string",
  "deleteOrUpdateBehavior": "string",
  "principalId": "string",
  "roles": [ "string" ]
}

For servicePrincipalSecret, use:

{
  "authType": "servicePrincipalSecret",
  "clientId": "string",
  "deleteOrUpdateBehavior": "string",
  "principalId": "string",
  "roles": [ "string" ],
  "secret": "string",
  "userName": "string"
}

For systemAssignedIdentity, use:

{
  "authType": "systemAssignedIdentity",
  "deleteOrUpdateBehavior": "string",
  "roles": [ "string" ],
  "userName": "string"
}

For userAccount, use:

{
  "authType": "userAccount",
  "deleteOrUpdateBehavior": "string",
  "principalId": "string",
  "roles": [ "string" ],
  "userName": "string"
}

For userAssignedIdentity, use:

{
  "authType": "userAssignedIdentity",
  "clientId": "string",
  "deleteOrUpdateBehavior": "string",
  "roles": [ "string" ],
  "subscriptionId": "string",
  "userName": "string"
}

TargetServiceBase objects

Set the type property to specify the type of object.

For AzureResource, use:

{
  "id": "string",
  "resourceProperties": {
    "type": "string"
    // For remaining properties, see AzureResourcePropertiesBase objects
  },
  "type": "AzureResource"
}

For ConfluentBootstrapServer, use:

{
  "endpoint": "string",
  "type": "ConfluentBootstrapServer"
}

For ConfluentSchemaRegistry, use:

{
  "endpoint": "string",
  "type": "ConfluentSchemaRegistry"
}

For FabricPlatform, use:

{
  "endpoint": "string",
  "type": "FabricPlatform"
}

For SelfHostedServer, use:

{
  "endpoint": "string",
  "type": "SelfHostedServer"
}

SecretInfoBase objects

Set the secretType property to specify the type of object.

For keyVaultSecretReference, use:

{
  "name": "string",
  "secretType": "keyVaultSecretReference",
  "version": "string"
}

For keyVaultSecretUri, use:

{
  "secretType": "keyVaultSecretUri",
  "value": "string"
}

For rawValue, use:

{
  "secretType": "rawValue",
  "value": "string"
}

AzureResourcePropertiesBase objects

Set the type property to specify the type of object.

For AppConfig, use:

{
  "connectWithKubernetesExtension": "bool",
  "type": "AppConfig"
}

For KeyVault, use:

{
  "connectAsKubernetesCsiDriver": "bool",
  "type": "KeyVault"
}

Property Values

AccessKeyInfoBase

Name Description Value
authType The authentication type. 'accessKey' (required)
permissions 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. String array containing any of:
'Listen'
'Manage'
'Read'
'Send'
'Write'

AuthInfoBase

Name Description Value
authMode Optional. Indicates how to configure authentication. If optInAllAuth, service linker configures authentication such as enabling identity on source resource and granting RBAC roles. If optOutAllAuth, opt out authentication setup. Default is optInAllAuth. 'optInAllAuth'
'optOutAllAuth'
authType Set to 'accessKey' for type AccessKeyInfoBase. Set to 'easyAuthMicrosoftEntraID' for type EasyAuthMicrosoftEntraIDAuthInfo. Set to 'secret' for type SecretAuthInfo. Set to 'servicePrincipalCertificate' for type ServicePrincipalCertificateAuthInfo. Set to 'servicePrincipalSecret' for type ServicePrincipalSecretAuthInfo. Set to 'systemAssignedIdentity' for type SystemAssignedIdentityAuthInfo. Set to 'userAccount' for type UserAccountAuthInfo. Set to 'userAssignedIdentity' for type UserAssignedIdentityAuthInfo. 'accessKey'
'easyAuthMicrosoftEntraID'
'secret'
'servicePrincipalCertificate'
'servicePrincipalSecret'
'systemAssignedIdentity'
'userAccount'
'userAssignedIdentity' (required)

AzureAppConfigProperties

Name Description Value
connectWithKubernetesExtension True if connection enables app configuration kubernetes extension. bool
type The azure resource type. 'AppConfig' (required)

AzureKeyVaultProperties

Name Description Value
connectAsKubernetesCsiDriver True if connect via Kubernetes CSI Driver. bool
type The azure resource type. 'KeyVault' (required)

AzureResource

Name Description Value
id The Id of azure resource. string
resourceProperties The azure resource connection related properties. AzureResourcePropertiesBase
type The target service type. 'AzureResource' (required)

AzureResourcePropertiesBase

Name Description Value
type Set to 'AppConfig' for type AzureAppConfigProperties. Set to 'KeyVault' for type AzureKeyVaultProperties. 'AppConfig'
'KeyVault' (required)

ConfigurationInfo

Name Description Value
action 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. 'enable'
'Internal'
'optOut'
additionalConfigurations 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 ConfigurationInfoAdditionalConfigurations
additionalConnectionStringProperties A dictionary of additional properties to be added in the end of connection string. ConfigurationInfoAdditionalConnectionStringProperties
configurationStore An option to store configuration into different place ConfigurationStore
customizedKeys Optional. A dictionary of default key name and customized key name mapping. If not specified, default key name will be used for generate configurations ConfigurationInfoCustomizedKeys
daprProperties Indicates some additional properties for dapr client type DaprProperties
deleteOrUpdateBehavior Indicates whether to clean up previous operation when Linker is updating or deleting 'Default'
'ForcedCleanup'

ConfigurationInfoAdditionalConfigurations

Name Description Value

ConfigurationInfoAdditionalConnectionStringProperties

Name Description Value

ConfigurationInfoCustomizedKeys

Name Description Value

ConfigurationStore

Name Description Value
appConfigurationId The app configuration id to store configuration string

ConfluentBootstrapServer

Name Description Value
endpoint The endpoint of service. string
type The target service type. 'ConfluentBootstrapServer' (required)

ConfluentSchemaRegistry

Name Description Value
endpoint The endpoint of service. string
type The target service type. 'ConfluentSchemaRegistry' (required)

DaprMetadata

Name Description Value
description The description of the metadata, returned from configuration api string
name Metadata property name. string
required The value indicating whether the metadata is required or not 'false'
'true'
secretRef The secret name where dapr could get value string
value Metadata property value. string

DaprProperties

Name Description Value
componentType The dapr component type string
metadata Additional dapr metadata DaprMetadata[]
scopes The dapr component scopes string[]
secretStoreComponent The name of a secret store dapr to retrieve secret string
version The dapr component version string

EasyAuthMicrosoftEntraIDAuthInfo

Name Description Value
authType The authentication type. 'easyAuthMicrosoftEntraID' (required)
clientId Application clientId for EasyAuth Microsoft Entra ID. string
deleteOrUpdateBehavior Indicates whether to clean up previous operation when Linker is updating or deleting 'Default'
'ForcedCleanup'
secret Application Secret for EasyAuth Microsoft Entra ID. string

Constraints:
Sensitive value. Pass in as a secure parameter.

FabricPlatform

Name Description Value
endpoint The endpoint of service. string
type The target service type. 'FabricPlatform' (required)

FirewallRules

Name Description Value
azureServices Allow Azure services to access the target service if true. 'false'
'true'
callerClientIP Allow caller client IP to access the target service if true. the property is used when connecting local application to target service. 'false'
'true'
ipRanges 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. string[]

KeyVaultSecretReferenceSecretInfo

Name Description Value
name Name of the Key Vault secret. string
secretType The secret type. 'keyVaultSecretReference' (required)
version Version of the Key Vault secret. string

KeyVaultSecretUriSecretInfo

Name Description Value
secretType The secret type. 'keyVaultSecretUri' (required)
value URI to the keyvault secret string

LinkerProperties

Name Description Value
authInfo The authentication type. AuthInfoBase
clientType The application client type 'dapr'
'django'
'dotnet'
'go'
'java'
'jms-springBoot'
'kafka-springBoot'
'nodejs'
'none'
'php'
'python'
'ruby'
'springBoot'
configurationInfo The connection information consumed by applications, including secrets, connection strings. ConfigurationInfo
publicNetworkSolution The network solution. PublicNetworkSolution
scope connection scope in source service. string
secretStore An option to store secret value in secure place SecretStore
targetService The target service properties TargetServiceBase
vNetSolution The VNet solution. VNetSolution

Microsoft.ServiceLinker/locations/connectors

Name Description Value
apiVersion The api version '2024-07-01-preview'
name The resource name string (required)
properties The properties of the Linker. LinkerProperties (required)
type The resource type 'Microsoft.ServiceLinker/locations/connectors'

PublicNetworkSolution

Name Description Value
action 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. 'enable'
'Internal'
'optOut'
deleteOrUpdateBehavior Indicates whether to clean up previous operation(such as firewall rules) when Linker is updating or deleting 'Default'
'ForcedCleanup'
firewallRules Describe firewall rules of target service to make sure source application could connect to the target. FirewallRules

SecretAuthInfo

Name Description Value
authType The authentication type. 'secret' (required)
name Username or account name for secret auth. string
secretInfo Password or key vault secret for secret auth. SecretInfoBase

SecretInfoBase

Name Description Value
secretType Set to 'keyVaultSecretReference' for type KeyVaultSecretReferenceSecretInfo. Set to 'keyVaultSecretUri' for type KeyVaultSecretUriSecretInfo. Set to 'rawValue' for type ValueSecretInfo. 'keyVaultSecretReference'
'keyVaultSecretUri'
'rawValue' (required)

SecretStore

Name Description Value
keyVaultId The key vault id to store secret string
keyVaultSecretName The key vault secret name to store secret, only valid when storing one secret string

SelfHostedServer

Name Description Value
endpoint The endpoint of service. string
type The target service type. 'SelfHostedServer' (required)

ServicePrincipalCertificateAuthInfo

Name Description Value
authType The authentication type. 'servicePrincipalCertificate' (required)
certificate ServicePrincipal certificate for servicePrincipal auth. string

Constraints:
Sensitive value. Pass in as a secure parameter. (required)
clientId Application clientId for servicePrincipal auth. string (required)
deleteOrUpdateBehavior Indicates whether to clean up previous operation when Linker is updating or deleting 'Default'
'ForcedCleanup'
principalId Principal Id for servicePrincipal auth. string (required)
roles Optional, this value specifies the Azure roles to be assigned. Automatically string[]

ServicePrincipalSecretAuthInfo

Name Description Value
authType The authentication type. 'servicePrincipalSecret' (required)
clientId ServicePrincipal application clientId for servicePrincipal auth. string (required)
deleteOrUpdateBehavior Indicates whether to clean up previous operation when Linker is updating or deleting 'Default'
'ForcedCleanup'
principalId Principal Id for servicePrincipal auth. string (required)
roles Optional, this value specifies the Azure roles to be assigned. Automatically string[]
secret Secret for servicePrincipal auth. string

Constraints:
Sensitive value. Pass in as a secure parameter. (required)
userName Username created in the database which is mapped to a user in AAD. string

SystemAssignedIdentityAuthInfo

Name Description Value
authType The authentication type. 'systemAssignedIdentity' (required)
deleteOrUpdateBehavior Indicates whether to clean up previous operation when Linker is updating or deleting 'Default'
'ForcedCleanup'
roles Optional, this value specifies the Azure role to be assigned string[]
userName Username created in the database which is mapped to a user in AAD. string

TargetServiceBase

Name Description Value
type Set to 'AzureResource' for type AzureResource. Set to 'ConfluentBootstrapServer' for type ConfluentBootstrapServer. Set to 'ConfluentSchemaRegistry' for type ConfluentSchemaRegistry. Set to 'FabricPlatform' for type FabricPlatform. Set to 'SelfHostedServer' for type SelfHostedServer. 'AzureResource'
'ConfluentBootstrapServer'
'ConfluentSchemaRegistry'
'FabricPlatform'
'SelfHostedServer' (required)

UserAccountAuthInfo

Name Description Value
authType The authentication type. 'userAccount' (required)
deleteOrUpdateBehavior Indicates whether to clean up previous operation when Linker is updating or deleting 'Default'
'ForcedCleanup'
principalId Principal Id for user account. string
roles Optional, this value specifies the Azure roles to be assigned. Automatically string[]
userName Username created in the database which is mapped to a user in AAD. string

UserAssignedIdentityAuthInfo

Name Description Value
authType The authentication type. 'userAssignedIdentity' (required)
clientId Client Id for userAssignedIdentity. string
deleteOrUpdateBehavior Indicates whether to clean up previous operation when Linker is updating or deleting 'Default'
'ForcedCleanup'
roles Optional, this value specifies the Azure role to be assigned string[]
subscriptionId Subscription id for userAssignedIdentity. string
userName Username created in the database which is mapped to a user in AAD. string

ValueSecretInfo

Name Description Value
secretType The secret type. 'rawValue' (required)
value The actual value of the secret. string

Constraints:
Sensitive value. Pass in as a secure parameter.

VNetSolution

Name Description Value
deleteOrUpdateBehavior Indicates whether to clean up previous operation when Linker is updating or deleting 'Default'
'ForcedCleanup'
type Type of VNet solution. 'privateLink'
'serviceEndpoint'

Usage Examples

Terraform (AzAPI provider) resource definition

The locations/connectors resource type can be deployed with operations that target:

  • Resource groups

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.ServiceLinker/locations/connectors resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ServiceLinker/locations/connectors@2024-07-01-preview"
  name = "string"
  body = {
    properties = {
      authInfo = {
        authMode = "string"
        authType = "string"
        // For remaining properties, see AuthInfoBase objects
      }
      clientType = "string"
      configurationInfo = {
        action = "string"
        additionalConfigurations = {
          {customized property} = "string"
        }
        additionalConnectionStringProperties = {
          {customized property} = "string"
        }
        configurationStore = {
          appConfigurationId = "string"
        }
        customizedKeys = {
          {customized property} = "string"
        }
        daprProperties = {
          componentType = "string"
          metadata = [
            {
              description = "string"
              name = "string"
              required = "string"
              secretRef = "string"
              value = "string"
            }
          ]
          scopes = [
            "string"
          ]
          secretStoreComponent = "string"
          version = "string"
        }
        deleteOrUpdateBehavior = "string"
      }
      publicNetworkSolution = {
        action = "string"
        deleteOrUpdateBehavior = "string"
        firewallRules = {
          azureServices = "string"
          callerClientIP = "string"
          ipRanges = [
            "string"
          ]
        }
      }
      scope = "string"
      secretStore = {
        keyVaultId = "string"
        keyVaultSecretName = "string"
      }
      targetService = {
        type = "string"
        // For remaining properties, see TargetServiceBase objects
      }
      vNetSolution = {
        deleteOrUpdateBehavior = "string"
        type = "string"
      }
    }
  }
}

AuthInfoBase objects

Set the authType property to specify the type of object.

For accessKey, use:

{
  authType = "accessKey"
  permissions = [
    "string"
  ]
}

For easyAuthMicrosoftEntraID, use:

{
  authType = "easyAuthMicrosoftEntraID"
  clientId = "string"
  deleteOrUpdateBehavior = "string"
  secret = "string"
}

For secret, use:

{
  authType = "secret"
  name = "string"
  secretInfo = {
    secretType = "string"
    // For remaining properties, see SecretInfoBase objects
  }
}

For servicePrincipalCertificate, use:

{
  authType = "servicePrincipalCertificate"
  certificate = "string"
  clientId = "string"
  deleteOrUpdateBehavior = "string"
  principalId = "string"
  roles = [
    "string"
  ]
}

For servicePrincipalSecret, use:

{
  authType = "servicePrincipalSecret"
  clientId = "string"
  deleteOrUpdateBehavior = "string"
  principalId = "string"
  roles = [
    "string"
  ]
  secret = "string"
  userName = "string"
}

For systemAssignedIdentity, use:

{
  authType = "systemAssignedIdentity"
  deleteOrUpdateBehavior = "string"
  roles = [
    "string"
  ]
  userName = "string"
}

For userAccount, use:

{
  authType = "userAccount"
  deleteOrUpdateBehavior = "string"
  principalId = "string"
  roles = [
    "string"
  ]
  userName = "string"
}

For userAssignedIdentity, use:

{
  authType = "userAssignedIdentity"
  clientId = "string"
  deleteOrUpdateBehavior = "string"
  roles = [
    "string"
  ]
  subscriptionId = "string"
  userName = "string"
}

TargetServiceBase objects

Set the type property to specify the type of object.

For AzureResource, use:

{
  id = "string"
  resourceProperties = {
    type = "string"
    // For remaining properties, see AzureResourcePropertiesBase objects
  }
  type = "AzureResource"
}

For ConfluentBootstrapServer, use:

{
  endpoint = "string"
  type = "ConfluentBootstrapServer"
}

For ConfluentSchemaRegistry, use:

{
  endpoint = "string"
  type = "ConfluentSchemaRegistry"
}

For FabricPlatform, use:

{
  endpoint = "string"
  type = "FabricPlatform"
}

For SelfHostedServer, use:

{
  endpoint = "string"
  type = "SelfHostedServer"
}

SecretInfoBase objects

Set the secretType property to specify the type of object.

For keyVaultSecretReference, use:

{
  name = "string"
  secretType = "keyVaultSecretReference"
  version = "string"
}

For keyVaultSecretUri, use:

{
  secretType = "keyVaultSecretUri"
  value = "string"
}

For rawValue, use:

{
  secretType = "rawValue"
  value = "string"
}

AzureResourcePropertiesBase objects

Set the type property to specify the type of object.

For AppConfig, use:

{
  connectWithKubernetesExtension = bool
  type = "AppConfig"
}

For KeyVault, use:

{
  connectAsKubernetesCsiDriver = bool
  type = "KeyVault"
}

Property Values

AccessKeyInfoBase

Name Description Value
authType The authentication type. 'accessKey' (required)
permissions 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. String array containing any of:
'Listen'
'Manage'
'Read'
'Send'
'Write'

AuthInfoBase

Name Description Value
authMode Optional. Indicates how to configure authentication. If optInAllAuth, service linker configures authentication such as enabling identity on source resource and granting RBAC roles. If optOutAllAuth, opt out authentication setup. Default is optInAllAuth. 'optInAllAuth'
'optOutAllAuth'
authType Set to 'accessKey' for type AccessKeyInfoBase. Set to 'easyAuthMicrosoftEntraID' for type EasyAuthMicrosoftEntraIDAuthInfo. Set to 'secret' for type SecretAuthInfo. Set to 'servicePrincipalCertificate' for type ServicePrincipalCertificateAuthInfo. Set to 'servicePrincipalSecret' for type ServicePrincipalSecretAuthInfo. Set to 'systemAssignedIdentity' for type SystemAssignedIdentityAuthInfo. Set to 'userAccount' for type UserAccountAuthInfo. Set to 'userAssignedIdentity' for type UserAssignedIdentityAuthInfo. 'accessKey'
'easyAuthMicrosoftEntraID'
'secret'
'servicePrincipalCertificate'
'servicePrincipalSecret'
'systemAssignedIdentity'
'userAccount'
'userAssignedIdentity' (required)

AzureAppConfigProperties

Name Description Value
connectWithKubernetesExtension True if connection enables app configuration kubernetes extension. bool
type The azure resource type. 'AppConfig' (required)

AzureKeyVaultProperties

Name Description Value
connectAsKubernetesCsiDriver True if connect via Kubernetes CSI Driver. bool
type The azure resource type. 'KeyVault' (required)

AzureResource

Name Description Value
id The Id of azure resource. string
resourceProperties The azure resource connection related properties. AzureResourcePropertiesBase
type The target service type. 'AzureResource' (required)

AzureResourcePropertiesBase

Name Description Value
type Set to 'AppConfig' for type AzureAppConfigProperties. Set to 'KeyVault' for type AzureKeyVaultProperties. 'AppConfig'
'KeyVault' (required)

ConfigurationInfo

Name Description Value
action 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. 'enable'
'Internal'
'optOut'
additionalConfigurations 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 ConfigurationInfoAdditionalConfigurations
additionalConnectionStringProperties A dictionary of additional properties to be added in the end of connection string. ConfigurationInfoAdditionalConnectionStringProperties
configurationStore An option to store configuration into different place ConfigurationStore
customizedKeys Optional. A dictionary of default key name and customized key name mapping. If not specified, default key name will be used for generate configurations ConfigurationInfoCustomizedKeys
daprProperties Indicates some additional properties for dapr client type DaprProperties
deleteOrUpdateBehavior Indicates whether to clean up previous operation when Linker is updating or deleting 'Default'
'ForcedCleanup'

ConfigurationInfoAdditionalConfigurations

Name Description Value

ConfigurationInfoAdditionalConnectionStringProperties

Name Description Value

ConfigurationInfoCustomizedKeys

Name Description Value

ConfigurationStore

Name Description Value
appConfigurationId The app configuration id to store configuration string

ConfluentBootstrapServer

Name Description Value
endpoint The endpoint of service. string
type The target service type. 'ConfluentBootstrapServer' (required)

ConfluentSchemaRegistry

Name Description Value
endpoint The endpoint of service. string
type The target service type. 'ConfluentSchemaRegistry' (required)

DaprMetadata

Name Description Value
description The description of the metadata, returned from configuration api string
name Metadata property name. string
required The value indicating whether the metadata is required or not 'false'
'true'
secretRef The secret name where dapr could get value string
value Metadata property value. string

DaprProperties

Name Description Value
componentType The dapr component type string
metadata Additional dapr metadata DaprMetadata[]
scopes The dapr component scopes string[]
secretStoreComponent The name of a secret store dapr to retrieve secret string
version The dapr component version string

EasyAuthMicrosoftEntraIDAuthInfo

Name Description Value
authType The authentication type. 'easyAuthMicrosoftEntraID' (required)
clientId Application clientId for EasyAuth Microsoft Entra ID. string
deleteOrUpdateBehavior Indicates whether to clean up previous operation when Linker is updating or deleting 'Default'
'ForcedCleanup'
secret Application Secret for EasyAuth Microsoft Entra ID. string

Constraints:
Sensitive value. Pass in as a secure parameter.

FabricPlatform

Name Description Value
endpoint The endpoint of service. string
type The target service type. 'FabricPlatform' (required)

FirewallRules

Name Description Value
azureServices Allow Azure services to access the target service if true. 'false'
'true'
callerClientIP Allow caller client IP to access the target service if true. the property is used when connecting local application to target service. 'false'
'true'
ipRanges 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. string[]

KeyVaultSecretReferenceSecretInfo

Name Description Value
name Name of the Key Vault secret. string
secretType The secret type. 'keyVaultSecretReference' (required)
version Version of the Key Vault secret. string

KeyVaultSecretUriSecretInfo

Name Description Value
secretType The secret type. 'keyVaultSecretUri' (required)
value URI to the keyvault secret string

LinkerProperties

Name Description Value
authInfo The authentication type. AuthInfoBase
clientType The application client type 'dapr'
'django'
'dotnet'
'go'
'java'
'jms-springBoot'
'kafka-springBoot'
'nodejs'
'none'
'php'
'python'
'ruby'
'springBoot'
configurationInfo The connection information consumed by applications, including secrets, connection strings. ConfigurationInfo
publicNetworkSolution The network solution. PublicNetworkSolution
scope connection scope in source service. string
secretStore An option to store secret value in secure place SecretStore
targetService The target service properties TargetServiceBase
vNetSolution The VNet solution. VNetSolution

Microsoft.ServiceLinker/locations/connectors

Name Description Value
name The resource name string (required)
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: locations
properties The properties of the Linker. LinkerProperties (required)
type The resource type "Microsoft.ServiceLinker/locations/connectors@2024-07-01-preview"

PublicNetworkSolution

Name Description Value
action 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. 'enable'
'Internal'
'optOut'
deleteOrUpdateBehavior Indicates whether to clean up previous operation(such as firewall rules) when Linker is updating or deleting 'Default'
'ForcedCleanup'
firewallRules Describe firewall rules of target service to make sure source application could connect to the target. FirewallRules

SecretAuthInfo

Name Description Value
authType The authentication type. 'secret' (required)
name Username or account name for secret auth. string
secretInfo Password or key vault secret for secret auth. SecretInfoBase

SecretInfoBase

Name Description Value
secretType Set to 'keyVaultSecretReference' for type KeyVaultSecretReferenceSecretInfo. Set to 'keyVaultSecretUri' for type KeyVaultSecretUriSecretInfo. Set to 'rawValue' for type ValueSecretInfo. 'keyVaultSecretReference'
'keyVaultSecretUri'
'rawValue' (required)

SecretStore

Name Description Value
keyVaultId The key vault id to store secret string
keyVaultSecretName The key vault secret name to store secret, only valid when storing one secret string

SelfHostedServer

Name Description Value
endpoint The endpoint of service. string
type The target service type. 'SelfHostedServer' (required)

ServicePrincipalCertificateAuthInfo

Name Description Value
authType The authentication type. 'servicePrincipalCertificate' (required)
certificate ServicePrincipal certificate for servicePrincipal auth. string

Constraints:
Sensitive value. Pass in as a secure parameter. (required)
clientId Application clientId for servicePrincipal auth. string (required)
deleteOrUpdateBehavior Indicates whether to clean up previous operation when Linker is updating or deleting 'Default'
'ForcedCleanup'
principalId Principal Id for servicePrincipal auth. string (required)
roles Optional, this value specifies the Azure roles to be assigned. Automatically string[]

ServicePrincipalSecretAuthInfo

Name Description Value
authType The authentication type. 'servicePrincipalSecret' (required)
clientId ServicePrincipal application clientId for servicePrincipal auth. string (required)
deleteOrUpdateBehavior Indicates whether to clean up previous operation when Linker is updating or deleting 'Default'
'ForcedCleanup'
principalId Principal Id for servicePrincipal auth. string (required)
roles Optional, this value specifies the Azure roles to be assigned. Automatically string[]
secret Secret for servicePrincipal auth. string

Constraints:
Sensitive value. Pass in as a secure parameter. (required)
userName Username created in the database which is mapped to a user in AAD. string

SystemAssignedIdentityAuthInfo

Name Description Value
authType The authentication type. 'systemAssignedIdentity' (required)
deleteOrUpdateBehavior Indicates whether to clean up previous operation when Linker is updating or deleting 'Default'
'ForcedCleanup'
roles Optional, this value specifies the Azure role to be assigned string[]
userName Username created in the database which is mapped to a user in AAD. string

TargetServiceBase

Name Description Value
type Set to 'AzureResource' for type AzureResource. Set to 'ConfluentBootstrapServer' for type ConfluentBootstrapServer. Set to 'ConfluentSchemaRegistry' for type ConfluentSchemaRegistry. Set to 'FabricPlatform' for type FabricPlatform. Set to 'SelfHostedServer' for type SelfHostedServer. 'AzureResource'
'ConfluentBootstrapServer'
'ConfluentSchemaRegistry'
'FabricPlatform'
'SelfHostedServer' (required)

UserAccountAuthInfo

Name Description Value
authType The authentication type. 'userAccount' (required)
deleteOrUpdateBehavior Indicates whether to clean up previous operation when Linker is updating or deleting 'Default'
'ForcedCleanup'
principalId Principal Id for user account. string
roles Optional, this value specifies the Azure roles to be assigned. Automatically string[]
userName Username created in the database which is mapped to a user in AAD. string

UserAssignedIdentityAuthInfo

Name Description Value
authType The authentication type. 'userAssignedIdentity' (required)
clientId Client Id for userAssignedIdentity. string
deleteOrUpdateBehavior Indicates whether to clean up previous operation when Linker is updating or deleting 'Default'
'ForcedCleanup'
roles Optional, this value specifies the Azure role to be assigned string[]
subscriptionId Subscription id for userAssignedIdentity. string
userName Username created in the database which is mapped to a user in AAD. string

ValueSecretInfo

Name Description Value
secretType The secret type. 'rawValue' (required)
value The actual value of the secret. string

Constraints:
Sensitive value. Pass in as a secure parameter.

VNetSolution

Name Description Value
deleteOrUpdateBehavior Indicates whether to clean up previous operation when Linker is updating or deleting 'Default'
'ForcedCleanup'
type Type of VNet solution. 'privateLink'
'serviceEndpoint'