scaleway.VpcGatewayNetwork
Explore with Pulumi AI
Creates and manages Scaleway VPC Public Gateway Network. It allows attaching Private Networks to the VPC Public Gateway and your DHCP config For more information, see the documentation.
Example Usage
Create a gateway network with IPAM config
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 gateway network 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 gateway network 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 gateway network 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:
- Gateway
Id string - The ID of the public gateway.
- Private
Network stringId - The ID of the private network.
- Cleanup
Dhcp bool - Remove DHCP config on this network on destroy. It requires DHCP id.
- Dhcp
Id string - The ID of the public gateway DHCP config. Only one of
dhcp_id
,static_address
andipam_config
should be specified. - Enable
Dhcp bool - Enable DHCP config on this network. It requires DHCP id.
- Enable
Masquerade bool - Enable masquerade on this network
- Ipam
Configs List<Pulumiverse.Scaleway. Inputs. Vpc Gateway Network Ipam Config> - Auto-configure the Gateway Network using Scaleway's IPAM (IP address management service). Only one of
dhcp_id
,static_address
andipam_config
should be specified. - Static
Address string - Enable DHCP config on this network. Only one of
dhcp_id
,static_address
andipam_config
should be specified. - Zone string
zone
) The zone in which the gateway network should be created.
- Gateway
Id string - The ID of the public gateway.
- Private
Network stringId - The ID of the private network.
- Cleanup
Dhcp bool - Remove DHCP config on this network on destroy. It requires DHCP id.
- Dhcp
Id string - The ID of the public gateway DHCP config. Only one of
dhcp_id
,static_address
andipam_config
should be specified. - Enable
Dhcp bool - Enable DHCP config on this network. It requires DHCP id.
- Enable
Masquerade bool - Enable masquerade on this network
- Ipam
Configs []VpcGateway Network Ipam Config Args - Auto-configure the Gateway Network using Scaleway's IPAM (IP address management service). Only one of
dhcp_id
,static_address
andipam_config
should be specified. - Static
Address string - Enable DHCP config on this network. Only one of
dhcp_id
,static_address
andipam_config
should be specified. - Zone string
zone
) The zone in which the gateway network should be created.
- gateway
Id String - The ID of the public gateway.
- private
Network StringId - The ID of the private network.
- cleanup
Dhcp Boolean - Remove DHCP config on this network on destroy. It requires DHCP id.
- dhcp
Id String - The ID of the public gateway DHCP config. Only one of
dhcp_id
,static_address
andipam_config
should be specified. - enable
Dhcp Boolean - Enable DHCP config on this network. It requires DHCP id.
- enable
Masquerade Boolean - Enable masquerade on this network
- ipam
Configs List<VpcGateway Network Ipam Config> - Auto-configure the Gateway Network using Scaleway's IPAM (IP address management service). Only one of
dhcp_id
,static_address
andipam_config
should be specified. - static
Address String - Enable DHCP config on this network. Only one of
dhcp_id
,static_address
andipam_config
should be specified. - zone String
zone
) The zone in which the gateway network should be created.
- gateway
Id string - The ID of the public gateway.
- private
Network stringId - The ID of the private network.
- cleanup
Dhcp boolean - Remove DHCP config on this network on destroy. It requires DHCP id.
- dhcp
Id string - The ID of the public gateway DHCP config. Only one of
dhcp_id
,static_address
andipam_config
should be specified. - enable
Dhcp boolean - Enable DHCP config on this network. It requires DHCP id.
- enable
Masquerade boolean - Enable masquerade on this network
- ipam
Configs VpcGateway Network Ipam Config[] - Auto-configure the Gateway Network using Scaleway's IPAM (IP address management service). Only one of
dhcp_id
,static_address
andipam_config
should be specified. - static
Address string - Enable DHCP config on this network. Only one of
dhcp_id
,static_address
andipam_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_ strid - The ID of the private network.
- cleanup_
dhcp bool - Remove DHCP config on this network on destroy. It requires DHCP id.
- dhcp_
id str - The ID of the public gateway DHCP config. Only one of
dhcp_id
,static_address
andipam_config
should be specified. - enable_
dhcp bool - Enable DHCP config on this network. It requires DHCP id.
- enable_
masquerade bool - Enable masquerade on this network
- ipam_
configs Sequence[VpcGateway Network Ipam Config Args] - Auto-configure the Gateway Network using Scaleway's IPAM (IP address management service). Only one of
dhcp_id
,static_address
andipam_config
should be specified. - static_
address str - Enable DHCP config on this network. Only one of
dhcp_id
,static_address
andipam_config
should be specified. - zone str
zone
) The zone in which the gateway network should be created.
- gateway
Id String - The ID of the public gateway.
- private
Network StringId - The ID of the private network.
- cleanup
Dhcp Boolean - Remove DHCP config on this network on destroy. It requires DHCP id.
- dhcp
Id String - The ID of the public gateway DHCP config. Only one of
dhcp_id
,static_address
andipam_config
should be specified. - enable
Dhcp Boolean - Enable DHCP config on this network. It requires DHCP id.
- enable
Masquerade Boolean - Enable masquerade on this network
- ipam
Configs List<Property Map> - Auto-configure the Gateway Network using Scaleway's IPAM (IP address management service). Only one of
dhcp_id
,static_address
andipam_config
should be specified. - static
Address String - Enable DHCP config on this network. Only one of
dhcp_id
,static_address
andipam_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:
- Created
At string - The date and time of the creation of the gateway network.
- Id string
- The provider-assigned unique ID for this managed resource.
- Mac
Address string - The mac address of the creation of the gateway network.
- Status string
- The status of the Public Gateway's connection to the Private Network.
- Updated
At string - The date and time of the last update of the gateway network.
- Created
At string - The date and time of the creation of the gateway network.
- Id string
- The provider-assigned unique ID for this managed resource.
- Mac
Address string - The mac address of the creation of the gateway network.
- Status string
- The status of the Public Gateway's connection to the Private Network.
- Updated
At string - The date and time of the last update of the gateway network.
- created
At String - The date and time of the creation of the gateway network.
- id String
- The provider-assigned unique ID for this managed resource.
- mac
Address String - The mac address of the creation of the gateway network.
- status String
- The status of the Public Gateway's connection to the Private Network.
- updated
At String - The date and time of the last update of the gateway network.
- created
At string - The date and time of the creation of the gateway network.
- id string
- The provider-assigned unique ID for this managed resource.
- mac
Address string - The mac address of the creation of the gateway network.
- status string
- The status of the Public Gateway's connection to the Private Network.
- updated
At string - The date and time of the last update of the gateway network.
- created_
at str - The date and time of the creation of the gateway network.
- id str
- The provider-assigned unique ID for this managed resource.
- mac_
address str - The mac address of the creation of the gateway network.
- 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 gateway network.
- created
At String - The date and time of the creation of the gateway network.
- id String
- The provider-assigned unique ID for this managed resource.
- mac
Address String - The mac address of the creation of the gateway network.
- status String
- The status of the Public Gateway's connection to the Private Network.
- updated
At String - The date and time of the last update of the gateway network.
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.
- Cleanup
Dhcp bool - Remove DHCP config on this network on destroy. It requires DHCP id.
- Created
At string - The date and time of the creation of the gateway network.
- Dhcp
Id string - The ID of the public gateway DHCP config. Only one of
dhcp_id
,static_address
andipam_config
should be specified. - Enable
Dhcp bool - Enable DHCP config on this network. It requires DHCP id.
- Enable
Masquerade bool - Enable masquerade on this network
- Gateway
Id string - The ID of the public gateway.
- Ipam
Configs List<Pulumiverse.Scaleway. Inputs. Vpc Gateway Network Ipam Config> - Auto-configure the Gateway Network using Scaleway's IPAM (IP address management service). Only one of
dhcp_id
,static_address
andipam_config
should be specified. - Mac
Address string - The mac address of the creation of the gateway network.
- Private
Network stringId - The ID of the private network.
- Static
Address string - Enable DHCP config on this network. Only one of
dhcp_id
,static_address
andipam_config
should be specified. - Status string
- The status of the Public Gateway's connection to the Private Network.
- Updated
At string - The date and time of the last update of the gateway network.
- Zone string
zone
) The zone in which the gateway network should be created.
- Cleanup
Dhcp bool - Remove DHCP config on this network on destroy. It requires DHCP id.
- Created
At string - The date and time of the creation of the gateway network.
- Dhcp
Id string - The ID of the public gateway DHCP config. Only one of
dhcp_id
,static_address
andipam_config
should be specified. - Enable
Dhcp bool - Enable DHCP config on this network. It requires DHCP id.
- Enable
Masquerade bool - Enable masquerade on this network
- Gateway
Id string - The ID of the public gateway.
- Ipam
Configs []VpcGateway Network Ipam Config Args - Auto-configure the Gateway Network using Scaleway's IPAM (IP address management service). Only one of
dhcp_id
,static_address
andipam_config
should be specified. - Mac
Address string - The mac address of the creation of the gateway network.
- Private
Network stringId - The ID of the private network.
- Static
Address string - Enable DHCP config on this network. Only one of
dhcp_id
,static_address
andipam_config
should be specified. - Status string
- The status of the Public Gateway's connection to the Private Network.
- Updated
At string - The date and time of the last update of the gateway network.
- Zone string
zone
) The zone in which the gateway network should be created.
- cleanup
Dhcp Boolean - Remove DHCP config on this network on destroy. It requires DHCP id.
- created
At String - The date and time of the creation of the gateway network.
- dhcp
Id String - The ID of the public gateway DHCP config. Only one of
dhcp_id
,static_address
andipam_config
should be specified. - enable
Dhcp Boolean - Enable DHCP config on this network. It requires DHCP id.
- enable
Masquerade Boolean - Enable masquerade on this network
- gateway
Id String - The ID of the public gateway.
- ipam
Configs List<VpcGateway Network Ipam Config> - Auto-configure the Gateway Network using Scaleway's IPAM (IP address management service). Only one of
dhcp_id
,static_address
andipam_config
should be specified. - mac
Address String - The mac address of the creation of the gateway network.
- private
Network StringId - The ID of the private network.
- static
Address String - Enable DHCP config on this network. Only one of
dhcp_id
,static_address
andipam_config
should be specified. - status String
- The status of the Public Gateway's connection to the Private Network.
- updated
At String - The date and time of the last update of the gateway network.
- zone String
zone
) The zone in which the gateway network should be created.
- cleanup
Dhcp boolean - Remove DHCP config on this network on destroy. It requires DHCP id.
- created
At string - The date and time of the creation of the gateway network.
- dhcp
Id string - The ID of the public gateway DHCP config. Only one of
dhcp_id
,static_address
andipam_config
should be specified. - enable
Dhcp boolean - Enable DHCP config on this network. It requires DHCP id.
- enable
Masquerade boolean - Enable masquerade on this network
- gateway
Id string - The ID of the public gateway.
- ipam
Configs VpcGateway Network Ipam Config[] - Auto-configure the Gateway Network using Scaleway's IPAM (IP address management service). Only one of
dhcp_id
,static_address
andipam_config
should be specified. - mac
Address string - The mac address of the creation of the gateway network.
- private
Network stringId - The ID of the private network.
- static
Address string - Enable DHCP config on this network. Only one of
dhcp_id
,static_address
andipam_config
should be specified. - status string
- The status of the Public Gateway's connection to the Private Network.
- updated
At string - The date and time of the last update of the gateway network.
- zone string
zone
) The zone in which the gateway network should be created.
- cleanup_
dhcp bool - Remove DHCP config on this network on destroy. It requires DHCP id.
- created_
at str - The date and time of the creation of the gateway network.
- dhcp_
id str - The ID of the public gateway DHCP config. Only one of
dhcp_id
,static_address
andipam_config
should be specified. - enable_
dhcp bool - Enable DHCP config on this network. It requires DHCP id.
- enable_
masquerade bool - Enable masquerade on this network
- gateway_
id str - The ID of the public gateway.
- ipam_
configs Sequence[VpcGateway Network Ipam Config Args] - Auto-configure the Gateway Network using Scaleway's IPAM (IP address management service). Only one of
dhcp_id
,static_address
andipam_config
should be specified. - mac_
address str - The mac address of the creation of the gateway network.
- private_
network_ strid - The ID of the private network.
- static_
address str - Enable DHCP config on this network. Only one of
dhcp_id
,static_address
andipam_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 gateway network.
- zone str
zone
) The zone in which the gateway network should be created.
- cleanup
Dhcp Boolean - Remove DHCP config on this network on destroy. It requires DHCP id.
- created
At String - The date and time of the creation of the gateway network.
- dhcp
Id String - The ID of the public gateway DHCP config. Only one of
dhcp_id
,static_address
andipam_config
should be specified. - enable
Dhcp Boolean - Enable DHCP config on this network. It requires DHCP id.
- enable
Masquerade Boolean - Enable masquerade on this network
- gateway
Id String - The ID of the public gateway.
- ipam
Configs List<Property Map> - Auto-configure the Gateway Network using Scaleway's IPAM (IP address management service). Only one of
dhcp_id
,static_address
andipam_config
should be specified. - mac
Address String - The mac address of the creation of the gateway network.
- private
Network StringId - The ID of the private network.
- static
Address String - Enable DHCP config on this network. Only one of
dhcp_id
,static_address
andipam_config
should be specified. - status String
- The status of the Public Gateway's connection to the Private Network.
- updated
At String - The date and time of the last update of the gateway network.
- zone String
zone
) The zone in which the gateway network should be created.
Supporting Types
VpcGatewayNetworkIpamConfig, VpcGatewayNetworkIpamConfigArgs
- Ipam
Ip stringId - Use this IPAM-booked IP ID as the Gateway's IP in this Private Network.
- Push
Default boolRoute - Defines whether the default route is enabled on that Gateway Network.
- Ipam
Ip stringId - Use this IPAM-booked IP ID as the Gateway's IP in this Private Network.
- Push
Default boolRoute - Defines whether the default route is enabled on that Gateway Network.
- ipam
Ip StringId - Use this IPAM-booked IP ID as the Gateway's IP in this Private Network.
- push
Default BooleanRoute - Defines whether the default route is enabled on that Gateway Network.
- ipam
Ip stringId - Use this IPAM-booked IP ID as the Gateway's IP in this Private Network.
- push
Default booleanRoute - Defines whether the default route is enabled on that Gateway Network.
- ipam_
ip_ strid - Use this IPAM-booked IP ID as the Gateway's IP in this Private Network.
- push_
default_ boolroute - Defines whether the default route is enabled on that Gateway Network.
- ipam
Ip StringId - Use this IPAM-booked IP ID as the Gateway's IP in this Private Network.
- push
Default BooleanRoute - Defines whether the default route is enabled on that Gateway Network.
Import
Gateway network can be imported using the {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.