App Connection Args
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:
How-to Guides
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());
}
}
Content copied to clipboard
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());
}
}
Content copied to clipboard
Import
AppConnection can be imported using any of these accepted formats
$ pulumi import gcp:beyondcorp/appConnection:AppConnection default projects/{{project}}/locations/{{region}}/appConnections/{{name}}
Content copied to clipboard
$ pulumi import gcp:beyondcorp/appConnection:AppConnection default {{project}}/{{region}}/{{name}}
Content copied to clipboard
$ pulumi import gcp:beyondcorp/appConnection:AppConnection default {{region}}/{{name}}
Content copied to clipboard
$ pulumi import gcp:beyondcorp/appConnection:AppConnection default {{name}}
Content copied to clipboard
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
List of AppConnectors that are authorised to be associated with this AppConnection
Link copied to clipboard
An arbitrary user-provided name for the AppConnection.
Link copied to clipboard
Gateway used by the AppConnection. Structure is documented below.