AppConnectionArgs

data class AppConnectionArgs(val applicationEndpoint: Output<AppConnectionApplicationEndpointArgs>? = null, val connectors: Output<List<String>>? = null, val displayName: Output<String>? = null, val gateway: Output<AppConnectionGatewayArgs>? = null, val labels: Output<Map<String, String>>? = null, val name: Output<String>? = null, val project: Output<String>? = null, val region: Output<String>? = null, val type: Output<String>? = null) : ConvertibleToJava<AppConnectionArgs>

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

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()
.principalInfo(AppConnectorPrincipalInfoArgs.builder()
.serviceAccount(AppConnectorPrincipalInfoServiceAccountArgs.builder()
.email(serviceAccount.email())
.build())
.build())
.build());
var appConnection = new AppConnection("appConnection", AppConnectionArgs.builder()
.type("TCP_PROXY")
.applicationEndpoint(AppConnectionApplicationEndpointArgs.builder()
.host("foo-host")
.port(8080)
.build())
.connectors(appConnector.id())
.build());
}
}

Beyondcorp App Connection Full

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()
.type("TCP_PROXY")
.hostType("GCP_REGIONAL_MIG")
.build());
var appConnector = new AppConnector("appConnector", AppConnectorArgs.builder()
.principalInfo(AppConnectorPrincipalInfoArgs.builder()
.serviceAccount(AppConnectorPrincipalInfoServiceAccountArgs.builder()
.email(serviceAccount.email())
.build())
.build())
.build());
var appConnection = new AppConnection("appConnection", AppConnectionArgs.builder()
.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());
}
}

Import

AppConnection can be imported using any of these accepted formats

$ 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}}

Constructors

Link copied to clipboard
constructor(applicationEndpoint: Output<AppConnectionApplicationEndpointArgs>? = null, connectors: Output<List<String>>? = null, displayName: Output<String>? = null, gateway: Output<AppConnectionGatewayArgs>? = null, labels: Output<Map<String, String>>? = null, name: Output<String>? = null, project: Output<String>? = null, region: Output<String>? = null, type: Output<String>? = null)

Properties

Link copied to clipboard

Address of the remote application endpoint for the BeyondCorp AppConnection. Structure is documented below.

Link copied to clipboard
val connectors: Output<List<String>>? = null

List of AppConnectors that are authorised to be associated with this AppConnection

Link copied to clipboard
val displayName: Output<String>? = null

An arbitrary user-provided name for the AppConnection.

Link copied to clipboard
val gateway: Output<AppConnectionGatewayArgs>? = null

Gateway used by the AppConnection. Structure is documented below.

Link copied to clipboard
val labels: Output<Map<String, String>>? = null

Resource labels to represent user provided metadata.

Link copied to clipboard
val name: Output<String>? = null

ID of the AppConnection.

Link copied to clipboard
val project: Output<String>? = null

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Link copied to clipboard
val region: Output<String>? = null

The region of the AppConnection.

Link copied to clipboard
val type: Output<String>? = null

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.

Functions

Link copied to clipboard
open override fun toJava(): AppConnectionArgs