1. Packages
  2. Twingate
  3. API Docs
  4. TwingateResource
Twingate v3.0.1 published on Friday, Apr 19, 2024 by Twingate

twingate.TwingateResource

Explore with Pulumi AI

twingate logo
Twingate v3.0.1 published on Friday, Apr 19, 2024 by Twingate

    Resources in Twingate represent servers on the private network that clients can connect to. Resources can be defined by IP, CIDR range, FQDN, or DNS zone. For more information, see the Twingate documentation.

    Example Usage

    Coming soon!
    
    Coming soon!
    
    Coming soon!
    
    Coming soon!
    
    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.TwingateGroup;
    import com.pulumi.twingate.TwingateServiceAccount;
    import com.pulumi.twingate.TwingateFunctions;
    import com.pulumi.twingate.inputs.GetTwingateSecurityPolicyArgs;
    import com.pulumi.twingate.TwingateResource;
    import com.pulumi.twingate.TwingateResourceArgs;
    import com.pulumi.twingate.inputs.TwingateResourceProtocolsArgs;
    import com.pulumi.twingate.inputs.TwingateResourceProtocolsTcpArgs;
    import com.pulumi.twingate.inputs.TwingateResourceProtocolsUdpArgs;
    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 awsNetwork = new TwingateRemoteNetwork("awsNetwork");
    
            var aws = new TwingateGroup("aws");
    
            var githubActionsProd = new TwingateServiceAccount("githubActionsProd");
    
            final var testPolicy = TwingateFunctions.getTwingateSecurityPolicy(GetTwingateSecurityPolicyArgs.builder()
                .name("Test Policy")
                .build());
    
            var resource = new TwingateResource("resource", TwingateResourceArgs.builder()        
                .address("internal.int")
                .remoteNetworkId(awsNetwork.id())
                .securityPolicyId(testPolicy.applyValue(getTwingateSecurityPolicyResult -> getTwingateSecurityPolicyResult.id()))
                .protocols(TwingateResourceProtocolsArgs.builder()
                    .allow_icmp(true)
                    .tcp(TwingateResourceProtocolsTcpArgs.builder()
                        .policy("RESTRICTED")
                        .ports(                    
                            "80",
                            "82-83")
                        .build())
                    .udp(TwingateResourceProtocolsUdpArgs.builder()
                        .policy("ALLOW_ALL")
                        .build())
                    .build())
                .dynamic(            
                    %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference),
                    %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
                .isActive(true)
                .build());
    
        }
    }
    
    resources:
      awsNetwork:
        type: twingate:TwingateRemoteNetwork
      aws:
        type: twingate:TwingateGroup
      githubActionsProd:
        type: twingate:TwingateServiceAccount
      resource:
        type: twingate:TwingateResource
        properties:
          address: internal.int
          remoteNetworkId: ${awsNetwork.id}
          securityPolicyId: ${testPolicy.id}
          protocols:
            allow_icmp: true
            tcp:
              policy: RESTRICTED
              ports:
                - '80'
                - 82-83
            udp:
              policy: ALLOW_ALL
          dynamic:
            - forEach:
                - ${aws.id}
              content:
                - groupId: ${access_group.value}
                  securityPolicyId: ${testPolicy.id}
            - forEach:
                - ${githubActionsProd.id}
              content:
                - serviceAccountId: ${access_service.value}
          isActive: true
    variables:
      testPolicy:
        fn::invoke:
          Function: twingate:getTwingateSecurityPolicy
          Arguments:
            name: Test Policy
    

    Create TwingateResource Resource

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

    Constructor syntax

    new TwingateResource(name: string, args: TwingateResourceArgs, opts?: CustomResourceOptions);
    @overload
    def TwingateResource(resource_name: str,
                         args: TwingateResourceArgs,
                         opts: Optional[ResourceOptions] = None)
    
    @overload
    def TwingateResource(resource_name: str,
                         opts: Optional[ResourceOptions] = None,
                         address: Optional[str] = None,
                         remote_network_id: Optional[str] = None,
                         access_groups: Optional[Sequence[TwingateResourceAccessGroupArgs]] = None,
                         access_services: Optional[Sequence[TwingateResourceAccessServiceArgs]] = None,
                         alias: Optional[str] = None,
                         is_active: Optional[bool] = None,
                         is_authoritative: Optional[bool] = None,
                         is_browser_shortcut_enabled: Optional[bool] = None,
                         is_visible: Optional[bool] = None,
                         name: Optional[str] = None,
                         protocols: Optional[TwingateResourceProtocolsArgs] = None,
                         security_policy_id: Optional[str] = None)
    func NewTwingateResource(ctx *Context, name string, args TwingateResourceArgs, opts ...ResourceOption) (*TwingateResource, error)
    public TwingateResource(string name, TwingateResourceArgs args, CustomResourceOptions? opts = null)
    public TwingateResource(String name, TwingateResourceArgs args)
    public TwingateResource(String name, TwingateResourceArgs args, CustomResourceOptions options)
    
    type: twingate:TwingateResource
    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 TwingateResourceArgs
    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 TwingateResourceArgs
    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 TwingateResourceArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args TwingateResourceArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args TwingateResourceArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

    The following reference example uses placeholder values for all input properties.

    var twingateResourceResource = new Twingate.TwingateResource("twingateResourceResource", new()
    {
        Address = "string",
        RemoteNetworkId = "string",
        AccessGroups = new[]
        {
            new Twingate.Inputs.TwingateResourceAccessGroupArgs
            {
                GroupId = "string",
                SecurityPolicyId = "string",
            },
        },
        AccessServices = new[]
        {
            new Twingate.Inputs.TwingateResourceAccessServiceArgs
            {
                ServiceAccountId = "string",
            },
        },
        Alias = "string",
        IsActive = false,
        IsAuthoritative = false,
        IsBrowserShortcutEnabled = false,
        IsVisible = false,
        Name = "string",
        Protocols = new Twingate.Inputs.TwingateResourceProtocolsArgs
        {
            AllowIcmp = false,
            Tcp = new Twingate.Inputs.TwingateResourceProtocolsTcpArgs
            {
                Policy = "string",
                Ports = new[]
                {
                    "string",
                },
            },
            Udp = new Twingate.Inputs.TwingateResourceProtocolsUdpArgs
            {
                Policy = "string",
                Ports = new[]
                {
                    "string",
                },
            },
        },
        SecurityPolicyId = "string",
    });
    
    example, err := twingate.NewTwingateResource(ctx, "twingateResourceResource", &twingate.TwingateResourceArgs{
    	Address:         pulumi.String("string"),
    	RemoteNetworkId: pulumi.String("string"),
    	AccessGroups: twingate.TwingateResourceAccessGroupArray{
    		&twingate.TwingateResourceAccessGroupArgs{
    			GroupId:          pulumi.String("string"),
    			SecurityPolicyId: pulumi.String("string"),
    		},
    	},
    	AccessServices: twingate.TwingateResourceAccessServiceArray{
    		&twingate.TwingateResourceAccessServiceArgs{
    			ServiceAccountId: pulumi.String("string"),
    		},
    	},
    	Alias:                    pulumi.String("string"),
    	IsActive:                 pulumi.Bool(false),
    	IsAuthoritative:          pulumi.Bool(false),
    	IsBrowserShortcutEnabled: pulumi.Bool(false),
    	IsVisible:                pulumi.Bool(false),
    	Name:                     pulumi.String("string"),
    	Protocols: &twingate.TwingateResourceProtocolsArgs{
    		AllowIcmp: pulumi.Bool(false),
    		Tcp: &twingate.TwingateResourceProtocolsTcpArgs{
    			Policy: pulumi.String("string"),
    			Ports: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    		Udp: &twingate.TwingateResourceProtocolsUdpArgs{
    			Policy: pulumi.String("string"),
    			Ports: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	SecurityPolicyId: pulumi.String("string"),
    })
    
    var twingateResourceResource = new TwingateResource("twingateResourceResource", TwingateResourceArgs.builder()        
        .address("string")
        .remoteNetworkId("string")
        .accessGroups(TwingateResourceAccessGroupArgs.builder()
            .groupId("string")
            .securityPolicyId("string")
            .build())
        .accessServices(TwingateResourceAccessServiceArgs.builder()
            .serviceAccountId("string")
            .build())
        .alias("string")
        .isActive(false)
        .isAuthoritative(false)
        .isBrowserShortcutEnabled(false)
        .isVisible(false)
        .name("string")
        .protocols(TwingateResourceProtocolsArgs.builder()
            .allowIcmp(false)
            .tcp(TwingateResourceProtocolsTcpArgs.builder()
                .policy("string")
                .ports("string")
                .build())
            .udp(TwingateResourceProtocolsUdpArgs.builder()
                .policy("string")
                .ports("string")
                .build())
            .build())
        .securityPolicyId("string")
        .build());
    
    twingate_resource_resource = twingate.TwingateResource("twingateResourceResource",
        address="string",
        remote_network_id="string",
        access_groups=[twingate.TwingateResourceAccessGroupArgs(
            group_id="string",
            security_policy_id="string",
        )],
        access_services=[twingate.TwingateResourceAccessServiceArgs(
            service_account_id="string",
        )],
        alias="string",
        is_active=False,
        is_authoritative=False,
        is_browser_shortcut_enabled=False,
        is_visible=False,
        name="string",
        protocols=twingate.TwingateResourceProtocolsArgs(
            allow_icmp=False,
            tcp=twingate.TwingateResourceProtocolsTcpArgs(
                policy="string",
                ports=["string"],
            ),
            udp=twingate.TwingateResourceProtocolsUdpArgs(
                policy="string",
                ports=["string"],
            ),
        ),
        security_policy_id="string")
    
    const twingateResourceResource = new twingate.TwingateResource("twingateResourceResource", {
        address: "string",
        remoteNetworkId: "string",
        accessGroups: [{
            groupId: "string",
            securityPolicyId: "string",
        }],
        accessServices: [{
            serviceAccountId: "string",
        }],
        alias: "string",
        isActive: false,
        isAuthoritative: false,
        isBrowserShortcutEnabled: false,
        isVisible: false,
        name: "string",
        protocols: {
            allowIcmp: false,
            tcp: {
                policy: "string",
                ports: ["string"],
            },
            udp: {
                policy: "string",
                ports: ["string"],
            },
        },
        securityPolicyId: "string",
    });
    
    type: twingate:TwingateResource
    properties:
        accessGroups:
            - groupId: string
              securityPolicyId: string
        accessServices:
            - serviceAccountId: string
        address: string
        alias: string
        isActive: false
        isAuthoritative: false
        isBrowserShortcutEnabled: false
        isVisible: false
        name: string
        protocols:
            allowIcmp: false
            tcp:
                policy: string
                ports:
                    - string
            udp:
                policy: string
                ports:
                    - string
        remoteNetworkId: string
        securityPolicyId: string
    

    TwingateResource Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The TwingateResource resource accepts the following input properties:

    Address string
    The Resource's IP/CIDR or FQDN/DNS zone
    RemoteNetworkId string
    Remote Network ID where the Resource lives
    AccessGroups List<Twingate.Twingate.Inputs.TwingateResourceAccessGroup>
    Restrict access to certain group
    AccessServices List<Twingate.Twingate.Inputs.TwingateResourceAccessService>
    Restrict access to certain service account
    Alias string
    Set a DNS alias address for the Resource. Must be a DNS-valid name string.
    IsActive bool
    Set the resource as active or inactive. Default is true.
    IsAuthoritative bool
    Determines whether assignments in the access block will override any existing assignments. Default is true. If set to false, assignments made outside of Terraform will be ignored.
    IsBrowserShortcutEnabled bool
    Controls whether an "Open in Browser" shortcut will be shown for this Resource in the Twingate Client. Default is false.
    IsVisible 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 Resource
    Protocols Twingate.Twingate.Inputs.TwingateResourceProtocols
    Restrict access to certain protocols and ports. By default or when this argument is not defined, there is no restriction, and all protocols and ports are allowed.
    SecurityPolicyId string
    The ID of a twingate.getTwingateSecurityPolicy to use as the access policy for the group IDs in the access block.
    Address string
    The Resource's IP/CIDR or FQDN/DNS zone
    RemoteNetworkId string
    Remote Network ID where the Resource lives
    AccessGroups []TwingateResourceAccessGroupArgs
    Restrict access to certain group
    AccessServices []TwingateResourceAccessServiceArgs
    Restrict access to certain service account
    Alias string
    Set a DNS alias address for the Resource. Must be a DNS-valid name string.
    IsActive bool
    Set the resource as active or inactive. Default is true.
    IsAuthoritative bool
    Determines whether assignments in the access block will override any existing assignments. Default is true. If set to false, assignments made outside of Terraform will be ignored.
    IsBrowserShortcutEnabled bool
    Controls whether an "Open in Browser" shortcut will be shown for this Resource in the Twingate Client. Default is false.
    IsVisible 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 Resource
    Protocols TwingateResourceProtocolsArgs
    Restrict access to certain protocols and ports. By default or when this argument is not defined, there is no restriction, and all protocols and ports are allowed.
    SecurityPolicyId string
    The ID of a twingate.getTwingateSecurityPolicy to use as the access policy for the group IDs in the access block.
    address String
    The Resource's IP/CIDR or FQDN/DNS zone
    remoteNetworkId String
    Remote Network ID where the Resource lives
    accessGroups List<TwingateResourceAccessGroup>
    Restrict access to certain group
    accessServices List<TwingateResourceAccessService>
    Restrict access to certain service account
    alias String
    Set a DNS alias address for the Resource. Must be a DNS-valid name string.
    isActive Boolean
    Set the resource as active or inactive. Default is true.
    isAuthoritative Boolean
    Determines whether assignments in the access block will override any existing assignments. Default is true. If set to false, assignments made outside of Terraform will be ignored.
    isBrowserShortcutEnabled Boolean
    Controls whether an "Open in Browser" shortcut will be shown for this Resource in the Twingate Client. Default is false.
    isVisible 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 Resource
    protocols TwingateResourceProtocols
    Restrict access to certain protocols and ports. By default or when this argument is not defined, there is no restriction, and all protocols and ports are allowed.
    securityPolicyId String
    The ID of a twingate.getTwingateSecurityPolicy to use as the access policy for the group IDs in the access block.
    address string
    The Resource's IP/CIDR or FQDN/DNS zone
    remoteNetworkId string
    Remote Network ID where the Resource lives
    accessGroups TwingateResourceAccessGroup[]
    Restrict access to certain group
    accessServices TwingateResourceAccessService[]
    Restrict access to certain service account
    alias string
    Set a DNS alias address for the Resource. Must be a DNS-valid name string.
    isActive boolean
    Set the resource as active or inactive. Default is true.
    isAuthoritative boolean
    Determines whether assignments in the access block will override any existing assignments. Default is true. If set to false, assignments made outside of Terraform will be ignored.
    isBrowserShortcutEnabled boolean
    Controls whether an "Open in Browser" shortcut will be shown for this Resource in the Twingate Client. Default is false.
    isVisible 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 Resource
    protocols TwingateResourceProtocols
    Restrict access to certain protocols and ports. By default or when this argument is not defined, there is no restriction, and all protocols and ports are allowed.
    securityPolicyId string
    The ID of a twingate.getTwingateSecurityPolicy to use as the access policy for the group IDs in the access block.
    address str
    The Resource's IP/CIDR or FQDN/DNS zone
    remote_network_id str
    Remote Network ID where the Resource lives
    access_groups Sequence[TwingateResourceAccessGroupArgs]
    Restrict access to certain group
    access_services Sequence[TwingateResourceAccessServiceArgs]
    Restrict access to certain service account
    alias str
    Set a DNS alias address for the Resource. Must be a DNS-valid name string.
    is_active bool
    Set the resource as active or inactive. Default is true.
    is_authoritative bool
    Determines whether assignments in the access block will override any existing assignments. Default is true. If set to false, assignments made outside of Terraform will be ignored.
    is_browser_shortcut_enabled bool
    Controls whether an "Open in Browser" shortcut will be shown for this Resource in the Twingate Client. Default is false.
    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 Resource
    protocols TwingateResourceProtocolsArgs
    Restrict access to certain protocols and ports. By default or when this argument is not defined, there is no restriction, and all protocols and ports are allowed.
    security_policy_id str
    The ID of a twingate.getTwingateSecurityPolicy to use as the access policy for the group IDs in the access block.
    address String
    The Resource's IP/CIDR or FQDN/DNS zone
    remoteNetworkId String
    Remote Network ID where the Resource lives
    accessGroups List<Property Map>
    Restrict access to certain group
    accessServices List<Property Map>
    Restrict access to certain service account
    alias String
    Set a DNS alias address for the Resource. Must be a DNS-valid name string.
    isActive Boolean
    Set the resource as active or inactive. Default is true.
    isAuthoritative Boolean
    Determines whether assignments in the access block will override any existing assignments. Default is true. If set to false, assignments made outside of Terraform will be ignored.
    isBrowserShortcutEnabled Boolean
    Controls whether an "Open in Browser" shortcut will be shown for this Resource in the Twingate Client. Default is false.
    isVisible 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 Resource
    protocols Property Map
    Restrict access to certain protocols and ports. By default or when this argument is not defined, there is no restriction, and all protocols and ports are allowed.
    securityPolicyId String
    The ID of a twingate.getTwingateSecurityPolicy to use as the access policy for the group IDs in the access block.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the TwingateResource 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 str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing TwingateResource Resource

    Get an existing TwingateResource 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?: TwingateResourceState, opts?: CustomResourceOptions): TwingateResource
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            access_groups: Optional[Sequence[TwingateResourceAccessGroupArgs]] = None,
            access_services: Optional[Sequence[TwingateResourceAccessServiceArgs]] = None,
            address: Optional[str] = None,
            alias: Optional[str] = None,
            is_active: Optional[bool] = None,
            is_authoritative: Optional[bool] = None,
            is_browser_shortcut_enabled: Optional[bool] = None,
            is_visible: Optional[bool] = None,
            name: Optional[str] = None,
            protocols: Optional[TwingateResourceProtocolsArgs] = None,
            remote_network_id: Optional[str] = None,
            security_policy_id: Optional[str] = None) -> TwingateResource
    func GetTwingateResource(ctx *Context, name string, id IDInput, state *TwingateResourceState, opts ...ResourceOption) (*TwingateResource, error)
    public static TwingateResource Get(string name, Input<string> id, TwingateResourceState? state, CustomResourceOptions? opts = null)
    public static TwingateResource get(String name, Output<String> id, TwingateResourceState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AccessGroups List<Twingate.Twingate.Inputs.TwingateResourceAccessGroup>
    Restrict access to certain group
    AccessServices List<Twingate.Twingate.Inputs.TwingateResourceAccessService>
    Restrict access to certain service account
    Address string
    The Resource's IP/CIDR or FQDN/DNS zone
    Alias string
    Set a DNS alias address for the Resource. Must be a DNS-valid name string.
    IsActive bool
    Set the resource as active or inactive. Default is true.
    IsAuthoritative bool
    Determines whether assignments in the access block will override any existing assignments. Default is true. If set to false, assignments made outside of Terraform will be ignored.
    IsBrowserShortcutEnabled bool
    Controls whether an "Open in Browser" shortcut will be shown for this Resource in the Twingate Client. Default is false.
    IsVisible 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 Resource
    Protocols Twingate.Twingate.Inputs.TwingateResourceProtocols
    Restrict access to certain protocols and ports. By default or when this argument is not defined, there is no restriction, and all protocols and ports are allowed.
    RemoteNetworkId string
    Remote Network ID where the Resource lives
    SecurityPolicyId string
    The ID of a twingate.getTwingateSecurityPolicy to use as the access policy for the group IDs in the access block.
    AccessGroups []TwingateResourceAccessGroupArgs
    Restrict access to certain group
    AccessServices []TwingateResourceAccessServiceArgs
    Restrict access to certain service account
    Address string
    The Resource's IP/CIDR or FQDN/DNS zone
    Alias string
    Set a DNS alias address for the Resource. Must be a DNS-valid name string.
    IsActive bool
    Set the resource as active or inactive. Default is true.
    IsAuthoritative bool
    Determines whether assignments in the access block will override any existing assignments. Default is true. If set to false, assignments made outside of Terraform will be ignored.
    IsBrowserShortcutEnabled bool
    Controls whether an "Open in Browser" shortcut will be shown for this Resource in the Twingate Client. Default is false.
    IsVisible 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 Resource
    Protocols TwingateResourceProtocolsArgs
    Restrict access to certain protocols and ports. By default or when this argument is not defined, there is no restriction, and all protocols and ports are allowed.
    RemoteNetworkId string
    Remote Network ID where the Resource lives
    SecurityPolicyId string
    The ID of a twingate.getTwingateSecurityPolicy to use as the access policy for the group IDs in the access block.
    accessGroups List<TwingateResourceAccessGroup>
    Restrict access to certain group
    accessServices List<TwingateResourceAccessService>
    Restrict access to certain service account
    address String
    The Resource's IP/CIDR or FQDN/DNS zone
    alias String
    Set a DNS alias address for the Resource. Must be a DNS-valid name string.
    isActive Boolean
    Set the resource as active or inactive. Default is true.
    isAuthoritative Boolean
    Determines whether assignments in the access block will override any existing assignments. Default is true. If set to false, assignments made outside of Terraform will be ignored.
    isBrowserShortcutEnabled Boolean
    Controls whether an "Open in Browser" shortcut will be shown for this Resource in the Twingate Client. Default is false.
    isVisible 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 Resource
    protocols TwingateResourceProtocols
    Restrict access to certain protocols and ports. By default or when this argument is not defined, there is no restriction, and all protocols and ports are allowed.
    remoteNetworkId String
    Remote Network ID where the Resource lives
    securityPolicyId String
    The ID of a twingate.getTwingateSecurityPolicy to use as the access policy for the group IDs in the access block.
    accessGroups TwingateResourceAccessGroup[]
    Restrict access to certain group
    accessServices TwingateResourceAccessService[]
    Restrict access to certain service account
    address string
    The Resource's IP/CIDR or FQDN/DNS zone
    alias string
    Set a DNS alias address for the Resource. Must be a DNS-valid name string.
    isActive boolean
    Set the resource as active or inactive. Default is true.
    isAuthoritative boolean
    Determines whether assignments in the access block will override any existing assignments. Default is true. If set to false, assignments made outside of Terraform will be ignored.
    isBrowserShortcutEnabled boolean
    Controls whether an "Open in Browser" shortcut will be shown for this Resource in the Twingate Client. Default is false.
    isVisible 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 Resource
    protocols TwingateResourceProtocols
    Restrict access to certain protocols and ports. By default or when this argument is not defined, there is no restriction, and all protocols and ports are allowed.
    remoteNetworkId string
    Remote Network ID where the Resource lives
    securityPolicyId string
    The ID of a twingate.getTwingateSecurityPolicy to use as the access policy for the group IDs in the access block.
    access_groups Sequence[TwingateResourceAccessGroupArgs]
    Restrict access to certain group
    access_services Sequence[TwingateResourceAccessServiceArgs]
    Restrict access to certain service account
    address str
    The Resource's IP/CIDR or FQDN/DNS zone
    alias str
    Set a DNS alias address for the Resource. Must be a DNS-valid name string.
    is_active bool
    Set the resource as active or inactive. Default is true.
    is_authoritative bool
    Determines whether assignments in the access block will override any existing assignments. Default is true. If set to false, assignments made outside of Terraform will be ignored.
    is_browser_shortcut_enabled bool
    Controls whether an "Open in Browser" shortcut will be shown for this Resource in the Twingate Client. Default is false.
    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 Resource
    protocols TwingateResourceProtocolsArgs
    Restrict access to certain protocols and ports. By default or when this argument is not defined, there is no restriction, and all protocols and ports are allowed.
    remote_network_id str
    Remote Network ID where the Resource lives
    security_policy_id str
    The ID of a twingate.getTwingateSecurityPolicy to use as the access policy for the group IDs in the access block.
    accessGroups List<Property Map>
    Restrict access to certain group
    accessServices List<Property Map>
    Restrict access to certain service account
    address String
    The Resource's IP/CIDR or FQDN/DNS zone
    alias String
    Set a DNS alias address for the Resource. Must be a DNS-valid name string.
    isActive Boolean
    Set the resource as active or inactive. Default is true.
    isAuthoritative Boolean
    Determines whether assignments in the access block will override any existing assignments. Default is true. If set to false, assignments made outside of Terraform will be ignored.
    isBrowserShortcutEnabled Boolean
    Controls whether an "Open in Browser" shortcut will be shown for this Resource in the Twingate Client. Default is false.
    isVisible 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 Resource
    protocols Property Map
    Restrict access to certain protocols and ports. By default or when this argument is not defined, there is no restriction, and all protocols and ports are allowed.
    remoteNetworkId String
    Remote Network ID where the Resource lives
    securityPolicyId String
    The ID of a twingate.getTwingateSecurityPolicy to use as the access policy for the group IDs in the access block.

    Supporting Types

    TwingateResourceAccessGroup, TwingateResourceAccessGroupArgs

    GroupId string
    Group ID that will have permission to access the Resource.
    SecurityPolicyId string
    The ID of a twingate.getTwingateSecurityPolicy to use as the access policy for the group IDs in the access block.
    GroupId string
    Group ID that will have permission to access the Resource.
    SecurityPolicyId string
    The ID of a twingate.getTwingateSecurityPolicy to use as the access policy for the group IDs in the access block.
    groupId String
    Group ID that will have permission to access the Resource.
    securityPolicyId String
    The ID of a twingate.getTwingateSecurityPolicy to use as the access policy for the group IDs in the access block.
    groupId string
    Group ID that will have permission to access the Resource.
    securityPolicyId string
    The ID of a twingate.getTwingateSecurityPolicy to use as the access policy for the group IDs in the access block.
    group_id str
    Group ID that will have permission to access the Resource.
    security_policy_id str
    The ID of a twingate.getTwingateSecurityPolicy to use as the access policy for the group IDs in the access block.
    groupId String
    Group ID that will have permission to access the Resource.
    securityPolicyId String
    The ID of a twingate.getTwingateSecurityPolicy to use as the access policy for the group IDs in the access block.

    TwingateResourceAccessService, TwingateResourceAccessServiceArgs

    ServiceAccountId string
    The ID of the service account that should have access to this Resource.
    ServiceAccountId string
    The ID of the service account that should have access to this Resource.
    serviceAccountId String
    The ID of the service account that should have access to this Resource.
    serviceAccountId string
    The ID of the service account that should have access to this Resource.
    service_account_id str
    The ID of the service account that should have access to this Resource.
    serviceAccountId String
    The ID of the service account that should have access to this Resource.

    TwingateResourceProtocols, TwingateResourceProtocolsArgs

    allowIcmp Boolean
    Whether to allow ICMP (ping) traffic
    tcp Property Map
    udp Property Map

    TwingateResourceProtocolsTcp, TwingateResourceProtocolsTcpArgs

    Policy string
    Whether to allow or deny all ports, or restrict protocol access within certain port ranges: Can be RESTRICTED (only listed ports are allowed), ALLOW_ALL, or DENY_ALL
    Ports List<string>
    List of port ranges between 1 and 65535 inclusive, in the format 100-200 for a range, or 8080 for a single port
    Policy string
    Whether to allow or deny all ports, or restrict protocol access within certain port ranges: Can be RESTRICTED (only listed ports are allowed), ALLOW_ALL, or DENY_ALL
    Ports []string
    List of port ranges between 1 and 65535 inclusive, in the format 100-200 for a range, or 8080 for a single port
    policy String
    Whether to allow or deny all ports, or restrict protocol access within certain port ranges: Can be RESTRICTED (only listed ports are allowed), ALLOW_ALL, or DENY_ALL
    ports List<String>
    List of port ranges between 1 and 65535 inclusive, in the format 100-200 for a range, or 8080 for a single port
    policy string
    Whether to allow or deny all ports, or restrict protocol access within certain port ranges: Can be RESTRICTED (only listed ports are allowed), ALLOW_ALL, or DENY_ALL
    ports string[]
    List of port ranges between 1 and 65535 inclusive, in the format 100-200 for a range, or 8080 for a single port
    policy str
    Whether to allow or deny all ports, or restrict protocol access within certain port ranges: Can be RESTRICTED (only listed ports are allowed), ALLOW_ALL, or DENY_ALL
    ports Sequence[str]
    List of port ranges between 1 and 65535 inclusive, in the format 100-200 for a range, or 8080 for a single port
    policy String
    Whether to allow or deny all ports, or restrict protocol access within certain port ranges: Can be RESTRICTED (only listed ports are allowed), ALLOW_ALL, or DENY_ALL
    ports List<String>
    List of port ranges between 1 and 65535 inclusive, in the format 100-200 for a range, or 8080 for a single port

    TwingateResourceProtocolsUdp, TwingateResourceProtocolsUdpArgs

    Policy string
    Whether to allow or deny all ports, or restrict protocol access within certain port ranges: Can be RESTRICTED (only listed ports are allowed), ALLOW_ALL, or DENY_ALL
    Ports List<string>
    List of port ranges between 1 and 65535 inclusive, in the format 100-200 for a range, or 8080 for a single port
    Policy string
    Whether to allow or deny all ports, or restrict protocol access within certain port ranges: Can be RESTRICTED (only listed ports are allowed), ALLOW_ALL, or DENY_ALL
    Ports []string
    List of port ranges between 1 and 65535 inclusive, in the format 100-200 for a range, or 8080 for a single port
    policy String
    Whether to allow or deny all ports, or restrict protocol access within certain port ranges: Can be RESTRICTED (only listed ports are allowed), ALLOW_ALL, or DENY_ALL
    ports List<String>
    List of port ranges between 1 and 65535 inclusive, in the format 100-200 for a range, or 8080 for a single port
    policy string
    Whether to allow or deny all ports, or restrict protocol access within certain port ranges: Can be RESTRICTED (only listed ports are allowed), ALLOW_ALL, or DENY_ALL
    ports string[]
    List of port ranges between 1 and 65535 inclusive, in the format 100-200 for a range, or 8080 for a single port
    policy str
    Whether to allow or deny all ports, or restrict protocol access within certain port ranges: Can be RESTRICTED (only listed ports are allowed), ALLOW_ALL, or DENY_ALL
    ports Sequence[str]
    List of port ranges between 1 and 65535 inclusive, in the format 100-200 for a range, or 8080 for a single port
    policy String
    Whether to allow or deny all ports, or restrict protocol access within certain port ranges: Can be RESTRICTED (only listed ports are allowed), ALLOW_ALL, or DENY_ALL
    ports List<String>
    List of port ranges between 1 and 65535 inclusive, in the format 100-200 for a range, or 8080 for a single port

    Import

    $ pulumi import twingate:index/twingateResource:TwingateResource resource UmVzb3VyY2U6MzQwNDQ3
    

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

    Package Details

    Repository
    twingate Twingate/pulumi-twingate
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the twingate Terraform Provider.
    twingate logo
    Twingate v3.0.1 published on Friday, Apr 19, 2024 by Twingate