1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. beyondcorp
  5. AppConnection
Google Cloud Classic v7.19.0 published on Thursday, Apr 18, 2024 by Pulumi

gcp.beyondcorp.AppConnection

Explore with Pulumi AI

gcp logo
Google Cloud Classic v7.19.0 published on Thursday, Apr 18, 2024 by Pulumi

    A BeyondCorp AppConnection resource represents a BeyondCorp protected AppConnection to a remote application. It creates all the necessary GCP components needed for creating a BeyondCorp protected AppConnection. Multiple connectors can be authorised for a single AppConnection.

    To get more information about AppConnection, see:

    Example Usage

    Beyondcorp App Connection Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const serviceAccount = new gcp.serviceaccount.Account("service_account", {
        accountId: "my-account",
        displayName: "Test Service Account",
    });
    const appConnector = new gcp.beyondcorp.AppConnector("app_connector", {
        name: "my-app-connector",
        principalInfo: {
            serviceAccount: {
                email: serviceAccount.email,
            },
        },
    });
    const appConnection = new gcp.beyondcorp.AppConnection("app_connection", {
        name: "my-app-connection",
        type: "TCP_PROXY",
        applicationEndpoint: {
            host: "foo-host",
            port: 8080,
        },
        connectors: [appConnector.id],
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    service_account = gcp.serviceaccount.Account("service_account",
        account_id="my-account",
        display_name="Test Service Account")
    app_connector = gcp.beyondcorp.AppConnector("app_connector",
        name="my-app-connector",
        principal_info=gcp.beyondcorp.AppConnectorPrincipalInfoArgs(
            service_account=gcp.beyondcorp.AppConnectorPrincipalInfoServiceAccountArgs(
                email=service_account.email,
            ),
        ))
    app_connection = gcp.beyondcorp.AppConnection("app_connection",
        name="my-app-connection",
        type="TCP_PROXY",
        application_endpoint=gcp.beyondcorp.AppConnectionApplicationEndpointArgs(
            host="foo-host",
            port=8080,
        ),
        connectors=[app_connector.id])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/beyondcorp"
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/serviceaccount"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		serviceAccount, err := serviceaccount.NewAccount(ctx, "service_account", &serviceaccount.AccountArgs{
    			AccountId:   pulumi.String("my-account"),
    			DisplayName: pulumi.String("Test Service Account"),
    		})
    		if err != nil {
    			return err
    		}
    		appConnector, err := beyondcorp.NewAppConnector(ctx, "app_connector", &beyondcorp.AppConnectorArgs{
    			Name: pulumi.String("my-app-connector"),
    			PrincipalInfo: &beyondcorp.AppConnectorPrincipalInfoArgs{
    				ServiceAccount: &beyondcorp.AppConnectorPrincipalInfoServiceAccountArgs{
    					Email: serviceAccount.Email,
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = beyondcorp.NewAppConnection(ctx, "app_connection", &beyondcorp.AppConnectionArgs{
    			Name: pulumi.String("my-app-connection"),
    			Type: pulumi.String("TCP_PROXY"),
    			ApplicationEndpoint: &beyondcorp.AppConnectionApplicationEndpointArgs{
    				Host: pulumi.String("foo-host"),
    				Port: pulumi.Int(8080),
    			},
    			Connectors: pulumi.StringArray{
    				appConnector.ID(),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var serviceAccount = new Gcp.ServiceAccount.Account("service_account", new()
        {
            AccountId = "my-account",
            DisplayName = "Test Service Account",
        });
    
        var appConnector = new Gcp.Beyondcorp.AppConnector("app_connector", new()
        {
            Name = "my-app-connector",
            PrincipalInfo = new Gcp.Beyondcorp.Inputs.AppConnectorPrincipalInfoArgs
            {
                ServiceAccount = new Gcp.Beyondcorp.Inputs.AppConnectorPrincipalInfoServiceAccountArgs
                {
                    Email = serviceAccount.Email,
                },
            },
        });
    
        var appConnection = new Gcp.Beyondcorp.AppConnection("app_connection", new()
        {
            Name = "my-app-connection",
            Type = "TCP_PROXY",
            ApplicationEndpoint = new Gcp.Beyondcorp.Inputs.AppConnectionApplicationEndpointArgs
            {
                Host = "foo-host",
                Port = 8080,
            },
            Connectors = new[]
            {
                appConnector.Id,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.serviceaccount.Account;
    import com.pulumi.gcp.serviceaccount.AccountArgs;
    import com.pulumi.gcp.beyondcorp.AppConnector;
    import com.pulumi.gcp.beyondcorp.AppConnectorArgs;
    import com.pulumi.gcp.beyondcorp.inputs.AppConnectorPrincipalInfoArgs;
    import com.pulumi.gcp.beyondcorp.inputs.AppConnectorPrincipalInfoServiceAccountArgs;
    import com.pulumi.gcp.beyondcorp.AppConnection;
    import com.pulumi.gcp.beyondcorp.AppConnectionArgs;
    import com.pulumi.gcp.beyondcorp.inputs.AppConnectionApplicationEndpointArgs;
    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 serviceAccount = new Account("serviceAccount", AccountArgs.builder()        
                .accountId("my-account")
                .displayName("Test Service Account")
                .build());
    
            var appConnector = new AppConnector("appConnector", AppConnectorArgs.builder()        
                .name("my-app-connector")
                .principalInfo(AppConnectorPrincipalInfoArgs.builder()
                    .serviceAccount(AppConnectorPrincipalInfoServiceAccountArgs.builder()
                        .email(serviceAccount.email())
                        .build())
                    .build())
                .build());
    
            var appConnection = new AppConnection("appConnection", AppConnectionArgs.builder()        
                .name("my-app-connection")
                .type("TCP_PROXY")
                .applicationEndpoint(AppConnectionApplicationEndpointArgs.builder()
                    .host("foo-host")
                    .port(8080)
                    .build())
                .connectors(appConnector.id())
                .build());
    
        }
    }
    
    resources:
      serviceAccount:
        type: gcp:serviceaccount:Account
        name: service_account
        properties:
          accountId: my-account
          displayName: Test Service Account
      appConnector:
        type: gcp:beyondcorp:AppConnector
        name: app_connector
        properties:
          name: my-app-connector
          principalInfo:
            serviceAccount:
              email: ${serviceAccount.email}
      appConnection:
        type: gcp:beyondcorp:AppConnection
        name: app_connection
        properties:
          name: my-app-connection
          type: TCP_PROXY
          applicationEndpoint:
            host: foo-host
            port: 8080
          connectors:
            - ${appConnector.id}
    

    Beyondcorp App Connection Full

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const serviceAccount = new gcp.serviceaccount.Account("service_account", {
        accountId: "my-account",
        displayName: "Test Service Account",
    });
    const appGateway = new gcp.beyondcorp.AppGateway("app_gateway", {
        name: "my-app-gateway",
        type: "TCP_PROXY",
        hostType: "GCP_REGIONAL_MIG",
    });
    const appConnector = new gcp.beyondcorp.AppConnector("app_connector", {
        name: "my-app-connector",
        principalInfo: {
            serviceAccount: {
                email: serviceAccount.email,
            },
        },
    });
    const appConnection = new gcp.beyondcorp.AppConnection("app_connection", {
        name: "my-app-connection",
        type: "TCP_PROXY",
        displayName: "some display name",
        applicationEndpoint: {
            host: "foo-host",
            port: 8080,
        },
        connectors: [appConnector.id],
        gateway: {
            appGateway: appGateway.id,
        },
        labels: {
            foo: "bar",
            bar: "baz",
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    service_account = gcp.serviceaccount.Account("service_account",
        account_id="my-account",
        display_name="Test Service Account")
    app_gateway = gcp.beyondcorp.AppGateway("app_gateway",
        name="my-app-gateway",
        type="TCP_PROXY",
        host_type="GCP_REGIONAL_MIG")
    app_connector = gcp.beyondcorp.AppConnector("app_connector",
        name="my-app-connector",
        principal_info=gcp.beyondcorp.AppConnectorPrincipalInfoArgs(
            service_account=gcp.beyondcorp.AppConnectorPrincipalInfoServiceAccountArgs(
                email=service_account.email,
            ),
        ))
    app_connection = gcp.beyondcorp.AppConnection("app_connection",
        name="my-app-connection",
        type="TCP_PROXY",
        display_name="some display name",
        application_endpoint=gcp.beyondcorp.AppConnectionApplicationEndpointArgs(
            host="foo-host",
            port=8080,
        ),
        connectors=[app_connector.id],
        gateway=gcp.beyondcorp.AppConnectionGatewayArgs(
            app_gateway=app_gateway.id,
        ),
        labels={
            "foo": "bar",
            "bar": "baz",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/beyondcorp"
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/serviceaccount"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		serviceAccount, err := serviceaccount.NewAccount(ctx, "service_account", &serviceaccount.AccountArgs{
    			AccountId:   pulumi.String("my-account"),
    			DisplayName: pulumi.String("Test Service Account"),
    		})
    		if err != nil {
    			return err
    		}
    		appGateway, err := beyondcorp.NewAppGateway(ctx, "app_gateway", &beyondcorp.AppGatewayArgs{
    			Name:     pulumi.String("my-app-gateway"),
    			Type:     pulumi.String("TCP_PROXY"),
    			HostType: pulumi.String("GCP_REGIONAL_MIG"),
    		})
    		if err != nil {
    			return err
    		}
    		appConnector, err := beyondcorp.NewAppConnector(ctx, "app_connector", &beyondcorp.AppConnectorArgs{
    			Name: pulumi.String("my-app-connector"),
    			PrincipalInfo: &beyondcorp.AppConnectorPrincipalInfoArgs{
    				ServiceAccount: &beyondcorp.AppConnectorPrincipalInfoServiceAccountArgs{
    					Email: serviceAccount.Email,
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = beyondcorp.NewAppConnection(ctx, "app_connection", &beyondcorp.AppConnectionArgs{
    			Name:        pulumi.String("my-app-connection"),
    			Type:        pulumi.String("TCP_PROXY"),
    			DisplayName: pulumi.String("some display name"),
    			ApplicationEndpoint: &beyondcorp.AppConnectionApplicationEndpointArgs{
    				Host: pulumi.String("foo-host"),
    				Port: pulumi.Int(8080),
    			},
    			Connectors: pulumi.StringArray{
    				appConnector.ID(),
    			},
    			Gateway: &beyondcorp.AppConnectionGatewayArgs{
    				AppGateway: appGateway.ID(),
    			},
    			Labels: pulumi.StringMap{
    				"foo": pulumi.String("bar"),
    				"bar": pulumi.String("baz"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var serviceAccount = new Gcp.ServiceAccount.Account("service_account", new()
        {
            AccountId = "my-account",
            DisplayName = "Test Service Account",
        });
    
        var appGateway = new Gcp.Beyondcorp.AppGateway("app_gateway", new()
        {
            Name = "my-app-gateway",
            Type = "TCP_PROXY",
            HostType = "GCP_REGIONAL_MIG",
        });
    
        var appConnector = new Gcp.Beyondcorp.AppConnector("app_connector", new()
        {
            Name = "my-app-connector",
            PrincipalInfo = new Gcp.Beyondcorp.Inputs.AppConnectorPrincipalInfoArgs
            {
                ServiceAccount = new Gcp.Beyondcorp.Inputs.AppConnectorPrincipalInfoServiceAccountArgs
                {
                    Email = serviceAccount.Email,
                },
            },
        });
    
        var appConnection = new Gcp.Beyondcorp.AppConnection("app_connection", new()
        {
            Name = "my-app-connection",
            Type = "TCP_PROXY",
            DisplayName = "some display name",
            ApplicationEndpoint = new Gcp.Beyondcorp.Inputs.AppConnectionApplicationEndpointArgs
            {
                Host = "foo-host",
                Port = 8080,
            },
            Connectors = new[]
            {
                appConnector.Id,
            },
            Gateway = new Gcp.Beyondcorp.Inputs.AppConnectionGatewayArgs
            {
                AppGateway = appGateway.Id,
            },
            Labels = 
            {
                { "foo", "bar" },
                { "bar", "baz" },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.serviceaccount.Account;
    import com.pulumi.gcp.serviceaccount.AccountArgs;
    import com.pulumi.gcp.beyondcorp.AppGateway;
    import com.pulumi.gcp.beyondcorp.AppGatewayArgs;
    import com.pulumi.gcp.beyondcorp.AppConnector;
    import com.pulumi.gcp.beyondcorp.AppConnectorArgs;
    import com.pulumi.gcp.beyondcorp.inputs.AppConnectorPrincipalInfoArgs;
    import com.pulumi.gcp.beyondcorp.inputs.AppConnectorPrincipalInfoServiceAccountArgs;
    import com.pulumi.gcp.beyondcorp.AppConnection;
    import com.pulumi.gcp.beyondcorp.AppConnectionArgs;
    import com.pulumi.gcp.beyondcorp.inputs.AppConnectionApplicationEndpointArgs;
    import com.pulumi.gcp.beyondcorp.inputs.AppConnectionGatewayArgs;
    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 serviceAccount = new Account("serviceAccount", AccountArgs.builder()        
                .accountId("my-account")
                .displayName("Test Service Account")
                .build());
    
            var appGateway = new AppGateway("appGateway", AppGatewayArgs.builder()        
                .name("my-app-gateway")
                .type("TCP_PROXY")
                .hostType("GCP_REGIONAL_MIG")
                .build());
    
            var appConnector = new AppConnector("appConnector", AppConnectorArgs.builder()        
                .name("my-app-connector")
                .principalInfo(AppConnectorPrincipalInfoArgs.builder()
                    .serviceAccount(AppConnectorPrincipalInfoServiceAccountArgs.builder()
                        .email(serviceAccount.email())
                        .build())
                    .build())
                .build());
    
            var appConnection = new AppConnection("appConnection", AppConnectionArgs.builder()        
                .name("my-app-connection")
                .type("TCP_PROXY")
                .displayName("some display name")
                .applicationEndpoint(AppConnectionApplicationEndpointArgs.builder()
                    .host("foo-host")
                    .port(8080)
                    .build())
                .connectors(appConnector.id())
                .gateway(AppConnectionGatewayArgs.builder()
                    .appGateway(appGateway.id())
                    .build())
                .labels(Map.ofEntries(
                    Map.entry("foo", "bar"),
                    Map.entry("bar", "baz")
                ))
                .build());
    
        }
    }
    
    resources:
      serviceAccount:
        type: gcp:serviceaccount:Account
        name: service_account
        properties:
          accountId: my-account
          displayName: Test Service Account
      appGateway:
        type: gcp:beyondcorp:AppGateway
        name: app_gateway
        properties:
          name: my-app-gateway
          type: TCP_PROXY
          hostType: GCP_REGIONAL_MIG
      appConnector:
        type: gcp:beyondcorp:AppConnector
        name: app_connector
        properties:
          name: my-app-connector
          principalInfo:
            serviceAccount:
              email: ${serviceAccount.email}
      appConnection:
        type: gcp:beyondcorp:AppConnection
        name: app_connection
        properties:
          name: my-app-connection
          type: TCP_PROXY
          displayName: some display name
          applicationEndpoint:
            host: foo-host
            port: 8080
          connectors:
            - ${appConnector.id}
          gateway:
            appGateway: ${appGateway.id}
          labels:
            foo: bar
            bar: baz
    

    Create AppConnection Resource

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

    Constructor syntax

    new AppConnection(name: string, args: AppConnectionArgs, opts?: CustomResourceOptions);
    @overload
    def AppConnection(resource_name: str,
                      args: AppConnectionArgs,
                      opts: Optional[ResourceOptions] = None)
    
    @overload
    def AppConnection(resource_name: str,
                      opts: Optional[ResourceOptions] = None,
                      application_endpoint: Optional[AppConnectionApplicationEndpointArgs] = None,
                      connectors: Optional[Sequence[str]] = None,
                      display_name: Optional[str] = None,
                      gateway: Optional[AppConnectionGatewayArgs] = None,
                      labels: Optional[Mapping[str, str]] = None,
                      name: Optional[str] = None,
                      project: Optional[str] = None,
                      region: Optional[str] = None,
                      type: Optional[str] = None)
    func NewAppConnection(ctx *Context, name string, args AppConnectionArgs, opts ...ResourceOption) (*AppConnection, error)
    public AppConnection(string name, AppConnectionArgs args, CustomResourceOptions? opts = null)
    public AppConnection(String name, AppConnectionArgs args)
    public AppConnection(String name, AppConnectionArgs args, CustomResourceOptions options)
    
    type: gcp:beyondcorp:AppConnection
    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 AppConnectionArgs
    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 AppConnectionArgs
    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 AppConnectionArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args AppConnectionArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args AppConnectionArgs
    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 appConnectionResource = new Gcp.Beyondcorp.AppConnection("appConnectionResource", new()
    {
        ApplicationEndpoint = new Gcp.Beyondcorp.Inputs.AppConnectionApplicationEndpointArgs
        {
            Host = "string",
            Port = 0,
        },
        Connectors = new[]
        {
            "string",
        },
        DisplayName = "string",
        Gateway = new Gcp.Beyondcorp.Inputs.AppConnectionGatewayArgs
        {
            AppGateway = "string",
            IngressPort = 0,
            Type = "string",
            Uri = "string",
        },
        Labels = 
        {
            { "string", "string" },
        },
        Name = "string",
        Project = "string",
        Region = "string",
        Type = "string",
    });
    
    example, err := beyondcorp.NewAppConnection(ctx, "appConnectionResource", &beyondcorp.AppConnectionArgs{
    	ApplicationEndpoint: &beyondcorp.AppConnectionApplicationEndpointArgs{
    		Host: pulumi.String("string"),
    		Port: pulumi.Int(0),
    	},
    	Connectors: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	DisplayName: pulumi.String("string"),
    	Gateway: &beyondcorp.AppConnectionGatewayArgs{
    		AppGateway:  pulumi.String("string"),
    		IngressPort: pulumi.Int(0),
    		Type:        pulumi.String("string"),
    		Uri:         pulumi.String("string"),
    	},
    	Labels: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Name:    pulumi.String("string"),
    	Project: pulumi.String("string"),
    	Region:  pulumi.String("string"),
    	Type:    pulumi.String("string"),
    })
    
    var appConnectionResource = new AppConnection("appConnectionResource", AppConnectionArgs.builder()        
        .applicationEndpoint(AppConnectionApplicationEndpointArgs.builder()
            .host("string")
            .port(0)
            .build())
        .connectors("string")
        .displayName("string")
        .gateway(AppConnectionGatewayArgs.builder()
            .appGateway("string")
            .ingressPort(0)
            .type("string")
            .uri("string")
            .build())
        .labels(Map.of("string", "string"))
        .name("string")
        .project("string")
        .region("string")
        .type("string")
        .build());
    
    app_connection_resource = gcp.beyondcorp.AppConnection("appConnectionResource",
        application_endpoint=gcp.beyondcorp.AppConnectionApplicationEndpointArgs(
            host="string",
            port=0,
        ),
        connectors=["string"],
        display_name="string",
        gateway=gcp.beyondcorp.AppConnectionGatewayArgs(
            app_gateway="string",
            ingress_port=0,
            type="string",
            uri="string",
        ),
        labels={
            "string": "string",
        },
        name="string",
        project="string",
        region="string",
        type="string")
    
    const appConnectionResource = new gcp.beyondcorp.AppConnection("appConnectionResource", {
        applicationEndpoint: {
            host: "string",
            port: 0,
        },
        connectors: ["string"],
        displayName: "string",
        gateway: {
            appGateway: "string",
            ingressPort: 0,
            type: "string",
            uri: "string",
        },
        labels: {
            string: "string",
        },
        name: "string",
        project: "string",
        region: "string",
        type: "string",
    });
    
    type: gcp:beyondcorp:AppConnection
    properties:
        applicationEndpoint:
            host: string
            port: 0
        connectors:
            - string
        displayName: string
        gateway:
            appGateway: string
            ingressPort: 0
            type: string
            uri: string
        labels:
            string: string
        name: string
        project: string
        region: string
        type: string
    

    AppConnection 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 AppConnection resource accepts the following input properties:

    ApplicationEndpoint AppConnectionApplicationEndpoint
    Address of the remote application endpoint for the BeyondCorp AppConnection. Structure is documented below.
    Connectors List<string>
    List of AppConnectors that are authorised to be associated with this AppConnection
    DisplayName string
    An arbitrary user-provided name for the AppConnection.
    Gateway AppConnectionGateway
    Gateway used by the AppConnection. Structure is documented below.
    Labels Dictionary<string, string>

    Resource labels to represent user provided metadata.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    Name string
    ID of the AppConnection.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    Region string
    The region of the AppConnection.
    Type string
    The type of network connectivity used by the AppConnection. Refer to https://cloud.google.com/beyondcorp/docs/reference/rest/v1/projects.locations.appConnections#type for a list of possible values.
    ApplicationEndpoint AppConnectionApplicationEndpointArgs
    Address of the remote application endpoint for the BeyondCorp AppConnection. Structure is documented below.
    Connectors []string
    List of AppConnectors that are authorised to be associated with this AppConnection
    DisplayName string
    An arbitrary user-provided name for the AppConnection.
    Gateway AppConnectionGatewayArgs
    Gateway used by the AppConnection. Structure is documented below.
    Labels map[string]string

    Resource labels to represent user provided metadata.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    Name string
    ID of the AppConnection.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    Region string
    The region of the AppConnection.
    Type string
    The type of network connectivity used by the AppConnection. Refer to https://cloud.google.com/beyondcorp/docs/reference/rest/v1/projects.locations.appConnections#type for a list of possible values.
    applicationEndpoint AppConnectionApplicationEndpoint
    Address of the remote application endpoint for the BeyondCorp AppConnection. Structure is documented below.
    connectors List<String>
    List of AppConnectors that are authorised to be associated with this AppConnection
    displayName String
    An arbitrary user-provided name for the AppConnection.
    gateway AppConnectionGateway
    Gateway used by the AppConnection. Structure is documented below.
    labels Map<String,String>

    Resource labels to represent user provided metadata.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    name String
    ID of the AppConnection.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region String
    The region of the AppConnection.
    type String
    The type of network connectivity used by the AppConnection. Refer to https://cloud.google.com/beyondcorp/docs/reference/rest/v1/projects.locations.appConnections#type for a list of possible values.
    applicationEndpoint AppConnectionApplicationEndpoint
    Address of the remote application endpoint for the BeyondCorp AppConnection. Structure is documented below.
    connectors string[]
    List of AppConnectors that are authorised to be associated with this AppConnection
    displayName string
    An arbitrary user-provided name for the AppConnection.
    gateway AppConnectionGateway
    Gateway used by the AppConnection. Structure is documented below.
    labels {[key: string]: string}

    Resource labels to represent user provided metadata.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    name string
    ID of the AppConnection.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region string
    The region of the AppConnection.
    type string
    The type of network connectivity used by the AppConnection. Refer to https://cloud.google.com/beyondcorp/docs/reference/rest/v1/projects.locations.appConnections#type for a list of possible values.
    application_endpoint AppConnectionApplicationEndpointArgs
    Address of the remote application endpoint for the BeyondCorp AppConnection. Structure is documented below.
    connectors Sequence[str]
    List of AppConnectors that are authorised to be associated with this AppConnection
    display_name str
    An arbitrary user-provided name for the AppConnection.
    gateway AppConnectionGatewayArgs
    Gateway used by the AppConnection. Structure is documented below.
    labels Mapping[str, str]

    Resource labels to represent user provided metadata.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    name str
    ID of the AppConnection.
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region str
    The region of the AppConnection.
    type str
    The type of network connectivity used by the AppConnection. Refer to https://cloud.google.com/beyondcorp/docs/reference/rest/v1/projects.locations.appConnections#type for a list of possible values.
    applicationEndpoint Property Map
    Address of the remote application endpoint for the BeyondCorp AppConnection. Structure is documented below.
    connectors List<String>
    List of AppConnectors that are authorised to be associated with this AppConnection
    displayName String
    An arbitrary user-provided name for the AppConnection.
    gateway Property Map
    Gateway used by the AppConnection. Structure is documented below.
    labels Map<String>

    Resource labels to represent user provided metadata.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    name String
    ID of the AppConnection.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region String
    The region of the AppConnection.
    type String
    The type of network connectivity used by the AppConnection. Refer to https://cloud.google.com/beyondcorp/docs/reference/rest/v1/projects.locations.appConnections#type for a list of possible values.

    Outputs

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

    EffectiveLabels Dictionary<string, string>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    Id string
    The provider-assigned unique ID for this managed resource.
    PulumiLabels Dictionary<string, string>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    EffectiveLabels map[string]string
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    Id string
    The provider-assigned unique ID for this managed resource.
    PulumiLabels map[string]string
    The combination of labels configured directly on the resource and default labels configured on the provider.
    effectiveLabels Map<String,String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    id String
    The provider-assigned unique ID for this managed resource.
    pulumiLabels Map<String,String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    effectiveLabels {[key: string]: string}
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    id string
    The provider-assigned unique ID for this managed resource.
    pulumiLabels {[key: string]: string}
    The combination of labels configured directly on the resource and default labels configured on the provider.
    effective_labels Mapping[str, str]
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    id str
    The provider-assigned unique ID for this managed resource.
    pulumi_labels Mapping[str, str]
    The combination of labels configured directly on the resource and default labels configured on the provider.
    effectiveLabels Map<String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    id String
    The provider-assigned unique ID for this managed resource.
    pulumiLabels Map<String>
    The combination of labels configured directly on the resource and default labels configured on the provider.

    Look up Existing AppConnection Resource

    Get an existing AppConnection 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?: AppConnectionState, opts?: CustomResourceOptions): AppConnection
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            application_endpoint: Optional[AppConnectionApplicationEndpointArgs] = None,
            connectors: Optional[Sequence[str]] = None,
            display_name: Optional[str] = None,
            effective_labels: Optional[Mapping[str, str]] = None,
            gateway: Optional[AppConnectionGatewayArgs] = None,
            labels: Optional[Mapping[str, str]] = None,
            name: Optional[str] = None,
            project: Optional[str] = None,
            pulumi_labels: Optional[Mapping[str, str]] = None,
            region: Optional[str] = None,
            type: Optional[str] = None) -> AppConnection
    func GetAppConnection(ctx *Context, name string, id IDInput, state *AppConnectionState, opts ...ResourceOption) (*AppConnection, error)
    public static AppConnection Get(string name, Input<string> id, AppConnectionState? state, CustomResourceOptions? opts = null)
    public static AppConnection get(String name, Output<String> id, AppConnectionState 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:
    ApplicationEndpoint AppConnectionApplicationEndpoint
    Address of the remote application endpoint for the BeyondCorp AppConnection. Structure is documented below.
    Connectors List<string>
    List of AppConnectors that are authorised to be associated with this AppConnection
    DisplayName string
    An arbitrary user-provided name for the AppConnection.
    EffectiveLabels Dictionary<string, string>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    Gateway AppConnectionGateway
    Gateway used by the AppConnection. Structure is documented below.
    Labels Dictionary<string, string>

    Resource labels to represent user provided metadata.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    Name string
    ID of the AppConnection.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    PulumiLabels Dictionary<string, string>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    Region string
    The region of the AppConnection.
    Type string
    The type of network connectivity used by the AppConnection. Refer to https://cloud.google.com/beyondcorp/docs/reference/rest/v1/projects.locations.appConnections#type for a list of possible values.
    ApplicationEndpoint AppConnectionApplicationEndpointArgs
    Address of the remote application endpoint for the BeyondCorp AppConnection. Structure is documented below.
    Connectors []string
    List of AppConnectors that are authorised to be associated with this AppConnection
    DisplayName string
    An arbitrary user-provided name for the AppConnection.
    EffectiveLabels map[string]string
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    Gateway AppConnectionGatewayArgs
    Gateway used by the AppConnection. Structure is documented below.
    Labels map[string]string

    Resource labels to represent user provided metadata.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    Name string
    ID of the AppConnection.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    PulumiLabels map[string]string
    The combination of labels configured directly on the resource and default labels configured on the provider.
    Region string
    The region of the AppConnection.
    Type string
    The type of network connectivity used by the AppConnection. Refer to https://cloud.google.com/beyondcorp/docs/reference/rest/v1/projects.locations.appConnections#type for a list of possible values.
    applicationEndpoint AppConnectionApplicationEndpoint
    Address of the remote application endpoint for the BeyondCorp AppConnection. Structure is documented below.
    connectors List<String>
    List of AppConnectors that are authorised to be associated with this AppConnection
    displayName String
    An arbitrary user-provided name for the AppConnection.
    effectiveLabels Map<String,String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    gateway AppConnectionGateway
    Gateway used by the AppConnection. Structure is documented below.
    labels Map<String,String>

    Resource labels to represent user provided metadata.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    name String
    ID of the AppConnection.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    pulumiLabels Map<String,String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    region String
    The region of the AppConnection.
    type String
    The type of network connectivity used by the AppConnection. Refer to https://cloud.google.com/beyondcorp/docs/reference/rest/v1/projects.locations.appConnections#type for a list of possible values.
    applicationEndpoint AppConnectionApplicationEndpoint
    Address of the remote application endpoint for the BeyondCorp AppConnection. Structure is documented below.
    connectors string[]
    List of AppConnectors that are authorised to be associated with this AppConnection
    displayName string
    An arbitrary user-provided name for the AppConnection.
    effectiveLabels {[key: string]: string}
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    gateway AppConnectionGateway
    Gateway used by the AppConnection. Structure is documented below.
    labels {[key: string]: string}

    Resource labels to represent user provided metadata.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    name string
    ID of the AppConnection.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    pulumiLabels {[key: string]: string}
    The combination of labels configured directly on the resource and default labels configured on the provider.
    region string
    The region of the AppConnection.
    type string
    The type of network connectivity used by the AppConnection. Refer to https://cloud.google.com/beyondcorp/docs/reference/rest/v1/projects.locations.appConnections#type for a list of possible values.
    application_endpoint AppConnectionApplicationEndpointArgs
    Address of the remote application endpoint for the BeyondCorp AppConnection. Structure is documented below.
    connectors Sequence[str]
    List of AppConnectors that are authorised to be associated with this AppConnection
    display_name str
    An arbitrary user-provided name for the AppConnection.
    effective_labels Mapping[str, str]
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    gateway AppConnectionGatewayArgs
    Gateway used by the AppConnection. Structure is documented below.
    labels Mapping[str, str]

    Resource labels to represent user provided metadata.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    name str
    ID of the AppConnection.
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    pulumi_labels Mapping[str, str]
    The combination of labels configured directly on the resource and default labels configured on the provider.
    region str
    The region of the AppConnection.
    type str
    The type of network connectivity used by the AppConnection. Refer to https://cloud.google.com/beyondcorp/docs/reference/rest/v1/projects.locations.appConnections#type for a list of possible values.
    applicationEndpoint Property Map
    Address of the remote application endpoint for the BeyondCorp AppConnection. Structure is documented below.
    connectors List<String>
    List of AppConnectors that are authorised to be associated with this AppConnection
    displayName String
    An arbitrary user-provided name for the AppConnection.
    effectiveLabels Map<String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    gateway Property Map
    Gateway used by the AppConnection. Structure is documented below.
    labels Map<String>

    Resource labels to represent user provided metadata.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    name String
    ID of the AppConnection.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    pulumiLabels Map<String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    region String
    The region of the AppConnection.
    type String
    The type of network connectivity used by the AppConnection. Refer to https://cloud.google.com/beyondcorp/docs/reference/rest/v1/projects.locations.appConnections#type for a list of possible values.

    Supporting Types

    AppConnectionApplicationEndpoint, AppConnectionApplicationEndpointArgs

    Host string
    Hostname or IP address of the remote application endpoint.
    Port int
    Port of the remote application endpoint.


    Host string
    Hostname or IP address of the remote application endpoint.
    Port int
    Port of the remote application endpoint.


    host String
    Hostname or IP address of the remote application endpoint.
    port Integer
    Port of the remote application endpoint.


    host string
    Hostname or IP address of the remote application endpoint.
    port number
    Port of the remote application endpoint.


    host str
    Hostname or IP address of the remote application endpoint.
    port int
    Port of the remote application endpoint.


    host String
    Hostname or IP address of the remote application endpoint.
    port Number
    Port of the remote application endpoint.


    AppConnectionGateway, AppConnectionGatewayArgs

    AppGateway string
    AppGateway name in following format: projects/{project_id}/locations/{locationId}/appgateways/{gateway_id}.
    IngressPort int
    (Output) Ingress port reserved on the gateways for this AppConnection, if not specified or zero, the default port is 19443.
    Type string
    The type of hosting used by the gateway. Refer to https://cloud.google.com/beyondcorp/docs/reference/rest/v1/projects.locations.appConnections#Type_1 for a list of possible values.
    Uri string
    (Output) Server-defined URI for this resource.
    AppGateway string
    AppGateway name in following format: projects/{project_id}/locations/{locationId}/appgateways/{gateway_id}.
    IngressPort int
    (Output) Ingress port reserved on the gateways for this AppConnection, if not specified or zero, the default port is 19443.
    Type string
    The type of hosting used by the gateway. Refer to https://cloud.google.com/beyondcorp/docs/reference/rest/v1/projects.locations.appConnections#Type_1 for a list of possible values.
    Uri string
    (Output) Server-defined URI for this resource.
    appGateway String
    AppGateway name in following format: projects/{project_id}/locations/{locationId}/appgateways/{gateway_id}.
    ingressPort Integer
    (Output) Ingress port reserved on the gateways for this AppConnection, if not specified or zero, the default port is 19443.
    type String
    The type of hosting used by the gateway. Refer to https://cloud.google.com/beyondcorp/docs/reference/rest/v1/projects.locations.appConnections#Type_1 for a list of possible values.
    uri String
    (Output) Server-defined URI for this resource.
    appGateway string
    AppGateway name in following format: projects/{project_id}/locations/{locationId}/appgateways/{gateway_id}.
    ingressPort number
    (Output) Ingress port reserved on the gateways for this AppConnection, if not specified or zero, the default port is 19443.
    type string
    The type of hosting used by the gateway. Refer to https://cloud.google.com/beyondcorp/docs/reference/rest/v1/projects.locations.appConnections#Type_1 for a list of possible values.
    uri string
    (Output) Server-defined URI for this resource.
    app_gateway str
    AppGateway name in following format: projects/{project_id}/locations/{locationId}/appgateways/{gateway_id}.
    ingress_port int
    (Output) Ingress port reserved on the gateways for this AppConnection, if not specified or zero, the default port is 19443.
    type str
    The type of hosting used by the gateway. Refer to https://cloud.google.com/beyondcorp/docs/reference/rest/v1/projects.locations.appConnections#Type_1 for a list of possible values.
    uri str
    (Output) Server-defined URI for this resource.
    appGateway String
    AppGateway name in following format: projects/{project_id}/locations/{locationId}/appgateways/{gateway_id}.
    ingressPort Number
    (Output) Ingress port reserved on the gateways for this AppConnection, if not specified or zero, the default port is 19443.
    type String
    The type of hosting used by the gateway. Refer to https://cloud.google.com/beyondcorp/docs/reference/rest/v1/projects.locations.appConnections#Type_1 for a list of possible values.
    uri String
    (Output) Server-defined URI for this resource.

    Import

    AppConnection can be imported using any of these accepted formats:

    • projects/{{project}}/locations/{{region}}/appConnections/{{name}}

    • {{project}}/{{region}}/{{name}}

    • {{region}}/{{name}}

    • {{name}}

    When using the pulumi import command, AppConnection can be imported using one of the formats above. For example:

    $ pulumi import gcp:beyondcorp/appConnection:AppConnection default projects/{{project}}/locations/{{region}}/appConnections/{{name}}
    
    $ pulumi import gcp:beyondcorp/appConnection:AppConnection default {{project}}/{{region}}/{{name}}
    
    $ pulumi import gcp:beyondcorp/appConnection:AppConnection default {{region}}/{{name}}
    
    $ pulumi import gcp:beyondcorp/appConnection:AppConnection default {{name}}
    

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

    Package Details

    Repository
    Google Cloud (GCP) Classic pulumi/pulumi-gcp
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the google-beta Terraform Provider.
    gcp logo
    Google Cloud Classic v7.19.0 published on Thursday, Apr 18, 2024 by Pulumi