1. Packages
  2. Scaleway
  3. API Docs
  4. VpcGatewayNetwork
Scaleway v1.15.0 published on Tuesday, Jul 30, 2024 by pulumiverse

scaleway.VpcGatewayNetwork

Explore with Pulumi AI

scaleway logo
Scaleway v1.15.0 published on Tuesday, Jul 30, 2024 by pulumiverse

    Creates and manages GatewayNetworks (connections between a Public Gateway and a Private Network).

    It allows the attachment of Private Networks to Public Gateways and DHCP configurations. For more information, see the API documentation.

    Example Usage

    Create a GatewayNetwork with IPAM configuration

    import * as pulumi from "@pulumi/pulumi";
    import * as scaleway from "@pulumiverse/scaleway";
    
    const vpc01 = new scaleway.Vpc("vpc01", {});
    const pn01 = new scaleway.VpcPrivateNetwork("pn01", {
        ipv4Subnet: {
            subnet: "172.16.64.0/22",
        },
        vpcId: vpc01.id,
    });
    const pg01 = new scaleway.VpcPublicGateway("pg01", {type: "VPC-GW-S"});
    const main = new scaleway.VpcGatewayNetwork("main", {
        gatewayId: pg01.id,
        privateNetworkId: pn01.id,
        enableMasquerade: true,
        ipamConfigs: [{
            pushDefaultRoute: true,
        }],
    });
    
    import pulumi
    import pulumiverse_scaleway as scaleway
    
    vpc01 = scaleway.Vpc("vpc01")
    pn01 = scaleway.VpcPrivateNetwork("pn01",
        ipv4_subnet=scaleway.VpcPrivateNetworkIpv4SubnetArgs(
            subnet="172.16.64.0/22",
        ),
        vpc_id=vpc01.id)
    pg01 = scaleway.VpcPublicGateway("pg01", type="VPC-GW-S")
    main = scaleway.VpcGatewayNetwork("main",
        gateway_id=pg01.id,
        private_network_id=pn01.id,
        enable_masquerade=True,
        ipam_configs=[scaleway.VpcGatewayNetworkIpamConfigArgs(
            push_default_route=True,
        )])
    
    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 {
    		vpc01, err := scaleway.NewVpc(ctx, "vpc01", nil)
    		if err != nil {
    			return err
    		}
    		pn01, err := scaleway.NewVpcPrivateNetwork(ctx, "pn01", &scaleway.VpcPrivateNetworkArgs{
    			Ipv4Subnet: &scaleway.VpcPrivateNetworkIpv4SubnetArgs{
    				Subnet: pulumi.String("172.16.64.0/22"),
    			},
    			VpcId: vpc01.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		pg01, err := scaleway.NewVpcPublicGateway(ctx, "pg01", &scaleway.VpcPublicGatewayArgs{
    			Type: pulumi.String("VPC-GW-S"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = scaleway.NewVpcGatewayNetwork(ctx, "main", &scaleway.VpcGatewayNetworkArgs{
    			GatewayId:        pg01.ID(),
    			PrivateNetworkId: pn01.ID(),
    			EnableMasquerade: pulumi.Bool(true),
    			IpamConfigs: scaleway.VpcGatewayNetworkIpamConfigArray{
    				&scaleway.VpcGatewayNetworkIpamConfigArgs{
    					PushDefaultRoute: pulumi.Bool(true),
    				},
    			},
    		})
    		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 vpc01 = new Scaleway.Vpc("vpc01");
    
        var pn01 = new Scaleway.VpcPrivateNetwork("pn01", new()
        {
            Ipv4Subnet = new Scaleway.Inputs.VpcPrivateNetworkIpv4SubnetArgs
            {
                Subnet = "172.16.64.0/22",
            },
            VpcId = vpc01.Id,
        });
    
        var pg01 = new Scaleway.VpcPublicGateway("pg01", new()
        {
            Type = "VPC-GW-S",
        });
    
        var main = new Scaleway.VpcGatewayNetwork("main", new()
        {
            GatewayId = pg01.Id,
            PrivateNetworkId = pn01.Id,
            EnableMasquerade = true,
            IpamConfigs = new[]
            {
                new Scaleway.Inputs.VpcGatewayNetworkIpamConfigArgs
                {
                    PushDefaultRoute = true,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scaleway.Vpc;
    import com.pulumi.scaleway.VpcPrivateNetwork;
    import com.pulumi.scaleway.VpcPrivateNetworkArgs;
    import com.pulumi.scaleway.inputs.VpcPrivateNetworkIpv4SubnetArgs;
    import com.pulumi.scaleway.VpcPublicGateway;
    import com.pulumi.scaleway.VpcPublicGatewayArgs;
    import com.pulumi.scaleway.VpcGatewayNetwork;
    import com.pulumi.scaleway.VpcGatewayNetworkArgs;
    import com.pulumi.scaleway.inputs.VpcGatewayNetworkIpamConfigArgs;
    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 vpc01 = new Vpc("vpc01");
    
            var pn01 = new VpcPrivateNetwork("pn01", VpcPrivateNetworkArgs.builder()
                .ipv4Subnet(VpcPrivateNetworkIpv4SubnetArgs.builder()
                    .subnet("172.16.64.0/22")
                    .build())
                .vpcId(vpc01.id())
                .build());
    
            var pg01 = new VpcPublicGateway("pg01", VpcPublicGatewayArgs.builder()
                .type("VPC-GW-S")
                .build());
    
            var main = new VpcGatewayNetwork("main", VpcGatewayNetworkArgs.builder()
                .gatewayId(pg01.id())
                .privateNetworkId(pn01.id())
                .enableMasquerade(true)
                .ipamConfigs(VpcGatewayNetworkIpamConfigArgs.builder()
                    .pushDefaultRoute(true)
                    .build())
                .build());
    
        }
    }
    
    resources:
      vpc01:
        type: scaleway:Vpc
      pn01:
        type: scaleway:VpcPrivateNetwork
        properties:
          ipv4Subnet:
            subnet: 172.16.64.0/22
          vpcId: ${vpc01.id}
      pg01:
        type: scaleway:VpcPublicGateway
        properties:
          type: VPC-GW-S
      main:
        type: scaleway:VpcGatewayNetwork
        properties:
          gatewayId: ${pg01.id}
          privateNetworkId: ${pn01.id}
          enableMasquerade: true
          ipamConfigs:
            - pushDefaultRoute: true
    

    Create a GatewayNetwork with a booked IPAM IP

    import * as pulumi from "@pulumi/pulumi";
    import * as scaleway from "@pulumiverse/scaleway";
    
    const vpc01 = new scaleway.Vpc("vpc01", {});
    const pn01 = new scaleway.VpcPrivateNetwork("pn01", {
        ipv4Subnet: {
            subnet: "172.16.64.0/22",
        },
        vpcId: vpc01.id,
    });
    const ip01 = new scaleway.IpamIp("ip01", {
        address: "172.16.64.7",
        sources: [{
            privateNetworkId: pn01.id,
        }],
    });
    const pg01 = new scaleway.VpcPublicGateway("pg01", {type: "VPC-GW-S"});
    const main = new scaleway.VpcGatewayNetwork("main", {
        gatewayId: pg01.id,
        privateNetworkId: pn01.id,
        enableMasquerade: true,
        ipamConfigs: [{
            pushDefaultRoute: true,
            ipamIpId: ip01.id,
        }],
    });
    
    import pulumi
    import pulumiverse_scaleway as scaleway
    
    vpc01 = scaleway.Vpc("vpc01")
    pn01 = scaleway.VpcPrivateNetwork("pn01",
        ipv4_subnet=scaleway.VpcPrivateNetworkIpv4SubnetArgs(
            subnet="172.16.64.0/22",
        ),
        vpc_id=vpc01.id)
    ip01 = scaleway.IpamIp("ip01",
        address="172.16.64.7",
        sources=[scaleway.IpamIpSourceArgs(
            private_network_id=pn01.id,
        )])
    pg01 = scaleway.VpcPublicGateway("pg01", type="VPC-GW-S")
    main = scaleway.VpcGatewayNetwork("main",
        gateway_id=pg01.id,
        private_network_id=pn01.id,
        enable_masquerade=True,
        ipam_configs=[scaleway.VpcGatewayNetworkIpamConfigArgs(
            push_default_route=True,
            ipam_ip_id=ip01.id,
        )])
    
    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 {
    		vpc01, err := scaleway.NewVpc(ctx, "vpc01", nil)
    		if err != nil {
    			return err
    		}
    		pn01, err := scaleway.NewVpcPrivateNetwork(ctx, "pn01", &scaleway.VpcPrivateNetworkArgs{
    			Ipv4Subnet: &scaleway.VpcPrivateNetworkIpv4SubnetArgs{
    				Subnet: pulumi.String("172.16.64.0/22"),
    			},
    			VpcId: vpc01.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		ip01, err := scaleway.NewIpamIp(ctx, "ip01", &scaleway.IpamIpArgs{
    			Address: pulumi.String("172.16.64.7"),
    			Sources: scaleway.IpamIpSourceArray{
    				&scaleway.IpamIpSourceArgs{
    					PrivateNetworkId: pn01.ID(),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		pg01, err := scaleway.NewVpcPublicGateway(ctx, "pg01", &scaleway.VpcPublicGatewayArgs{
    			Type: pulumi.String("VPC-GW-S"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = scaleway.NewVpcGatewayNetwork(ctx, "main", &scaleway.VpcGatewayNetworkArgs{
    			GatewayId:        pg01.ID(),
    			PrivateNetworkId: pn01.ID(),
    			EnableMasquerade: pulumi.Bool(true),
    			IpamConfigs: scaleway.VpcGatewayNetworkIpamConfigArray{
    				&scaleway.VpcGatewayNetworkIpamConfigArgs{
    					PushDefaultRoute: pulumi.Bool(true),
    					IpamIpId:         ip01.ID(),
    				},
    			},
    		})
    		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 vpc01 = new Scaleway.Vpc("vpc01");
    
        var pn01 = new Scaleway.VpcPrivateNetwork("pn01", new()
        {
            Ipv4Subnet = new Scaleway.Inputs.VpcPrivateNetworkIpv4SubnetArgs
            {
                Subnet = "172.16.64.0/22",
            },
            VpcId = vpc01.Id,
        });
    
        var ip01 = new Scaleway.IpamIp("ip01", new()
        {
            Address = "172.16.64.7",
            Sources = new[]
            {
                new Scaleway.Inputs.IpamIpSourceArgs
                {
                    PrivateNetworkId = pn01.Id,
                },
            },
        });
    
        var pg01 = new Scaleway.VpcPublicGateway("pg01", new()
        {
            Type = "VPC-GW-S",
        });
    
        var main = new Scaleway.VpcGatewayNetwork("main", new()
        {
            GatewayId = pg01.Id,
            PrivateNetworkId = pn01.Id,
            EnableMasquerade = true,
            IpamConfigs = new[]
            {
                new Scaleway.Inputs.VpcGatewayNetworkIpamConfigArgs
                {
                    PushDefaultRoute = true,
                    IpamIpId = ip01.Id,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scaleway.Vpc;
    import com.pulumi.scaleway.VpcPrivateNetwork;
    import com.pulumi.scaleway.VpcPrivateNetworkArgs;
    import com.pulumi.scaleway.inputs.VpcPrivateNetworkIpv4SubnetArgs;
    import com.pulumi.scaleway.IpamIp;
    import com.pulumi.scaleway.IpamIpArgs;
    import com.pulumi.scaleway.inputs.IpamIpSourceArgs;
    import com.pulumi.scaleway.VpcPublicGateway;
    import com.pulumi.scaleway.VpcPublicGatewayArgs;
    import com.pulumi.scaleway.VpcGatewayNetwork;
    import com.pulumi.scaleway.VpcGatewayNetworkArgs;
    import com.pulumi.scaleway.inputs.VpcGatewayNetworkIpamConfigArgs;
    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 vpc01 = new Vpc("vpc01");
    
            var pn01 = new VpcPrivateNetwork("pn01", VpcPrivateNetworkArgs.builder()
                .ipv4Subnet(VpcPrivateNetworkIpv4SubnetArgs.builder()
                    .subnet("172.16.64.0/22")
                    .build())
                .vpcId(vpc01.id())
                .build());
    
            var ip01 = new IpamIp("ip01", IpamIpArgs.builder()
                .address("172.16.64.7")
                .sources(IpamIpSourceArgs.builder()
                    .privateNetworkId(pn01.id())
                    .build())
                .build());
    
            var pg01 = new VpcPublicGateway("pg01", VpcPublicGatewayArgs.builder()
                .type("VPC-GW-S")
                .build());
    
            var main = new VpcGatewayNetwork("main", VpcGatewayNetworkArgs.builder()
                .gatewayId(pg01.id())
                .privateNetworkId(pn01.id())
                .enableMasquerade(true)
                .ipamConfigs(VpcGatewayNetworkIpamConfigArgs.builder()
                    .pushDefaultRoute(true)
                    .ipamIpId(ip01.id())
                    .build())
                .build());
    
        }
    }
    
    resources:
      vpc01:
        type: scaleway:Vpc
      pn01:
        type: scaleway:VpcPrivateNetwork
        properties:
          ipv4Subnet:
            subnet: 172.16.64.0/22
          vpcId: ${vpc01.id}
      ip01:
        type: scaleway:IpamIp
        properties:
          address: 172.16.64.7
          sources:
            - privateNetworkId: ${pn01.id}
      pg01:
        type: scaleway:VpcPublicGateway
        properties:
          type: VPC-GW-S
      main:
        type: scaleway:VpcGatewayNetwork
        properties:
          gatewayId: ${pg01.id}
          privateNetworkId: ${pn01.id}
          enableMasquerade: true
          ipamConfigs:
            - pushDefaultRoute: true
              ipamIpId: ${ip01.id}
    

    Create a GatewayNetwork with DHCP

    import * as pulumi from "@pulumi/pulumi";
    import * as scaleway from "@pulumiverse/scaleway";
    
    const pn01 = new scaleway.VpcPrivateNetwork("pn01", {});
    const gw01 = new scaleway.VpcPublicGatewayIp("gw01", {});
    const dhcp01 = new scaleway.VpcPublicGatewayDhcp("dhcp01", {
        subnet: "192.168.1.0/24",
        pushDefaultRoute: true,
    });
    const pg01 = new scaleway.VpcPublicGateway("pg01", {
        type: "VPC-GW-S",
        ipId: gw01.id,
    });
    const main = new scaleway.VpcGatewayNetwork("main", {
        gatewayId: pg01.id,
        privateNetworkId: pn01.id,
        dhcpId: dhcp01.id,
        cleanupDhcp: true,
        enableMasquerade: true,
    });
    
    import pulumi
    import pulumiverse_scaleway as scaleway
    
    pn01 = scaleway.VpcPrivateNetwork("pn01")
    gw01 = scaleway.VpcPublicGatewayIp("gw01")
    dhcp01 = scaleway.VpcPublicGatewayDhcp("dhcp01",
        subnet="192.168.1.0/24",
        push_default_route=True)
    pg01 = scaleway.VpcPublicGateway("pg01",
        type="VPC-GW-S",
        ip_id=gw01.id)
    main = scaleway.VpcGatewayNetwork("main",
        gateway_id=pg01.id,
        private_network_id=pn01.id,
        dhcp_id=dhcp01.id,
        cleanup_dhcp=True,
        enable_masquerade=True)
    
    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 {
    		pn01, err := scaleway.NewVpcPrivateNetwork(ctx, "pn01", nil)
    		if err != nil {
    			return err
    		}
    		gw01, err := scaleway.NewVpcPublicGatewayIp(ctx, "gw01", nil)
    		if err != nil {
    			return err
    		}
    		dhcp01, err := scaleway.NewVpcPublicGatewayDhcp(ctx, "dhcp01", &scaleway.VpcPublicGatewayDhcpArgs{
    			Subnet:           pulumi.String("192.168.1.0/24"),
    			PushDefaultRoute: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		pg01, err := scaleway.NewVpcPublicGateway(ctx, "pg01", &scaleway.VpcPublicGatewayArgs{
    			Type: pulumi.String("VPC-GW-S"),
    			IpId: gw01.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = scaleway.NewVpcGatewayNetwork(ctx, "main", &scaleway.VpcGatewayNetworkArgs{
    			GatewayId:        pg01.ID(),
    			PrivateNetworkId: pn01.ID(),
    			DhcpId:           dhcp01.ID(),
    			CleanupDhcp:      pulumi.Bool(true),
    			EnableMasquerade: pulumi.Bool(true),
    		})
    		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 pn01 = new Scaleway.VpcPrivateNetwork("pn01");
    
        var gw01 = new Scaleway.VpcPublicGatewayIp("gw01");
    
        var dhcp01 = new Scaleway.VpcPublicGatewayDhcp("dhcp01", new()
        {
            Subnet = "192.168.1.0/24",
            PushDefaultRoute = true,
        });
    
        var pg01 = new Scaleway.VpcPublicGateway("pg01", new()
        {
            Type = "VPC-GW-S",
            IpId = gw01.Id,
        });
    
        var main = new Scaleway.VpcGatewayNetwork("main", new()
        {
            GatewayId = pg01.Id,
            PrivateNetworkId = pn01.Id,
            DhcpId = dhcp01.Id,
            CleanupDhcp = true,
            EnableMasquerade = true,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scaleway.VpcPrivateNetwork;
    import com.pulumi.scaleway.VpcPublicGatewayIp;
    import com.pulumi.scaleway.VpcPublicGatewayDhcp;
    import com.pulumi.scaleway.VpcPublicGatewayDhcpArgs;
    import com.pulumi.scaleway.VpcPublicGateway;
    import com.pulumi.scaleway.VpcPublicGatewayArgs;
    import com.pulumi.scaleway.VpcGatewayNetwork;
    import com.pulumi.scaleway.VpcGatewayNetworkArgs;
    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 pn01 = new VpcPrivateNetwork("pn01");
    
            var gw01 = new VpcPublicGatewayIp("gw01");
    
            var dhcp01 = new VpcPublicGatewayDhcp("dhcp01", VpcPublicGatewayDhcpArgs.builder()
                .subnet("192.168.1.0/24")
                .pushDefaultRoute(true)
                .build());
    
            var pg01 = new VpcPublicGateway("pg01", VpcPublicGatewayArgs.builder()
                .type("VPC-GW-S")
                .ipId(gw01.id())
                .build());
    
            var main = new VpcGatewayNetwork("main", VpcGatewayNetworkArgs.builder()
                .gatewayId(pg01.id())
                .privateNetworkId(pn01.id())
                .dhcpId(dhcp01.id())
                .cleanupDhcp(true)
                .enableMasquerade(true)
                .build());
    
        }
    }
    
    resources:
      pn01:
        type: scaleway:VpcPrivateNetwork
      gw01:
        type: scaleway:VpcPublicGatewayIp
      dhcp01:
        type: scaleway:VpcPublicGatewayDhcp
        properties:
          subnet: 192.168.1.0/24
          pushDefaultRoute: true
      pg01:
        type: scaleway:VpcPublicGateway
        properties:
          type: VPC-GW-S
          ipId: ${gw01.id}
      main:
        type: scaleway:VpcGatewayNetwork
        properties:
          gatewayId: ${pg01.id}
          privateNetworkId: ${pn01.id}
          dhcpId: ${dhcp01.id}
          cleanupDhcp: true
          enableMasquerade: true
    

    Create a GatewayNetwork with a static IP address

    import * as pulumi from "@pulumi/pulumi";
    import * as scaleway from "@pulumiverse/scaleway";
    
    const pn01 = new scaleway.VpcPrivateNetwork("pn01", {});
    const pg01 = new scaleway.VpcPublicGateway("pg01", {type: "VPC-GW-S"});
    const main = new scaleway.VpcGatewayNetwork("main", {
        gatewayId: pg01.id,
        privateNetworkId: pn01.id,
        enableDhcp: false,
        enableMasquerade: true,
        staticAddress: "192.168.1.42/24",
    });
    
    import pulumi
    import pulumiverse_scaleway as scaleway
    
    pn01 = scaleway.VpcPrivateNetwork("pn01")
    pg01 = scaleway.VpcPublicGateway("pg01", type="VPC-GW-S")
    main = scaleway.VpcGatewayNetwork("main",
        gateway_id=pg01.id,
        private_network_id=pn01.id,
        enable_dhcp=False,
        enable_masquerade=True,
        static_address="192.168.1.42/24")
    
    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 {
    		pn01, err := scaleway.NewVpcPrivateNetwork(ctx, "pn01", nil)
    		if err != nil {
    			return err
    		}
    		pg01, err := scaleway.NewVpcPublicGateway(ctx, "pg01", &scaleway.VpcPublicGatewayArgs{
    			Type: pulumi.String("VPC-GW-S"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = scaleway.NewVpcGatewayNetwork(ctx, "main", &scaleway.VpcGatewayNetworkArgs{
    			GatewayId:        pg01.ID(),
    			PrivateNetworkId: pn01.ID(),
    			EnableDhcp:       pulumi.Bool(false),
    			EnableMasquerade: pulumi.Bool(true),
    			StaticAddress:    pulumi.String("192.168.1.42/24"),
    		})
    		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 pn01 = new Scaleway.VpcPrivateNetwork("pn01");
    
        var pg01 = new Scaleway.VpcPublicGateway("pg01", new()
        {
            Type = "VPC-GW-S",
        });
    
        var main = new Scaleway.VpcGatewayNetwork("main", new()
        {
            GatewayId = pg01.Id,
            PrivateNetworkId = pn01.Id,
            EnableDhcp = false,
            EnableMasquerade = true,
            StaticAddress = "192.168.1.42/24",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scaleway.VpcPrivateNetwork;
    import com.pulumi.scaleway.VpcPublicGateway;
    import com.pulumi.scaleway.VpcPublicGatewayArgs;
    import com.pulumi.scaleway.VpcGatewayNetwork;
    import com.pulumi.scaleway.VpcGatewayNetworkArgs;
    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 pn01 = new VpcPrivateNetwork("pn01");
    
            var pg01 = new VpcPublicGateway("pg01", VpcPublicGatewayArgs.builder()
                .type("VPC-GW-S")
                .build());
    
            var main = new VpcGatewayNetwork("main", VpcGatewayNetworkArgs.builder()
                .gatewayId(pg01.id())
                .privateNetworkId(pn01.id())
                .enableDhcp(false)
                .enableMasquerade(true)
                .staticAddress("192.168.1.42/24")
                .build());
    
        }
    }
    
    resources:
      pn01:
        type: scaleway:VpcPrivateNetwork
      pg01:
        type: scaleway:VpcPublicGateway
        properties:
          type: VPC-GW-S
      main:
        type: scaleway:VpcGatewayNetwork
        properties:
          gatewayId: ${pg01.id}
          privateNetworkId: ${pn01.id}
          enableDhcp: false
          enableMasquerade: true
          staticAddress: 192.168.1.42/24
    

    Create VpcGatewayNetwork Resource

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

    Constructor syntax

    new VpcGatewayNetwork(name: string, args: VpcGatewayNetworkArgs, opts?: CustomResourceOptions);
    @overload
    def VpcGatewayNetwork(resource_name: str,
                          args: VpcGatewayNetworkArgs,
                          opts: Optional[ResourceOptions] = None)
    
    @overload
    def VpcGatewayNetwork(resource_name: str,
                          opts: Optional[ResourceOptions] = None,
                          gateway_id: Optional[str] = None,
                          private_network_id: Optional[str] = None,
                          cleanup_dhcp: Optional[bool] = None,
                          dhcp_id: Optional[str] = None,
                          enable_dhcp: Optional[bool] = None,
                          enable_masquerade: Optional[bool] = None,
                          ipam_configs: Optional[Sequence[VpcGatewayNetworkIpamConfigArgs]] = None,
                          static_address: Optional[str] = None,
                          zone: Optional[str] = None)
    func NewVpcGatewayNetwork(ctx *Context, name string, args VpcGatewayNetworkArgs, opts ...ResourceOption) (*VpcGatewayNetwork, error)
    public VpcGatewayNetwork(string name, VpcGatewayNetworkArgs args, CustomResourceOptions? opts = null)
    public VpcGatewayNetwork(String name, VpcGatewayNetworkArgs args)
    public VpcGatewayNetwork(String name, VpcGatewayNetworkArgs args, CustomResourceOptions options)
    
    type: scaleway:VpcGatewayNetwork
    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 VpcGatewayNetworkArgs
    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 VpcGatewayNetworkArgs
    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 VpcGatewayNetworkArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args VpcGatewayNetworkArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args VpcGatewayNetworkArgs
    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 vpcGatewayNetworkResource = new Scaleway.VpcGatewayNetwork("vpcGatewayNetworkResource", new()
    {
        GatewayId = "string",
        PrivateNetworkId = "string",
        CleanupDhcp = false,
        DhcpId = "string",
        EnableDhcp = false,
        EnableMasquerade = false,
        IpamConfigs = new[]
        {
            new Scaleway.Inputs.VpcGatewayNetworkIpamConfigArgs
            {
                IpamIpId = "string",
                PushDefaultRoute = false,
            },
        },
        StaticAddress = "string",
        Zone = "string",
    });
    
    example, err := scaleway.NewVpcGatewayNetwork(ctx, "vpcGatewayNetworkResource", &scaleway.VpcGatewayNetworkArgs{
    	GatewayId:        pulumi.String("string"),
    	PrivateNetworkId: pulumi.String("string"),
    	CleanupDhcp:      pulumi.Bool(false),
    	DhcpId:           pulumi.String("string"),
    	EnableDhcp:       pulumi.Bool(false),
    	EnableMasquerade: pulumi.Bool(false),
    	IpamConfigs: scaleway.VpcGatewayNetworkIpamConfigArray{
    		&scaleway.VpcGatewayNetworkIpamConfigArgs{
    			IpamIpId:         pulumi.String("string"),
    			PushDefaultRoute: pulumi.Bool(false),
    		},
    	},
    	StaticAddress: pulumi.String("string"),
    	Zone:          pulumi.String("string"),
    })
    
    var vpcGatewayNetworkResource = new VpcGatewayNetwork("vpcGatewayNetworkResource", VpcGatewayNetworkArgs.builder()
        .gatewayId("string")
        .privateNetworkId("string")
        .cleanupDhcp(false)
        .dhcpId("string")
        .enableDhcp(false)
        .enableMasquerade(false)
        .ipamConfigs(VpcGatewayNetworkIpamConfigArgs.builder()
            .ipamIpId("string")
            .pushDefaultRoute(false)
            .build())
        .staticAddress("string")
        .zone("string")
        .build());
    
    vpc_gateway_network_resource = scaleway.VpcGatewayNetwork("vpcGatewayNetworkResource",
        gateway_id="string",
        private_network_id="string",
        cleanup_dhcp=False,
        dhcp_id="string",
        enable_dhcp=False,
        enable_masquerade=False,
        ipam_configs=[scaleway.VpcGatewayNetworkIpamConfigArgs(
            ipam_ip_id="string",
            push_default_route=False,
        )],
        static_address="string",
        zone="string")
    
    const vpcGatewayNetworkResource = new scaleway.VpcGatewayNetwork("vpcGatewayNetworkResource", {
        gatewayId: "string",
        privateNetworkId: "string",
        cleanupDhcp: false,
        dhcpId: "string",
        enableDhcp: false,
        enableMasquerade: false,
        ipamConfigs: [{
            ipamIpId: "string",
            pushDefaultRoute: false,
        }],
        staticAddress: "string",
        zone: "string",
    });
    
    type: scaleway:VpcGatewayNetwork
    properties:
        cleanupDhcp: false
        dhcpId: string
        enableDhcp: false
        enableMasquerade: false
        gatewayId: string
        ipamConfigs:
            - ipamIpId: string
              pushDefaultRoute: false
        privateNetworkId: string
        staticAddress: string
        zone: string
    

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

    GatewayId string
    The ID of the Public Gateway.
    PrivateNetworkId string
    The ID of the Private Network.
    CleanupDhcp bool
    Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID.
    DhcpId string
    The ID of the Public Gateway DHCP configuration. Only one of dhcp_id, static_address and ipam_config should be specified.
    EnableDhcp bool
    WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.
    EnableMasquerade bool
    Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork
    IpamConfigs List<Pulumiverse.Scaleway.Inputs.VpcGatewayNetworkIpamConfig>
    Auto-configure the GatewayNetwork using Scaleway's IPAM (IP address management service). Only one of dhcp_id, static_address and ipam_config should be specified.
    StaticAddress string
    Enable DHCP configration on this GatewayNetwork. Only one of dhcp_id, static_address and ipam_config should be specified.
    Zone string
    zone) The zone in which the gateway network should be created.
    GatewayId string
    The ID of the Public Gateway.
    PrivateNetworkId string
    The ID of the Private Network.
    CleanupDhcp bool
    Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID.
    DhcpId string
    The ID of the Public Gateway DHCP configuration. Only one of dhcp_id, static_address and ipam_config should be specified.
    EnableDhcp bool
    WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.
    EnableMasquerade bool
    Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork
    IpamConfigs []VpcGatewayNetworkIpamConfigArgs
    Auto-configure the GatewayNetwork using Scaleway's IPAM (IP address management service). Only one of dhcp_id, static_address and ipam_config should be specified.
    StaticAddress string
    Enable DHCP configration on this GatewayNetwork. Only one of dhcp_id, static_address and ipam_config should be specified.
    Zone string
    zone) The zone in which the gateway network should be created.
    gatewayId String
    The ID of the Public Gateway.
    privateNetworkId String
    The ID of the Private Network.
    cleanupDhcp Boolean
    Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID.
    dhcpId String
    The ID of the Public Gateway DHCP configuration. Only one of dhcp_id, static_address and ipam_config should be specified.
    enableDhcp Boolean
    WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.
    enableMasquerade Boolean
    Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork
    ipamConfigs List<VpcGatewayNetworkIpamConfig>
    Auto-configure the GatewayNetwork using Scaleway's IPAM (IP address management service). Only one of dhcp_id, static_address and ipam_config should be specified.
    staticAddress String
    Enable DHCP configration on this GatewayNetwork. Only one of dhcp_id, static_address and ipam_config should be specified.
    zone String
    zone) The zone in which the gateway network should be created.
    gatewayId string
    The ID of the Public Gateway.
    privateNetworkId string
    The ID of the Private Network.
    cleanupDhcp boolean
    Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID.
    dhcpId string
    The ID of the Public Gateway DHCP configuration. Only one of dhcp_id, static_address and ipam_config should be specified.
    enableDhcp boolean
    WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.
    enableMasquerade boolean
    Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork
    ipamConfigs VpcGatewayNetworkIpamConfig[]
    Auto-configure the GatewayNetwork using Scaleway's IPAM (IP address management service). Only one of dhcp_id, static_address and ipam_config should be specified.
    staticAddress string
    Enable DHCP configration on this GatewayNetwork. Only one of dhcp_id, static_address and ipam_config should be specified.
    zone string
    zone) The zone in which the gateway network should be created.
    gateway_id str
    The ID of the Public Gateway.
    private_network_id str
    The ID of the Private Network.
    cleanup_dhcp bool
    Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID.
    dhcp_id str
    The ID of the Public Gateway DHCP configuration. Only one of dhcp_id, static_address and ipam_config should be specified.
    enable_dhcp bool
    WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.
    enable_masquerade bool
    Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork
    ipam_configs Sequence[VpcGatewayNetworkIpamConfigArgs]
    Auto-configure the GatewayNetwork using Scaleway's IPAM (IP address management service). Only one of dhcp_id, static_address and ipam_config should be specified.
    static_address str
    Enable DHCP configration on this GatewayNetwork. Only one of dhcp_id, static_address and ipam_config should be specified.
    zone str
    zone) The zone in which the gateway network should be created.
    gatewayId String
    The ID of the Public Gateway.
    privateNetworkId String
    The ID of the Private Network.
    cleanupDhcp Boolean
    Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID.
    dhcpId String
    The ID of the Public Gateway DHCP configuration. Only one of dhcp_id, static_address and ipam_config should be specified.
    enableDhcp Boolean
    WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.
    enableMasquerade Boolean
    Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork
    ipamConfigs List<Property Map>
    Auto-configure the GatewayNetwork using Scaleway's IPAM (IP address management service). Only one of dhcp_id, static_address and ipam_config should be specified.
    staticAddress String
    Enable DHCP configration on this GatewayNetwork. Only one of dhcp_id, static_address and ipam_config should be specified.
    zone String
    zone) The zone in which the gateway network should be created.

    Outputs

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

    CreatedAt string
    The date and time of the creation of the GatewayNetwork.
    Id string
    The provider-assigned unique ID for this managed resource.
    MacAddress string
    The MAC address of the GatewayNetwork.
    Status string
    The status of the Public Gateway's connection to the Private Network.
    UpdatedAt string
    The date and time of the last update of the GatewayNetwork.
    CreatedAt string
    The date and time of the creation of the GatewayNetwork.
    Id string
    The provider-assigned unique ID for this managed resource.
    MacAddress string
    The MAC address of the GatewayNetwork.
    Status string
    The status of the Public Gateway's connection to the Private Network.
    UpdatedAt string
    The date and time of the last update of the GatewayNetwork.
    createdAt String
    The date and time of the creation of the GatewayNetwork.
    id String
    The provider-assigned unique ID for this managed resource.
    macAddress String
    The MAC address of the GatewayNetwork.
    status String
    The status of the Public Gateway's connection to the Private Network.
    updatedAt String
    The date and time of the last update of the GatewayNetwork.
    createdAt string
    The date and time of the creation of the GatewayNetwork.
    id string
    The provider-assigned unique ID for this managed resource.
    macAddress string
    The MAC address of the GatewayNetwork.
    status string
    The status of the Public Gateway's connection to the Private Network.
    updatedAt string
    The date and time of the last update of the GatewayNetwork.
    created_at str
    The date and time of the creation of the GatewayNetwork.
    id str
    The provider-assigned unique ID for this managed resource.
    mac_address str
    The MAC address of the GatewayNetwork.
    status str
    The status of the Public Gateway's connection to the Private Network.
    updated_at str
    The date and time of the last update of the GatewayNetwork.
    createdAt String
    The date and time of the creation of the GatewayNetwork.
    id String
    The provider-assigned unique ID for this managed resource.
    macAddress String
    The MAC address of the GatewayNetwork.
    status String
    The status of the Public Gateway's connection to the Private Network.
    updatedAt String
    The date and time of the last update of the GatewayNetwork.

    Look up Existing VpcGatewayNetwork Resource

    Get an existing VpcGatewayNetwork 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?: VpcGatewayNetworkState, opts?: CustomResourceOptions): VpcGatewayNetwork
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            cleanup_dhcp: Optional[bool] = None,
            created_at: Optional[str] = None,
            dhcp_id: Optional[str] = None,
            enable_dhcp: Optional[bool] = None,
            enable_masquerade: Optional[bool] = None,
            gateway_id: Optional[str] = None,
            ipam_configs: Optional[Sequence[VpcGatewayNetworkIpamConfigArgs]] = None,
            mac_address: Optional[str] = None,
            private_network_id: Optional[str] = None,
            static_address: Optional[str] = None,
            status: Optional[str] = None,
            updated_at: Optional[str] = None,
            zone: Optional[str] = None) -> VpcGatewayNetwork
    func GetVpcGatewayNetwork(ctx *Context, name string, id IDInput, state *VpcGatewayNetworkState, opts ...ResourceOption) (*VpcGatewayNetwork, error)
    public static VpcGatewayNetwork Get(string name, Input<string> id, VpcGatewayNetworkState? state, CustomResourceOptions? opts = null)
    public static VpcGatewayNetwork get(String name, Output<String> id, VpcGatewayNetworkState 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:
    CleanupDhcp bool
    Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID.
    CreatedAt string
    The date and time of the creation of the GatewayNetwork.
    DhcpId string
    The ID of the Public Gateway DHCP configuration. Only one of dhcp_id, static_address and ipam_config should be specified.
    EnableDhcp bool
    WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.
    EnableMasquerade bool
    Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork
    GatewayId string
    The ID of the Public Gateway.
    IpamConfigs List<Pulumiverse.Scaleway.Inputs.VpcGatewayNetworkIpamConfig>
    Auto-configure the GatewayNetwork using Scaleway's IPAM (IP address management service). Only one of dhcp_id, static_address and ipam_config should be specified.
    MacAddress string
    The MAC address of the GatewayNetwork.
    PrivateNetworkId string
    The ID of the Private Network.
    StaticAddress string
    Enable DHCP configration on this GatewayNetwork. Only one of dhcp_id, static_address and ipam_config should be specified.
    Status string
    The status of the Public Gateway's connection to the Private Network.
    UpdatedAt string
    The date and time of the last update of the GatewayNetwork.
    Zone string
    zone) The zone in which the gateway network should be created.
    CleanupDhcp bool
    Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID.
    CreatedAt string
    The date and time of the creation of the GatewayNetwork.
    DhcpId string
    The ID of the Public Gateway DHCP configuration. Only one of dhcp_id, static_address and ipam_config should be specified.
    EnableDhcp bool
    WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.
    EnableMasquerade bool
    Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork
    GatewayId string
    The ID of the Public Gateway.
    IpamConfigs []VpcGatewayNetworkIpamConfigArgs
    Auto-configure the GatewayNetwork using Scaleway's IPAM (IP address management service). Only one of dhcp_id, static_address and ipam_config should be specified.
    MacAddress string
    The MAC address of the GatewayNetwork.
    PrivateNetworkId string
    The ID of the Private Network.
    StaticAddress string
    Enable DHCP configration on this GatewayNetwork. Only one of dhcp_id, static_address and ipam_config should be specified.
    Status string
    The status of the Public Gateway's connection to the Private Network.
    UpdatedAt string
    The date and time of the last update of the GatewayNetwork.
    Zone string
    zone) The zone in which the gateway network should be created.
    cleanupDhcp Boolean
    Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID.
    createdAt String
    The date and time of the creation of the GatewayNetwork.
    dhcpId String
    The ID of the Public Gateway DHCP configuration. Only one of dhcp_id, static_address and ipam_config should be specified.
    enableDhcp Boolean
    WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.
    enableMasquerade Boolean
    Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork
    gatewayId String
    The ID of the Public Gateway.
    ipamConfigs List<VpcGatewayNetworkIpamConfig>
    Auto-configure the GatewayNetwork using Scaleway's IPAM (IP address management service). Only one of dhcp_id, static_address and ipam_config should be specified.
    macAddress String
    The MAC address of the GatewayNetwork.
    privateNetworkId String
    The ID of the Private Network.
    staticAddress String
    Enable DHCP configration on this GatewayNetwork. Only one of dhcp_id, static_address and ipam_config should be specified.
    status String
    The status of the Public Gateway's connection to the Private Network.
    updatedAt String
    The date and time of the last update of the GatewayNetwork.
    zone String
    zone) The zone in which the gateway network should be created.
    cleanupDhcp boolean
    Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID.
    createdAt string
    The date and time of the creation of the GatewayNetwork.
    dhcpId string
    The ID of the Public Gateway DHCP configuration. Only one of dhcp_id, static_address and ipam_config should be specified.
    enableDhcp boolean
    WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.
    enableMasquerade boolean
    Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork
    gatewayId string
    The ID of the Public Gateway.
    ipamConfigs VpcGatewayNetworkIpamConfig[]
    Auto-configure the GatewayNetwork using Scaleway's IPAM (IP address management service). Only one of dhcp_id, static_address and ipam_config should be specified.
    macAddress string
    The MAC address of the GatewayNetwork.
    privateNetworkId string
    The ID of the Private Network.
    staticAddress string
    Enable DHCP configration on this GatewayNetwork. Only one of dhcp_id, static_address and ipam_config should be specified.
    status string
    The status of the Public Gateway's connection to the Private Network.
    updatedAt string
    The date and time of the last update of the GatewayNetwork.
    zone string
    zone) The zone in which the gateway network should be created.
    cleanup_dhcp bool
    Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID.
    created_at str
    The date and time of the creation of the GatewayNetwork.
    dhcp_id str
    The ID of the Public Gateway DHCP configuration. Only one of dhcp_id, static_address and ipam_config should be specified.
    enable_dhcp bool
    WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.
    enable_masquerade bool
    Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork
    gateway_id str
    The ID of the Public Gateway.
    ipam_configs Sequence[VpcGatewayNetworkIpamConfigArgs]
    Auto-configure the GatewayNetwork using Scaleway's IPAM (IP address management service). Only one of dhcp_id, static_address and ipam_config should be specified.
    mac_address str
    The MAC address of the GatewayNetwork.
    private_network_id str
    The ID of the Private Network.
    static_address str
    Enable DHCP configration on this GatewayNetwork. Only one of dhcp_id, static_address and ipam_config should be specified.
    status str
    The status of the Public Gateway's connection to the Private Network.
    updated_at str
    The date and time of the last update of the GatewayNetwork.
    zone str
    zone) The zone in which the gateway network should be created.
    cleanupDhcp Boolean
    Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID.
    createdAt String
    The date and time of the creation of the GatewayNetwork.
    dhcpId String
    The ID of the Public Gateway DHCP configuration. Only one of dhcp_id, static_address and ipam_config should be specified.
    enableDhcp Boolean
    WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.
    enableMasquerade Boolean
    Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork
    gatewayId String
    The ID of the Public Gateway.
    ipamConfigs List<Property Map>
    Auto-configure the GatewayNetwork using Scaleway's IPAM (IP address management service). Only one of dhcp_id, static_address and ipam_config should be specified.
    macAddress String
    The MAC address of the GatewayNetwork.
    privateNetworkId String
    The ID of the Private Network.
    staticAddress String
    Enable DHCP configration on this GatewayNetwork. Only one of dhcp_id, static_address and ipam_config should be specified.
    status String
    The status of the Public Gateway's connection to the Private Network.
    updatedAt String
    The date and time of the last update of the GatewayNetwork.
    zone String
    zone) The zone in which the gateway network should be created.

    Supporting Types

    VpcGatewayNetworkIpamConfig, VpcGatewayNetworkIpamConfigArgs

    IpamIpId string
    Use this IPAM-booked IP ID as the Gateway's IP in this Private Network.
    PushDefaultRoute bool
    Defines whether to enable the default route on the GatewayNetwork.
    IpamIpId string
    Use this IPAM-booked IP ID as the Gateway's IP in this Private Network.
    PushDefaultRoute bool
    Defines whether to enable the default route on the GatewayNetwork.
    ipamIpId String
    Use this IPAM-booked IP ID as the Gateway's IP in this Private Network.
    pushDefaultRoute Boolean
    Defines whether to enable the default route on the GatewayNetwork.
    ipamIpId string
    Use this IPAM-booked IP ID as the Gateway's IP in this Private Network.
    pushDefaultRoute boolean
    Defines whether to enable the default route on the GatewayNetwork.
    ipam_ip_id str
    Use this IPAM-booked IP ID as the Gateway's IP in this Private Network.
    push_default_route bool
    Defines whether to enable the default route on the GatewayNetwork.
    ipamIpId String
    Use this IPAM-booked IP ID as the Gateway's IP in this Private Network.
    pushDefaultRoute Boolean
    Defines whether to enable the default route on the GatewayNetwork.

    Import

    GatewayNetwork can be imported using {zone}/{id}, e.g.

    bash

    $ pulumi import scaleway:index/vpcGatewayNetwork:VpcGatewayNetwork 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.15.0 published on Tuesday, Jul 30, 2024 by pulumiverse