1. Packages
  2. Scaleway
  3. API Docs
  4. VpcPublicGatewayPatRule
Scaleway v1.14.0 published on Thursday, Jun 6, 2024 by pulumiverse

scaleway.VpcPublicGatewayPatRule

Explore with Pulumi AI

scaleway logo
Scaleway v1.14.0 published on Thursday, Jun 6, 2024 by pulumiverse

    Creates and manages Scaleway VPC Public Gateway PAT (Port Address Translation). For more information, see the documentation.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as scaleway from "@pulumiverse/scaleway";
    
    const sg01 = new scaleway.InstanceSecurityGroup("sg01", {
        inboundDefaultPolicy: "drop",
        outboundDefaultPolicy: "accept",
        inboundRules: [{
            action: "accept",
            port: 22,
            protocol: "TCP",
        }],
    });
    const srv01 = new scaleway.InstanceServer("srv01", {
        type: "PLAY2-NANO",
        image: "ubuntu_jammy",
        securityGroupId: sg01.id,
    });
    const pn01 = new scaleway.VpcPrivateNetwork("pn01", {});
    const pnic01 = new scaleway.InstancePrivateNic("pnic01", {
        serverId: srv01.id,
        privateNetworkId: pn01.id,
    });
    const dhcp01 = new scaleway.VpcPublicGatewayDhcp("dhcp01", {subnet: "192.168.0.0/24"});
    const ip01 = new scaleway.VpcPublicGatewayIp("ip01", {});
    const pg01 = new scaleway.VpcPublicGateway("pg01", {
        type: "VPC-GW-S",
        ipId: ip01.id,
    });
    const gn01 = new scaleway.VpcGatewayNetwork("gn01", {
        gatewayId: pg01.id,
        privateNetworkId: pn01.id,
        dhcpId: dhcp01.id,
        cleanupDhcp: true,
        enableMasquerade: true,
    });
    const rsv01 = new scaleway.VpcPublicGatewayDhcpReservation("rsv01", {
        gatewayNetworkId: gn01.id,
        macAddress: pnic01.macAddress,
        ipAddress: "192.168.0.7",
    });
    // PAT rule for SSH traffic
    const pat01 = new scaleway.VpcPublicGatewayPatRule("pat01", {
        gatewayId: pg01.id,
        privateIp: rsv01.ipAddress,
        privatePort: 22,
        publicPort: 2202,
        protocol: "tcp",
    });
    
    import pulumi
    import pulumiverse_scaleway as scaleway
    
    sg01 = scaleway.InstanceSecurityGroup("sg01",
        inbound_default_policy="drop",
        outbound_default_policy="accept",
        inbound_rules=[scaleway.InstanceSecurityGroupInboundRuleArgs(
            action="accept",
            port=22,
            protocol="TCP",
        )])
    srv01 = scaleway.InstanceServer("srv01",
        type="PLAY2-NANO",
        image="ubuntu_jammy",
        security_group_id=sg01.id)
    pn01 = scaleway.VpcPrivateNetwork("pn01")
    pnic01 = scaleway.InstancePrivateNic("pnic01",
        server_id=srv01.id,
        private_network_id=pn01.id)
    dhcp01 = scaleway.VpcPublicGatewayDhcp("dhcp01", subnet="192.168.0.0/24")
    ip01 = scaleway.VpcPublicGatewayIp("ip01")
    pg01 = scaleway.VpcPublicGateway("pg01",
        type="VPC-GW-S",
        ip_id=ip01.id)
    gn01 = scaleway.VpcGatewayNetwork("gn01",
        gateway_id=pg01.id,
        private_network_id=pn01.id,
        dhcp_id=dhcp01.id,
        cleanup_dhcp=True,
        enable_masquerade=True)
    rsv01 = scaleway.VpcPublicGatewayDhcpReservation("rsv01",
        gateway_network_id=gn01.id,
        mac_address=pnic01.mac_address,
        ip_address="192.168.0.7")
    # PAT rule for SSH traffic
    pat01 = scaleway.VpcPublicGatewayPatRule("pat01",
        gateway_id=pg01.id,
        private_ip=rsv01.ip_address,
        private_port=22,
        public_port=2202,
        protocol="tcp")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		sg01, err := scaleway.NewInstanceSecurityGroup(ctx, "sg01", &scaleway.InstanceSecurityGroupArgs{
    			InboundDefaultPolicy:  pulumi.String("drop"),
    			OutboundDefaultPolicy: pulumi.String("accept"),
    			InboundRules: scaleway.InstanceSecurityGroupInboundRuleArray{
    				&scaleway.InstanceSecurityGroupInboundRuleArgs{
    					Action:   pulumi.String("accept"),
    					Port:     pulumi.Int(22),
    					Protocol: pulumi.String("TCP"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		srv01, err := scaleway.NewInstanceServer(ctx, "srv01", &scaleway.InstanceServerArgs{
    			Type:            pulumi.String("PLAY2-NANO"),
    			Image:           pulumi.String("ubuntu_jammy"),
    			SecurityGroupId: sg01.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		pn01, err := scaleway.NewVpcPrivateNetwork(ctx, "pn01", nil)
    		if err != nil {
    			return err
    		}
    		pnic01, err := scaleway.NewInstancePrivateNic(ctx, "pnic01", &scaleway.InstancePrivateNicArgs{
    			ServerId:         srv01.ID(),
    			PrivateNetworkId: pn01.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		dhcp01, err := scaleway.NewVpcPublicGatewayDhcp(ctx, "dhcp01", &scaleway.VpcPublicGatewayDhcpArgs{
    			Subnet: pulumi.String("192.168.0.0/24"),
    		})
    		if err != nil {
    			return err
    		}
    		ip01, err := scaleway.NewVpcPublicGatewayIp(ctx, "ip01", nil)
    		if err != nil {
    			return err
    		}
    		pg01, err := scaleway.NewVpcPublicGateway(ctx, "pg01", &scaleway.VpcPublicGatewayArgs{
    			Type: pulumi.String("VPC-GW-S"),
    			IpId: ip01.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		gn01, err := scaleway.NewVpcGatewayNetwork(ctx, "gn01", &scaleway.VpcGatewayNetworkArgs{
    			GatewayId:        pg01.ID(),
    			PrivateNetworkId: pn01.ID(),
    			DhcpId:           dhcp01.ID(),
    			CleanupDhcp:      pulumi.Bool(true),
    			EnableMasquerade: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		rsv01, err := scaleway.NewVpcPublicGatewayDhcpReservation(ctx, "rsv01", &scaleway.VpcPublicGatewayDhcpReservationArgs{
    			GatewayNetworkId: gn01.ID(),
    			MacAddress:       pnic01.MacAddress,
    			IpAddress:        pulumi.String("192.168.0.7"),
    		})
    		if err != nil {
    			return err
    		}
    		// PAT rule for SSH traffic
    		_, err = scaleway.NewVpcPublicGatewayPatRule(ctx, "pat01", &scaleway.VpcPublicGatewayPatRuleArgs{
    			GatewayId:   pg01.ID(),
    			PrivateIp:   rsv01.IpAddress,
    			PrivatePort: pulumi.Int(22),
    			PublicPort:  pulumi.Int(2202),
    			Protocol:    pulumi.String("tcp"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Scaleway = Pulumiverse.Scaleway;
    
    return await Deployment.RunAsync(() => 
    {
        var sg01 = new Scaleway.InstanceSecurityGroup("sg01", new()
        {
            InboundDefaultPolicy = "drop",
            OutboundDefaultPolicy = "accept",
            InboundRules = new[]
            {
                new Scaleway.Inputs.InstanceSecurityGroupInboundRuleArgs
                {
                    Action = "accept",
                    Port = 22,
                    Protocol = "TCP",
                },
            },
        });
    
        var srv01 = new Scaleway.InstanceServer("srv01", new()
        {
            Type = "PLAY2-NANO",
            Image = "ubuntu_jammy",
            SecurityGroupId = sg01.Id,
        });
    
        var pn01 = new Scaleway.VpcPrivateNetwork("pn01");
    
        var pnic01 = new Scaleway.InstancePrivateNic("pnic01", new()
        {
            ServerId = srv01.Id,
            PrivateNetworkId = pn01.Id,
        });
    
        var dhcp01 = new Scaleway.VpcPublicGatewayDhcp("dhcp01", new()
        {
            Subnet = "192.168.0.0/24",
        });
    
        var ip01 = new Scaleway.VpcPublicGatewayIp("ip01");
    
        var pg01 = new Scaleway.VpcPublicGateway("pg01", new()
        {
            Type = "VPC-GW-S",
            IpId = ip01.Id,
        });
    
        var gn01 = new Scaleway.VpcGatewayNetwork("gn01", new()
        {
            GatewayId = pg01.Id,
            PrivateNetworkId = pn01.Id,
            DhcpId = dhcp01.Id,
            CleanupDhcp = true,
            EnableMasquerade = true,
        });
    
        var rsv01 = new Scaleway.VpcPublicGatewayDhcpReservation("rsv01", new()
        {
            GatewayNetworkId = gn01.Id,
            MacAddress = pnic01.MacAddress,
            IpAddress = "192.168.0.7",
        });
    
        // PAT rule for SSH traffic
        var pat01 = new Scaleway.VpcPublicGatewayPatRule("pat01", new()
        {
            GatewayId = pg01.Id,
            PrivateIp = rsv01.IpAddress,
            PrivatePort = 22,
            PublicPort = 2202,
            Protocol = "tcp",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scaleway.InstanceSecurityGroup;
    import com.pulumi.scaleway.InstanceSecurityGroupArgs;
    import com.pulumi.scaleway.inputs.InstanceSecurityGroupInboundRuleArgs;
    import com.pulumi.scaleway.InstanceServer;
    import com.pulumi.scaleway.InstanceServerArgs;
    import com.pulumi.scaleway.VpcPrivateNetwork;
    import com.pulumi.scaleway.InstancePrivateNic;
    import com.pulumi.scaleway.InstancePrivateNicArgs;
    import com.pulumi.scaleway.VpcPublicGatewayDhcp;
    import com.pulumi.scaleway.VpcPublicGatewayDhcpArgs;
    import com.pulumi.scaleway.VpcPublicGatewayIp;
    import com.pulumi.scaleway.VpcPublicGateway;
    import com.pulumi.scaleway.VpcPublicGatewayArgs;
    import com.pulumi.scaleway.VpcGatewayNetwork;
    import com.pulumi.scaleway.VpcGatewayNetworkArgs;
    import com.pulumi.scaleway.VpcPublicGatewayDhcpReservation;
    import com.pulumi.scaleway.VpcPublicGatewayDhcpReservationArgs;
    import com.pulumi.scaleway.VpcPublicGatewayPatRule;
    import com.pulumi.scaleway.VpcPublicGatewayPatRuleArgs;
    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 sg01 = new InstanceSecurityGroup("sg01", InstanceSecurityGroupArgs.builder()        
                .inboundDefaultPolicy("drop")
                .outboundDefaultPolicy("accept")
                .inboundRules(InstanceSecurityGroupInboundRuleArgs.builder()
                    .action("accept")
                    .port(22)
                    .protocol("TCP")
                    .build())
                .build());
    
            var srv01 = new InstanceServer("srv01", InstanceServerArgs.builder()        
                .type("PLAY2-NANO")
                .image("ubuntu_jammy")
                .securityGroupId(sg01.id())
                .build());
    
            var pn01 = new VpcPrivateNetwork("pn01");
    
            var pnic01 = new InstancePrivateNic("pnic01", InstancePrivateNicArgs.builder()        
                .serverId(srv01.id())
                .privateNetworkId(pn01.id())
                .build());
    
            var dhcp01 = new VpcPublicGatewayDhcp("dhcp01", VpcPublicGatewayDhcpArgs.builder()        
                .subnet("192.168.0.0/24")
                .build());
    
            var ip01 = new VpcPublicGatewayIp("ip01");
    
            var pg01 = new VpcPublicGateway("pg01", VpcPublicGatewayArgs.builder()        
                .type("VPC-GW-S")
                .ipId(ip01.id())
                .build());
    
            var gn01 = new VpcGatewayNetwork("gn01", VpcGatewayNetworkArgs.builder()        
                .gatewayId(pg01.id())
                .privateNetworkId(pn01.id())
                .dhcpId(dhcp01.id())
                .cleanupDhcp(true)
                .enableMasquerade(true)
                .build());
    
            var rsv01 = new VpcPublicGatewayDhcpReservation("rsv01", VpcPublicGatewayDhcpReservationArgs.builder()        
                .gatewayNetworkId(gn01.id())
                .macAddress(pnic01.macAddress())
                .ipAddress("192.168.0.7")
                .build());
    
            // PAT rule for SSH traffic
            var pat01 = new VpcPublicGatewayPatRule("pat01", VpcPublicGatewayPatRuleArgs.builder()        
                .gatewayId(pg01.id())
                .privateIp(rsv01.ipAddress())
                .privatePort(22)
                .publicPort(2202)
                .protocol("tcp")
                .build());
    
        }
    }
    
    resources:
      sg01:
        type: scaleway:InstanceSecurityGroup
        properties:
          inboundDefaultPolicy: drop
          outboundDefaultPolicy: accept
          inboundRules:
            - action: accept
              port: 22
              protocol: TCP
      srv01:
        type: scaleway:InstanceServer
        properties:
          type: PLAY2-NANO
          image: ubuntu_jammy
          securityGroupId: ${sg01.id}
      pnic01:
        type: scaleway:InstancePrivateNic
        properties:
          serverId: ${srv01.id}
          privateNetworkId: ${pn01.id}
      pn01:
        type: scaleway:VpcPrivateNetwork
      dhcp01:
        type: scaleway:VpcPublicGatewayDhcp
        properties:
          subnet: 192.168.0.0/24
      ip01:
        type: scaleway:VpcPublicGatewayIp
      pg01:
        type: scaleway:VpcPublicGateway
        properties:
          type: VPC-GW-S
          ipId: ${ip01.id}
      gn01:
        type: scaleway:VpcGatewayNetwork
        properties:
          gatewayId: ${pg01.id}
          privateNetworkId: ${pn01.id}
          dhcpId: ${dhcp01.id}
          cleanupDhcp: true
          enableMasquerade: true
      rsv01:
        type: scaleway:VpcPublicGatewayDhcpReservation
        properties:
          gatewayNetworkId: ${gn01.id}
          macAddress: ${pnic01.macAddress}
          ipAddress: 192.168.0.7
      # PAT rule for SSH traffic
      pat01:
        type: scaleway:VpcPublicGatewayPatRule
        properties:
          gatewayId: ${pg01.id}
          privateIp: ${rsv01.ipAddress}
          privatePort: 22
          publicPort: 2202
          protocol: tcp
    

    Create VpcPublicGatewayPatRule Resource

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

    Constructor syntax

    new VpcPublicGatewayPatRule(name: string, args: VpcPublicGatewayPatRuleArgs, opts?: CustomResourceOptions);
    @overload
    def VpcPublicGatewayPatRule(resource_name: str,
                                args: VpcPublicGatewayPatRuleArgs,
                                opts: Optional[ResourceOptions] = None)
    
    @overload
    def VpcPublicGatewayPatRule(resource_name: str,
                                opts: Optional[ResourceOptions] = None,
                                gateway_id: Optional[str] = None,
                                private_ip: Optional[str] = None,
                                private_port: Optional[int] = None,
                                public_port: Optional[int] = None,
                                protocol: Optional[str] = None,
                                zone: Optional[str] = None)
    func NewVpcPublicGatewayPatRule(ctx *Context, name string, args VpcPublicGatewayPatRuleArgs, opts ...ResourceOption) (*VpcPublicGatewayPatRule, error)
    public VpcPublicGatewayPatRule(string name, VpcPublicGatewayPatRuleArgs args, CustomResourceOptions? opts = null)
    public VpcPublicGatewayPatRule(String name, VpcPublicGatewayPatRuleArgs args)
    public VpcPublicGatewayPatRule(String name, VpcPublicGatewayPatRuleArgs args, CustomResourceOptions options)
    
    type: scaleway:VpcPublicGatewayPatRule
    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 VpcPublicGatewayPatRuleArgs
    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 VpcPublicGatewayPatRuleArgs
    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 VpcPublicGatewayPatRuleArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args VpcPublicGatewayPatRuleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args VpcPublicGatewayPatRuleArgs
    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 vpcPublicGatewayPatRuleResource = new Scaleway.VpcPublicGatewayPatRule("vpcPublicGatewayPatRuleResource", new()
    {
        GatewayId = "string",
        PrivateIp = "string",
        PrivatePort = 0,
        PublicPort = 0,
        Protocol = "string",
        Zone = "string",
    });
    
    example, err := scaleway.NewVpcPublicGatewayPatRule(ctx, "vpcPublicGatewayPatRuleResource", &scaleway.VpcPublicGatewayPatRuleArgs{
    	GatewayId:   pulumi.String("string"),
    	PrivateIp:   pulumi.String("string"),
    	PrivatePort: pulumi.Int(0),
    	PublicPort:  pulumi.Int(0),
    	Protocol:    pulumi.String("string"),
    	Zone:        pulumi.String("string"),
    })
    
    var vpcPublicGatewayPatRuleResource = new VpcPublicGatewayPatRule("vpcPublicGatewayPatRuleResource", VpcPublicGatewayPatRuleArgs.builder()
        .gatewayId("string")
        .privateIp("string")
        .privatePort(0)
        .publicPort(0)
        .protocol("string")
        .zone("string")
        .build());
    
    vpc_public_gateway_pat_rule_resource = scaleway.VpcPublicGatewayPatRule("vpcPublicGatewayPatRuleResource",
        gateway_id="string",
        private_ip="string",
        private_port=0,
        public_port=0,
        protocol="string",
        zone="string")
    
    const vpcPublicGatewayPatRuleResource = new scaleway.VpcPublicGatewayPatRule("vpcPublicGatewayPatRuleResource", {
        gatewayId: "string",
        privateIp: "string",
        privatePort: 0,
        publicPort: 0,
        protocol: "string",
        zone: "string",
    });
    
    type: scaleway:VpcPublicGatewayPatRule
    properties:
        gatewayId: string
        privateIp: string
        privatePort: 0
        protocol: string
        publicPort: 0
        zone: string
    

    VpcPublicGatewayPatRule 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 VpcPublicGatewayPatRule resource accepts the following input properties:

    GatewayId string
    The ID of the public gateway.
    PrivateIp string
    The Private IP to forward data to (IP address).
    PrivatePort int
    The Private port to translate to.
    PublicPort int
    The Public port to listen on.
    Protocol string
    The Protocol the rule should apply to. Possible values are both, tcp and udp.
    Zone string
    zone) The zone in which the public gateway DHCP config should be created.
    GatewayId string
    The ID of the public gateway.
    PrivateIp string
    The Private IP to forward data to (IP address).
    PrivatePort int
    The Private port to translate to.
    PublicPort int
    The Public port to listen on.
    Protocol string
    The Protocol the rule should apply to. Possible values are both, tcp and udp.
    Zone string
    zone) The zone in which the public gateway DHCP config should be created.
    gatewayId String
    The ID of the public gateway.
    privateIp String
    The Private IP to forward data to (IP address).
    privatePort Integer
    The Private port to translate to.
    publicPort Integer
    The Public port to listen on.
    protocol String
    The Protocol the rule should apply to. Possible values are both, tcp and udp.
    zone String
    zone) The zone in which the public gateway DHCP config should be created.
    gatewayId string
    The ID of the public gateway.
    privateIp string
    The Private IP to forward data to (IP address).
    privatePort number
    The Private port to translate to.
    publicPort number
    The Public port to listen on.
    protocol string
    The Protocol the rule should apply to. Possible values are both, tcp and udp.
    zone string
    zone) The zone in which the public gateway DHCP config should be created.
    gateway_id str
    The ID of the public gateway.
    private_ip str
    The Private IP to forward data to (IP address).
    private_port int
    The Private port to translate to.
    public_port int
    The Public port to listen on.
    protocol str
    The Protocol the rule should apply to. Possible values are both, tcp and udp.
    zone str
    zone) The zone in which the public gateway DHCP config should be created.
    gatewayId String
    The ID of the public gateway.
    privateIp String
    The Private IP to forward data to (IP address).
    privatePort Number
    The Private port to translate to.
    publicPort Number
    The Public port to listen on.
    protocol String
    The Protocol the rule should apply to. Possible values are both, tcp and udp.
    zone String
    zone) The zone in which the public gateway DHCP config should be created.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the VpcPublicGatewayPatRule resource produces the following output properties:

    CreatedAt string
    The date and time of the creation of the pat rule config.
    Id string
    The provider-assigned unique ID for this managed resource.
    OrganizationId string
    The organization ID the pat rule config is associated with.
    UpdatedAt string
    The date and time of the last update of the pat rule config.
    CreatedAt string
    The date and time of the creation of the pat rule config.
    Id string
    The provider-assigned unique ID for this managed resource.
    OrganizationId string
    The organization ID the pat rule config is associated with.
    UpdatedAt string
    The date and time of the last update of the pat rule config.
    createdAt String
    The date and time of the creation of the pat rule config.
    id String
    The provider-assigned unique ID for this managed resource.
    organizationId String
    The organization ID the pat rule config is associated with.
    updatedAt String
    The date and time of the last update of the pat rule config.
    createdAt string
    The date and time of the creation of the pat rule config.
    id string
    The provider-assigned unique ID for this managed resource.
    organizationId string
    The organization ID the pat rule config is associated with.
    updatedAt string
    The date and time of the last update of the pat rule config.
    created_at str
    The date and time of the creation of the pat rule config.
    id str
    The provider-assigned unique ID for this managed resource.
    organization_id str
    The organization ID the pat rule config is associated with.
    updated_at str
    The date and time of the last update of the pat rule config.
    createdAt String
    The date and time of the creation of the pat rule config.
    id String
    The provider-assigned unique ID for this managed resource.
    organizationId String
    The organization ID the pat rule config is associated with.
    updatedAt String
    The date and time of the last update of the pat rule config.

    Look up Existing VpcPublicGatewayPatRule Resource

    Get an existing VpcPublicGatewayPatRule 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?: VpcPublicGatewayPatRuleState, opts?: CustomResourceOptions): VpcPublicGatewayPatRule
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            created_at: Optional[str] = None,
            gateway_id: Optional[str] = None,
            organization_id: Optional[str] = None,
            private_ip: Optional[str] = None,
            private_port: Optional[int] = None,
            protocol: Optional[str] = None,
            public_port: Optional[int] = None,
            updated_at: Optional[str] = None,
            zone: Optional[str] = None) -> VpcPublicGatewayPatRule
    func GetVpcPublicGatewayPatRule(ctx *Context, name string, id IDInput, state *VpcPublicGatewayPatRuleState, opts ...ResourceOption) (*VpcPublicGatewayPatRule, error)
    public static VpcPublicGatewayPatRule Get(string name, Input<string> id, VpcPublicGatewayPatRuleState? state, CustomResourceOptions? opts = null)
    public static VpcPublicGatewayPatRule get(String name, Output<String> id, VpcPublicGatewayPatRuleState 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:
    CreatedAt string
    The date and time of the creation of the pat rule config.
    GatewayId string
    The ID of the public gateway.
    OrganizationId string
    The organization ID the pat rule config is associated with.
    PrivateIp string
    The Private IP to forward data to (IP address).
    PrivatePort int
    The Private port to translate to.
    Protocol string
    The Protocol the rule should apply to. Possible values are both, tcp and udp.
    PublicPort int
    The Public port to listen on.
    UpdatedAt string
    The date and time of the last update of the pat rule config.
    Zone string
    zone) The zone in which the public gateway DHCP config should be created.
    CreatedAt string
    The date and time of the creation of the pat rule config.
    GatewayId string
    The ID of the public gateway.
    OrganizationId string
    The organization ID the pat rule config is associated with.
    PrivateIp string
    The Private IP to forward data to (IP address).
    PrivatePort int
    The Private port to translate to.
    Protocol string
    The Protocol the rule should apply to. Possible values are both, tcp and udp.
    PublicPort int
    The Public port to listen on.
    UpdatedAt string
    The date and time of the last update of the pat rule config.
    Zone string
    zone) The zone in which the public gateway DHCP config should be created.
    createdAt String
    The date and time of the creation of the pat rule config.
    gatewayId String
    The ID of the public gateway.
    organizationId String
    The organization ID the pat rule config is associated with.
    privateIp String
    The Private IP to forward data to (IP address).
    privatePort Integer
    The Private port to translate to.
    protocol String
    The Protocol the rule should apply to. Possible values are both, tcp and udp.
    publicPort Integer
    The Public port to listen on.
    updatedAt String
    The date and time of the last update of the pat rule config.
    zone String
    zone) The zone in which the public gateway DHCP config should be created.
    createdAt string
    The date and time of the creation of the pat rule config.
    gatewayId string
    The ID of the public gateway.
    organizationId string
    The organization ID the pat rule config is associated with.
    privateIp string
    The Private IP to forward data to (IP address).
    privatePort number
    The Private port to translate to.
    protocol string
    The Protocol the rule should apply to. Possible values are both, tcp and udp.
    publicPort number
    The Public port to listen on.
    updatedAt string
    The date and time of the last update of the pat rule config.
    zone string
    zone) The zone in which the public gateway DHCP config should be created.
    created_at str
    The date and time of the creation of the pat rule config.
    gateway_id str
    The ID of the public gateway.
    organization_id str
    The organization ID the pat rule config is associated with.
    private_ip str
    The Private IP to forward data to (IP address).
    private_port int
    The Private port to translate to.
    protocol str
    The Protocol the rule should apply to. Possible values are both, tcp and udp.
    public_port int
    The Public port to listen on.
    updated_at str
    The date and time of the last update of the pat rule config.
    zone str
    zone) The zone in which the public gateway DHCP config should be created.
    createdAt String
    The date and time of the creation of the pat rule config.
    gatewayId String
    The ID of the public gateway.
    organizationId String
    The organization ID the pat rule config is associated with.
    privateIp String
    The Private IP to forward data to (IP address).
    privatePort Number
    The Private port to translate to.
    protocol String
    The Protocol the rule should apply to. Possible values are both, tcp and udp.
    publicPort Number
    The Public port to listen on.
    updatedAt String
    The date and time of the last update of the pat rule config.
    zone String
    zone) The zone in which the public gateway DHCP config should be created.

    Import

    Public gateway PAT rules config can be imported using the {zone}/{id}, e.g.

    bash

    $ pulumi import scaleway:index/vpcPublicGatewayPatRule:VpcPublicGatewayPatRule main fr-par-1/11111111-1111-1111-1111-111111111111
    

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

    Package Details

    Repository
    scaleway pulumiverse/pulumi-scaleway
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the scaleway Terraform Provider.
    scaleway logo
    Scaleway v1.14.0 published on Thursday, Jun 6, 2024 by pulumiverse