published on Tuesday, Sep 15, 2026 by Twingate
published on Tuesday, Sep 15, 2026 by Twingate
Web App Resources are Twingate resources accessed via a Gateway.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as std from "@pulumi/std";
import * as twingate from "@twingate/pulumi-twingate";
const prod = new twingate.TwingateRemoteNetwork("prod", {name: "Production Network"});
const tls = new twingate.TwingateX509CertificateAuthority("tls", {
name: "My TLS CA",
certificate: std.file({
input: "ca.pem",
}).then(invoke => invoke.result),
});
const main = new twingate.TwingateGateway("main", {
remoteNetworkId: prod.id,
address: "10.0.0.1:8443",
x509CaId: tls.id,
});
const internalApp = new twingate.TwingateWebAppResource("internal_app", {
name: "Internal App",
gatewayId: main.id,
remoteNetworkId: prod.id,
address: "internal.acme.com",
alias: "app.int",
downstream: {
port: 80,
},
upstream: {
port: 8080,
},
requestHeaderRewrites: {
"X-Twingate-User": "{{username}}",
},
});
import pulumi
import pulumi_std as std
import pulumi_twingate as twingate
prod = twingate.TwingateRemoteNetwork("prod", name="Production Network")
tls = twingate.TwingateX509CertificateAuthority("tls",
name="My TLS CA",
certificate=std.file(input="ca.pem").result)
main = twingate.TwingateGateway("main",
remote_network_id=prod.id,
address="10.0.0.1:8443",
x509_ca_id=tls.id)
internal_app = twingate.TwingateWebAppResource("internal_app",
name="Internal App",
gateway_id=main.id,
remote_network_id=prod.id,
address="internal.acme.com",
alias="app.int",
downstream={
"port": 80,
},
upstream={
"port": 8080,
},
request_header_rewrites={
"X-Twingate-User": "{{username}}",
})
package main
import (
"github.com/Twingate/pulumi-twingate/sdk/v5/go/twingate"
"github.com/pulumi/pulumi-std/sdk/v2/go/std"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
prod, err := twingate.NewTwingateRemoteNetwork(ctx, "prod", &twingate.TwingateRemoteNetworkArgs{
Name: pulumi.String("Production Network"),
})
if err != nil {
return err
}
invokeFile, err := std.File(ctx, &std.FileArgs{
Input: "ca.pem",
}, nil)
if err != nil {
return err
}
tls, err := twingate.NewTwingateX509CertificateAuthority(ctx, "tls", &twingate.TwingateX509CertificateAuthorityArgs{
Name: pulumi.String("My TLS CA"),
Certificate: pulumi.String(invokeFile.Result),
})
if err != nil {
return err
}
main, err := twingate.NewTwingateGateway(ctx, "main", &twingate.TwingateGatewayArgs{
RemoteNetworkId: prod.ID().ToIDOutput().ToStringOutput(),
Address: pulumi.String("10.0.0.1:8443"),
X509CaId: tls.ID().ToIDOutput().ToStringOutput(),
})
if err != nil {
return err
}
_, err = twingate.NewTwingateWebAppResource(ctx, "internal_app", &twingate.TwingateWebAppResourceArgs{
Name: pulumi.String("Internal App"),
GatewayId: main.ID().ToIDOutput().ToStringOutput(),
RemoteNetworkId: prod.ID().ToIDOutput().ToStringOutput(),
Address: pulumi.String("internal.acme.com"),
Alias: pulumi.String("app.int"),
Downstream: &twingate.TwingateWebAppResourceDownstreamArgs{
Port: pulumi.Int(80),
},
Upstream: &twingate.TwingateWebAppResourceUpstreamArgs{
Port: pulumi.Int(8080),
},
RequestHeaderRewrites: pulumi.StringMap{
"X-Twingate-User": pulumi.String("{{username}}"),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Std = Pulumi.Std;
using Twingate = Twingate.Twingate;
return await Deployment.RunAsync(() =>
{
var prod = new Twingate.TwingateRemoteNetwork("prod", new()
{
Name = "Production Network",
});
var tls = new Twingate.TwingateX509CertificateAuthority("tls", new()
{
Name = "My TLS CA",
Certificate = Std.File.Invoke(new()
{
Input = "ca.pem",
}).Apply(invoke => invoke.Result),
});
var main = new Twingate.TwingateGateway("main", new()
{
RemoteNetworkId = prod.Id,
Address = "10.0.0.1:8443",
X509CaId = tls.Id,
});
var internalApp = new Twingate.TwingateWebAppResource("internal_app", new()
{
Name = "Internal App",
GatewayId = main.Id,
RemoteNetworkId = prod.Id,
Address = "internal.acme.com",
Alias = "app.int",
Downstream = new Twingate.Inputs.TwingateWebAppResourceDownstreamArgs
{
Port = 80,
},
Upstream = new Twingate.Inputs.TwingateWebAppResourceUpstreamArgs
{
Port = 8080,
},
RequestHeaderRewrites =
{
{ "X-Twingate-User", "{{username}}" },
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.twingate.TwingateRemoteNetwork;
import com.pulumi.twingate.TwingateRemoteNetworkArgs;
import com.pulumi.twingate.TwingateX509CertificateAuthority;
import com.pulumi.twingate.TwingateX509CertificateAuthorityArgs;
import com.pulumi.std.StdFunctions;
import com.pulumi.std.inputs.FileArgs;
import com.pulumi.twingate.TwingateGateway;
import com.pulumi.twingate.TwingateGatewayArgs;
import com.pulumi.twingate.TwingateWebAppResource;
import com.pulumi.twingate.TwingateWebAppResourceArgs;
import com.pulumi.twingate.inputs.TwingateWebAppResourceDownstreamArgs;
import com.pulumi.twingate.inputs.TwingateWebAppResourceUpstreamArgs;
import java.util.ArrayList;
import java.util.Arrays;
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 prod = new TwingateRemoteNetwork("prod", TwingateRemoteNetworkArgs.builder()
.name("Production Network")
.build());
var tls = new TwingateX509CertificateAuthority("tls", TwingateX509CertificateAuthorityArgs.builder()
.name("My TLS CA")
.certificate(StdFunctions.file(FileArgs.builder()
.input("ca.pem")
.build()).result())
.build());
var main = new TwingateGateway("main", TwingateGatewayArgs.builder()
.remoteNetworkId(prod.id())
.address("10.0.0.1:8443")
.x509CaId(tls.id())
.build());
var internalApp = new TwingateWebAppResource("internalApp", TwingateWebAppResourceArgs.builder()
.name("Internal App")
.gatewayId(main.id())
.remoteNetworkId(prod.id())
.address("internal.acme.com")
.alias("app.int")
.downstream(TwingateWebAppResourceDownstreamArgs.builder()
.port(80)
.build())
.upstream(TwingateWebAppResourceUpstreamArgs.builder()
.port(8080)
.build())
.requestHeaderRewrites(Map.of("X-Twingate-User", "{{username}}"))
.build());
}
}
resources:
prod:
type: twingate:TwingateRemoteNetwork
properties:
name: Production Network
tls:
type: twingate:TwingateX509CertificateAuthority
properties:
name: My TLS CA
certificate:
fn::invoke:
function: std:file
arguments:
input: ca.pem
return: result
main:
type: twingate:TwingateGateway
properties:
remoteNetworkId: ${prod.id}
address: 10.0.0.1:8443
x509CaId: ${tls.id}
internalApp:
type: twingate:TwingateWebAppResource
name: internal_app
properties:
name: Internal App
gatewayId: ${main.id}
remoteNetworkId: ${prod.id}
address: internal.acme.com
alias: app.int
downstream:
port: 80
upstream:
port: 8080
requestHeaderRewrites:
X-Twingate-User: '{{username}}'
pulumi {
required_providers {
std = {
source = "pulumi/std"
}
twingate = {
source = "pulumi/twingate"
}
}
}
resource "twingate_twingateremotenetwork" "prod" {
name = "Production Network"
}
resource "twingate_twingatex509certificateauthority" "tls" {
name = "My TLS CA"
certificate = file("ca.pem")
}
resource "twingate_twingategateway" "main" {
remote_network_id = twingate_twingateremotenetwork.prod.id
address = "10.0.0.1:8443"
x509_ca_id = twingate_twingatex509certificateauthority.tls.id
}
resource "twingate_twingatewebappresource" "internal_app" {
name = "Internal App"
gateway_id = twingate_twingategateway.main.id
remote_network_id = twingate_twingateremotenetwork.prod.id
address = "internal.acme.com"
alias = "app.int"
downstream = {
port = 80
}
upstream = {
port = 8080
}
request_header_rewrites = {
"X-Twingate-User" = "{{username}}"
}
}
Create TwingateWebAppResource Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new TwingateWebAppResource(name: string, args: TwingateWebAppResourceArgs, opts?: CustomResourceOptions);@overload
def TwingateWebAppResource(resource_name: str,
args: TwingateWebAppResourceArgs,
opts: Optional[ResourceOptions] = None)
@overload
def TwingateWebAppResource(resource_name: str,
opts: Optional[ResourceOptions] = None,
gateway_id: Optional[str] = None,
upstream: Optional[TwingateWebAppResourceUpstreamArgs] = None,
address: Optional[str] = None,
remote_network_id: Optional[str] = None,
downstream: Optional[TwingateWebAppResourceDownstreamArgs] = None,
is_visible: Optional[bool] = None,
access_groups: Optional[Sequence[TwingateWebAppResourceAccessGroupArgs]] = None,
name: Optional[str] = None,
alias: Optional[str] = None,
request_header_rewrites: Optional[Mapping[str, str]] = None,
security_policy_id: Optional[str] = None,
tags: Optional[Mapping[str, str]] = None,
access_policies: Optional[Sequence[TwingateWebAppResourceAccessPolicyArgs]] = None)func NewTwingateWebAppResource(ctx *Context, name string, args TwingateWebAppResourceArgs, opts ...ResourceOption) (*TwingateWebAppResource, error)public TwingateWebAppResource(string name, TwingateWebAppResourceArgs args, CustomResourceOptions? opts = null)
public TwingateWebAppResource(String name, TwingateWebAppResourceArgs args)
public TwingateWebAppResource(String name, TwingateWebAppResourceArgs args, CustomResourceOptions options)
type: twingate:TwingateWebAppResource
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
resource "twingate_twingate_web_app_resource" "name" {
# resource properties
}Parameters
- name string
- The unique name of the resource.
- args TwingateWebAppResourceArgs
- 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 TwingateWebAppResourceArgs
- 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 TwingateWebAppResourceArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args TwingateWebAppResourceArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args TwingateWebAppResourceArgs
- 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 twingateWebAppResourceResource = new Twingate.TwingateWebAppResource("twingateWebAppResourceResource", new()
{
GatewayId = "string",
Upstream = new Twingate.Inputs.TwingateWebAppResourceUpstreamArgs
{
Port = 0,
},
Address = "string",
RemoteNetworkId = "string",
Downstream = new Twingate.Inputs.TwingateWebAppResourceDownstreamArgs
{
Port = 0,
},
IsVisible = false,
AccessGroups = new[]
{
new Twingate.Inputs.TwingateWebAppResourceAccessGroupArgs
{
AccessPolicies = new[]
{
new Twingate.Inputs.TwingateWebAppResourceAccessGroupAccessPolicyArgs
{
ApprovalMode = "string",
Duration = "string",
Mode = "string",
},
},
GroupId = "string",
SecurityPolicyId = "string",
},
},
Name = "string",
Alias = "string",
RequestHeaderRewrites =
{
{ "string", "string" },
},
SecurityPolicyId = "string",
Tags =
{
{ "string", "string" },
},
AccessPolicies = new[]
{
new Twingate.Inputs.TwingateWebAppResourceAccessPolicyArgs
{
ApprovalMode = "string",
Duration = "string",
Mode = "string",
},
},
});
example, err := twingate.NewTwingateWebAppResource(ctx, "twingateWebAppResourceResource", &twingate.TwingateWebAppResourceArgs{
GatewayId: pulumi.String("string"),
Upstream: &twingate.TwingateWebAppResourceUpstreamArgs{
Port: pulumi.Int(0),
},
Address: pulumi.String("string"),
RemoteNetworkId: pulumi.String("string"),
Downstream: &twingate.TwingateWebAppResourceDownstreamArgs{
Port: pulumi.Int(0),
},
IsVisible: pulumi.Bool(false),
AccessGroups: twingate.TwingateWebAppResourceAccessGroupArray{
&twingate.TwingateWebAppResourceAccessGroupArgs{
AccessPolicies: twingate.TwingateWebAppResourceAccessGroupAccessPolicyArray{
&twingate.TwingateWebAppResourceAccessGroupAccessPolicyArgs{
ApprovalMode: pulumi.String("string"),
Duration: pulumi.String("string"),
Mode: pulumi.String("string"),
},
},
GroupId: pulumi.String("string"),
SecurityPolicyId: pulumi.String("string"),
},
},
Name: pulumi.String("string"),
Alias: pulumi.String("string"),
RequestHeaderRewrites: pulumi.StringMap{
"string": pulumi.String("string"),
},
SecurityPolicyId: pulumi.String("string"),
Tags: pulumi.StringMap{
"string": pulumi.String("string"),
},
AccessPolicies: twingate.TwingateWebAppResourceAccessPolicyArray{
&twingate.TwingateWebAppResourceAccessPolicyArgs{
ApprovalMode: pulumi.String("string"),
Duration: pulumi.String("string"),
Mode: pulumi.String("string"),
},
},
})
resource "twingate_twingate_web_app_resource" "twingateWebAppResourceResource" {
lifecycle {
create_before_destroy = true
}
gateway_id = "string"
upstream = {
port = 0
}
address = "string"
remote_network_id = "string"
downstream = {
port = 0
}
is_visible = false
access_groups {
access_policies {
approval_mode = "string"
duration = "string"
mode = "string"
}
group_id = "string"
security_policy_id = "string"
}
name = "string"
alias = "string"
request_header_rewrites = {
"string" = "string"
}
security_policy_id = "string"
tags = {
"string" = "string"
}
access_policies {
approval_mode = "string"
duration = "string"
mode = "string"
}
}
var twingateWebAppResourceResource = new TwingateWebAppResource("twingateWebAppResourceResource", TwingateWebAppResourceArgs.builder()
.gatewayId("string")
.upstream(TwingateWebAppResourceUpstreamArgs.builder()
.port(0)
.build())
.address("string")
.remoteNetworkId("string")
.downstream(TwingateWebAppResourceDownstreamArgs.builder()
.port(0)
.build())
.isVisible(false)
.accessGroups(TwingateWebAppResourceAccessGroupArgs.builder()
.accessPolicies(TwingateWebAppResourceAccessGroupAccessPolicyArgs.builder()
.approvalMode("string")
.duration("string")
.mode("string")
.build())
.groupId("string")
.securityPolicyId("string")
.build())
.name("string")
.alias("string")
.requestHeaderRewrites(Map.of("string", "string"))
.securityPolicyId("string")
.tags(Map.of("string", "string"))
.accessPolicies(TwingateWebAppResourceAccessPolicyArgs.builder()
.approvalMode("string")
.duration("string")
.mode("string")
.build())
.build());
twingate_web_app_resource_resource = twingate.TwingateWebAppResource("twingateWebAppResourceResource",
gateway_id="string",
upstream={
"port": 0,
},
address="string",
remote_network_id="string",
downstream={
"port": 0,
},
is_visible=False,
access_groups=[{
"access_policies": [{
"approval_mode": "string",
"duration": "string",
"mode": "string",
}],
"group_id": "string",
"security_policy_id": "string",
}],
name="string",
alias="string",
request_header_rewrites={
"string": "string",
},
security_policy_id="string",
tags={
"string": "string",
},
access_policies=[{
"approval_mode": "string",
"duration": "string",
"mode": "string",
}])
const twingateWebAppResourceResource = new twingate.TwingateWebAppResource("twingateWebAppResourceResource", {
gatewayId: "string",
upstream: {
port: 0,
},
address: "string",
remoteNetworkId: "string",
downstream: {
port: 0,
},
isVisible: false,
accessGroups: [{
accessPolicies: [{
approvalMode: "string",
duration: "string",
mode: "string",
}],
groupId: "string",
securityPolicyId: "string",
}],
name: "string",
alias: "string",
requestHeaderRewrites: {
string: "string",
},
securityPolicyId: "string",
tags: {
string: "string",
},
accessPolicies: [{
approvalMode: "string",
duration: "string",
mode: "string",
}],
});
type: twingate:TwingateWebAppResource
properties:
accessGroups:
- accessPolicies:
- approvalMode: string
duration: string
mode: string
groupId: string
securityPolicyId: string
accessPolicies:
- approvalMode: string
duration: string
mode: string
address: string
alias: string
downstream:
port: 0
gatewayId: string
isVisible: false
name: string
remoteNetworkId: string
requestHeaderRewrites:
string: string
securityPolicyId: string
tags:
string: string
upstream:
port: 0
TwingateWebAppResource 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 TwingateWebAppResource resource accepts the following input properties:
- Address string
- The address of the Web App Resource (IP or FQDN).
- Downstream
Twingate.
Twingate. Inputs. Twingate Web App Resource Downstream - The downstream configuration. The connection between the protocol client and the Gateway.
- Gateway
Id string - The ID of the Gateway used to access this Web App Resource.
- Remote
Network stringId - The ID of the Remote Network the Web App Resource belongs to.
- Upstream
Twingate.
Twingate. Inputs. Twingate Web App Resource Upstream - The upstream configuration. The connection between the Gateway and the upstream resource.
- Access
Groups List<Twingate.Twingate. Inputs. Twingate Web App Resource Access Group> - Restrict access to certain group
- Access
Policies List<Twingate.Twingate. Inputs. Twingate Web App Resource Access Policy> - Restrict access according to JIT access policy
- Alias string
- Set a DNS alias address for the Resource. Must be a DNS-valid name string.
- Is
Visible bool - Controls whether this Resource will be visible in the main Resource list in the Twingate Client. Default is
true. - Name string
- The name of the Web App Resource.
- Request
Header Dictionary<string, string>Rewrites - A map of HTTP headers to rewrite on requests forwarded to the upstream resource. Header names are compared case-insensitively.
- Security
Policy stringId - The ID of a
twingate.getTwingateSecurityPolicyto set as this Resource's Security Policy. Default is 'Null' which points toDefault Policyon Admin console. - Dictionary<string, string>
- A map of key-value pair tags to set on this resource.
- Address string
- The address of the Web App Resource (IP or FQDN).
- Downstream
Twingate
Web App Resource Downstream Args - The downstream configuration. The connection between the protocol client and the Gateway.
- Gateway
Id string - The ID of the Gateway used to access this Web App Resource.
- Remote
Network stringId - The ID of the Remote Network the Web App Resource belongs to.
- Upstream
Twingate
Web App Resource Upstream Args - The upstream configuration. The connection between the Gateway and the upstream resource.
- Access
Groups []TwingateWeb App Resource Access Group Args - Restrict access to certain group
- Access
Policies []TwingateWeb App Resource Access Policy Args - Restrict access according to JIT access policy
- Alias string
- Set a DNS alias address for the Resource. Must be a DNS-valid name string.
- Is
Visible bool - Controls whether this Resource will be visible in the main Resource list in the Twingate Client. Default is
true. - Name string
- The name of the Web App Resource.
- Request
Header map[string]stringRewrites - A map of HTTP headers to rewrite on requests forwarded to the upstream resource. Header names are compared case-insensitively.
- Security
Policy stringId - The ID of a
twingate.getTwingateSecurityPolicyto set as this Resource's Security Policy. Default is 'Null' which points toDefault Policyon Admin console. - map[string]string
- A map of key-value pair tags to set on this resource.
- address string
- The address of the Web App Resource (IP or FQDN).
- downstream object
- The downstream configuration. The connection between the protocol client and the Gateway.
- gateway_
id string - The ID of the Gateway used to access this Web App Resource.
- remote_
network_ stringid - The ID of the Remote Network the Web App Resource belongs to.
- upstream object
- The upstream configuration. The connection between the Gateway and the upstream resource.
- access_
groups list(object) - Restrict access to certain group
- access_
policies list(object) - Restrict access according to JIT access policy
- alias string
- Set a DNS alias address for the Resource. Must be a DNS-valid name string.
- is_
visible bool - Controls whether this Resource will be visible in the main Resource list in the Twingate Client. Default is
true. - name string
- The name of the Web App Resource.
- request_
header_ map(string)rewrites - A map of HTTP headers to rewrite on requests forwarded to the upstream resource. Header names are compared case-insensitively.
- security_
policy_ stringid - The ID of a
twingate.getTwingateSecurityPolicyto set as this Resource's Security Policy. Default is 'Null' which points toDefault Policyon Admin console. - map(string)
- A map of key-value pair tags to set on this resource.
- address String
- The address of the Web App Resource (IP or FQDN).
- downstream
Twingate
Web App Resource Downstream - The downstream configuration. The connection between the protocol client and the Gateway.
- gateway
Id String - The ID of the Gateway used to access this Web App Resource.
- remote
Network StringId - The ID of the Remote Network the Web App Resource belongs to.
- upstream
Twingate
Web App Resource Upstream - The upstream configuration. The connection between the Gateway and the upstream resource.
- access
Groups List<TwingateWeb App Resource Access Group> - Restrict access to certain group
- access
Policies List<TwingateWeb App Resource Access Policy> - Restrict access according to JIT access policy
- alias String
- Set a DNS alias address for the Resource. Must be a DNS-valid name string.
- is
Visible Boolean - Controls whether this Resource will be visible in the main Resource list in the Twingate Client. Default is
true. - name String
- The name of the Web App Resource.
- request
Header Map<String,String>Rewrites - A map of HTTP headers to rewrite on requests forwarded to the upstream resource. Header names are compared case-insensitively.
- security
Policy StringId - The ID of a
twingate.getTwingateSecurityPolicyto set as this Resource's Security Policy. Default is 'Null' which points toDefault Policyon Admin console. - Map<String,String>
- A map of key-value pair tags to set on this resource.
- address string
- The address of the Web App Resource (IP or FQDN).
- downstream
Twingate
Web App Resource Downstream - The downstream configuration. The connection between the protocol client and the Gateway.
- gateway
Id string - The ID of the Gateway used to access this Web App Resource.
- remote
Network stringId - The ID of the Remote Network the Web App Resource belongs to.
- upstream
Twingate
Web App Resource Upstream - The upstream configuration. The connection between the Gateway and the upstream resource.
- access
Groups TwingateWeb App Resource Access Group[] - Restrict access to certain group
- access
Policies TwingateWeb App Resource Access Policy[] - Restrict access according to JIT access policy
- alias string
- Set a DNS alias address for the Resource. Must be a DNS-valid name string.
- is
Visible boolean - Controls whether this Resource will be visible in the main Resource list in the Twingate Client. Default is
true. - name string
- The name of the Web App Resource.
- request
Header {[key: string]: string}Rewrites - A map of HTTP headers to rewrite on requests forwarded to the upstream resource. Header names are compared case-insensitively.
- security
Policy stringId - The ID of a
twingate.getTwingateSecurityPolicyto set as this Resource's Security Policy. Default is 'Null' which points toDefault Policyon Admin console. - {[key: string]: string}
- A map of key-value pair tags to set on this resource.
- address str
- The address of the Web App Resource (IP or FQDN).
- downstream
Twingate
Web App Resource Downstream Args - The downstream configuration. The connection between the protocol client and the Gateway.
- gateway_
id str - The ID of the Gateway used to access this Web App Resource.
- remote_
network_ strid - The ID of the Remote Network the Web App Resource belongs to.
- upstream
Twingate
Web App Resource Upstream Args - The upstream configuration. The connection between the Gateway and the upstream resource.
- access_
groups Sequence[TwingateWeb App Resource Access Group Args] - Restrict access to certain group
- access_
policies Sequence[TwingateWeb App Resource Access Policy Args] - Restrict access according to JIT access policy
- alias str
- Set a DNS alias address for the Resource. Must be a DNS-valid name string.
- is_
visible bool - Controls whether this Resource will be visible in the main Resource list in the Twingate Client. Default is
true. - name str
- The name of the Web App Resource.
- request_
header_ Mapping[str, str]rewrites - A map of HTTP headers to rewrite on requests forwarded to the upstream resource. Header names are compared case-insensitively.
- security_
policy_ strid - The ID of a
twingate.getTwingateSecurityPolicyto set as this Resource's Security Policy. Default is 'Null' which points toDefault Policyon Admin console. - Mapping[str, str]
- A map of key-value pair tags to set on this resource.
- address String
- The address of the Web App Resource (IP or FQDN).
- downstream Property Map
- The downstream configuration. The connection between the protocol client and the Gateway.
- gateway
Id String - The ID of the Gateway used to access this Web App Resource.
- remote
Network StringId - The ID of the Remote Network the Web App Resource belongs to.
- upstream Property Map
- The upstream configuration. The connection between the Gateway and the upstream resource.
- access
Groups List<Property Map> - Restrict access to certain group
- access
Policies List<Property Map> - Restrict access according to JIT access policy
- alias String
- Set a DNS alias address for the Resource. Must be a DNS-valid name string.
- is
Visible Boolean - Controls whether this Resource will be visible in the main Resource list in the Twingate Client. Default is
true. - name String
- The name of the Web App Resource.
- request
Header Map<String>Rewrites - A map of HTTP headers to rewrite on requests forwarded to the upstream resource. Header names are compared case-insensitively.
- security
Policy StringId - The ID of a
twingate.getTwingateSecurityPolicyto set as this Resource's Security Policy. Default is 'Null' which points toDefault Policyon Admin console. - Map<String>
- A map of key-value pair tags to set on this resource.
Outputs
All input properties are implicitly available as output properties. Additionally, the TwingateWebAppResource resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing TwingateWebAppResource Resource
Get an existing TwingateWebAppResource 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?: TwingateWebAppResourceState, opts?: CustomResourceOptions): TwingateWebAppResource@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
access_groups: Optional[Sequence[TwingateWebAppResourceAccessGroupArgs]] = None,
access_policies: Optional[Sequence[TwingateWebAppResourceAccessPolicyArgs]] = None,
address: Optional[str] = None,
alias: Optional[str] = None,
downstream: Optional[TwingateWebAppResourceDownstreamArgs] = None,
gateway_id: Optional[str] = None,
is_visible: Optional[bool] = None,
name: Optional[str] = None,
remote_network_id: Optional[str] = None,
request_header_rewrites: Optional[Mapping[str, str]] = None,
security_policy_id: Optional[str] = None,
tags: Optional[Mapping[str, str]] = None,
upstream: Optional[TwingateWebAppResourceUpstreamArgs] = None) -> TwingateWebAppResourcefunc GetTwingateWebAppResource(ctx *Context, name string, id IDInput, state *TwingateWebAppResourceState, opts ...ResourceOption) (*TwingateWebAppResource, error)public static TwingateWebAppResource Get(string name, Input<string> id, TwingateWebAppResourceState? state, CustomResourceOptions? opts = null)public static TwingateWebAppResource get(String name, Output<String> id, TwingateWebAppResourceState state, CustomResourceOptions options)resources: _: type: twingate:TwingateWebAppResource get: id: ${id}import {
to = twingate_twingate_web_app_resource.example
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.
- Access
Groups List<Twingate.Twingate. Inputs. Twingate Web App Resource Access Group> - Restrict access to certain group
- Access
Policies List<Twingate.Twingate. Inputs. Twingate Web App Resource Access Policy> - Restrict access according to JIT access policy
- Address string
- The address of the Web App Resource (IP or FQDN).
- Alias string
- Set a DNS alias address for the Resource. Must be a DNS-valid name string.
- Downstream
Twingate.
Twingate. Inputs. Twingate Web App Resource Downstream - The downstream configuration. The connection between the protocol client and the Gateway.
- Gateway
Id string - The ID of the Gateway used to access this Web App Resource.
- Is
Visible bool - Controls whether this Resource will be visible in the main Resource list in the Twingate Client. Default is
true. - Name string
- The name of the Web App Resource.
- Remote
Network stringId - The ID of the Remote Network the Web App Resource belongs to.
- Request
Header Dictionary<string, string>Rewrites - A map of HTTP headers to rewrite on requests forwarded to the upstream resource. Header names are compared case-insensitively.
- Security
Policy stringId - The ID of a
twingate.getTwingateSecurityPolicyto set as this Resource's Security Policy. Default is 'Null' which points toDefault Policyon Admin console. - Dictionary<string, string>
- A map of key-value pair tags to set on this resource.
- Upstream
Twingate.
Twingate. Inputs. Twingate Web App Resource Upstream - The upstream configuration. The connection between the Gateway and the upstream resource.
- Access
Groups []TwingateWeb App Resource Access Group Args - Restrict access to certain group
- Access
Policies []TwingateWeb App Resource Access Policy Args - Restrict access according to JIT access policy
- Address string
- The address of the Web App Resource (IP or FQDN).
- Alias string
- Set a DNS alias address for the Resource. Must be a DNS-valid name string.
- Downstream
Twingate
Web App Resource Downstream Args - The downstream configuration. The connection between the protocol client and the Gateway.
- Gateway
Id string - The ID of the Gateway used to access this Web App Resource.
- Is
Visible bool - Controls whether this Resource will be visible in the main Resource list in the Twingate Client. Default is
true. - Name string
- The name of the Web App Resource.
- Remote
Network stringId - The ID of the Remote Network the Web App Resource belongs to.
- Request
Header map[string]stringRewrites - A map of HTTP headers to rewrite on requests forwarded to the upstream resource. Header names are compared case-insensitively.
- Security
Policy stringId - The ID of a
twingate.getTwingateSecurityPolicyto set as this Resource's Security Policy. Default is 'Null' which points toDefault Policyon Admin console. - map[string]string
- A map of key-value pair tags to set on this resource.
- Upstream
Twingate
Web App Resource Upstream Args - The upstream configuration. The connection between the Gateway and the upstream resource.
- access_
groups list(object) - Restrict access to certain group
- access_
policies list(object) - Restrict access according to JIT access policy
- address string
- The address of the Web App Resource (IP or FQDN).
- alias string
- Set a DNS alias address for the Resource. Must be a DNS-valid name string.
- downstream object
- The downstream configuration. The connection between the protocol client and the Gateway.
- gateway_
id string - The ID of the Gateway used to access this Web App Resource.
- is_
visible bool - Controls whether this Resource will be visible in the main Resource list in the Twingate Client. Default is
true. - name string
- The name of the Web App Resource.
- remote_
network_ stringid - The ID of the Remote Network the Web App Resource belongs to.
- request_
header_ map(string)rewrites - A map of HTTP headers to rewrite on requests forwarded to the upstream resource. Header names are compared case-insensitively.
- security_
policy_ stringid - The ID of a
twingate.getTwingateSecurityPolicyto set as this Resource's Security Policy. Default is 'Null' which points toDefault Policyon Admin console. - map(string)
- A map of key-value pair tags to set on this resource.
- upstream object
- The upstream configuration. The connection between the Gateway and the upstream resource.
- access
Groups List<TwingateWeb App Resource Access Group> - Restrict access to certain group
- access
Policies List<TwingateWeb App Resource Access Policy> - Restrict access according to JIT access policy
- address String
- The address of the Web App Resource (IP or FQDN).
- alias String
- Set a DNS alias address for the Resource. Must be a DNS-valid name string.
- downstream
Twingate
Web App Resource Downstream - The downstream configuration. The connection between the protocol client and the Gateway.
- gateway
Id String - The ID of the Gateway used to access this Web App Resource.
- is
Visible Boolean - Controls whether this Resource will be visible in the main Resource list in the Twingate Client. Default is
true. - name String
- The name of the Web App Resource.
- remote
Network StringId - The ID of the Remote Network the Web App Resource belongs to.
- request
Header Map<String,String>Rewrites - A map of HTTP headers to rewrite on requests forwarded to the upstream resource. Header names are compared case-insensitively.
- security
Policy StringId - The ID of a
twingate.getTwingateSecurityPolicyto set as this Resource's Security Policy. Default is 'Null' which points toDefault Policyon Admin console. - Map<String,String>
- A map of key-value pair tags to set on this resource.
- upstream
Twingate
Web App Resource Upstream - The upstream configuration. The connection between the Gateway and the upstream resource.
- access
Groups TwingateWeb App Resource Access Group[] - Restrict access to certain group
- access
Policies TwingateWeb App Resource Access Policy[] - Restrict access according to JIT access policy
- address string
- The address of the Web App Resource (IP or FQDN).
- alias string
- Set a DNS alias address for the Resource. Must be a DNS-valid name string.
- downstream
Twingate
Web App Resource Downstream - The downstream configuration. The connection between the protocol client and the Gateway.
- gateway
Id string - The ID of the Gateway used to access this Web App Resource.
- is
Visible boolean - Controls whether this Resource will be visible in the main Resource list in the Twingate Client. Default is
true. - name string
- The name of the Web App Resource.
- remote
Network stringId - The ID of the Remote Network the Web App Resource belongs to.
- request
Header {[key: string]: string}Rewrites - A map of HTTP headers to rewrite on requests forwarded to the upstream resource. Header names are compared case-insensitively.
- security
Policy stringId - The ID of a
twingate.getTwingateSecurityPolicyto set as this Resource's Security Policy. Default is 'Null' which points toDefault Policyon Admin console. - {[key: string]: string}
- A map of key-value pair tags to set on this resource.
- upstream
Twingate
Web App Resource Upstream - The upstream configuration. The connection between the Gateway and the upstream resource.
- access_
groups Sequence[TwingateWeb App Resource Access Group Args] - Restrict access to certain group
- access_
policies Sequence[TwingateWeb App Resource Access Policy Args] - Restrict access according to JIT access policy
- address str
- The address of the Web App Resource (IP or FQDN).
- alias str
- Set a DNS alias address for the Resource. Must be a DNS-valid name string.
- downstream
Twingate
Web App Resource Downstream Args - The downstream configuration. The connection between the protocol client and the Gateway.
- gateway_
id str - The ID of the Gateway used to access this Web App Resource.
- is_
visible bool - Controls whether this Resource will be visible in the main Resource list in the Twingate Client. Default is
true. - name str
- The name of the Web App Resource.
- remote_
network_ strid - The ID of the Remote Network the Web App Resource belongs to.
- request_
header_ Mapping[str, str]rewrites - A map of HTTP headers to rewrite on requests forwarded to the upstream resource. Header names are compared case-insensitively.
- security_
policy_ strid - The ID of a
twingate.getTwingateSecurityPolicyto set as this Resource's Security Policy. Default is 'Null' which points toDefault Policyon Admin console. - Mapping[str, str]
- A map of key-value pair tags to set on this resource.
- upstream
Twingate
Web App Resource Upstream Args - The upstream configuration. The connection between the Gateway and the upstream resource.
- access
Groups List<Property Map> - Restrict access to certain group
- access
Policies List<Property Map> - Restrict access according to JIT access policy
- address String
- The address of the Web App Resource (IP or FQDN).
- alias String
- Set a DNS alias address for the Resource. Must be a DNS-valid name string.
- downstream Property Map
- The downstream configuration. The connection between the protocol client and the Gateway.
- gateway
Id String - The ID of the Gateway used to access this Web App Resource.
- is
Visible Boolean - Controls whether this Resource will be visible in the main Resource list in the Twingate Client. Default is
true. - name String
- The name of the Web App Resource.
- remote
Network StringId - The ID of the Remote Network the Web App Resource belongs to.
- request
Header Map<String>Rewrites - A map of HTTP headers to rewrite on requests forwarded to the upstream resource. Header names are compared case-insensitively.
- security
Policy StringId - The ID of a
twingate.getTwingateSecurityPolicyto set as this Resource's Security Policy. Default is 'Null' which points toDefault Policyon Admin console. - Map<String>
- A map of key-value pair tags to set on this resource.
- upstream Property Map
- The upstream configuration. The connection between the Gateway and the upstream resource.
Supporting Types
TwingateWebAppResourceAccessGroup, TwingateWebAppResourceAccessGroupArgs
- Access
Policies List<Twingate.Twingate. Inputs. Twingate Web App Resource Access Group Access Policy> - Restrict access according to JIT access policy
- Group
Id string - Group ID that will have permission to access the Resource.
- Security
Policy stringId - The ID of a
twingate.getTwingateSecurityPolicyto use as the access policy for the group IDs in the access block. Default is 'Null' which points toDefault Policyon Admin console.
- Access
Policies []TwingateWeb App Resource Access Group Access Policy - Restrict access according to JIT access policy
- Group
Id string - Group ID that will have permission to access the Resource.
- Security
Policy stringId - The ID of a
twingate.getTwingateSecurityPolicyto use as the access policy for the group IDs in the access block. Default is 'Null' which points toDefault Policyon Admin console.
- access_
policies list(object) - Restrict access according to JIT access policy
- group_
id string - Group ID that will have permission to access the Resource.
- security_
policy_ stringid - The ID of a
twingate.getTwingateSecurityPolicyto use as the access policy for the group IDs in the access block. Default is 'Null' which points toDefault Policyon Admin console.
- access
Policies List<TwingateWeb App Resource Access Group Access Policy> - Restrict access according to JIT access policy
- group
Id String - Group ID that will have permission to access the Resource.
- security
Policy StringId - The ID of a
twingate.getTwingateSecurityPolicyto use as the access policy for the group IDs in the access block. Default is 'Null' which points toDefault Policyon Admin console.
- access
Policies TwingateWeb App Resource Access Group Access Policy[] - Restrict access according to JIT access policy
- group
Id string - Group ID that will have permission to access the Resource.
- security
Policy stringId - The ID of a
twingate.getTwingateSecurityPolicyto use as the access policy for the group IDs in the access block. Default is 'Null' which points toDefault Policyon Admin console.
- access_
policies Sequence[TwingateWeb App Resource Access Group Access Policy] - Restrict access according to JIT access policy
- group_
id str - Group ID that will have permission to access the Resource.
- security_
policy_ strid - The ID of a
twingate.getTwingateSecurityPolicyto use as the access policy for the group IDs in the access block. Default is 'Null' which points toDefault Policyon Admin console.
- access
Policies List<Property Map> - Restrict access according to JIT access policy
- group
Id String - Group ID that will have permission to access the Resource.
- security
Policy StringId - The ID of a
twingate.getTwingateSecurityPolicyto use as the access policy for the group IDs in the access block. Default is 'Null' which points toDefault Policyon Admin console.
TwingateWebAppResourceAccessGroupAccessPolicy, TwingateWebAppResourceAccessGroupAccessPolicyArgs
- Approval
Mode string - This will set the approval model for the policy. The valid values are
AUTOMATICandMANUAL. - Duration string
- This will set the access duration for the policy. Duration must be between 1 hour and 365 days. Examples of valid values include
1hand2d. - Mode string
- This will set the accessPolicy mode for the policy. The valid values are
MANUAL,AUTO_LOCKandACCESS_REQUEST.
- Approval
Mode string - This will set the approval model for the policy. The valid values are
AUTOMATICandMANUAL. - Duration string
- This will set the access duration for the policy. Duration must be between 1 hour and 365 days. Examples of valid values include
1hand2d. - Mode string
- This will set the accessPolicy mode for the policy. The valid values are
MANUAL,AUTO_LOCKandACCESS_REQUEST.
- approval_
mode string - This will set the approval model for the policy. The valid values are
AUTOMATICandMANUAL. - duration string
- This will set the access duration for the policy. Duration must be between 1 hour and 365 days. Examples of valid values include
1hand2d. - mode string
- This will set the accessPolicy mode for the policy. The valid values are
MANUAL,AUTO_LOCKandACCESS_REQUEST.
- approval
Mode String - This will set the approval model for the policy. The valid values are
AUTOMATICandMANUAL. - duration String
- This will set the access duration for the policy. Duration must be between 1 hour and 365 days. Examples of valid values include
1hand2d. - mode String
- This will set the accessPolicy mode for the policy. The valid values are
MANUAL,AUTO_LOCKandACCESS_REQUEST.
- approval
Mode string - This will set the approval model for the policy. The valid values are
AUTOMATICandMANUAL. - duration string
- This will set the access duration for the policy. Duration must be between 1 hour and 365 days. Examples of valid values include
1hand2d. - mode string
- This will set the accessPolicy mode for the policy. The valid values are
MANUAL,AUTO_LOCKandACCESS_REQUEST.
- approval_
mode str - This will set the approval model for the policy. The valid values are
AUTOMATICandMANUAL. - duration str
- This will set the access duration for the policy. Duration must be between 1 hour and 365 days. Examples of valid values include
1hand2d. - mode str
- This will set the accessPolicy mode for the policy. The valid values are
MANUAL,AUTO_LOCKandACCESS_REQUEST.
- approval
Mode String - This will set the approval model for the policy. The valid values are
AUTOMATICandMANUAL. - duration String
- This will set the access duration for the policy. Duration must be between 1 hour and 365 days. Examples of valid values include
1hand2d. - mode String
- This will set the accessPolicy mode for the policy. The valid values are
MANUAL,AUTO_LOCKandACCESS_REQUEST.
TwingateWebAppResourceAccessPolicy, TwingateWebAppResourceAccessPolicyArgs
- Approval
Mode string - This will set the approval model for the policy. The valid values are
AUTOMATICandMANUAL. - Duration string
- This will set the access duration for the policy. Duration must be between 1 hour and 365 days. Examples of valid values include
1hand2d. - Mode string
- This will set the accessPolicy mode for the policy. The valid values are
MANUAL,AUTO_LOCKandACCESS_REQUEST.
- Approval
Mode string - This will set the approval model for the policy. The valid values are
AUTOMATICandMANUAL. - Duration string
- This will set the access duration for the policy. Duration must be between 1 hour and 365 days. Examples of valid values include
1hand2d. - Mode string
- This will set the accessPolicy mode for the policy. The valid values are
MANUAL,AUTO_LOCKandACCESS_REQUEST.
- approval_
mode string - This will set the approval model for the policy. The valid values are
AUTOMATICandMANUAL. - duration string
- This will set the access duration for the policy. Duration must be between 1 hour and 365 days. Examples of valid values include
1hand2d. - mode string
- This will set the accessPolicy mode for the policy. The valid values are
MANUAL,AUTO_LOCKandACCESS_REQUEST.
- approval
Mode String - This will set the approval model for the policy. The valid values are
AUTOMATICandMANUAL. - duration String
- This will set the access duration for the policy. Duration must be between 1 hour and 365 days. Examples of valid values include
1hand2d. - mode String
- This will set the accessPolicy mode for the policy. The valid values are
MANUAL,AUTO_LOCKandACCESS_REQUEST.
- approval
Mode string - This will set the approval model for the policy. The valid values are
AUTOMATICandMANUAL. - duration string
- This will set the access duration for the policy. Duration must be between 1 hour and 365 days. Examples of valid values include
1hand2d. - mode string
- This will set the accessPolicy mode for the policy. The valid values are
MANUAL,AUTO_LOCKandACCESS_REQUEST.
- approval_
mode str - This will set the approval model for the policy. The valid values are
AUTOMATICandMANUAL. - duration str
- This will set the access duration for the policy. Duration must be between 1 hour and 365 days. Examples of valid values include
1hand2d. - mode str
- This will set the accessPolicy mode for the policy. The valid values are
MANUAL,AUTO_LOCKandACCESS_REQUEST.
- approval
Mode String - This will set the approval model for the policy. The valid values are
AUTOMATICandMANUAL. - duration String
- This will set the access duration for the policy. Duration must be between 1 hour and 365 days. Examples of valid values include
1hand2d. - mode String
- This will set the accessPolicy mode for the policy. The valid values are
MANUAL,AUTO_LOCKandACCESS_REQUEST.
TwingateWebAppResourceDownstream, TwingateWebAppResourceDownstreamArgs
- Port int
- The port number. Must be between 1 and 65535 inclusive.
- Port int
- The port number. Must be between 1 and 65535 inclusive.
- port number
- The port number. Must be between 1 and 65535 inclusive.
- port Integer
- The port number. Must be between 1 and 65535 inclusive.
- port number
- The port number. Must be between 1 and 65535 inclusive.
- port int
- The port number. Must be between 1 and 65535 inclusive.
- port Number
- The port number. Must be between 1 and 65535 inclusive.
TwingateWebAppResourceUpstream, TwingateWebAppResourceUpstreamArgs
- Port int
- The port number. Must be between 1 and 65535 inclusive.
- Port int
- The port number. Must be between 1 and 65535 inclusive.
- port number
- The port number. Must be between 1 and 65535 inclusive.
- port Integer
- The port number. Must be between 1 and 65535 inclusive.
- port number
- The port number. Must be between 1 and 65535 inclusive.
- port int
- The port number. Must be between 1 and 65535 inclusive.
- port Number
- The port number. Must be between 1 and 65535 inclusive.
Package Details
- Repository
- twingate Twingate/pulumi-twingate
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
twingateTerraform Provider.
published on Tuesday, Sep 15, 2026 by Twingate