1. Packages
  2. Azure Classic
  3. API Docs
  4. appservice
  5. Connection

We recommend using Azure Native.

Azure Classic v5.71.0 published on Tuesday, Apr 9, 2024 by Pulumi

azure.appservice.Connection

Explore with Pulumi AI

azure logo

We recommend using Azure Native.

Azure Classic v5.71.0 published on Tuesday, Apr 9, 2024 by Pulumi

    Manages a service connector for app service.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as azure from "@pulumi/azure";
    
    const example = new azure.core.ResourceGroup("example", {
        name: "example-resources",
        location: "West Europe",
    });
    const exampleAccount = new azure.cosmosdb.Account("example", {
        name: "example-cosmosdb-account",
        location: example.location,
        resourceGroupName: example.name,
        offerType: "Standard",
        kind: "GlobalDocumentDB",
        consistencyPolicy: {
            consistencyLevel: "BoundedStaleness",
            maxIntervalInSeconds: 10,
            maxStalenessPrefix: 200,
        },
        geoLocations: [{
            location: example.location,
            failoverPriority: 0,
        }],
    });
    const exampleSqlDatabase = new azure.cosmosdb.SqlDatabase("example", {
        name: "cosmos-sql-db",
        resourceGroupName: exampleAccount.resourceGroupName,
        accountName: exampleAccount.name,
        throughput: 400,
    });
    const exampleSqlContainer = new azure.cosmosdb.SqlContainer("example", {
        name: "example-container",
        resourceGroupName: exampleAccount.resourceGroupName,
        accountName: exampleAccount.name,
        databaseName: exampleSqlDatabase.name,
        partitionKeyPath: "/definition",
    });
    const exampleServicePlan = new azure.appservice.ServicePlan("example", {
        location: example.location,
        name: "example-serviceplan",
        resourceGroupName: example.name,
        skuName: "P1v2",
        osType: "Linux",
    });
    const exampleLinuxWebApp = new azure.appservice.LinuxWebApp("example", {
        location: example.location,
        name: "example-linuxwebapp",
        resourceGroupName: example.name,
        servicePlanId: exampleServicePlan.id,
        siteConfig: {},
    });
    const exampleConnection = new azure.appservice.Connection("example", {
        name: "example-serviceconnector",
        appServiceId: exampleLinuxWebApp.id,
        targetResourceId: exampleSqlDatabase.id,
        authentication: {
            type: "systemAssignedIdentity",
        },
    });
    
    import pulumi
    import pulumi_azure as azure
    
    example = azure.core.ResourceGroup("example",
        name="example-resources",
        location="West Europe")
    example_account = azure.cosmosdb.Account("example",
        name="example-cosmosdb-account",
        location=example.location,
        resource_group_name=example.name,
        offer_type="Standard",
        kind="GlobalDocumentDB",
        consistency_policy=azure.cosmosdb.AccountConsistencyPolicyArgs(
            consistency_level="BoundedStaleness",
            max_interval_in_seconds=10,
            max_staleness_prefix=200,
        ),
        geo_locations=[azure.cosmosdb.AccountGeoLocationArgs(
            location=example.location,
            failover_priority=0,
        )])
    example_sql_database = azure.cosmosdb.SqlDatabase("example",
        name="cosmos-sql-db",
        resource_group_name=example_account.resource_group_name,
        account_name=example_account.name,
        throughput=400)
    example_sql_container = azure.cosmosdb.SqlContainer("example",
        name="example-container",
        resource_group_name=example_account.resource_group_name,
        account_name=example_account.name,
        database_name=example_sql_database.name,
        partition_key_path="/definition")
    example_service_plan = azure.appservice.ServicePlan("example",
        location=example.location,
        name="example-serviceplan",
        resource_group_name=example.name,
        sku_name="P1v2",
        os_type="Linux")
    example_linux_web_app = azure.appservice.LinuxWebApp("example",
        location=example.location,
        name="example-linuxwebapp",
        resource_group_name=example.name,
        service_plan_id=example_service_plan.id,
        site_config=azure.appservice.LinuxWebAppSiteConfigArgs())
    example_connection = azure.appservice.Connection("example",
        name="example-serviceconnector",
        app_service_id=example_linux_web_app.id,
        target_resource_id=example_sql_database.id,
        authentication=azure.appservice.ConnectionAuthenticationArgs(
            type="systemAssignedIdentity",
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/appservice"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/cosmosdb"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
    			Name:     pulumi.String("example-resources"),
    			Location: pulumi.String("West Europe"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleAccount, err := cosmosdb.NewAccount(ctx, "example", &cosmosdb.AccountArgs{
    			Name:              pulumi.String("example-cosmosdb-account"),
    			Location:          example.Location,
    			ResourceGroupName: example.Name,
    			OfferType:         pulumi.String("Standard"),
    			Kind:              pulumi.String("GlobalDocumentDB"),
    			ConsistencyPolicy: &cosmosdb.AccountConsistencyPolicyArgs{
    				ConsistencyLevel:     pulumi.String("BoundedStaleness"),
    				MaxIntervalInSeconds: pulumi.Int(10),
    				MaxStalenessPrefix:   pulumi.Int(200),
    			},
    			GeoLocations: cosmosdb.AccountGeoLocationArray{
    				&cosmosdb.AccountGeoLocationArgs{
    					Location:         example.Location,
    					FailoverPriority: pulumi.Int(0),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		exampleSqlDatabase, err := cosmosdb.NewSqlDatabase(ctx, "example", &cosmosdb.SqlDatabaseArgs{
    			Name:              pulumi.String("cosmos-sql-db"),
    			ResourceGroupName: exampleAccount.ResourceGroupName,
    			AccountName:       exampleAccount.Name,
    			Throughput:        pulumi.Int(400),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = cosmosdb.NewSqlContainer(ctx, "example", &cosmosdb.SqlContainerArgs{
    			Name:              pulumi.String("example-container"),
    			ResourceGroupName: exampleAccount.ResourceGroupName,
    			AccountName:       exampleAccount.Name,
    			DatabaseName:      exampleSqlDatabase.Name,
    			PartitionKeyPath:  pulumi.String("/definition"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleServicePlan, err := appservice.NewServicePlan(ctx, "example", &appservice.ServicePlanArgs{
    			Location:          example.Location,
    			Name:              pulumi.String("example-serviceplan"),
    			ResourceGroupName: example.Name,
    			SkuName:           pulumi.String("P1v2"),
    			OsType:            pulumi.String("Linux"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleLinuxWebApp, err := appservice.NewLinuxWebApp(ctx, "example", &appservice.LinuxWebAppArgs{
    			Location:          example.Location,
    			Name:              pulumi.String("example-linuxwebapp"),
    			ResourceGroupName: example.Name,
    			ServicePlanId:     exampleServicePlan.ID(),
    			SiteConfig:        nil,
    		})
    		if err != nil {
    			return err
    		}
    		_, err = appservice.NewConnection(ctx, "example", &appservice.ConnectionArgs{
    			Name:             pulumi.String("example-serviceconnector"),
    			AppServiceId:     exampleLinuxWebApp.ID(),
    			TargetResourceId: exampleSqlDatabase.ID(),
    			Authentication: &appservice.ConnectionAuthenticationArgs{
    				Type: pulumi.String("systemAssignedIdentity"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Azure = Pulumi.Azure;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Azure.Core.ResourceGroup("example", new()
        {
            Name = "example-resources",
            Location = "West Europe",
        });
    
        var exampleAccount = new Azure.CosmosDB.Account("example", new()
        {
            Name = "example-cosmosdb-account",
            Location = example.Location,
            ResourceGroupName = example.Name,
            OfferType = "Standard",
            Kind = "GlobalDocumentDB",
            ConsistencyPolicy = new Azure.CosmosDB.Inputs.AccountConsistencyPolicyArgs
            {
                ConsistencyLevel = "BoundedStaleness",
                MaxIntervalInSeconds = 10,
                MaxStalenessPrefix = 200,
            },
            GeoLocations = new[]
            {
                new Azure.CosmosDB.Inputs.AccountGeoLocationArgs
                {
                    Location = example.Location,
                    FailoverPriority = 0,
                },
            },
        });
    
        var exampleSqlDatabase = new Azure.CosmosDB.SqlDatabase("example", new()
        {
            Name = "cosmos-sql-db",
            ResourceGroupName = exampleAccount.ResourceGroupName,
            AccountName = exampleAccount.Name,
            Throughput = 400,
        });
    
        var exampleSqlContainer = new Azure.CosmosDB.SqlContainer("example", new()
        {
            Name = "example-container",
            ResourceGroupName = exampleAccount.ResourceGroupName,
            AccountName = exampleAccount.Name,
            DatabaseName = exampleSqlDatabase.Name,
            PartitionKeyPath = "/definition",
        });
    
        var exampleServicePlan = new Azure.AppService.ServicePlan("example", new()
        {
            Location = example.Location,
            Name = "example-serviceplan",
            ResourceGroupName = example.Name,
            SkuName = "P1v2",
            OsType = "Linux",
        });
    
        var exampleLinuxWebApp = new Azure.AppService.LinuxWebApp("example", new()
        {
            Location = example.Location,
            Name = "example-linuxwebapp",
            ResourceGroupName = example.Name,
            ServicePlanId = exampleServicePlan.Id,
            SiteConfig = null,
        });
    
        var exampleConnection = new Azure.AppService.Connection("example", new()
        {
            Name = "example-serviceconnector",
            AppServiceId = exampleLinuxWebApp.Id,
            TargetResourceId = exampleSqlDatabase.Id,
            Authentication = new Azure.AppService.Inputs.ConnectionAuthenticationArgs
            {
                Type = "systemAssignedIdentity",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azure.core.ResourceGroup;
    import com.pulumi.azure.core.ResourceGroupArgs;
    import com.pulumi.azure.cosmosdb.Account;
    import com.pulumi.azure.cosmosdb.AccountArgs;
    import com.pulumi.azure.cosmosdb.inputs.AccountConsistencyPolicyArgs;
    import com.pulumi.azure.cosmosdb.inputs.AccountGeoLocationArgs;
    import com.pulumi.azure.cosmosdb.SqlDatabase;
    import com.pulumi.azure.cosmosdb.SqlDatabaseArgs;
    import com.pulumi.azure.cosmosdb.SqlContainer;
    import com.pulumi.azure.cosmosdb.SqlContainerArgs;
    import com.pulumi.azure.appservice.ServicePlan;
    import com.pulumi.azure.appservice.ServicePlanArgs;
    import com.pulumi.azure.appservice.LinuxWebApp;
    import com.pulumi.azure.appservice.LinuxWebAppArgs;
    import com.pulumi.azure.appservice.inputs.LinuxWebAppSiteConfigArgs;
    import com.pulumi.azure.appservice.Connection;
    import com.pulumi.azure.appservice.ConnectionArgs;
    import com.pulumi.azure.appservice.inputs.ConnectionAuthenticationArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new ResourceGroup("example", ResourceGroupArgs.builder()        
                .name("example-resources")
                .location("West Europe")
                .build());
    
            var exampleAccount = new Account("exampleAccount", AccountArgs.builder()        
                .name("example-cosmosdb-account")
                .location(example.location())
                .resourceGroupName(example.name())
                .offerType("Standard")
                .kind("GlobalDocumentDB")
                .consistencyPolicy(AccountConsistencyPolicyArgs.builder()
                    .consistencyLevel("BoundedStaleness")
                    .maxIntervalInSeconds(10)
                    .maxStalenessPrefix(200)
                    .build())
                .geoLocations(AccountGeoLocationArgs.builder()
                    .location(example.location())
                    .failoverPriority(0)
                    .build())
                .build());
    
            var exampleSqlDatabase = new SqlDatabase("exampleSqlDatabase", SqlDatabaseArgs.builder()        
                .name("cosmos-sql-db")
                .resourceGroupName(exampleAccount.resourceGroupName())
                .accountName(exampleAccount.name())
                .throughput(400)
                .build());
    
            var exampleSqlContainer = new SqlContainer("exampleSqlContainer", SqlContainerArgs.builder()        
                .name("example-container")
                .resourceGroupName(exampleAccount.resourceGroupName())
                .accountName(exampleAccount.name())
                .databaseName(exampleSqlDatabase.name())
                .partitionKeyPath("/definition")
                .build());
    
            var exampleServicePlan = new ServicePlan("exampleServicePlan", ServicePlanArgs.builder()        
                .location(example.location())
                .name("example-serviceplan")
                .resourceGroupName(example.name())
                .skuName("P1v2")
                .osType("Linux")
                .build());
    
            var exampleLinuxWebApp = new LinuxWebApp("exampleLinuxWebApp", LinuxWebAppArgs.builder()        
                .location(example.location())
                .name("example-linuxwebapp")
                .resourceGroupName(example.name())
                .servicePlanId(exampleServicePlan.id())
                .siteConfig()
                .build());
    
            var exampleConnection = new Connection("exampleConnection", ConnectionArgs.builder()        
                .name("example-serviceconnector")
                .appServiceId(exampleLinuxWebApp.id())
                .targetResourceId(exampleSqlDatabase.id())
                .authentication(ConnectionAuthenticationArgs.builder()
                    .type("systemAssignedIdentity")
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: azure:core:ResourceGroup
        properties:
          name: example-resources
          location: West Europe
      exampleAccount:
        type: azure:cosmosdb:Account
        name: example
        properties:
          name: example-cosmosdb-account
          location: ${example.location}
          resourceGroupName: ${example.name}
          offerType: Standard
          kind: GlobalDocumentDB
          consistencyPolicy:
            consistencyLevel: BoundedStaleness
            maxIntervalInSeconds: 10
            maxStalenessPrefix: 200
          geoLocations:
            - location: ${example.location}
              failoverPriority: 0
      exampleSqlDatabase:
        type: azure:cosmosdb:SqlDatabase
        name: example
        properties:
          name: cosmos-sql-db
          resourceGroupName: ${exampleAccount.resourceGroupName}
          accountName: ${exampleAccount.name}
          throughput: 400
      exampleSqlContainer:
        type: azure:cosmosdb:SqlContainer
        name: example
        properties:
          name: example-container
          resourceGroupName: ${exampleAccount.resourceGroupName}
          accountName: ${exampleAccount.name}
          databaseName: ${exampleSqlDatabase.name}
          partitionKeyPath: /definition
      exampleServicePlan:
        type: azure:appservice:ServicePlan
        name: example
        properties:
          location: ${example.location}
          name: example-serviceplan
          resourceGroupName: ${example.name}
          skuName: P1v2
          osType: Linux
      exampleLinuxWebApp:
        type: azure:appservice:LinuxWebApp
        name: example
        properties:
          location: ${example.location}
          name: example-linuxwebapp
          resourceGroupName: ${example.name}
          servicePlanId: ${exampleServicePlan.id}
          siteConfig: {}
      exampleConnection:
        type: azure:appservice:Connection
        name: example
        properties:
          name: example-serviceconnector
          appServiceId: ${exampleLinuxWebApp.id}
          targetResourceId: ${exampleSqlDatabase.id}
          authentication:
            type: systemAssignedIdentity
    

    Create Connection Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Connection(name: string, args: ConnectionArgs, opts?: CustomResourceOptions);
    @overload
    def Connection(resource_name: str,
                   args: ConnectionArgs,
                   opts: Optional[ResourceOptions] = None)
    
    @overload
    def Connection(resource_name: str,
                   opts: Optional[ResourceOptions] = None,
                   app_service_id: Optional[str] = None,
                   authentication: Optional[ConnectionAuthenticationArgs] = None,
                   target_resource_id: Optional[str] = None,
                   client_type: Optional[str] = None,
                   name: Optional[str] = None,
                   secret_store: Optional[ConnectionSecretStoreArgs] = None,
                   vnet_solution: Optional[str] = None)
    func NewConnection(ctx *Context, name string, args ConnectionArgs, opts ...ResourceOption) (*Connection, error)
    public Connection(string name, ConnectionArgs args, CustomResourceOptions? opts = null)
    public Connection(String name, ConnectionArgs args)
    public Connection(String name, ConnectionArgs args, CustomResourceOptions options)
    
    type: azure:appservice:Connection
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args ConnectionArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args ConnectionArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args ConnectionArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ConnectionArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ConnectionArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

    The following reference example uses placeholder values for all input properties.

    var connectionResource = new Azure.AppService.Connection("connectionResource", new()
    {
        AppServiceId = "string",
        Authentication = new Azure.AppService.Inputs.ConnectionAuthenticationArgs
        {
            Type = "string",
            Certificate = "string",
            ClientId = "string",
            Name = "string",
            PrincipalId = "string",
            Secret = "string",
            SubscriptionId = "string",
        },
        TargetResourceId = "string",
        ClientType = "string",
        Name = "string",
        SecretStore = new Azure.AppService.Inputs.ConnectionSecretStoreArgs
        {
            KeyVaultId = "string",
        },
        VnetSolution = "string",
    });
    
    example, err := appservice.NewConnection(ctx, "connectionResource", &appservice.ConnectionArgs{
    	AppServiceId: pulumi.String("string"),
    	Authentication: &appservice.ConnectionAuthenticationArgs{
    		Type:           pulumi.String("string"),
    		Certificate:    pulumi.String("string"),
    		ClientId:       pulumi.String("string"),
    		Name:           pulumi.String("string"),
    		PrincipalId:    pulumi.String("string"),
    		Secret:         pulumi.String("string"),
    		SubscriptionId: pulumi.String("string"),
    	},
    	TargetResourceId: pulumi.String("string"),
    	ClientType:       pulumi.String("string"),
    	Name:             pulumi.String("string"),
    	SecretStore: &appservice.ConnectionSecretStoreArgs{
    		KeyVaultId: pulumi.String("string"),
    	},
    	VnetSolution: pulumi.String("string"),
    })
    
    var connectionResource = new Connection("connectionResource", ConnectionArgs.builder()        
        .appServiceId("string")
        .authentication(ConnectionAuthenticationArgs.builder()
            .type("string")
            .certificate("string")
            .clientId("string")
            .name("string")
            .principalId("string")
            .secret("string")
            .subscriptionId("string")
            .build())
        .targetResourceId("string")
        .clientType("string")
        .name("string")
        .secretStore(ConnectionSecretStoreArgs.builder()
            .keyVaultId("string")
            .build())
        .vnetSolution("string")
        .build());
    
    connection_resource = azure.appservice.Connection("connectionResource",
        app_service_id="string",
        authentication=azure.appservice.ConnectionAuthenticationArgs(
            type="string",
            certificate="string",
            client_id="string",
            name="string",
            principal_id="string",
            secret="string",
            subscription_id="string",
        ),
        target_resource_id="string",
        client_type="string",
        name="string",
        secret_store=azure.appservice.ConnectionSecretStoreArgs(
            key_vault_id="string",
        ),
        vnet_solution="string")
    
    const connectionResource = new azure.appservice.Connection("connectionResource", {
        appServiceId: "string",
        authentication: {
            type: "string",
            certificate: "string",
            clientId: "string",
            name: "string",
            principalId: "string",
            secret: "string",
            subscriptionId: "string",
        },
        targetResourceId: "string",
        clientType: "string",
        name: "string",
        secretStore: {
            keyVaultId: "string",
        },
        vnetSolution: "string",
    });
    
    type: azure:appservice:Connection
    properties:
        appServiceId: string
        authentication:
            certificate: string
            clientId: string
            name: string
            principalId: string
            secret: string
            subscriptionId: string
            type: string
        clientType: string
        name: string
        secretStore:
            keyVaultId: string
        targetResourceId: string
        vnetSolution: string
    

    Connection Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The Connection resource accepts the following input properties:

    AppServiceId string
    The ID of the data source web app. Changing this forces a new resource to be created.
    Authentication ConnectionAuthentication

    The authentication info. An authentication block as defined below.

    Note: If a Managed Identity is used, this will need to be configured on the App Service.

    TargetResourceId string
    The ID of the target resource. Changing this forces a new resource to be created. Possible target resources are Postgres, PostgresFlexible, Mysql, Sql, Redis, RedisEnterprise, CosmosCassandra, CosmosGremlin, CosmosMongo, CosmosSql, CosmosTable, StorageBlob, StorageQueue, StorageFile, StorageTable, AppConfig, EventHub, ServiceBus, SignalR, WebPubSub, ConfluentKafka. The integration guide can be found here.
    ClientType string
    The application client type. Possible values are none, dotnet, java, python, go, php, ruby, django, nodejs and springBoot. Defaults to none.
    Name string
    The name of the service connection. Changing this forces a new resource to be created.
    SecretStore ConnectionSecretStore
    An option to store secret value in secure place. An secret_store block as defined below.
    VnetSolution string
    The type of the VNet solution. Possible values are serviceEndpoint, privateLink.
    AppServiceId string
    The ID of the data source web app. Changing this forces a new resource to be created.
    Authentication ConnectionAuthenticationArgs

    The authentication info. An authentication block as defined below.

    Note: If a Managed Identity is used, this will need to be configured on the App Service.

    TargetResourceId string
    The ID of the target resource. Changing this forces a new resource to be created. Possible target resources are Postgres, PostgresFlexible, Mysql, Sql, Redis, RedisEnterprise, CosmosCassandra, CosmosGremlin, CosmosMongo, CosmosSql, CosmosTable, StorageBlob, StorageQueue, StorageFile, StorageTable, AppConfig, EventHub, ServiceBus, SignalR, WebPubSub, ConfluentKafka. The integration guide can be found here.
    ClientType string
    The application client type. Possible values are none, dotnet, java, python, go, php, ruby, django, nodejs and springBoot. Defaults to none.
    Name string
    The name of the service connection. Changing this forces a new resource to be created.
    SecretStore ConnectionSecretStoreArgs
    An option to store secret value in secure place. An secret_store block as defined below.
    VnetSolution string
    The type of the VNet solution. Possible values are serviceEndpoint, privateLink.
    appServiceId String
    The ID of the data source web app. Changing this forces a new resource to be created.
    authentication ConnectionAuthentication

    The authentication info. An authentication block as defined below.

    Note: If a Managed Identity is used, this will need to be configured on the App Service.

    targetResourceId String
    The ID of the target resource. Changing this forces a new resource to be created. Possible target resources are Postgres, PostgresFlexible, Mysql, Sql, Redis, RedisEnterprise, CosmosCassandra, CosmosGremlin, CosmosMongo, CosmosSql, CosmosTable, StorageBlob, StorageQueue, StorageFile, StorageTable, AppConfig, EventHub, ServiceBus, SignalR, WebPubSub, ConfluentKafka. The integration guide can be found here.
    clientType String
    The application client type. Possible values are none, dotnet, java, python, go, php, ruby, django, nodejs and springBoot. Defaults to none.
    name String
    The name of the service connection. Changing this forces a new resource to be created.
    secretStore ConnectionSecretStore
    An option to store secret value in secure place. An secret_store block as defined below.
    vnetSolution String
    The type of the VNet solution. Possible values are serviceEndpoint, privateLink.
    appServiceId string
    The ID of the data source web app. Changing this forces a new resource to be created.
    authentication ConnectionAuthentication

    The authentication info. An authentication block as defined below.

    Note: If a Managed Identity is used, this will need to be configured on the App Service.

    targetResourceId string
    The ID of the target resource. Changing this forces a new resource to be created. Possible target resources are Postgres, PostgresFlexible, Mysql, Sql, Redis, RedisEnterprise, CosmosCassandra, CosmosGremlin, CosmosMongo, CosmosSql, CosmosTable, StorageBlob, StorageQueue, StorageFile, StorageTable, AppConfig, EventHub, ServiceBus, SignalR, WebPubSub, ConfluentKafka. The integration guide can be found here.
    clientType string
    The application client type. Possible values are none, dotnet, java, python, go, php, ruby, django, nodejs and springBoot. Defaults to none.
    name string
    The name of the service connection. Changing this forces a new resource to be created.
    secretStore ConnectionSecretStore
    An option to store secret value in secure place. An secret_store block as defined below.
    vnetSolution string
    The type of the VNet solution. Possible values are serviceEndpoint, privateLink.
    app_service_id str
    The ID of the data source web app. Changing this forces a new resource to be created.
    authentication ConnectionAuthenticationArgs

    The authentication info. An authentication block as defined below.

    Note: If a Managed Identity is used, this will need to be configured on the App Service.

    target_resource_id str
    The ID of the target resource. Changing this forces a new resource to be created. Possible target resources are Postgres, PostgresFlexible, Mysql, Sql, Redis, RedisEnterprise, CosmosCassandra, CosmosGremlin, CosmosMongo, CosmosSql, CosmosTable, StorageBlob, StorageQueue, StorageFile, StorageTable, AppConfig, EventHub, ServiceBus, SignalR, WebPubSub, ConfluentKafka. The integration guide can be found here.
    client_type str
    The application client type. Possible values are none, dotnet, java, python, go, php, ruby, django, nodejs and springBoot. Defaults to none.
    name str
    The name of the service connection. Changing this forces a new resource to be created.
    secret_store ConnectionSecretStoreArgs
    An option to store secret value in secure place. An secret_store block as defined below.
    vnet_solution str
    The type of the VNet solution. Possible values are serviceEndpoint, privateLink.
    appServiceId String
    The ID of the data source web app. Changing this forces a new resource to be created.
    authentication Property Map

    The authentication info. An authentication block as defined below.

    Note: If a Managed Identity is used, this will need to be configured on the App Service.

    targetResourceId String
    The ID of the target resource. Changing this forces a new resource to be created. Possible target resources are Postgres, PostgresFlexible, Mysql, Sql, Redis, RedisEnterprise, CosmosCassandra, CosmosGremlin, CosmosMongo, CosmosSql, CosmosTable, StorageBlob, StorageQueue, StorageFile, StorageTable, AppConfig, EventHub, ServiceBus, SignalR, WebPubSub, ConfluentKafka. The integration guide can be found here.
    clientType String
    The application client type. Possible values are none, dotnet, java, python, go, php, ruby, django, nodejs and springBoot. Defaults to none.
    name String
    The name of the service connection. Changing this forces a new resource to be created.
    secretStore Property Map
    An option to store secret value in secure place. An secret_store block as defined below.
    vnetSolution String
    The type of the VNet solution. Possible values are serviceEndpoint, privateLink.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Connection resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing Connection Resource

    Get an existing Connection resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: ConnectionState, opts?: CustomResourceOptions): Connection
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            app_service_id: Optional[str] = None,
            authentication: Optional[ConnectionAuthenticationArgs] = None,
            client_type: Optional[str] = None,
            name: Optional[str] = None,
            secret_store: Optional[ConnectionSecretStoreArgs] = None,
            target_resource_id: Optional[str] = None,
            vnet_solution: Optional[str] = None) -> Connection
    func GetConnection(ctx *Context, name string, id IDInput, state *ConnectionState, opts ...ResourceOption) (*Connection, error)
    public static Connection Get(string name, Input<string> id, ConnectionState? state, CustomResourceOptions? opts = null)
    public static Connection get(String name, Output<String> id, ConnectionState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AppServiceId string
    The ID of the data source web app. Changing this forces a new resource to be created.
    Authentication ConnectionAuthentication

    The authentication info. An authentication block as defined below.

    Note: If a Managed Identity is used, this will need to be configured on the App Service.

    ClientType string
    The application client type. Possible values are none, dotnet, java, python, go, php, ruby, django, nodejs and springBoot. Defaults to none.
    Name string
    The name of the service connection. Changing this forces a new resource to be created.
    SecretStore ConnectionSecretStore
    An option to store secret value in secure place. An secret_store block as defined below.
    TargetResourceId string
    The ID of the target resource. Changing this forces a new resource to be created. Possible target resources are Postgres, PostgresFlexible, Mysql, Sql, Redis, RedisEnterprise, CosmosCassandra, CosmosGremlin, CosmosMongo, CosmosSql, CosmosTable, StorageBlob, StorageQueue, StorageFile, StorageTable, AppConfig, EventHub, ServiceBus, SignalR, WebPubSub, ConfluentKafka. The integration guide can be found here.
    VnetSolution string
    The type of the VNet solution. Possible values are serviceEndpoint, privateLink.
    AppServiceId string
    The ID of the data source web app. Changing this forces a new resource to be created.
    Authentication ConnectionAuthenticationArgs

    The authentication info. An authentication block as defined below.

    Note: If a Managed Identity is used, this will need to be configured on the App Service.

    ClientType string
    The application client type. Possible values are none, dotnet, java, python, go, php, ruby, django, nodejs and springBoot. Defaults to none.
    Name string
    The name of the service connection. Changing this forces a new resource to be created.
    SecretStore ConnectionSecretStoreArgs
    An option to store secret value in secure place. An secret_store block as defined below.
    TargetResourceId string
    The ID of the target resource. Changing this forces a new resource to be created. Possible target resources are Postgres, PostgresFlexible, Mysql, Sql, Redis, RedisEnterprise, CosmosCassandra, CosmosGremlin, CosmosMongo, CosmosSql, CosmosTable, StorageBlob, StorageQueue, StorageFile, StorageTable, AppConfig, EventHub, ServiceBus, SignalR, WebPubSub, ConfluentKafka. The integration guide can be found here.
    VnetSolution string
    The type of the VNet solution. Possible values are serviceEndpoint, privateLink.
    appServiceId String
    The ID of the data source web app. Changing this forces a new resource to be created.
    authentication ConnectionAuthentication

    The authentication info. An authentication block as defined below.

    Note: If a Managed Identity is used, this will need to be configured on the App Service.

    clientType String
    The application client type. Possible values are none, dotnet, java, python, go, php, ruby, django, nodejs and springBoot. Defaults to none.
    name String
    The name of the service connection. Changing this forces a new resource to be created.
    secretStore ConnectionSecretStore
    An option to store secret value in secure place. An secret_store block as defined below.
    targetResourceId String
    The ID of the target resource. Changing this forces a new resource to be created. Possible target resources are Postgres, PostgresFlexible, Mysql, Sql, Redis, RedisEnterprise, CosmosCassandra, CosmosGremlin, CosmosMongo, CosmosSql, CosmosTable, StorageBlob, StorageQueue, StorageFile, StorageTable, AppConfig, EventHub, ServiceBus, SignalR, WebPubSub, ConfluentKafka. The integration guide can be found here.
    vnetSolution String
    The type of the VNet solution. Possible values are serviceEndpoint, privateLink.
    appServiceId string
    The ID of the data source web app. Changing this forces a new resource to be created.
    authentication ConnectionAuthentication

    The authentication info. An authentication block as defined below.

    Note: If a Managed Identity is used, this will need to be configured on the App Service.

    clientType string
    The application client type. Possible values are none, dotnet, java, python, go, php, ruby, django, nodejs and springBoot. Defaults to none.
    name string
    The name of the service connection. Changing this forces a new resource to be created.
    secretStore ConnectionSecretStore
    An option to store secret value in secure place. An secret_store block as defined below.
    targetResourceId string
    The ID of the target resource. Changing this forces a new resource to be created. Possible target resources are Postgres, PostgresFlexible, Mysql, Sql, Redis, RedisEnterprise, CosmosCassandra, CosmosGremlin, CosmosMongo, CosmosSql, CosmosTable, StorageBlob, StorageQueue, StorageFile, StorageTable, AppConfig, EventHub, ServiceBus, SignalR, WebPubSub, ConfluentKafka. The integration guide can be found here.
    vnetSolution string
    The type of the VNet solution. Possible values are serviceEndpoint, privateLink.
    app_service_id str
    The ID of the data source web app. Changing this forces a new resource to be created.
    authentication ConnectionAuthenticationArgs

    The authentication info. An authentication block as defined below.

    Note: If a Managed Identity is used, this will need to be configured on the App Service.

    client_type str
    The application client type. Possible values are none, dotnet, java, python, go, php, ruby, django, nodejs and springBoot. Defaults to none.
    name str
    The name of the service connection. Changing this forces a new resource to be created.
    secret_store ConnectionSecretStoreArgs
    An option to store secret value in secure place. An secret_store block as defined below.
    target_resource_id str
    The ID of the target resource. Changing this forces a new resource to be created. Possible target resources are Postgres, PostgresFlexible, Mysql, Sql, Redis, RedisEnterprise, CosmosCassandra, CosmosGremlin, CosmosMongo, CosmosSql, CosmosTable, StorageBlob, StorageQueue, StorageFile, StorageTable, AppConfig, EventHub, ServiceBus, SignalR, WebPubSub, ConfluentKafka. The integration guide can be found here.
    vnet_solution str
    The type of the VNet solution. Possible values are serviceEndpoint, privateLink.
    appServiceId String
    The ID of the data source web app. Changing this forces a new resource to be created.
    authentication Property Map

    The authentication info. An authentication block as defined below.

    Note: If a Managed Identity is used, this will need to be configured on the App Service.

    clientType String
    The application client type. Possible values are none, dotnet, java, python, go, php, ruby, django, nodejs and springBoot. Defaults to none.
    name String
    The name of the service connection. Changing this forces a new resource to be created.
    secretStore Property Map
    An option to store secret value in secure place. An secret_store block as defined below.
    targetResourceId String
    The ID of the target resource. Changing this forces a new resource to be created. Possible target resources are Postgres, PostgresFlexible, Mysql, Sql, Redis, RedisEnterprise, CosmosCassandra, CosmosGremlin, CosmosMongo, CosmosSql, CosmosTable, StorageBlob, StorageQueue, StorageFile, StorageTable, AppConfig, EventHub, ServiceBus, SignalR, WebPubSub, ConfluentKafka. The integration guide can be found here.
    vnetSolution String
    The type of the VNet solution. Possible values are serviceEndpoint, privateLink.

    Supporting Types

    ConnectionAuthentication, ConnectionAuthenticationArgs

    Type string
    The authentication type. Possible values are systemAssignedIdentity, userAssignedIdentity, servicePrincipalSecret, servicePrincipalCertificate, secret. Changing this forces a new resource to be created.
    Certificate string
    Service principal certificate for servicePrincipal auth. Should be specified when type is set to servicePrincipalCertificate.
    ClientId string
    Client ID for userAssignedIdentity or servicePrincipal auth. Should be specified when type is set to servicePrincipalSecret or servicePrincipalCertificate. When type is set to userAssignedIdentity, client_id and subscription_id should be either both specified or both not specified.
    Name string
    Username or account name for secret auth. name and secret should be either both specified or both not specified when type is set to secret.
    PrincipalId string
    Principal ID for servicePrincipal auth. Should be specified when type is set to servicePrincipalSecret or servicePrincipalCertificate.
    Secret string
    Password or account key for secret auth. secret and name should be either both specified or both not specified when type is set to secret.
    SubscriptionId string
    Subscription ID for userAssignedIdentity. subscription_id and client_id should be either both specified or both not specified.
    Type string
    The authentication type. Possible values are systemAssignedIdentity, userAssignedIdentity, servicePrincipalSecret, servicePrincipalCertificate, secret. Changing this forces a new resource to be created.
    Certificate string
    Service principal certificate for servicePrincipal auth. Should be specified when type is set to servicePrincipalCertificate.
    ClientId string
    Client ID for userAssignedIdentity or servicePrincipal auth. Should be specified when type is set to servicePrincipalSecret or servicePrincipalCertificate. When type is set to userAssignedIdentity, client_id and subscription_id should be either both specified or both not specified.
    Name string
    Username or account name for secret auth. name and secret should be either both specified or both not specified when type is set to secret.
    PrincipalId string
    Principal ID for servicePrincipal auth. Should be specified when type is set to servicePrincipalSecret or servicePrincipalCertificate.
    Secret string
    Password or account key for secret auth. secret and name should be either both specified or both not specified when type is set to secret.
    SubscriptionId string
    Subscription ID for userAssignedIdentity. subscription_id and client_id should be either both specified or both not specified.
    type String
    The authentication type. Possible values are systemAssignedIdentity, userAssignedIdentity, servicePrincipalSecret, servicePrincipalCertificate, secret. Changing this forces a new resource to be created.
    certificate String
    Service principal certificate for servicePrincipal auth. Should be specified when type is set to servicePrincipalCertificate.
    clientId String
    Client ID for userAssignedIdentity or servicePrincipal auth. Should be specified when type is set to servicePrincipalSecret or servicePrincipalCertificate. When type is set to userAssignedIdentity, client_id and subscription_id should be either both specified or both not specified.
    name String
    Username or account name for secret auth. name and secret should be either both specified or both not specified when type is set to secret.
    principalId String
    Principal ID for servicePrincipal auth. Should be specified when type is set to servicePrincipalSecret or servicePrincipalCertificate.
    secret String
    Password or account key for secret auth. secret and name should be either both specified or both not specified when type is set to secret.
    subscriptionId String
    Subscription ID for userAssignedIdentity. subscription_id and client_id should be either both specified or both not specified.
    type string
    The authentication type. Possible values are systemAssignedIdentity, userAssignedIdentity, servicePrincipalSecret, servicePrincipalCertificate, secret. Changing this forces a new resource to be created.
    certificate string
    Service principal certificate for servicePrincipal auth. Should be specified when type is set to servicePrincipalCertificate.
    clientId string
    Client ID for userAssignedIdentity or servicePrincipal auth. Should be specified when type is set to servicePrincipalSecret or servicePrincipalCertificate. When type is set to userAssignedIdentity, client_id and subscription_id should be either both specified or both not specified.
    name string
    Username or account name for secret auth. name and secret should be either both specified or both not specified when type is set to secret.
    principalId string
    Principal ID for servicePrincipal auth. Should be specified when type is set to servicePrincipalSecret or servicePrincipalCertificate.
    secret string
    Password or account key for secret auth. secret and name should be either both specified or both not specified when type is set to secret.
    subscriptionId string
    Subscription ID for userAssignedIdentity. subscription_id and client_id should be either both specified or both not specified.
    type str
    The authentication type. Possible values are systemAssignedIdentity, userAssignedIdentity, servicePrincipalSecret, servicePrincipalCertificate, secret. Changing this forces a new resource to be created.
    certificate str
    Service principal certificate for servicePrincipal auth. Should be specified when type is set to servicePrincipalCertificate.
    client_id str
    Client ID for userAssignedIdentity or servicePrincipal auth. Should be specified when type is set to servicePrincipalSecret or servicePrincipalCertificate. When type is set to userAssignedIdentity, client_id and subscription_id should be either both specified or both not specified.
    name str
    Username or account name for secret auth. name and secret should be either both specified or both not specified when type is set to secret.
    principal_id str
    Principal ID for servicePrincipal auth. Should be specified when type is set to servicePrincipalSecret or servicePrincipalCertificate.
    secret str
    Password or account key for secret auth. secret and name should be either both specified or both not specified when type is set to secret.
    subscription_id str
    Subscription ID for userAssignedIdentity. subscription_id and client_id should be either both specified or both not specified.
    type String
    The authentication type. Possible values are systemAssignedIdentity, userAssignedIdentity, servicePrincipalSecret, servicePrincipalCertificate, secret. Changing this forces a new resource to be created.
    certificate String
    Service principal certificate for servicePrincipal auth. Should be specified when type is set to servicePrincipalCertificate.
    clientId String
    Client ID for userAssignedIdentity or servicePrincipal auth. Should be specified when type is set to servicePrincipalSecret or servicePrincipalCertificate. When type is set to userAssignedIdentity, client_id and subscription_id should be either both specified or both not specified.
    name String
    Username or account name for secret auth. name and secret should be either both specified or both not specified when type is set to secret.
    principalId String
    Principal ID for servicePrincipal auth. Should be specified when type is set to servicePrincipalSecret or servicePrincipalCertificate.
    secret String
    Password or account key for secret auth. secret and name should be either both specified or both not specified when type is set to secret.
    subscriptionId String
    Subscription ID for userAssignedIdentity. subscription_id and client_id should be either both specified or both not specified.

    ConnectionSecretStore, ConnectionSecretStoreArgs

    KeyVaultId string
    The key vault id to store secret.
    KeyVaultId string
    The key vault id to store secret.
    keyVaultId String
    The key vault id to store secret.
    keyVaultId string
    The key vault id to store secret.
    key_vault_id str
    The key vault id to store secret.
    keyVaultId String
    The key vault id to store secret.

    Import

    Service Connector for app service can be imported using the resource id, e.g.

    $ pulumi import azure:appservice/connection:Connection example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Web/sites/webapp/providers/Microsoft.ServiceLinker/linkers/serviceconnector1
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Azure Classic pulumi/pulumi-azure
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the azurerm Terraform Provider.
    azure logo

    We recommend using Azure Native.

    Azure Classic v5.71.0 published on Tuesday, Apr 9, 2024 by Pulumi