gcp.beyondcorp.SecurityGatewayApplication
Specifies application endpoint(s) to protect behind a Security Gateway.
Example Usage
Beyondcorp Security Gateway Application Basic
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const _default = new gcp.beyondcorp.SecurityGateway("default", {
securityGatewayId: "default-sg",
displayName: "My Security Gateway resource",
hubs: [{
region: "us-central1",
}],
});
const example = new gcp.beyondcorp.SecurityGatewayApplication("example", {
securityGatewayId: _default.securityGatewayId,
applicationId: "google-sga",
endpointMatchers: [{
hostname: "google.com",
ports: [
80,
443,
],
}],
});
import pulumi
import pulumi_gcp as gcp
default = gcp.beyondcorp.SecurityGateway("default",
security_gateway_id="default-sg",
display_name="My Security Gateway resource",
hubs=[{
"region": "us-central1",
}])
example = gcp.beyondcorp.SecurityGatewayApplication("example",
security_gateway_id=default.security_gateway_id,
application_id="google-sga",
endpoint_matchers=[{
"hostname": "google.com",
"ports": [
80,
443,
],
}])
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/beyondcorp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := beyondcorp.NewSecurityGateway(ctx, "default", &beyondcorp.SecurityGatewayArgs{
SecurityGatewayId: pulumi.String("default-sg"),
DisplayName: pulumi.String("My Security Gateway resource"),
Hubs: beyondcorp.SecurityGatewayHubArray{
&beyondcorp.SecurityGatewayHubArgs{
Region: pulumi.String("us-central1"),
},
},
})
if err != nil {
return err
}
_, err = beyondcorp.NewSecurityGatewayApplication(ctx, "example", &beyondcorp.SecurityGatewayApplicationArgs{
SecurityGatewayId: _default.SecurityGatewayId,
ApplicationId: pulumi.String("google-sga"),
EndpointMatchers: beyondcorp.SecurityGatewayApplicationEndpointMatcherArray{
&beyondcorp.SecurityGatewayApplicationEndpointMatcherArgs{
Hostname: pulumi.String("google.com"),
Ports: pulumi.IntArray{
pulumi.Int(80),
pulumi.Int(443),
},
},
},
})
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 @default = new Gcp.Beyondcorp.SecurityGateway("default", new()
{
SecurityGatewayId = "default-sg",
DisplayName = "My Security Gateway resource",
Hubs = new[]
{
new Gcp.Beyondcorp.Inputs.SecurityGatewayHubArgs
{
Region = "us-central1",
},
},
});
var example = new Gcp.Beyondcorp.SecurityGatewayApplication("example", new()
{
SecurityGatewayId = @default.SecurityGatewayId,
ApplicationId = "google-sga",
EndpointMatchers = new[]
{
new Gcp.Beyondcorp.Inputs.SecurityGatewayApplicationEndpointMatcherArgs
{
Hostname = "google.com",
Ports = new[]
{
80,
443,
},
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.beyondcorp.SecurityGateway;
import com.pulumi.gcp.beyondcorp.SecurityGatewayArgs;
import com.pulumi.gcp.beyondcorp.inputs.SecurityGatewayHubArgs;
import com.pulumi.gcp.beyondcorp.SecurityGatewayApplication;
import com.pulumi.gcp.beyondcorp.SecurityGatewayApplicationArgs;
import com.pulumi.gcp.beyondcorp.inputs.SecurityGatewayApplicationEndpointMatcherArgs;
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 default_ = new SecurityGateway("default", SecurityGatewayArgs.builder()
.securityGatewayId("default-sg")
.displayName("My Security Gateway resource")
.hubs(SecurityGatewayHubArgs.builder()
.region("us-central1")
.build())
.build());
var example = new SecurityGatewayApplication("example", SecurityGatewayApplicationArgs.builder()
.securityGatewayId(default_.securityGatewayId())
.applicationId("google-sga")
.endpointMatchers(SecurityGatewayApplicationEndpointMatcherArgs.builder()
.hostname("google.com")
.ports(
80,
443)
.build())
.build());
}
}
resources:
default:
type: gcp:beyondcorp:SecurityGateway
properties:
securityGatewayId: default-sg
displayName: My Security Gateway resource
hubs:
- region: us-central1
example:
type: gcp:beyondcorp:SecurityGatewayApplication
properties:
securityGatewayId: ${default.securityGatewayId}
applicationId: google-sga
endpointMatchers:
- hostname: google.com
ports:
- 80
- 443
Beyondcorp Security Gateway Application Vpc
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const project = gcp.organizations.getProject({});
const _default = new gcp.beyondcorp.SecurityGateway("default", {
securityGatewayId: "default-sg",
displayName: "My Security Gateway resource",
hubs: [{
region: "us-central1",
}],
});
const example = new gcp.beyondcorp.SecurityGatewayApplication("example", {
securityGatewayId: _default.securityGatewayId,
applicationId: "my-vm-service2",
endpointMatchers: [{
hostname: "my-vm-service.com",
ports: [
80,
443,
],
}],
upstreams: [{
egressPolicy: {
regions: ["us-central1"],
},
network: {
name: project.then(project => `projects/${project.projectId}/global/networks/default`),
},
}],
});
import pulumi
import pulumi_gcp as gcp
project = gcp.organizations.get_project()
default = gcp.beyondcorp.SecurityGateway("default",
security_gateway_id="default-sg",
display_name="My Security Gateway resource",
hubs=[{
"region": "us-central1",
}])
example = gcp.beyondcorp.SecurityGatewayApplication("example",
security_gateway_id=default.security_gateway_id,
application_id="my-vm-service2",
endpoint_matchers=[{
"hostname": "my-vm-service.com",
"ports": [
80,
443,
],
}],
upstreams=[{
"egress_policy": {
"regions": ["us-central1"],
},
"network": {
"name": f"projects/{project.project_id}/global/networks/default",
},
}])
package main
import (
"fmt"
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/beyondcorp"
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
project, err := organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
if err != nil {
return err
}
_default, err := beyondcorp.NewSecurityGateway(ctx, "default", &beyondcorp.SecurityGatewayArgs{
SecurityGatewayId: pulumi.String("default-sg"),
DisplayName: pulumi.String("My Security Gateway resource"),
Hubs: beyondcorp.SecurityGatewayHubArray{
&beyondcorp.SecurityGatewayHubArgs{
Region: pulumi.String("us-central1"),
},
},
})
if err != nil {
return err
}
_, err = beyondcorp.NewSecurityGatewayApplication(ctx, "example", &beyondcorp.SecurityGatewayApplicationArgs{
SecurityGatewayId: _default.SecurityGatewayId,
ApplicationId: pulumi.String("my-vm-service2"),
EndpointMatchers: beyondcorp.SecurityGatewayApplicationEndpointMatcherArray{
&beyondcorp.SecurityGatewayApplicationEndpointMatcherArgs{
Hostname: pulumi.String("my-vm-service.com"),
Ports: pulumi.IntArray{
pulumi.Int(80),
pulumi.Int(443),
},
},
},
Upstreams: beyondcorp.SecurityGatewayApplicationUpstreamArray{
&beyondcorp.SecurityGatewayApplicationUpstreamArgs{
EgressPolicy: &beyondcorp.SecurityGatewayApplicationUpstreamEgressPolicyArgs{
Regions: pulumi.StringArray{
pulumi.String("us-central1"),
},
},
Network: &beyondcorp.SecurityGatewayApplicationUpstreamNetworkArgs{
Name: pulumi.Sprintf("projects/%v/global/networks/default", project.ProjectId),
},
},
},
})
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 project = Gcp.Organizations.GetProject.Invoke();
var @default = new Gcp.Beyondcorp.SecurityGateway("default", new()
{
SecurityGatewayId = "default-sg",
DisplayName = "My Security Gateway resource",
Hubs = new[]
{
new Gcp.Beyondcorp.Inputs.SecurityGatewayHubArgs
{
Region = "us-central1",
},
},
});
var example = new Gcp.Beyondcorp.SecurityGatewayApplication("example", new()
{
SecurityGatewayId = @default.SecurityGatewayId,
ApplicationId = "my-vm-service2",
EndpointMatchers = new[]
{
new Gcp.Beyondcorp.Inputs.SecurityGatewayApplicationEndpointMatcherArgs
{
Hostname = "my-vm-service.com",
Ports = new[]
{
80,
443,
},
},
},
Upstreams = new[]
{
new Gcp.Beyondcorp.Inputs.SecurityGatewayApplicationUpstreamArgs
{
EgressPolicy = new Gcp.Beyondcorp.Inputs.SecurityGatewayApplicationUpstreamEgressPolicyArgs
{
Regions = new[]
{
"us-central1",
},
},
Network = new Gcp.Beyondcorp.Inputs.SecurityGatewayApplicationUpstreamNetworkArgs
{
Name = $"projects/{project.Apply(getProjectResult => getProjectResult.ProjectId)}/global/networks/default",
},
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.organizations.OrganizationsFunctions;
import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
import com.pulumi.gcp.beyondcorp.SecurityGateway;
import com.pulumi.gcp.beyondcorp.SecurityGatewayArgs;
import com.pulumi.gcp.beyondcorp.inputs.SecurityGatewayHubArgs;
import com.pulumi.gcp.beyondcorp.SecurityGatewayApplication;
import com.pulumi.gcp.beyondcorp.SecurityGatewayApplicationArgs;
import com.pulumi.gcp.beyondcorp.inputs.SecurityGatewayApplicationEndpointMatcherArgs;
import com.pulumi.gcp.beyondcorp.inputs.SecurityGatewayApplicationUpstreamArgs;
import com.pulumi.gcp.beyondcorp.inputs.SecurityGatewayApplicationUpstreamEgressPolicyArgs;
import com.pulumi.gcp.beyondcorp.inputs.SecurityGatewayApplicationUpstreamNetworkArgs;
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) {
final var project = OrganizationsFunctions.getProject(GetProjectArgs.builder()
.build());
var default_ = new SecurityGateway("default", SecurityGatewayArgs.builder()
.securityGatewayId("default-sg")
.displayName("My Security Gateway resource")
.hubs(SecurityGatewayHubArgs.builder()
.region("us-central1")
.build())
.build());
var example = new SecurityGatewayApplication("example", SecurityGatewayApplicationArgs.builder()
.securityGatewayId(default_.securityGatewayId())
.applicationId("my-vm-service2")
.endpointMatchers(SecurityGatewayApplicationEndpointMatcherArgs.builder()
.hostname("my-vm-service.com")
.ports(
80,
443)
.build())
.upstreams(SecurityGatewayApplicationUpstreamArgs.builder()
.egressPolicy(SecurityGatewayApplicationUpstreamEgressPolicyArgs.builder()
.regions("us-central1")
.build())
.network(SecurityGatewayApplicationUpstreamNetworkArgs.builder()
.name(String.format("projects/%s/global/networks/default", project.projectId()))
.build())
.build())
.build());
}
}
resources:
default:
type: gcp:beyondcorp:SecurityGateway
properties:
securityGatewayId: default-sg
displayName: My Security Gateway resource
hubs:
- region: us-central1
example:
type: gcp:beyondcorp:SecurityGatewayApplication
properties:
securityGatewayId: ${default.securityGatewayId}
applicationId: my-vm-service2
endpointMatchers:
- hostname: my-vm-service.com
ports:
- 80
- 443
upstreams:
- egressPolicy:
regions:
- us-central1
network:
name: projects/${project.projectId}/global/networks/default
variables:
project:
fn::invoke:
function: gcp:organizations:getProject
arguments: {}
Beyondcorp Security Gateway Application Spa Api
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const _default = new gcp.beyondcorp.SecurityGateway("default", {
securityGatewayId: "default-sg-spa-api",
displayName: "My SPA Security Gateway resource",
});
const example_spa = new gcp.beyondcorp.SecurityGatewayApplication("example-spa", {
securityGatewayId: _default.securityGatewayId,
applicationId: "app-discovery",
upstreams: [{
external: {
endpoints: [{
hostname: "my.discovery.service.com",
port: 443,
}],
},
proxyProtocol: {
allowedClientHeaders: ["header"],
},
}],
schema: "API_GATEWAY",
});
import pulumi
import pulumi_gcp as gcp
default = gcp.beyondcorp.SecurityGateway("default",
security_gateway_id="default-sg-spa-api",
display_name="My SPA Security Gateway resource")
example_spa = gcp.beyondcorp.SecurityGatewayApplication("example-spa",
security_gateway_id=default.security_gateway_id,
application_id="app-discovery",
upstreams=[{
"external": {
"endpoints": [{
"hostname": "my.discovery.service.com",
"port": 443,
}],
},
"proxy_protocol": {
"allowed_client_headers": ["header"],
},
}],
schema="API_GATEWAY")
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/beyondcorp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := beyondcorp.NewSecurityGateway(ctx, "default", &beyondcorp.SecurityGatewayArgs{
SecurityGatewayId: pulumi.String("default-sg-spa-api"),
DisplayName: pulumi.String("My SPA Security Gateway resource"),
})
if err != nil {
return err
}
_, err = beyondcorp.NewSecurityGatewayApplication(ctx, "example-spa", &beyondcorp.SecurityGatewayApplicationArgs{
SecurityGatewayId: _default.SecurityGatewayId,
ApplicationId: pulumi.String("app-discovery"),
Upstreams: beyondcorp.SecurityGatewayApplicationUpstreamArray{
&beyondcorp.SecurityGatewayApplicationUpstreamArgs{
External: &beyondcorp.SecurityGatewayApplicationUpstreamExternalArgs{
Endpoints: beyondcorp.SecurityGatewayApplicationUpstreamExternalEndpointArray{
&beyondcorp.SecurityGatewayApplicationUpstreamExternalEndpointArgs{
Hostname: pulumi.String("my.discovery.service.com"),
Port: pulumi.Int(443),
},
},
},
ProxyProtocol: &beyondcorp.SecurityGatewayApplicationUpstreamProxyProtocolArgs{
AllowedClientHeaders: pulumi.StringArray{
pulumi.String("header"),
},
},
},
},
Schema: pulumi.String("API_GATEWAY"),
})
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 @default = new Gcp.Beyondcorp.SecurityGateway("default", new()
{
SecurityGatewayId = "default-sg-spa-api",
DisplayName = "My SPA Security Gateway resource",
});
var example_spa = new Gcp.Beyondcorp.SecurityGatewayApplication("example-spa", new()
{
SecurityGatewayId = @default.SecurityGatewayId,
ApplicationId = "app-discovery",
Upstreams = new[]
{
new Gcp.Beyondcorp.Inputs.SecurityGatewayApplicationUpstreamArgs
{
External = new Gcp.Beyondcorp.Inputs.SecurityGatewayApplicationUpstreamExternalArgs
{
Endpoints = new[]
{
new Gcp.Beyondcorp.Inputs.SecurityGatewayApplicationUpstreamExternalEndpointArgs
{
Hostname = "my.discovery.service.com",
Port = 443,
},
},
},
ProxyProtocol = new Gcp.Beyondcorp.Inputs.SecurityGatewayApplicationUpstreamProxyProtocolArgs
{
AllowedClientHeaders = new[]
{
"header",
},
},
},
},
Schema = "API_GATEWAY",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.beyondcorp.SecurityGateway;
import com.pulumi.gcp.beyondcorp.SecurityGatewayArgs;
import com.pulumi.gcp.beyondcorp.SecurityGatewayApplication;
import com.pulumi.gcp.beyondcorp.SecurityGatewayApplicationArgs;
import com.pulumi.gcp.beyondcorp.inputs.SecurityGatewayApplicationUpstreamArgs;
import com.pulumi.gcp.beyondcorp.inputs.SecurityGatewayApplicationUpstreamExternalArgs;
import com.pulumi.gcp.beyondcorp.inputs.SecurityGatewayApplicationUpstreamProxyProtocolArgs;
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 default_ = new SecurityGateway("default", SecurityGatewayArgs.builder()
.securityGatewayId("default-sg-spa-api")
.displayName("My SPA Security Gateway resource")
.build());
var example_spa = new SecurityGatewayApplication("example-spa", SecurityGatewayApplicationArgs.builder()
.securityGatewayId(default_.securityGatewayId())
.applicationId("app-discovery")
.upstreams(SecurityGatewayApplicationUpstreamArgs.builder()
.external(SecurityGatewayApplicationUpstreamExternalArgs.builder()
.endpoints(SecurityGatewayApplicationUpstreamExternalEndpointArgs.builder()
.hostname("my.discovery.service.com")
.port(443)
.build())
.build())
.proxyProtocol(SecurityGatewayApplicationUpstreamProxyProtocolArgs.builder()
.allowedClientHeaders("header")
.build())
.build())
.schema("API_GATEWAY")
.build());
}
}
resources:
default:
type: gcp:beyondcorp:SecurityGateway
properties:
securityGatewayId: default-sg-spa-api
displayName: My SPA Security Gateway resource
example-spa:
type: gcp:beyondcorp:SecurityGatewayApplication
properties:
securityGatewayId: ${default.securityGatewayId}
applicationId: app-discovery
upstreams:
- external:
endpoints:
- hostname: my.discovery.service.com
port: 443
proxyProtocol:
allowedClientHeaders:
- header
schema: API_GATEWAY
Beyondcorp Security Gateway Application Spa Proxy
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const _default = new gcp.beyondcorp.SecurityGateway("default", {
securityGatewayId: "default-sg-spa-proxy",
displayName: "My SPA Security Gateway resource",
});
const example_spa = new gcp.beyondcorp.SecurityGatewayApplication("example-spa", {
securityGatewayId: _default.securityGatewayId,
applicationId: "app-proxy",
endpointMatchers: [{
hostname: "a.site.com",
ports: [443],
}],
upstreams: [{
external: {
endpoints: [{
hostname: "my.proxy.service.com",
port: 443,
}],
},
proxyProtocol: {
allowedClientHeaders: [
"header1",
"header2",
],
contextualHeaders: {
userInfo: {
outputType: "PROTOBUF",
},
groupInfo: {
outputType: "JSON",
},
deviceInfo: {
outputType: "NONE",
},
outputType: "JSON",
},
metadataHeaders: {
"metadata-header1": "value1",
"metadata-header2": "value2",
},
gatewayIdentity: "RESOURCE_NAME",
clientIp: true,
},
}],
schema: "PROXY_GATEWAY",
});
import pulumi
import pulumi_gcp as gcp
default = gcp.beyondcorp.SecurityGateway("default",
security_gateway_id="default-sg-spa-proxy",
display_name="My SPA Security Gateway resource")
example_spa = gcp.beyondcorp.SecurityGatewayApplication("example-spa",
security_gateway_id=default.security_gateway_id,
application_id="app-proxy",
endpoint_matchers=[{
"hostname": "a.site.com",
"ports": [443],
}],
upstreams=[{
"external": {
"endpoints": [{
"hostname": "my.proxy.service.com",
"port": 443,
}],
},
"proxy_protocol": {
"allowed_client_headers": [
"header1",
"header2",
],
"contextual_headers": {
"user_info": {
"output_type": "PROTOBUF",
},
"group_info": {
"output_type": "JSON",
},
"device_info": {
"output_type": "NONE",
},
"output_type": "JSON",
},
"metadata_headers": {
"metadata-header1": "value1",
"metadata-header2": "value2",
},
"gateway_identity": "RESOURCE_NAME",
"client_ip": True,
},
}],
schema="PROXY_GATEWAY")
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/beyondcorp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := beyondcorp.NewSecurityGateway(ctx, "default", &beyondcorp.SecurityGatewayArgs{
SecurityGatewayId: pulumi.String("default-sg-spa-proxy"),
DisplayName: pulumi.String("My SPA Security Gateway resource"),
})
if err != nil {
return err
}
_, err = beyondcorp.NewSecurityGatewayApplication(ctx, "example-spa", &beyondcorp.SecurityGatewayApplicationArgs{
SecurityGatewayId: _default.SecurityGatewayId,
ApplicationId: pulumi.String("app-proxy"),
EndpointMatchers: beyondcorp.SecurityGatewayApplicationEndpointMatcherArray{
&beyondcorp.SecurityGatewayApplicationEndpointMatcherArgs{
Hostname: pulumi.String("a.site.com"),
Ports: pulumi.IntArray{
pulumi.Int(443),
},
},
},
Upstreams: beyondcorp.SecurityGatewayApplicationUpstreamArray{
&beyondcorp.SecurityGatewayApplicationUpstreamArgs{
External: &beyondcorp.SecurityGatewayApplicationUpstreamExternalArgs{
Endpoints: beyondcorp.SecurityGatewayApplicationUpstreamExternalEndpointArray{
&beyondcorp.SecurityGatewayApplicationUpstreamExternalEndpointArgs{
Hostname: pulumi.String("my.proxy.service.com"),
Port: pulumi.Int(443),
},
},
},
ProxyProtocol: &beyondcorp.SecurityGatewayApplicationUpstreamProxyProtocolArgs{
AllowedClientHeaders: pulumi.StringArray{
pulumi.String("header1"),
pulumi.String("header2"),
},
ContextualHeaders: &beyondcorp.SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersArgs{
UserInfo: &beyondcorp.SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersUserInfoArgs{
OutputType: pulumi.String("PROTOBUF"),
},
GroupInfo: &beyondcorp.SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersGroupInfoArgs{
OutputType: pulumi.String("JSON"),
},
DeviceInfo: &beyondcorp.SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersDeviceInfoArgs{
OutputType: pulumi.String("NONE"),
},
OutputType: pulumi.String("JSON"),
},
MetadataHeaders: pulumi.StringMap{
"metadata-header1": pulumi.String("value1"),
"metadata-header2": pulumi.String("value2"),
},
GatewayIdentity: pulumi.String("RESOURCE_NAME"),
ClientIp: pulumi.Bool(true),
},
},
},
Schema: pulumi.String("PROXY_GATEWAY"),
})
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 @default = new Gcp.Beyondcorp.SecurityGateway("default", new()
{
SecurityGatewayId = "default-sg-spa-proxy",
DisplayName = "My SPA Security Gateway resource",
});
var example_spa = new Gcp.Beyondcorp.SecurityGatewayApplication("example-spa", new()
{
SecurityGatewayId = @default.SecurityGatewayId,
ApplicationId = "app-proxy",
EndpointMatchers = new[]
{
new Gcp.Beyondcorp.Inputs.SecurityGatewayApplicationEndpointMatcherArgs
{
Hostname = "a.site.com",
Ports = new[]
{
443,
},
},
},
Upstreams = new[]
{
new Gcp.Beyondcorp.Inputs.SecurityGatewayApplicationUpstreamArgs
{
External = new Gcp.Beyondcorp.Inputs.SecurityGatewayApplicationUpstreamExternalArgs
{
Endpoints = new[]
{
new Gcp.Beyondcorp.Inputs.SecurityGatewayApplicationUpstreamExternalEndpointArgs
{
Hostname = "my.proxy.service.com",
Port = 443,
},
},
},
ProxyProtocol = new Gcp.Beyondcorp.Inputs.SecurityGatewayApplicationUpstreamProxyProtocolArgs
{
AllowedClientHeaders = new[]
{
"header1",
"header2",
},
ContextualHeaders = new Gcp.Beyondcorp.Inputs.SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersArgs
{
UserInfo = new Gcp.Beyondcorp.Inputs.SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersUserInfoArgs
{
OutputType = "PROTOBUF",
},
GroupInfo = new Gcp.Beyondcorp.Inputs.SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersGroupInfoArgs
{
OutputType = "JSON",
},
DeviceInfo = new Gcp.Beyondcorp.Inputs.SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersDeviceInfoArgs
{
OutputType = "NONE",
},
OutputType = "JSON",
},
MetadataHeaders =
{
{ "metadata-header1", "value1" },
{ "metadata-header2", "value2" },
},
GatewayIdentity = "RESOURCE_NAME",
ClientIp = true,
},
},
},
Schema = "PROXY_GATEWAY",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.beyondcorp.SecurityGateway;
import com.pulumi.gcp.beyondcorp.SecurityGatewayArgs;
import com.pulumi.gcp.beyondcorp.SecurityGatewayApplication;
import com.pulumi.gcp.beyondcorp.SecurityGatewayApplicationArgs;
import com.pulumi.gcp.beyondcorp.inputs.SecurityGatewayApplicationEndpointMatcherArgs;
import com.pulumi.gcp.beyondcorp.inputs.SecurityGatewayApplicationUpstreamArgs;
import com.pulumi.gcp.beyondcorp.inputs.SecurityGatewayApplicationUpstreamExternalArgs;
import com.pulumi.gcp.beyondcorp.inputs.SecurityGatewayApplicationUpstreamProxyProtocolArgs;
import com.pulumi.gcp.beyondcorp.inputs.SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersArgs;
import com.pulumi.gcp.beyondcorp.inputs.SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersUserInfoArgs;
import com.pulumi.gcp.beyondcorp.inputs.SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersGroupInfoArgs;
import com.pulumi.gcp.beyondcorp.inputs.SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersDeviceInfoArgs;
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 default_ = new SecurityGateway("default", SecurityGatewayArgs.builder()
.securityGatewayId("default-sg-spa-proxy")
.displayName("My SPA Security Gateway resource")
.build());
var example_spa = new SecurityGatewayApplication("example-spa", SecurityGatewayApplicationArgs.builder()
.securityGatewayId(default_.securityGatewayId())
.applicationId("app-proxy")
.endpointMatchers(SecurityGatewayApplicationEndpointMatcherArgs.builder()
.hostname("a.site.com")
.ports(443)
.build())
.upstreams(SecurityGatewayApplicationUpstreamArgs.builder()
.external(SecurityGatewayApplicationUpstreamExternalArgs.builder()
.endpoints(SecurityGatewayApplicationUpstreamExternalEndpointArgs.builder()
.hostname("my.proxy.service.com")
.port(443)
.build())
.build())
.proxyProtocol(SecurityGatewayApplicationUpstreamProxyProtocolArgs.builder()
.allowedClientHeaders(
"header1",
"header2")
.contextualHeaders(SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersArgs.builder()
.userInfo(SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersUserInfoArgs.builder()
.outputType("PROTOBUF")
.build())
.groupInfo(SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersGroupInfoArgs.builder()
.outputType("JSON")
.build())
.deviceInfo(SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersDeviceInfoArgs.builder()
.outputType("NONE")
.build())
.outputType("JSON")
.build())
.metadataHeaders(Map.ofEntries(
Map.entry("metadata-header1", "value1"),
Map.entry("metadata-header2", "value2")
))
.gatewayIdentity("RESOURCE_NAME")
.clientIp(true)
.build())
.build())
.schema("PROXY_GATEWAY")
.build());
}
}
resources:
default:
type: gcp:beyondcorp:SecurityGateway
properties:
securityGatewayId: default-sg-spa-proxy
displayName: My SPA Security Gateway resource
example-spa:
type: gcp:beyondcorp:SecurityGatewayApplication
properties:
securityGatewayId: ${default.securityGatewayId}
applicationId: app-proxy
endpointMatchers:
- hostname: a.site.com
ports:
- 443
upstreams:
- external:
endpoints:
- hostname: my.proxy.service.com
port: 443
proxyProtocol:
allowedClientHeaders:
- header1
- header2
contextualHeaders:
userInfo:
outputType: PROTOBUF
groupInfo:
outputType: JSON
deviceInfo:
outputType: NONE
outputType: JSON
metadataHeaders:
metadata-header1: value1
metadata-header2: value2
gatewayIdentity: RESOURCE_NAME
clientIp: true
schema: PROXY_GATEWAY
Create SecurityGatewayApplication Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new SecurityGatewayApplication(name: string, args: SecurityGatewayApplicationArgs, opts?: CustomResourceOptions);@overload
def SecurityGatewayApplication(resource_name: str,
args: SecurityGatewayApplicationArgs,
opts: Optional[ResourceOptions] = None)
@overload
def SecurityGatewayApplication(resource_name: str,
opts: Optional[ResourceOptions] = None,
application_id: Optional[str] = None,
security_gateway_id: Optional[str] = None,
display_name: Optional[str] = None,
endpoint_matchers: Optional[Sequence[SecurityGatewayApplicationEndpointMatcherArgs]] = None,
project: Optional[str] = None,
schema: Optional[str] = None,
upstreams: Optional[Sequence[SecurityGatewayApplicationUpstreamArgs]] = None)func NewSecurityGatewayApplication(ctx *Context, name string, args SecurityGatewayApplicationArgs, opts ...ResourceOption) (*SecurityGatewayApplication, error)public SecurityGatewayApplication(string name, SecurityGatewayApplicationArgs args, CustomResourceOptions? opts = null)
public SecurityGatewayApplication(String name, SecurityGatewayApplicationArgs args)
public SecurityGatewayApplication(String name, SecurityGatewayApplicationArgs args, CustomResourceOptions options)
type: gcp:beyondcorp:SecurityGatewayApplication
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 SecurityGatewayApplicationArgs
- 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 SecurityGatewayApplicationArgs
- 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 SecurityGatewayApplicationArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args SecurityGatewayApplicationArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args SecurityGatewayApplicationArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var securityGatewayApplicationResource = new Gcp.Beyondcorp.SecurityGatewayApplication("securityGatewayApplicationResource", new()
{
ApplicationId = "string",
SecurityGatewayId = "string",
DisplayName = "string",
EndpointMatchers = new[]
{
new Gcp.Beyondcorp.Inputs.SecurityGatewayApplicationEndpointMatcherArgs
{
Hostname = "string",
Ports = new[]
{
0,
},
},
},
Project = "string",
Schema = "string",
Upstreams = new[]
{
new Gcp.Beyondcorp.Inputs.SecurityGatewayApplicationUpstreamArgs
{
EgressPolicy = new Gcp.Beyondcorp.Inputs.SecurityGatewayApplicationUpstreamEgressPolicyArgs
{
Regions = new[]
{
"string",
},
},
External = new Gcp.Beyondcorp.Inputs.SecurityGatewayApplicationUpstreamExternalArgs
{
Endpoints = new[]
{
new Gcp.Beyondcorp.Inputs.SecurityGatewayApplicationUpstreamExternalEndpointArgs
{
Hostname = "string",
Port = 0,
},
},
},
Network = new Gcp.Beyondcorp.Inputs.SecurityGatewayApplicationUpstreamNetworkArgs
{
Name = "string",
},
ProxyProtocol = new Gcp.Beyondcorp.Inputs.SecurityGatewayApplicationUpstreamProxyProtocolArgs
{
AllowedClientHeaders = new[]
{
"string",
},
ClientIp = false,
ContextualHeaders = new Gcp.Beyondcorp.Inputs.SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersArgs
{
DeviceInfo = new Gcp.Beyondcorp.Inputs.SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersDeviceInfoArgs
{
OutputType = "string",
},
GroupInfo = new Gcp.Beyondcorp.Inputs.SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersGroupInfoArgs
{
OutputType = "string",
},
OutputType = "string",
UserInfo = new Gcp.Beyondcorp.Inputs.SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersUserInfoArgs
{
OutputType = "string",
},
},
GatewayIdentity = "string",
MetadataHeaders =
{
{ "string", "string" },
},
},
},
},
});
example, err := beyondcorp.NewSecurityGatewayApplication(ctx, "securityGatewayApplicationResource", &beyondcorp.SecurityGatewayApplicationArgs{
ApplicationId: pulumi.String("string"),
SecurityGatewayId: pulumi.String("string"),
DisplayName: pulumi.String("string"),
EndpointMatchers: beyondcorp.SecurityGatewayApplicationEndpointMatcherArray{
&beyondcorp.SecurityGatewayApplicationEndpointMatcherArgs{
Hostname: pulumi.String("string"),
Ports: pulumi.IntArray{
pulumi.Int(0),
},
},
},
Project: pulumi.String("string"),
Schema: pulumi.String("string"),
Upstreams: beyondcorp.SecurityGatewayApplicationUpstreamArray{
&beyondcorp.SecurityGatewayApplicationUpstreamArgs{
EgressPolicy: &beyondcorp.SecurityGatewayApplicationUpstreamEgressPolicyArgs{
Regions: pulumi.StringArray{
pulumi.String("string"),
},
},
External: &beyondcorp.SecurityGatewayApplicationUpstreamExternalArgs{
Endpoints: beyondcorp.SecurityGatewayApplicationUpstreamExternalEndpointArray{
&beyondcorp.SecurityGatewayApplicationUpstreamExternalEndpointArgs{
Hostname: pulumi.String("string"),
Port: pulumi.Int(0),
},
},
},
Network: &beyondcorp.SecurityGatewayApplicationUpstreamNetworkArgs{
Name: pulumi.String("string"),
},
ProxyProtocol: &beyondcorp.SecurityGatewayApplicationUpstreamProxyProtocolArgs{
AllowedClientHeaders: pulumi.StringArray{
pulumi.String("string"),
},
ClientIp: pulumi.Bool(false),
ContextualHeaders: &beyondcorp.SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersArgs{
DeviceInfo: &beyondcorp.SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersDeviceInfoArgs{
OutputType: pulumi.String("string"),
},
GroupInfo: &beyondcorp.SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersGroupInfoArgs{
OutputType: pulumi.String("string"),
},
OutputType: pulumi.String("string"),
UserInfo: &beyondcorp.SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersUserInfoArgs{
OutputType: pulumi.String("string"),
},
},
GatewayIdentity: pulumi.String("string"),
MetadataHeaders: pulumi.StringMap{
"string": pulumi.String("string"),
},
},
},
},
})
var securityGatewayApplicationResource = new SecurityGatewayApplication("securityGatewayApplicationResource", SecurityGatewayApplicationArgs.builder()
.applicationId("string")
.securityGatewayId("string")
.displayName("string")
.endpointMatchers(SecurityGatewayApplicationEndpointMatcherArgs.builder()
.hostname("string")
.ports(0)
.build())
.project("string")
.schema("string")
.upstreams(SecurityGatewayApplicationUpstreamArgs.builder()
.egressPolicy(SecurityGatewayApplicationUpstreamEgressPolicyArgs.builder()
.regions("string")
.build())
.external(SecurityGatewayApplicationUpstreamExternalArgs.builder()
.endpoints(SecurityGatewayApplicationUpstreamExternalEndpointArgs.builder()
.hostname("string")
.port(0)
.build())
.build())
.network(SecurityGatewayApplicationUpstreamNetworkArgs.builder()
.name("string")
.build())
.proxyProtocol(SecurityGatewayApplicationUpstreamProxyProtocolArgs.builder()
.allowedClientHeaders("string")
.clientIp(false)
.contextualHeaders(SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersArgs.builder()
.deviceInfo(SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersDeviceInfoArgs.builder()
.outputType("string")
.build())
.groupInfo(SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersGroupInfoArgs.builder()
.outputType("string")
.build())
.outputType("string")
.userInfo(SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersUserInfoArgs.builder()
.outputType("string")
.build())
.build())
.gatewayIdentity("string")
.metadataHeaders(Map.of("string", "string"))
.build())
.build())
.build());
security_gateway_application_resource = gcp.beyondcorp.SecurityGatewayApplication("securityGatewayApplicationResource",
application_id="string",
security_gateway_id="string",
display_name="string",
endpoint_matchers=[{
"hostname": "string",
"ports": [0],
}],
project="string",
schema="string",
upstreams=[{
"egress_policy": {
"regions": ["string"],
},
"external": {
"endpoints": [{
"hostname": "string",
"port": 0,
}],
},
"network": {
"name": "string",
},
"proxy_protocol": {
"allowed_client_headers": ["string"],
"client_ip": False,
"contextual_headers": {
"device_info": {
"output_type": "string",
},
"group_info": {
"output_type": "string",
},
"output_type": "string",
"user_info": {
"output_type": "string",
},
},
"gateway_identity": "string",
"metadata_headers": {
"string": "string",
},
},
}])
const securityGatewayApplicationResource = new gcp.beyondcorp.SecurityGatewayApplication("securityGatewayApplicationResource", {
applicationId: "string",
securityGatewayId: "string",
displayName: "string",
endpointMatchers: [{
hostname: "string",
ports: [0],
}],
project: "string",
schema: "string",
upstreams: [{
egressPolicy: {
regions: ["string"],
},
external: {
endpoints: [{
hostname: "string",
port: 0,
}],
},
network: {
name: "string",
},
proxyProtocol: {
allowedClientHeaders: ["string"],
clientIp: false,
contextualHeaders: {
deviceInfo: {
outputType: "string",
},
groupInfo: {
outputType: "string",
},
outputType: "string",
userInfo: {
outputType: "string",
},
},
gatewayIdentity: "string",
metadataHeaders: {
string: "string",
},
},
}],
});
type: gcp:beyondcorp:SecurityGatewayApplication
properties:
applicationId: string
displayName: string
endpointMatchers:
- hostname: string
ports:
- 0
project: string
schema: string
securityGatewayId: string
upstreams:
- egressPolicy:
regions:
- string
external:
endpoints:
- hostname: string
port: 0
network:
name: string
proxyProtocol:
allowedClientHeaders:
- string
clientIp: false
contextualHeaders:
deviceInfo:
outputType: string
groupInfo:
outputType: string
outputType: string
userInfo:
outputType: string
gatewayIdentity: string
metadataHeaders:
string: string
SecurityGatewayApplication Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The SecurityGatewayApplication resource accepts the following input properties:
- Application
Id string - User-settable Application resource ID.
- Must start with a letter.
- Must contain between 4-63 characters from
/a-z-/. - Must end with a number or letter.
- Security
Gateway stringId - ID of the Security Gateway resource this belongs to.
- Display
Name string - Optional. An arbitrary user-provided name for the Application resource. Cannot exceed 64 characters.
- Endpoint
Matchers List<SecurityGateway Application Endpoint Matcher> - Required. Endpoint matchers associated with an application. A combination of hostname and ports as endpoint matcher is used to match the application. Match conditions for OR logic. An array of match conditions to allow for multiple matching criteria. The rule is considered a match if one the conditions are met. The conditions can be one of the following combination (Hostname), (Hostname & Ports) EXAMPLES: Hostname - ("*.abc.com"), ("xyz.abc.com") Hostname and Ports - ("abc.com" and "22"), ("abc.com" and "22,33") etc Structure is documented below.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Schema string
- Type of the external application.
Possible values are:
PROXY_GATEWAY,API_GATEWAY. - Upstreams
List<Security
Gateway Application Upstream> - Optional. List of which upstream resource(s) to forward traffic to. Structure is documented below.
- Application
Id string - User-settable Application resource ID.
- Must start with a letter.
- Must contain between 4-63 characters from
/a-z-/. - Must end with a number or letter.
- Security
Gateway stringId - ID of the Security Gateway resource this belongs to.
- Display
Name string - Optional. An arbitrary user-provided name for the Application resource. Cannot exceed 64 characters.
- Endpoint
Matchers []SecurityGateway Application Endpoint Matcher Args - Required. Endpoint matchers associated with an application. A combination of hostname and ports as endpoint matcher is used to match the application. Match conditions for OR logic. An array of match conditions to allow for multiple matching criteria. The rule is considered a match if one the conditions are met. The conditions can be one of the following combination (Hostname), (Hostname & Ports) EXAMPLES: Hostname - ("*.abc.com"), ("xyz.abc.com") Hostname and Ports - ("abc.com" and "22"), ("abc.com" and "22,33") etc Structure is documented below.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Schema string
- Type of the external application.
Possible values are:
PROXY_GATEWAY,API_GATEWAY. - Upstreams
[]Security
Gateway Application Upstream Args - Optional. List of which upstream resource(s) to forward traffic to. Structure is documented below.
- application
Id String - User-settable Application resource ID.
- Must start with a letter.
- Must contain between 4-63 characters from
/a-z-/. - Must end with a number or letter.
- security
Gateway StringId - ID of the Security Gateway resource this belongs to.
- display
Name String - Optional. An arbitrary user-provided name for the Application resource. Cannot exceed 64 characters.
- endpoint
Matchers List<SecurityGateway Application Endpoint Matcher> - Required. Endpoint matchers associated with an application. A combination of hostname and ports as endpoint matcher is used to match the application. Match conditions for OR logic. An array of match conditions to allow for multiple matching criteria. The rule is considered a match if one the conditions are met. The conditions can be one of the following combination (Hostname), (Hostname & Ports) EXAMPLES: Hostname - ("*.abc.com"), ("xyz.abc.com") Hostname and Ports - ("abc.com" and "22"), ("abc.com" and "22,33") etc Structure is documented below.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- schema String
- Type of the external application.
Possible values are:
PROXY_GATEWAY,API_GATEWAY. - upstreams
List<Security
Gateway Application Upstream> - Optional. List of which upstream resource(s) to forward traffic to. Structure is documented below.
- application
Id string - User-settable Application resource ID.
- Must start with a letter.
- Must contain between 4-63 characters from
/a-z-/. - Must end with a number or letter.
- security
Gateway stringId - ID of the Security Gateway resource this belongs to.
- display
Name string - Optional. An arbitrary user-provided name for the Application resource. Cannot exceed 64 characters.
- endpoint
Matchers SecurityGateway Application Endpoint Matcher[] - Required. Endpoint matchers associated with an application. A combination of hostname and ports as endpoint matcher is used to match the application. Match conditions for OR logic. An array of match conditions to allow for multiple matching criteria. The rule is considered a match if one the conditions are met. The conditions can be one of the following combination (Hostname), (Hostname & Ports) EXAMPLES: Hostname - ("*.abc.com"), ("xyz.abc.com") Hostname and Ports - ("abc.com" and "22"), ("abc.com" and "22,33") etc Structure is documented below.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- schema string
- Type of the external application.
Possible values are:
PROXY_GATEWAY,API_GATEWAY. - upstreams
Security
Gateway Application Upstream[] - Optional. List of which upstream resource(s) to forward traffic to. Structure is documented below.
- application_
id str - User-settable Application resource ID.
- Must start with a letter.
- Must contain between 4-63 characters from
/a-z-/. - Must end with a number or letter.
- security_
gateway_ strid - ID of the Security Gateway resource this belongs to.
- display_
name str - Optional. An arbitrary user-provided name for the Application resource. Cannot exceed 64 characters.
- endpoint_
matchers Sequence[SecurityGateway Application Endpoint Matcher Args] - Required. Endpoint matchers associated with an application. A combination of hostname and ports as endpoint matcher is used to match the application. Match conditions for OR logic. An array of match conditions to allow for multiple matching criteria. The rule is considered a match if one the conditions are met. The conditions can be one of the following combination (Hostname), (Hostname & Ports) EXAMPLES: Hostname - ("*.abc.com"), ("xyz.abc.com") Hostname and Ports - ("abc.com" and "22"), ("abc.com" and "22,33") etc Structure is documented below.
- project str
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- schema str
- Type of the external application.
Possible values are:
PROXY_GATEWAY,API_GATEWAY. - upstreams
Sequence[Security
Gateway Application Upstream Args] - Optional. List of which upstream resource(s) to forward traffic to. Structure is documented below.
- application
Id String - User-settable Application resource ID.
- Must start with a letter.
- Must contain between 4-63 characters from
/a-z-/. - Must end with a number or letter.
- security
Gateway StringId - ID of the Security Gateway resource this belongs to.
- display
Name String - Optional. An arbitrary user-provided name for the Application resource. Cannot exceed 64 characters.
- endpoint
Matchers List<Property Map> - Required. Endpoint matchers associated with an application. A combination of hostname and ports as endpoint matcher is used to match the application. Match conditions for OR logic. An array of match conditions to allow for multiple matching criteria. The rule is considered a match if one the conditions are met. The conditions can be one of the following combination (Hostname), (Hostname & Ports) EXAMPLES: Hostname - ("*.abc.com"), ("xyz.abc.com") Hostname and Ports - ("abc.com" and "22"), ("abc.com" and "22,33") etc Structure is documented below.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- schema String
- Type of the external application.
Possible values are:
PROXY_GATEWAY,API_GATEWAY. - upstreams List<Property Map>
- Optional. List of which upstream resource(s) to forward traffic to. Structure is documented below.
Outputs
All input properties are implicitly available as output properties. Additionally, the SecurityGatewayApplication resource produces the following output properties:
- Create
Time string - Output only. Timestamp when the resource was created.
- Id string
- The provider-assigned unique ID for this managed resource.
- Name string
- Identifier. Name of the resource.
- Update
Time string - Output only. Timestamp when the resource was last modified.
- Create
Time string - Output only. Timestamp when the resource was created.
- Id string
- The provider-assigned unique ID for this managed resource.
- Name string
- Identifier. Name of the resource.
- Update
Time string - Output only. Timestamp when the resource was last modified.
- create
Time String - Output only. Timestamp when the resource was created.
- id String
- The provider-assigned unique ID for this managed resource.
- name String
- Identifier. Name of the resource.
- update
Time String - Output only. Timestamp when the resource was last modified.
- create
Time string - Output only. Timestamp when the resource was created.
- id string
- The provider-assigned unique ID for this managed resource.
- name string
- Identifier. Name of the resource.
- update
Time string - Output only. Timestamp when the resource was last modified.
- create_
time str - Output only. Timestamp when the resource was created.
- id str
- The provider-assigned unique ID for this managed resource.
- name str
- Identifier. Name of the resource.
- update_
time str - Output only. Timestamp when the resource was last modified.
- create
Time String - Output only. Timestamp when the resource was created.
- id String
- The provider-assigned unique ID for this managed resource.
- name String
- Identifier. Name of the resource.
- update
Time String - Output only. Timestamp when the resource was last modified.
Look up Existing SecurityGatewayApplication Resource
Get an existing SecurityGatewayApplication 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?: SecurityGatewayApplicationState, opts?: CustomResourceOptions): SecurityGatewayApplication@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
application_id: Optional[str] = None,
create_time: Optional[str] = None,
display_name: Optional[str] = None,
endpoint_matchers: Optional[Sequence[SecurityGatewayApplicationEndpointMatcherArgs]] = None,
name: Optional[str] = None,
project: Optional[str] = None,
schema: Optional[str] = None,
security_gateway_id: Optional[str] = None,
update_time: Optional[str] = None,
upstreams: Optional[Sequence[SecurityGatewayApplicationUpstreamArgs]] = None) -> SecurityGatewayApplicationfunc GetSecurityGatewayApplication(ctx *Context, name string, id IDInput, state *SecurityGatewayApplicationState, opts ...ResourceOption) (*SecurityGatewayApplication, error)public static SecurityGatewayApplication Get(string name, Input<string> id, SecurityGatewayApplicationState? state, CustomResourceOptions? opts = null)public static SecurityGatewayApplication get(String name, Output<String> id, SecurityGatewayApplicationState state, CustomResourceOptions options)resources: _: type: gcp:beyondcorp:SecurityGatewayApplication get: id: ${id}- 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.
- Application
Id string - User-settable Application resource ID.
- Must start with a letter.
- Must contain between 4-63 characters from
/a-z-/. - Must end with a number or letter.
- Create
Time string - Output only. Timestamp when the resource was created.
- Display
Name string - Optional. An arbitrary user-provided name for the Application resource. Cannot exceed 64 characters.
- Endpoint
Matchers List<SecurityGateway Application Endpoint Matcher> - Required. Endpoint matchers associated with an application. A combination of hostname and ports as endpoint matcher is used to match the application. Match conditions for OR logic. An array of match conditions to allow for multiple matching criteria. The rule is considered a match if one the conditions are met. The conditions can be one of the following combination (Hostname), (Hostname & Ports) EXAMPLES: Hostname - ("*.abc.com"), ("xyz.abc.com") Hostname and Ports - ("abc.com" and "22"), ("abc.com" and "22,33") etc Structure is documented below.
- Name string
- Identifier. Name of the resource.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Schema string
- Type of the external application.
Possible values are:
PROXY_GATEWAY,API_GATEWAY. - Security
Gateway stringId - ID of the Security Gateway resource this belongs to.
- Update
Time string - Output only. Timestamp when the resource was last modified.
- Upstreams
List<Security
Gateway Application Upstream> - Optional. List of which upstream resource(s) to forward traffic to. Structure is documented below.
- Application
Id string - User-settable Application resource ID.
- Must start with a letter.
- Must contain between 4-63 characters from
/a-z-/. - Must end with a number or letter.
- Create
Time string - Output only. Timestamp when the resource was created.
- Display
Name string - Optional. An arbitrary user-provided name for the Application resource. Cannot exceed 64 characters.
- Endpoint
Matchers []SecurityGateway Application Endpoint Matcher Args - Required. Endpoint matchers associated with an application. A combination of hostname and ports as endpoint matcher is used to match the application. Match conditions for OR logic. An array of match conditions to allow for multiple matching criteria. The rule is considered a match if one the conditions are met. The conditions can be one of the following combination (Hostname), (Hostname & Ports) EXAMPLES: Hostname - ("*.abc.com"), ("xyz.abc.com") Hostname and Ports - ("abc.com" and "22"), ("abc.com" and "22,33") etc Structure is documented below.
- Name string
- Identifier. Name of the resource.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Schema string
- Type of the external application.
Possible values are:
PROXY_GATEWAY,API_GATEWAY. - Security
Gateway stringId - ID of the Security Gateway resource this belongs to.
- Update
Time string - Output only. Timestamp when the resource was last modified.
- Upstreams
[]Security
Gateway Application Upstream Args - Optional. List of which upstream resource(s) to forward traffic to. Structure is documented below.
- application
Id String - User-settable Application resource ID.
- Must start with a letter.
- Must contain between 4-63 characters from
/a-z-/. - Must end with a number or letter.
- create
Time String - Output only. Timestamp when the resource was created.
- display
Name String - Optional. An arbitrary user-provided name for the Application resource. Cannot exceed 64 characters.
- endpoint
Matchers List<SecurityGateway Application Endpoint Matcher> - Required. Endpoint matchers associated with an application. A combination of hostname and ports as endpoint matcher is used to match the application. Match conditions for OR logic. An array of match conditions to allow for multiple matching criteria. The rule is considered a match if one the conditions are met. The conditions can be one of the following combination (Hostname), (Hostname & Ports) EXAMPLES: Hostname - ("*.abc.com"), ("xyz.abc.com") Hostname and Ports - ("abc.com" and "22"), ("abc.com" and "22,33") etc Structure is documented below.
- name String
- Identifier. Name of the resource.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- schema String
- Type of the external application.
Possible values are:
PROXY_GATEWAY,API_GATEWAY. - security
Gateway StringId - ID of the Security Gateway resource this belongs to.
- update
Time String - Output only. Timestamp when the resource was last modified.
- upstreams
List<Security
Gateway Application Upstream> - Optional. List of which upstream resource(s) to forward traffic to. Structure is documented below.
- application
Id string - User-settable Application resource ID.
- Must start with a letter.
- Must contain between 4-63 characters from
/a-z-/. - Must end with a number or letter.
- create
Time string - Output only. Timestamp when the resource was created.
- display
Name string - Optional. An arbitrary user-provided name for the Application resource. Cannot exceed 64 characters.
- endpoint
Matchers SecurityGateway Application Endpoint Matcher[] - Required. Endpoint matchers associated with an application. A combination of hostname and ports as endpoint matcher is used to match the application. Match conditions for OR logic. An array of match conditions to allow for multiple matching criteria. The rule is considered a match if one the conditions are met. The conditions can be one of the following combination (Hostname), (Hostname & Ports) EXAMPLES: Hostname - ("*.abc.com"), ("xyz.abc.com") Hostname and Ports - ("abc.com" and "22"), ("abc.com" and "22,33") etc Structure is documented below.
- name string
- Identifier. Name of the resource.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- schema string
- Type of the external application.
Possible values are:
PROXY_GATEWAY,API_GATEWAY. - security
Gateway stringId - ID of the Security Gateway resource this belongs to.
- update
Time string - Output only. Timestamp when the resource was last modified.
- upstreams
Security
Gateway Application Upstream[] - Optional. List of which upstream resource(s) to forward traffic to. Structure is documented below.
- application_
id str - User-settable Application resource ID.
- Must start with a letter.
- Must contain between 4-63 characters from
/a-z-/. - Must end with a number or letter.
- create_
time str - Output only. Timestamp when the resource was created.
- display_
name str - Optional. An arbitrary user-provided name for the Application resource. Cannot exceed 64 characters.
- endpoint_
matchers Sequence[SecurityGateway Application Endpoint Matcher Args] - Required. Endpoint matchers associated with an application. A combination of hostname and ports as endpoint matcher is used to match the application. Match conditions for OR logic. An array of match conditions to allow for multiple matching criteria. The rule is considered a match if one the conditions are met. The conditions can be one of the following combination (Hostname), (Hostname & Ports) EXAMPLES: Hostname - ("*.abc.com"), ("xyz.abc.com") Hostname and Ports - ("abc.com" and "22"), ("abc.com" and "22,33") etc Structure is documented below.
- name str
- Identifier. Name of the resource.
- project str
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- schema str
- Type of the external application.
Possible values are:
PROXY_GATEWAY,API_GATEWAY. - security_
gateway_ strid - ID of the Security Gateway resource this belongs to.
- update_
time str - Output only. Timestamp when the resource was last modified.
- upstreams
Sequence[Security
Gateway Application Upstream Args] - Optional. List of which upstream resource(s) to forward traffic to. Structure is documented below.
- application
Id String - User-settable Application resource ID.
- Must start with a letter.
- Must contain between 4-63 characters from
/a-z-/. - Must end with a number or letter.
- create
Time String - Output only. Timestamp when the resource was created.
- display
Name String - Optional. An arbitrary user-provided name for the Application resource. Cannot exceed 64 characters.
- endpoint
Matchers List<Property Map> - Required. Endpoint matchers associated with an application. A combination of hostname and ports as endpoint matcher is used to match the application. Match conditions for OR logic. An array of match conditions to allow for multiple matching criteria. The rule is considered a match if one the conditions are met. The conditions can be one of the following combination (Hostname), (Hostname & Ports) EXAMPLES: Hostname - ("*.abc.com"), ("xyz.abc.com") Hostname and Ports - ("abc.com" and "22"), ("abc.com" and "22,33") etc Structure is documented below.
- name String
- Identifier. Name of the resource.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- schema String
- Type of the external application.
Possible values are:
PROXY_GATEWAY,API_GATEWAY. - security
Gateway StringId - ID of the Security Gateway resource this belongs to.
- update
Time String - Output only. Timestamp when the resource was last modified.
- upstreams List<Property Map>
- Optional. List of which upstream resource(s) to forward traffic to. Structure is documented below.
Supporting Types
SecurityGatewayApplicationEndpointMatcher, SecurityGatewayApplicationEndpointMatcherArgs
SecurityGatewayApplicationUpstream, SecurityGatewayApplicationUpstreamArgs
- Egress
Policy SecurityGateway Application Upstream Egress Policy - Optional. Routing policy information. Structure is documented below.
- External
Security
Gateway Application Upstream External - List of the external endpoints to forward traffic to. Structure is documented below.
- Network
Security
Gateway Application Upstream Network - Network to forward traffic to. Structure is documented below.
- Proxy
Protocol SecurityGateway Application Upstream Proxy Protocol - Shared proxy configuration for all apps. Structure is documented below.
- Egress
Policy SecurityGateway Application Upstream Egress Policy - Optional. Routing policy information. Structure is documented below.
- External
Security
Gateway Application Upstream External - List of the external endpoints to forward traffic to. Structure is documented below.
- Network
Security
Gateway Application Upstream Network - Network to forward traffic to. Structure is documented below.
- Proxy
Protocol SecurityGateway Application Upstream Proxy Protocol - Shared proxy configuration for all apps. Structure is documented below.
- egress
Policy SecurityGateway Application Upstream Egress Policy - Optional. Routing policy information. Structure is documented below.
- external
Security
Gateway Application Upstream External - List of the external endpoints to forward traffic to. Structure is documented below.
- network
Security
Gateway Application Upstream Network - Network to forward traffic to. Structure is documented below.
- proxy
Protocol SecurityGateway Application Upstream Proxy Protocol - Shared proxy configuration for all apps. Structure is documented below.
- egress
Policy SecurityGateway Application Upstream Egress Policy - Optional. Routing policy information. Structure is documented below.
- external
Security
Gateway Application Upstream External - List of the external endpoints to forward traffic to. Structure is documented below.
- network
Security
Gateway Application Upstream Network - Network to forward traffic to. Structure is documented below.
- proxy
Protocol SecurityGateway Application Upstream Proxy Protocol - Shared proxy configuration for all apps. Structure is documented below.
- egress_
policy SecurityGateway Application Upstream Egress Policy - Optional. Routing policy information. Structure is documented below.
- external
Security
Gateway Application Upstream External - List of the external endpoints to forward traffic to. Structure is documented below.
- network
Security
Gateway Application Upstream Network - Network to forward traffic to. Structure is documented below.
- proxy_
protocol SecurityGateway Application Upstream Proxy Protocol - Shared proxy configuration for all apps. Structure is documented below.
- egress
Policy Property Map - Optional. Routing policy information. Structure is documented below.
- external Property Map
- List of the external endpoints to forward traffic to. Structure is documented below.
- network Property Map
- Network to forward traffic to. Structure is documented below.
- proxy
Protocol Property Map - Shared proxy configuration for all apps. Structure is documented below.
SecurityGatewayApplicationUpstreamEgressPolicy, SecurityGatewayApplicationUpstreamEgressPolicyArgs
- Regions List<string>
- Required. List of regions where the application sends traffic to.
- Regions []string
- Required. List of regions where the application sends traffic to.
- regions List<String>
- Required. List of regions where the application sends traffic to.
- regions string[]
- Required. List of regions where the application sends traffic to.
- regions Sequence[str]
- Required. List of regions where the application sends traffic to.
- regions List<String>
- Required. List of regions where the application sends traffic to.
SecurityGatewayApplicationUpstreamExternal, SecurityGatewayApplicationUpstreamExternalArgs
- Endpoints
List<Security
Gateway Application Upstream External Endpoint> - List of the endpoints to forward traffic to. Structure is documented below.
- Endpoints
[]Security
Gateway Application Upstream External Endpoint - List of the endpoints to forward traffic to. Structure is documented below.
- endpoints
List<Security
Gateway Application Upstream External Endpoint> - List of the endpoints to forward traffic to. Structure is documented below.
- endpoints
Security
Gateway Application Upstream External Endpoint[] - List of the endpoints to forward traffic to. Structure is documented below.
- endpoints
Sequence[Security
Gateway Application Upstream External Endpoint] - List of the endpoints to forward traffic to. Structure is documented below.
- endpoints List<Property Map>
- List of the endpoints to forward traffic to. Structure is documented below.
SecurityGatewayApplicationUpstreamExternalEndpoint, SecurityGatewayApplicationUpstreamExternalEndpointArgs
SecurityGatewayApplicationUpstreamNetwork, SecurityGatewayApplicationUpstreamNetworkArgs
- Name string
- Required. Network name is of the format:
projects/{project}/global/networks/{network}
- Name string
- Required. Network name is of the format:
projects/{project}/global/networks/{network}
- name String
- Required. Network name is of the format:
projects/{project}/global/networks/{network}
- name string
- Required. Network name is of the format:
projects/{project}/global/networks/{network}
- name str
- Required. Network name is of the format:
projects/{project}/global/networks/{network}
- name String
- Required. Network name is of the format:
projects/{project}/global/networks/{network}
SecurityGatewayApplicationUpstreamProxyProtocol, SecurityGatewayApplicationUpstreamProxyProtocolArgs
- Allowed
Client List<string>Headers - The configuration for the proxy.
- Client
Ip bool - Client IP configuration. The client IP address is included if true.
- Contextual
Headers SecurityGateway Application Upstream Proxy Protocol Contextual Headers - Configuration for the contextual headers. Structure is documented below.
- Gateway
Identity string - Gateway identity configuration.
Possible values are:
RESOURCE_NAME. - Metadata
Headers Dictionary<string, string> Custom resource specific headers along with the values. The names should conform to RFC 9110:
Field names SHOULD constrain themselves to alphanumeric characters, "-", and ".", and SHOULD begin with a letter. Field values SHOULD contain only ASCII printable characters and tab.
- Allowed
Client []stringHeaders - The configuration for the proxy.
- Client
Ip bool - Client IP configuration. The client IP address is included if true.
- Contextual
Headers SecurityGateway Application Upstream Proxy Protocol Contextual Headers - Configuration for the contextual headers. Structure is documented below.
- Gateway
Identity string - Gateway identity configuration.
Possible values are:
RESOURCE_NAME. - Metadata
Headers map[string]string Custom resource specific headers along with the values. The names should conform to RFC 9110:
Field names SHOULD constrain themselves to alphanumeric characters, "-", and ".", and SHOULD begin with a letter. Field values SHOULD contain only ASCII printable characters and tab.
- allowed
Client List<String>Headers - The configuration for the proxy.
- client
Ip Boolean - Client IP configuration. The client IP address is included if true.
- contextual
Headers SecurityGateway Application Upstream Proxy Protocol Contextual Headers - Configuration for the contextual headers. Structure is documented below.
- gateway
Identity String - Gateway identity configuration.
Possible values are:
RESOURCE_NAME. - metadata
Headers Map<String,String> Custom resource specific headers along with the values. The names should conform to RFC 9110:
Field names SHOULD constrain themselves to alphanumeric characters, "-", and ".", and SHOULD begin with a letter. Field values SHOULD contain only ASCII printable characters and tab.
- allowed
Client string[]Headers - The configuration for the proxy.
- client
Ip boolean - Client IP configuration. The client IP address is included if true.
- contextual
Headers SecurityGateway Application Upstream Proxy Protocol Contextual Headers - Configuration for the contextual headers. Structure is documented below.
- gateway
Identity string - Gateway identity configuration.
Possible values are:
RESOURCE_NAME. - metadata
Headers {[key: string]: string} Custom resource specific headers along with the values. The names should conform to RFC 9110:
Field names SHOULD constrain themselves to alphanumeric characters, "-", and ".", and SHOULD begin with a letter. Field values SHOULD contain only ASCII printable characters and tab.
- allowed_
client_ Sequence[str]headers - The configuration for the proxy.
- client_
ip bool - Client IP configuration. The client IP address is included if true.
- contextual_
headers SecurityGateway Application Upstream Proxy Protocol Contextual Headers - Configuration for the contextual headers. Structure is documented below.
- gateway_
identity str - Gateway identity configuration.
Possible values are:
RESOURCE_NAME. - metadata_
headers Mapping[str, str] Custom resource specific headers along with the values. The names should conform to RFC 9110:
Field names SHOULD constrain themselves to alphanumeric characters, "-", and ".", and SHOULD begin with a letter. Field values SHOULD contain only ASCII printable characters and tab.
- allowed
Client List<String>Headers - The configuration for the proxy.
- client
Ip Boolean - Client IP configuration. The client IP address is included if true.
- contextual
Headers Property Map - Configuration for the contextual headers. Structure is documented below.
- gateway
Identity String - Gateway identity configuration.
Possible values are:
RESOURCE_NAME. - metadata
Headers Map<String> Custom resource specific headers along with the values. The names should conform to RFC 9110:
Field names SHOULD constrain themselves to alphanumeric characters, "-", and ".", and SHOULD begin with a letter. Field values SHOULD contain only ASCII printable characters and tab.
SecurityGatewayApplicationUpstreamProxyProtocolContextualHeaders, SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersArgs
- Device
Info SecurityGateway Application Upstream Proxy Protocol Contextual Headers Device Info - Device info configuration. Structure is documented below.
- Group
Info SecurityGateway Application Upstream Proxy Protocol Contextual Headers Group Info - Group info configuration. Structure is documented below.
- Output
Type string - Default output type for all enabled headers.
Possible values are:
PROTOBUF,JSON,NONE. - User
Info SecurityGateway Application Upstream Proxy Protocol Contextual Headers User Info - User info configuration. Structure is documented below.
- Device
Info SecurityGateway Application Upstream Proxy Protocol Contextual Headers Device Info - Device info configuration. Structure is documented below.
- Group
Info SecurityGateway Application Upstream Proxy Protocol Contextual Headers Group Info - Group info configuration. Structure is documented below.
- Output
Type string - Default output type for all enabled headers.
Possible values are:
PROTOBUF,JSON,NONE. - User
Info SecurityGateway Application Upstream Proxy Protocol Contextual Headers User Info - User info configuration. Structure is documented below.
- device
Info SecurityGateway Application Upstream Proxy Protocol Contextual Headers Device Info - Device info configuration. Structure is documented below.
- group
Info SecurityGateway Application Upstream Proxy Protocol Contextual Headers Group Info - Group info configuration. Structure is documented below.
- output
Type String - Default output type for all enabled headers.
Possible values are:
PROTOBUF,JSON,NONE. - user
Info SecurityGateway Application Upstream Proxy Protocol Contextual Headers User Info - User info configuration. Structure is documented below.
- device
Info SecurityGateway Application Upstream Proxy Protocol Contextual Headers Device Info - Device info configuration. Structure is documented below.
- group
Info SecurityGateway Application Upstream Proxy Protocol Contextual Headers Group Info - Group info configuration. Structure is documented below.
- output
Type string - Default output type for all enabled headers.
Possible values are:
PROTOBUF,JSON,NONE. - user
Info SecurityGateway Application Upstream Proxy Protocol Contextual Headers User Info - User info configuration. Structure is documented below.
- device_
info SecurityGateway Application Upstream Proxy Protocol Contextual Headers Device Info - Device info configuration. Structure is documented below.
- group_
info SecurityGateway Application Upstream Proxy Protocol Contextual Headers Group Info - Group info configuration. Structure is documented below.
- output_
type str - Default output type for all enabled headers.
Possible values are:
PROTOBUF,JSON,NONE. - user_
info SecurityGateway Application Upstream Proxy Protocol Contextual Headers User Info - User info configuration. Structure is documented below.
- device
Info Property Map - Device info configuration. Structure is documented below.
- group
Info Property Map - Group info configuration. Structure is documented below.
- output
Type String - Default output type for all enabled headers.
Possible values are:
PROTOBUF,JSON,NONE. - user
Info Property Map - User info configuration. Structure is documented below.
SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersDeviceInfo, SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersDeviceInfoArgs
- Output
Type string - The output type of the delegated device info.
Possible values are:
PROTOBUF,JSON,NONE.
- Output
Type string - The output type of the delegated device info.
Possible values are:
PROTOBUF,JSON,NONE.
- output
Type String - The output type of the delegated device info.
Possible values are:
PROTOBUF,JSON,NONE.
- output
Type string - The output type of the delegated device info.
Possible values are:
PROTOBUF,JSON,NONE.
- output_
type str - The output type of the delegated device info.
Possible values are:
PROTOBUF,JSON,NONE.
- output
Type String - The output type of the delegated device info.
Possible values are:
PROTOBUF,JSON,NONE.
SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersGroupInfo, SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersGroupInfoArgs
- Output
Type string - The output type of the delegated group info.
Possible values are:
PROTOBUF,JSON,NONE.
- Output
Type string - The output type of the delegated group info.
Possible values are:
PROTOBUF,JSON,NONE.
- output
Type String - The output type of the delegated group info.
Possible values are:
PROTOBUF,JSON,NONE.
- output
Type string - The output type of the delegated group info.
Possible values are:
PROTOBUF,JSON,NONE.
- output_
type str - The output type of the delegated group info.
Possible values are:
PROTOBUF,JSON,NONE.
- output
Type String - The output type of the delegated group info.
Possible values are:
PROTOBUF,JSON,NONE.
SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersUserInfo, SecurityGatewayApplicationUpstreamProxyProtocolContextualHeadersUserInfoArgs
- Output
Type string - The output type of the delegated user info.
Possible values are:
PROTOBUF,JSON,NONE.
- Output
Type string - The output type of the delegated user info.
Possible values are:
PROTOBUF,JSON,NONE.
- output
Type String - The output type of the delegated user info.
Possible values are:
PROTOBUF,JSON,NONE.
- output
Type string - The output type of the delegated user info.
Possible values are:
PROTOBUF,JSON,NONE.
- output_
type str - The output type of the delegated user info.
Possible values are:
PROTOBUF,JSON,NONE.
- output
Type String - The output type of the delegated user info.
Possible values are:
PROTOBUF,JSON,NONE.
Import
SecurityGatewayApplication can be imported using any of these accepted formats:
projects/{{project}}/locations/global/securityGateways/{{security_gateway_id}}/applications/{{application_id}}{{project}}/{{security_gateway_id}}/{{application_id}}{{security_gateway_id}}/{{application_id}}
When using the pulumi import command, SecurityGatewayApplication can be imported using one of the formats above. For example:
$ pulumi import gcp:beyondcorp/securityGatewayApplication:SecurityGatewayApplication default projects/{{project}}/locations/global/securityGateways/{{security_gateway_id}}/applications/{{application_id}}
$ pulumi import gcp:beyondcorp/securityGatewayApplication:SecurityGatewayApplication default {{project}}/{{security_gateway_id}}/{{application_id}}
$ pulumi import gcp:beyondcorp/securityGatewayApplication:SecurityGatewayApplication default {{security_gateway_id}}/{{application_id}}
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-betaTerraform Provider.
