vpc

package
v0.0.0-...-c33e12d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 13, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type GatewayNetwork

type GatewayNetwork struct {
	pulumi.CustomResourceState

	// Remove DHCP config on this network on destroy. It requires DHCP id.
	CleanupDhcp pulumi.BoolPtrOutput `pulumi:"cleanupDhcp"`
	// The date and time of the creation of the gateway network.
	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
	// The ID of the public gateway DHCP config. Only one of `dhcpId`, `staticAddress` and `ipamConfig` should be specified.
	DhcpId pulumi.StringPtrOutput `pulumi:"dhcpId"`
	// Enable DHCP config on this network. It requires DHCP id.
	EnableDhcp pulumi.BoolPtrOutput `pulumi:"enableDhcp"`
	// Enable masquerade on this network
	EnableMasquerade pulumi.BoolPtrOutput `pulumi:"enableMasquerade"`
	// The ID of the public gateway.
	GatewayId pulumi.StringOutput `pulumi:"gatewayId"`
	// Auto-configure the Gateway Network using Scaleway's IPAM (IP address management service). Only one of `dhcpId`, `staticAddress` and `ipamConfig` should be specified.
	IpamConfigs GatewayNetworkIpamConfigArrayOutput `pulumi:"ipamConfigs"`
	// The mac address of the creation of the gateway network.
	MacAddress pulumi.StringOutput `pulumi:"macAddress"`
	// The ID of the private network.
	PrivateNetworkId pulumi.StringOutput `pulumi:"privateNetworkId"`
	// Enable DHCP config on this network. Only one of `dhcpId`, `staticAddress` and `ipamConfig` should be specified.
	StaticAddress pulumi.StringOutput `pulumi:"staticAddress"`
	// The status of the Public Gateway's connection to the Private Network.
	Status pulumi.StringOutput `pulumi:"status"`
	// The date and time of the last update of the gateway network.
	UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"`
	// `zone`) The zone in which the gateway network should be created.
	Zone pulumi.StringOutput `pulumi:"zone"`
}

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](https://developers.scaleway.com/en/products/vpc-gw/api/v1/#step-3-attach-private-networks-to-the-vpc-public-gateway).

## Example Usage

### Create a gateway network with IPAM config

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		vpc01, err := vpc.NewVPC(ctx, "vpc01", nil)
		if err != nil {
			return err
		}
		pn01, err := vpc.NewPrivateNetwork(ctx, "pn01", &vpc.PrivateNetworkArgs{
			Ipv4Subnet: &vpc.PrivateNetworkIpv4SubnetArgs{
				Subnet: pulumi.String("172.16.64.0/22"),
			},
			VpcId: vpc01.ID(),
		})
		if err != nil {
			return err
		}
		pg01, err := vpc.NewPublicGateway(ctx, "pg01", &vpc.PublicGatewayArgs{
			Type: pulumi.String("VPC-GW-S"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewGatewayNetwork(ctx, "main", &vpc.GatewayNetworkArgs{
			GatewayId:        pg01.ID(),
			PrivateNetworkId: pn01.ID(),
			EnableMasquerade: pulumi.Bool(true),
			IpamConfigs: vpc.GatewayNetworkIpamConfigArray{
				&vpc.GatewayNetworkIpamConfigArgs{
					PushDefaultRoute: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Create a gateway network with a booked IPAM IP

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/ipam"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		vpc01, err := vpc.NewVPC(ctx, "vpc01", nil)
		if err != nil {
			return err
		}
		pn01, err := vpc.NewPrivateNetwork(ctx, "pn01", &vpc.PrivateNetworkArgs{
			Ipv4Subnet: &vpc.PrivateNetworkIpv4SubnetArgs{
				Subnet: pulumi.String("172.16.64.0/22"),
			},
			VpcId: vpc01.ID(),
		})
		if err != nil {
			return err
		}
		ip01, err := ipam.NewIP(ctx, "ip01", &ipam.IPArgs{
			Address: pulumi.String("172.16.64.7"),
			Sources: ipam.IPSourceArray{
				&ipam.IPSourceArgs{
					PrivateNetworkId: pn01.ID(),
				},
			},
		})
		if err != nil {
			return err
		}
		pg01, err := vpc.NewPublicGateway(ctx, "pg01", &vpc.PublicGatewayArgs{
			Type: pulumi.String("VPC-GW-S"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewGatewayNetwork(ctx, "main", &vpc.GatewayNetworkArgs{
			GatewayId:        pg01.ID(),
			PrivateNetworkId: pn01.ID(),
			EnableMasquerade: pulumi.Bool(true),
			IpamConfigs: vpc.GatewayNetworkIpamConfigArray{
				&vpc.GatewayNetworkIpamConfigArgs{
					PushDefaultRoute: pulumi.Bool(true),
					IpamIpId:         ip01.ID(),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Create a gateway network with DHCP

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		pn01, err := vpc.NewPrivateNetwork(ctx, "pn01", nil)
		if err != nil {
			return err
		}
		gw01, err := vpc.NewPublicGatewayIP(ctx, "gw01", nil)
		if err != nil {
			return err
		}
		dhcp01, err := vpc.NewPublicGatewayDHCP(ctx, "dhcp01", &vpc.PublicGatewayDHCPArgs{
			Subnet:           pulumi.String("192.168.1.0/24"),
			PushDefaultRoute: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		pg01, err := vpc.NewPublicGateway(ctx, "pg01", &vpc.PublicGatewayArgs{
			Type: pulumi.String("VPC-GW-S"),
			IpId: gw01.ID(),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewGatewayNetwork(ctx, "main", &vpc.GatewayNetworkArgs{
			GatewayId:        pg01.ID(),
			PrivateNetworkId: pn01.ID(),
			DhcpId:           dhcp01.ID(),
			CleanupDhcp:      pulumi.Bool(true),
			EnableMasquerade: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Create a gateway network with a static IP address

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		pn01, err := vpc.NewPrivateNetwork(ctx, "pn01", nil)
		if err != nil {
			return err
		}
		pg01, err := vpc.NewPublicGateway(ctx, "pg01", &vpc.PublicGatewayArgs{
			Type: pulumi.String("VPC-GW-S"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewGatewayNetwork(ctx, "main", &vpc.GatewayNetworkArgs{
			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
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Gateway network can be imported using the `{zone}/{id}`, e.g.

bash

```sh $ pulumi import scaleway:vpc/gatewayNetwork:GatewayNetwork main fr-par-1/11111111-1111-1111-1111-111111111111 ```

func GetGatewayNetwork

func GetGatewayNetwork(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GatewayNetworkState, opts ...pulumi.ResourceOption) (*GatewayNetwork, error)

GetGatewayNetwork gets an existing GatewayNetwork resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewGatewayNetwork

func NewGatewayNetwork(ctx *pulumi.Context,
	name string, args *GatewayNetworkArgs, opts ...pulumi.ResourceOption) (*GatewayNetwork, error)

NewGatewayNetwork registers a new resource with the given unique name, arguments, and options.

func (*GatewayNetwork) ElementType

func (*GatewayNetwork) ElementType() reflect.Type

func (*GatewayNetwork) ToGatewayNetworkOutput

func (i *GatewayNetwork) ToGatewayNetworkOutput() GatewayNetworkOutput

func (*GatewayNetwork) ToGatewayNetworkOutputWithContext

func (i *GatewayNetwork) ToGatewayNetworkOutputWithContext(ctx context.Context) GatewayNetworkOutput

type GatewayNetworkArgs

type GatewayNetworkArgs struct {
	// Remove DHCP config on this network on destroy. It requires DHCP id.
	CleanupDhcp pulumi.BoolPtrInput
	// The ID of the public gateway DHCP config. Only one of `dhcpId`, `staticAddress` and `ipamConfig` should be specified.
	DhcpId pulumi.StringPtrInput
	// Enable DHCP config on this network. It requires DHCP id.
	EnableDhcp pulumi.BoolPtrInput
	// Enable masquerade on this network
	EnableMasquerade pulumi.BoolPtrInput
	// The ID of the public gateway.
	GatewayId pulumi.StringInput
	// Auto-configure the Gateway Network using Scaleway's IPAM (IP address management service). Only one of `dhcpId`, `staticAddress` and `ipamConfig` should be specified.
	IpamConfigs GatewayNetworkIpamConfigArrayInput
	// The ID of the private network.
	PrivateNetworkId pulumi.StringInput
	// Enable DHCP config on this network. Only one of `dhcpId`, `staticAddress` and `ipamConfig` should be specified.
	StaticAddress pulumi.StringPtrInput
	// `zone`) The zone in which the gateway network should be created.
	Zone pulumi.StringPtrInput
}

The set of arguments for constructing a GatewayNetwork resource.

func (GatewayNetworkArgs) ElementType

func (GatewayNetworkArgs) ElementType() reflect.Type

type GatewayNetworkArray

type GatewayNetworkArray []GatewayNetworkInput

func (GatewayNetworkArray) ElementType

func (GatewayNetworkArray) ElementType() reflect.Type

func (GatewayNetworkArray) ToGatewayNetworkArrayOutput

func (i GatewayNetworkArray) ToGatewayNetworkArrayOutput() GatewayNetworkArrayOutput

func (GatewayNetworkArray) ToGatewayNetworkArrayOutputWithContext

func (i GatewayNetworkArray) ToGatewayNetworkArrayOutputWithContext(ctx context.Context) GatewayNetworkArrayOutput

type GatewayNetworkArrayInput

type GatewayNetworkArrayInput interface {
	pulumi.Input

	ToGatewayNetworkArrayOutput() GatewayNetworkArrayOutput
	ToGatewayNetworkArrayOutputWithContext(context.Context) GatewayNetworkArrayOutput
}

GatewayNetworkArrayInput is an input type that accepts GatewayNetworkArray and GatewayNetworkArrayOutput values. You can construct a concrete instance of `GatewayNetworkArrayInput` via:

GatewayNetworkArray{ GatewayNetworkArgs{...} }

type GatewayNetworkArrayOutput

type GatewayNetworkArrayOutput struct{ *pulumi.OutputState }

func (GatewayNetworkArrayOutput) ElementType

func (GatewayNetworkArrayOutput) ElementType() reflect.Type

func (GatewayNetworkArrayOutput) Index

func (GatewayNetworkArrayOutput) ToGatewayNetworkArrayOutput

func (o GatewayNetworkArrayOutput) ToGatewayNetworkArrayOutput() GatewayNetworkArrayOutput

func (GatewayNetworkArrayOutput) ToGatewayNetworkArrayOutputWithContext

func (o GatewayNetworkArrayOutput) ToGatewayNetworkArrayOutputWithContext(ctx context.Context) GatewayNetworkArrayOutput

type GatewayNetworkInput

type GatewayNetworkInput interface {
	pulumi.Input

	ToGatewayNetworkOutput() GatewayNetworkOutput
	ToGatewayNetworkOutputWithContext(ctx context.Context) GatewayNetworkOutput
}

type GatewayNetworkIpamConfig

type GatewayNetworkIpamConfig struct {
	// Use this IPAM-booked IP ID as the Gateway's IP in this Private Network.
	IpamIpId *string `pulumi:"ipamIpId"`
	// Defines whether the default route is enabled on that Gateway Network.
	PushDefaultRoute *bool `pulumi:"pushDefaultRoute"`
}

type GatewayNetworkIpamConfigArgs

type GatewayNetworkIpamConfigArgs struct {
	// Use this IPAM-booked IP ID as the Gateway's IP in this Private Network.
	IpamIpId pulumi.StringPtrInput `pulumi:"ipamIpId"`
	// Defines whether the default route is enabled on that Gateway Network.
	PushDefaultRoute pulumi.BoolPtrInput `pulumi:"pushDefaultRoute"`
}

func (GatewayNetworkIpamConfigArgs) ElementType

func (GatewayNetworkIpamConfigArgs) ToGatewayNetworkIpamConfigOutput

func (i GatewayNetworkIpamConfigArgs) ToGatewayNetworkIpamConfigOutput() GatewayNetworkIpamConfigOutput

func (GatewayNetworkIpamConfigArgs) ToGatewayNetworkIpamConfigOutputWithContext

func (i GatewayNetworkIpamConfigArgs) ToGatewayNetworkIpamConfigOutputWithContext(ctx context.Context) GatewayNetworkIpamConfigOutput

type GatewayNetworkIpamConfigArray

type GatewayNetworkIpamConfigArray []GatewayNetworkIpamConfigInput

func (GatewayNetworkIpamConfigArray) ElementType

func (GatewayNetworkIpamConfigArray) ToGatewayNetworkIpamConfigArrayOutput

func (i GatewayNetworkIpamConfigArray) ToGatewayNetworkIpamConfigArrayOutput() GatewayNetworkIpamConfigArrayOutput

func (GatewayNetworkIpamConfigArray) ToGatewayNetworkIpamConfigArrayOutputWithContext

func (i GatewayNetworkIpamConfigArray) ToGatewayNetworkIpamConfigArrayOutputWithContext(ctx context.Context) GatewayNetworkIpamConfigArrayOutput

type GatewayNetworkIpamConfigArrayInput

type GatewayNetworkIpamConfigArrayInput interface {
	pulumi.Input

	ToGatewayNetworkIpamConfigArrayOutput() GatewayNetworkIpamConfigArrayOutput
	ToGatewayNetworkIpamConfigArrayOutputWithContext(context.Context) GatewayNetworkIpamConfigArrayOutput
}

GatewayNetworkIpamConfigArrayInput is an input type that accepts GatewayNetworkIpamConfigArray and GatewayNetworkIpamConfigArrayOutput values. You can construct a concrete instance of `GatewayNetworkIpamConfigArrayInput` via:

GatewayNetworkIpamConfigArray{ GatewayNetworkIpamConfigArgs{...} }

type GatewayNetworkIpamConfigArrayOutput

type GatewayNetworkIpamConfigArrayOutput struct{ *pulumi.OutputState }

func (GatewayNetworkIpamConfigArrayOutput) ElementType

func (GatewayNetworkIpamConfigArrayOutput) Index

func (GatewayNetworkIpamConfigArrayOutput) ToGatewayNetworkIpamConfigArrayOutput

func (o GatewayNetworkIpamConfigArrayOutput) ToGatewayNetworkIpamConfigArrayOutput() GatewayNetworkIpamConfigArrayOutput

func (GatewayNetworkIpamConfigArrayOutput) ToGatewayNetworkIpamConfigArrayOutputWithContext

func (o GatewayNetworkIpamConfigArrayOutput) ToGatewayNetworkIpamConfigArrayOutputWithContext(ctx context.Context) GatewayNetworkIpamConfigArrayOutput

type GatewayNetworkIpamConfigInput

type GatewayNetworkIpamConfigInput interface {
	pulumi.Input

	ToGatewayNetworkIpamConfigOutput() GatewayNetworkIpamConfigOutput
	ToGatewayNetworkIpamConfigOutputWithContext(context.Context) GatewayNetworkIpamConfigOutput
}

GatewayNetworkIpamConfigInput is an input type that accepts GatewayNetworkIpamConfigArgs and GatewayNetworkIpamConfigOutput values. You can construct a concrete instance of `GatewayNetworkIpamConfigInput` via:

GatewayNetworkIpamConfigArgs{...}

type GatewayNetworkIpamConfigOutput

type GatewayNetworkIpamConfigOutput struct{ *pulumi.OutputState }

func (GatewayNetworkIpamConfigOutput) ElementType

func (GatewayNetworkIpamConfigOutput) IpamIpId

Use this IPAM-booked IP ID as the Gateway's IP in this Private Network.

func (GatewayNetworkIpamConfigOutput) PushDefaultRoute

Defines whether the default route is enabled on that Gateway Network.

func (GatewayNetworkIpamConfigOutput) ToGatewayNetworkIpamConfigOutput

func (o GatewayNetworkIpamConfigOutput) ToGatewayNetworkIpamConfigOutput() GatewayNetworkIpamConfigOutput

func (GatewayNetworkIpamConfigOutput) ToGatewayNetworkIpamConfigOutputWithContext

func (o GatewayNetworkIpamConfigOutput) ToGatewayNetworkIpamConfigOutputWithContext(ctx context.Context) GatewayNetworkIpamConfigOutput

type GatewayNetworkMap

type GatewayNetworkMap map[string]GatewayNetworkInput

func (GatewayNetworkMap) ElementType

func (GatewayNetworkMap) ElementType() reflect.Type

func (GatewayNetworkMap) ToGatewayNetworkMapOutput

func (i GatewayNetworkMap) ToGatewayNetworkMapOutput() GatewayNetworkMapOutput

func (GatewayNetworkMap) ToGatewayNetworkMapOutputWithContext

func (i GatewayNetworkMap) ToGatewayNetworkMapOutputWithContext(ctx context.Context) GatewayNetworkMapOutput

type GatewayNetworkMapInput

type GatewayNetworkMapInput interface {
	pulumi.Input

	ToGatewayNetworkMapOutput() GatewayNetworkMapOutput
	ToGatewayNetworkMapOutputWithContext(context.Context) GatewayNetworkMapOutput
}

GatewayNetworkMapInput is an input type that accepts GatewayNetworkMap and GatewayNetworkMapOutput values. You can construct a concrete instance of `GatewayNetworkMapInput` via:

GatewayNetworkMap{ "key": GatewayNetworkArgs{...} }

type GatewayNetworkMapOutput

type GatewayNetworkMapOutput struct{ *pulumi.OutputState }

func (GatewayNetworkMapOutput) ElementType

func (GatewayNetworkMapOutput) ElementType() reflect.Type

func (GatewayNetworkMapOutput) MapIndex

func (GatewayNetworkMapOutput) ToGatewayNetworkMapOutput

func (o GatewayNetworkMapOutput) ToGatewayNetworkMapOutput() GatewayNetworkMapOutput

func (GatewayNetworkMapOutput) ToGatewayNetworkMapOutputWithContext

func (o GatewayNetworkMapOutput) ToGatewayNetworkMapOutputWithContext(ctx context.Context) GatewayNetworkMapOutput

type GatewayNetworkOutput

type GatewayNetworkOutput struct{ *pulumi.OutputState }

func (GatewayNetworkOutput) CleanupDhcp

func (o GatewayNetworkOutput) CleanupDhcp() pulumi.BoolPtrOutput

Remove DHCP config on this network on destroy. It requires DHCP id.

func (GatewayNetworkOutput) CreatedAt

The date and time of the creation of the gateway network.

func (GatewayNetworkOutput) DhcpId

The ID of the public gateway DHCP config. Only one of `dhcpId`, `staticAddress` and `ipamConfig` should be specified.

func (GatewayNetworkOutput) ElementType

func (GatewayNetworkOutput) ElementType() reflect.Type

func (GatewayNetworkOutput) EnableDhcp

func (o GatewayNetworkOutput) EnableDhcp() pulumi.BoolPtrOutput

Enable DHCP config on this network. It requires DHCP id.

func (GatewayNetworkOutput) EnableMasquerade

func (o GatewayNetworkOutput) EnableMasquerade() pulumi.BoolPtrOutput

Enable masquerade on this network

func (GatewayNetworkOutput) GatewayId

The ID of the public gateway.

func (GatewayNetworkOutput) IpamConfigs

Auto-configure the Gateway Network using Scaleway's IPAM (IP address management service). Only one of `dhcpId`, `staticAddress` and `ipamConfig` should be specified.

func (GatewayNetworkOutput) MacAddress

func (o GatewayNetworkOutput) MacAddress() pulumi.StringOutput

The mac address of the creation of the gateway network.

func (GatewayNetworkOutput) PrivateNetworkId

func (o GatewayNetworkOutput) PrivateNetworkId() pulumi.StringOutput

The ID of the private network.

func (GatewayNetworkOutput) StaticAddress

func (o GatewayNetworkOutput) StaticAddress() pulumi.StringOutput

Enable DHCP config on this network. Only one of `dhcpId`, `staticAddress` and `ipamConfig` should be specified.

func (GatewayNetworkOutput) Status

The status of the Public Gateway's connection to the Private Network.

func (GatewayNetworkOutput) ToGatewayNetworkOutput

func (o GatewayNetworkOutput) ToGatewayNetworkOutput() GatewayNetworkOutput

func (GatewayNetworkOutput) ToGatewayNetworkOutputWithContext

func (o GatewayNetworkOutput) ToGatewayNetworkOutputWithContext(ctx context.Context) GatewayNetworkOutput

func (GatewayNetworkOutput) UpdatedAt

The date and time of the last update of the gateway network.

func (GatewayNetworkOutput) Zone

`zone`) The zone in which the gateway network should be created.

type GatewayNetworkState

type GatewayNetworkState struct {
	// Remove DHCP config on this network on destroy. It requires DHCP id.
	CleanupDhcp pulumi.BoolPtrInput
	// The date and time of the creation of the gateway network.
	CreatedAt pulumi.StringPtrInput
	// The ID of the public gateway DHCP config. Only one of `dhcpId`, `staticAddress` and `ipamConfig` should be specified.
	DhcpId pulumi.StringPtrInput
	// Enable DHCP config on this network. It requires DHCP id.
	EnableDhcp pulumi.BoolPtrInput
	// Enable masquerade on this network
	EnableMasquerade pulumi.BoolPtrInput
	// The ID of the public gateway.
	GatewayId pulumi.StringPtrInput
	// Auto-configure the Gateway Network using Scaleway's IPAM (IP address management service). Only one of `dhcpId`, `staticAddress` and `ipamConfig` should be specified.
	IpamConfigs GatewayNetworkIpamConfigArrayInput
	// The mac address of the creation of the gateway network.
	MacAddress pulumi.StringPtrInput
	// The ID of the private network.
	PrivateNetworkId pulumi.StringPtrInput
	// Enable DHCP config on this network. Only one of `dhcpId`, `staticAddress` and `ipamConfig` should be specified.
	StaticAddress pulumi.StringPtrInput
	// The status of the Public Gateway's connection to the Private Network.
	Status pulumi.StringPtrInput
	// The date and time of the last update of the gateway network.
	UpdatedAt pulumi.StringPtrInput
	// `zone`) The zone in which the gateway network should be created.
	Zone pulumi.StringPtrInput
}

func (GatewayNetworkState) ElementType

func (GatewayNetworkState) ElementType() reflect.Type

type GetGatewayNetworkIpamConfig

type GetGatewayNetworkIpamConfig struct {
	// Use this IPAM-booked IP ID as the Gateway's IP in this Private Network
	IpamIpId string `pulumi:"ipamIpId"`
	// Defines whether the default route is enabled on that Gateway Network
	PushDefaultRoute bool `pulumi:"pushDefaultRoute"`
}

type GetGatewayNetworkIpamConfigArgs

type GetGatewayNetworkIpamConfigArgs struct {
	// Use this IPAM-booked IP ID as the Gateway's IP in this Private Network
	IpamIpId pulumi.StringInput `pulumi:"ipamIpId"`
	// Defines whether the default route is enabled on that Gateway Network
	PushDefaultRoute pulumi.BoolInput `pulumi:"pushDefaultRoute"`
}

func (GetGatewayNetworkIpamConfigArgs) ElementType

func (GetGatewayNetworkIpamConfigArgs) ToGetGatewayNetworkIpamConfigOutput

func (i GetGatewayNetworkIpamConfigArgs) ToGetGatewayNetworkIpamConfigOutput() GetGatewayNetworkIpamConfigOutput

func (GetGatewayNetworkIpamConfigArgs) ToGetGatewayNetworkIpamConfigOutputWithContext

func (i GetGatewayNetworkIpamConfigArgs) ToGetGatewayNetworkIpamConfigOutputWithContext(ctx context.Context) GetGatewayNetworkIpamConfigOutput

type GetGatewayNetworkIpamConfigArray

type GetGatewayNetworkIpamConfigArray []GetGatewayNetworkIpamConfigInput

func (GetGatewayNetworkIpamConfigArray) ElementType

func (GetGatewayNetworkIpamConfigArray) ToGetGatewayNetworkIpamConfigArrayOutput

func (i GetGatewayNetworkIpamConfigArray) ToGetGatewayNetworkIpamConfigArrayOutput() GetGatewayNetworkIpamConfigArrayOutput

func (GetGatewayNetworkIpamConfigArray) ToGetGatewayNetworkIpamConfigArrayOutputWithContext

func (i GetGatewayNetworkIpamConfigArray) ToGetGatewayNetworkIpamConfigArrayOutputWithContext(ctx context.Context) GetGatewayNetworkIpamConfigArrayOutput

type GetGatewayNetworkIpamConfigArrayInput

type GetGatewayNetworkIpamConfigArrayInput interface {
	pulumi.Input

	ToGetGatewayNetworkIpamConfigArrayOutput() GetGatewayNetworkIpamConfigArrayOutput
	ToGetGatewayNetworkIpamConfigArrayOutputWithContext(context.Context) GetGatewayNetworkIpamConfigArrayOutput
}

GetGatewayNetworkIpamConfigArrayInput is an input type that accepts GetGatewayNetworkIpamConfigArray and GetGatewayNetworkIpamConfigArrayOutput values. You can construct a concrete instance of `GetGatewayNetworkIpamConfigArrayInput` via:

GetGatewayNetworkIpamConfigArray{ GetGatewayNetworkIpamConfigArgs{...} }

type GetGatewayNetworkIpamConfigArrayOutput

type GetGatewayNetworkIpamConfigArrayOutput struct{ *pulumi.OutputState }

func (GetGatewayNetworkIpamConfigArrayOutput) ElementType

func (GetGatewayNetworkIpamConfigArrayOutput) Index

func (GetGatewayNetworkIpamConfigArrayOutput) ToGetGatewayNetworkIpamConfigArrayOutput

func (o GetGatewayNetworkIpamConfigArrayOutput) ToGetGatewayNetworkIpamConfigArrayOutput() GetGatewayNetworkIpamConfigArrayOutput

func (GetGatewayNetworkIpamConfigArrayOutput) ToGetGatewayNetworkIpamConfigArrayOutputWithContext

func (o GetGatewayNetworkIpamConfigArrayOutput) ToGetGatewayNetworkIpamConfigArrayOutputWithContext(ctx context.Context) GetGatewayNetworkIpamConfigArrayOutput

type GetGatewayNetworkIpamConfigInput

type GetGatewayNetworkIpamConfigInput interface {
	pulumi.Input

	ToGetGatewayNetworkIpamConfigOutput() GetGatewayNetworkIpamConfigOutput
	ToGetGatewayNetworkIpamConfigOutputWithContext(context.Context) GetGatewayNetworkIpamConfigOutput
}

GetGatewayNetworkIpamConfigInput is an input type that accepts GetGatewayNetworkIpamConfigArgs and GetGatewayNetworkIpamConfigOutput values. You can construct a concrete instance of `GetGatewayNetworkIpamConfigInput` via:

GetGatewayNetworkIpamConfigArgs{...}

type GetGatewayNetworkIpamConfigOutput

type GetGatewayNetworkIpamConfigOutput struct{ *pulumi.OutputState }

func (GetGatewayNetworkIpamConfigOutput) ElementType

func (GetGatewayNetworkIpamConfigOutput) IpamIpId

Use this IPAM-booked IP ID as the Gateway's IP in this Private Network

func (GetGatewayNetworkIpamConfigOutput) PushDefaultRoute

Defines whether the default route is enabled on that Gateway Network

func (GetGatewayNetworkIpamConfigOutput) ToGetGatewayNetworkIpamConfigOutput

func (o GetGatewayNetworkIpamConfigOutput) ToGetGatewayNetworkIpamConfigOutput() GetGatewayNetworkIpamConfigOutput

func (GetGatewayNetworkIpamConfigOutput) ToGetGatewayNetworkIpamConfigOutputWithContext

func (o GetGatewayNetworkIpamConfigOutput) ToGetGatewayNetworkIpamConfigOutputWithContext(ctx context.Context) GetGatewayNetworkIpamConfigOutput

type GetPrivateNetworkIpv4Subnet

type GetPrivateNetworkIpv4Subnet struct {
	// The network address of the subnet in dotted decimal notation, e.g., '192.168.0.0' for a '192.168.0.0/24' subnet
	Address string `pulumi:"address"`
	// The date and time of the creation of the subnet
	CreatedAt string `pulumi:"createdAt"`
	// The ID of the private network.
	Id string `pulumi:"id"`
	// The length of the network prefix, e.g., 24 for a 255.255.255.0 mask
	PrefixLength int `pulumi:"prefixLength"`
	// The subnet CIDR
	Subnet string `pulumi:"subnet"`
	// The subnet mask expressed in dotted decimal notation, e.g., '255.255.255.0' for a /24 subnet
	SubnetMask string `pulumi:"subnetMask"`
	// The date and time of the last update of the subnet
	UpdatedAt string `pulumi:"updatedAt"`
}

type GetPrivateNetworkIpv4SubnetArgs

type GetPrivateNetworkIpv4SubnetArgs struct {
	// The network address of the subnet in dotted decimal notation, e.g., '192.168.0.0' for a '192.168.0.0/24' subnet
	Address pulumi.StringInput `pulumi:"address"`
	// The date and time of the creation of the subnet
	CreatedAt pulumi.StringInput `pulumi:"createdAt"`
	// The ID of the private network.
	Id pulumi.StringInput `pulumi:"id"`
	// The length of the network prefix, e.g., 24 for a 255.255.255.0 mask
	PrefixLength pulumi.IntInput `pulumi:"prefixLength"`
	// The subnet CIDR
	Subnet pulumi.StringInput `pulumi:"subnet"`
	// The subnet mask expressed in dotted decimal notation, e.g., '255.255.255.0' for a /24 subnet
	SubnetMask pulumi.StringInput `pulumi:"subnetMask"`
	// The date and time of the last update of the subnet
	UpdatedAt pulumi.StringInput `pulumi:"updatedAt"`
}

func (GetPrivateNetworkIpv4SubnetArgs) ElementType

func (GetPrivateNetworkIpv4SubnetArgs) ToGetPrivateNetworkIpv4SubnetOutput

func (i GetPrivateNetworkIpv4SubnetArgs) ToGetPrivateNetworkIpv4SubnetOutput() GetPrivateNetworkIpv4SubnetOutput

func (GetPrivateNetworkIpv4SubnetArgs) ToGetPrivateNetworkIpv4SubnetOutputWithContext

func (i GetPrivateNetworkIpv4SubnetArgs) ToGetPrivateNetworkIpv4SubnetOutputWithContext(ctx context.Context) GetPrivateNetworkIpv4SubnetOutput

type GetPrivateNetworkIpv4SubnetArray

type GetPrivateNetworkIpv4SubnetArray []GetPrivateNetworkIpv4SubnetInput

func (GetPrivateNetworkIpv4SubnetArray) ElementType

func (GetPrivateNetworkIpv4SubnetArray) ToGetPrivateNetworkIpv4SubnetArrayOutput

func (i GetPrivateNetworkIpv4SubnetArray) ToGetPrivateNetworkIpv4SubnetArrayOutput() GetPrivateNetworkIpv4SubnetArrayOutput

func (GetPrivateNetworkIpv4SubnetArray) ToGetPrivateNetworkIpv4SubnetArrayOutputWithContext

func (i GetPrivateNetworkIpv4SubnetArray) ToGetPrivateNetworkIpv4SubnetArrayOutputWithContext(ctx context.Context) GetPrivateNetworkIpv4SubnetArrayOutput

type GetPrivateNetworkIpv4SubnetArrayInput

type GetPrivateNetworkIpv4SubnetArrayInput interface {
	pulumi.Input

	ToGetPrivateNetworkIpv4SubnetArrayOutput() GetPrivateNetworkIpv4SubnetArrayOutput
	ToGetPrivateNetworkIpv4SubnetArrayOutputWithContext(context.Context) GetPrivateNetworkIpv4SubnetArrayOutput
}

GetPrivateNetworkIpv4SubnetArrayInput is an input type that accepts GetPrivateNetworkIpv4SubnetArray and GetPrivateNetworkIpv4SubnetArrayOutput values. You can construct a concrete instance of `GetPrivateNetworkIpv4SubnetArrayInput` via:

GetPrivateNetworkIpv4SubnetArray{ GetPrivateNetworkIpv4SubnetArgs{...} }

type GetPrivateNetworkIpv4SubnetArrayOutput

type GetPrivateNetworkIpv4SubnetArrayOutput struct{ *pulumi.OutputState }

func (GetPrivateNetworkIpv4SubnetArrayOutput) ElementType

func (GetPrivateNetworkIpv4SubnetArrayOutput) Index

func (GetPrivateNetworkIpv4SubnetArrayOutput) ToGetPrivateNetworkIpv4SubnetArrayOutput

func (o GetPrivateNetworkIpv4SubnetArrayOutput) ToGetPrivateNetworkIpv4SubnetArrayOutput() GetPrivateNetworkIpv4SubnetArrayOutput

func (GetPrivateNetworkIpv4SubnetArrayOutput) ToGetPrivateNetworkIpv4SubnetArrayOutputWithContext

func (o GetPrivateNetworkIpv4SubnetArrayOutput) ToGetPrivateNetworkIpv4SubnetArrayOutputWithContext(ctx context.Context) GetPrivateNetworkIpv4SubnetArrayOutput

type GetPrivateNetworkIpv4SubnetInput

type GetPrivateNetworkIpv4SubnetInput interface {
	pulumi.Input

	ToGetPrivateNetworkIpv4SubnetOutput() GetPrivateNetworkIpv4SubnetOutput
	ToGetPrivateNetworkIpv4SubnetOutputWithContext(context.Context) GetPrivateNetworkIpv4SubnetOutput
}

GetPrivateNetworkIpv4SubnetInput is an input type that accepts GetPrivateNetworkIpv4SubnetArgs and GetPrivateNetworkIpv4SubnetOutput values. You can construct a concrete instance of `GetPrivateNetworkIpv4SubnetInput` via:

GetPrivateNetworkIpv4SubnetArgs{...}

type GetPrivateNetworkIpv4SubnetOutput

type GetPrivateNetworkIpv4SubnetOutput struct{ *pulumi.OutputState }

func (GetPrivateNetworkIpv4SubnetOutput) Address

The network address of the subnet in dotted decimal notation, e.g., '192.168.0.0' for a '192.168.0.0/24' subnet

func (GetPrivateNetworkIpv4SubnetOutput) CreatedAt

The date and time of the creation of the subnet

func (GetPrivateNetworkIpv4SubnetOutput) ElementType

func (GetPrivateNetworkIpv4SubnetOutput) Id

The ID of the private network.

func (GetPrivateNetworkIpv4SubnetOutput) PrefixLength

The length of the network prefix, e.g., 24 for a 255.255.255.0 mask

func (GetPrivateNetworkIpv4SubnetOutput) Subnet

The subnet CIDR

func (GetPrivateNetworkIpv4SubnetOutput) SubnetMask

The subnet mask expressed in dotted decimal notation, e.g., '255.255.255.0' for a /24 subnet

func (GetPrivateNetworkIpv4SubnetOutput) ToGetPrivateNetworkIpv4SubnetOutput

func (o GetPrivateNetworkIpv4SubnetOutput) ToGetPrivateNetworkIpv4SubnetOutput() GetPrivateNetworkIpv4SubnetOutput

func (GetPrivateNetworkIpv4SubnetOutput) ToGetPrivateNetworkIpv4SubnetOutputWithContext

func (o GetPrivateNetworkIpv4SubnetOutput) ToGetPrivateNetworkIpv4SubnetOutputWithContext(ctx context.Context) GetPrivateNetworkIpv4SubnetOutput

func (GetPrivateNetworkIpv4SubnetOutput) UpdatedAt

The date and time of the last update of the subnet

type GetPrivateNetworkIpv6Subnet

type GetPrivateNetworkIpv6Subnet struct {
	// The network address of the subnet in dotted decimal notation, e.g., '192.168.0.0' for a '192.168.0.0/24' subnet
	Address string `pulumi:"address"`
	// The date and time of the creation of the subnet
	CreatedAt string `pulumi:"createdAt"`
	// The ID of the private network.
	Id string `pulumi:"id"`
	// The length of the network prefix, e.g., 24 for a 255.255.255.0 mask
	PrefixLength int `pulumi:"prefixLength"`
	// The subnet CIDR
	Subnet string `pulumi:"subnet"`
	// The subnet mask expressed in dotted decimal notation, e.g., '255.255.255.0' for a /24 subnet
	SubnetMask string `pulumi:"subnetMask"`
	// The date and time of the last update of the subnet
	UpdatedAt string `pulumi:"updatedAt"`
}

type GetPrivateNetworkIpv6SubnetArgs

type GetPrivateNetworkIpv6SubnetArgs struct {
	// The network address of the subnet in dotted decimal notation, e.g., '192.168.0.0' for a '192.168.0.0/24' subnet
	Address pulumi.StringInput `pulumi:"address"`
	// The date and time of the creation of the subnet
	CreatedAt pulumi.StringInput `pulumi:"createdAt"`
	// The ID of the private network.
	Id pulumi.StringInput `pulumi:"id"`
	// The length of the network prefix, e.g., 24 for a 255.255.255.0 mask
	PrefixLength pulumi.IntInput `pulumi:"prefixLength"`
	// The subnet CIDR
	Subnet pulumi.StringInput `pulumi:"subnet"`
	// The subnet mask expressed in dotted decimal notation, e.g., '255.255.255.0' for a /24 subnet
	SubnetMask pulumi.StringInput `pulumi:"subnetMask"`
	// The date and time of the last update of the subnet
	UpdatedAt pulumi.StringInput `pulumi:"updatedAt"`
}

func (GetPrivateNetworkIpv6SubnetArgs) ElementType

func (GetPrivateNetworkIpv6SubnetArgs) ToGetPrivateNetworkIpv6SubnetOutput

func (i GetPrivateNetworkIpv6SubnetArgs) ToGetPrivateNetworkIpv6SubnetOutput() GetPrivateNetworkIpv6SubnetOutput

func (GetPrivateNetworkIpv6SubnetArgs) ToGetPrivateNetworkIpv6SubnetOutputWithContext

func (i GetPrivateNetworkIpv6SubnetArgs) ToGetPrivateNetworkIpv6SubnetOutputWithContext(ctx context.Context) GetPrivateNetworkIpv6SubnetOutput

type GetPrivateNetworkIpv6SubnetArray

type GetPrivateNetworkIpv6SubnetArray []GetPrivateNetworkIpv6SubnetInput

func (GetPrivateNetworkIpv6SubnetArray) ElementType

func (GetPrivateNetworkIpv6SubnetArray) ToGetPrivateNetworkIpv6SubnetArrayOutput

func (i GetPrivateNetworkIpv6SubnetArray) ToGetPrivateNetworkIpv6SubnetArrayOutput() GetPrivateNetworkIpv6SubnetArrayOutput

func (GetPrivateNetworkIpv6SubnetArray) ToGetPrivateNetworkIpv6SubnetArrayOutputWithContext

func (i GetPrivateNetworkIpv6SubnetArray) ToGetPrivateNetworkIpv6SubnetArrayOutputWithContext(ctx context.Context) GetPrivateNetworkIpv6SubnetArrayOutput

type GetPrivateNetworkIpv6SubnetArrayInput

type GetPrivateNetworkIpv6SubnetArrayInput interface {
	pulumi.Input

	ToGetPrivateNetworkIpv6SubnetArrayOutput() GetPrivateNetworkIpv6SubnetArrayOutput
	ToGetPrivateNetworkIpv6SubnetArrayOutputWithContext(context.Context) GetPrivateNetworkIpv6SubnetArrayOutput
}

GetPrivateNetworkIpv6SubnetArrayInput is an input type that accepts GetPrivateNetworkIpv6SubnetArray and GetPrivateNetworkIpv6SubnetArrayOutput values. You can construct a concrete instance of `GetPrivateNetworkIpv6SubnetArrayInput` via:

GetPrivateNetworkIpv6SubnetArray{ GetPrivateNetworkIpv6SubnetArgs{...} }

type GetPrivateNetworkIpv6SubnetArrayOutput

type GetPrivateNetworkIpv6SubnetArrayOutput struct{ *pulumi.OutputState }

func (GetPrivateNetworkIpv6SubnetArrayOutput) ElementType

func (GetPrivateNetworkIpv6SubnetArrayOutput) Index

func (GetPrivateNetworkIpv6SubnetArrayOutput) ToGetPrivateNetworkIpv6SubnetArrayOutput

func (o GetPrivateNetworkIpv6SubnetArrayOutput) ToGetPrivateNetworkIpv6SubnetArrayOutput() GetPrivateNetworkIpv6SubnetArrayOutput

func (GetPrivateNetworkIpv6SubnetArrayOutput) ToGetPrivateNetworkIpv6SubnetArrayOutputWithContext

func (o GetPrivateNetworkIpv6SubnetArrayOutput) ToGetPrivateNetworkIpv6SubnetArrayOutputWithContext(ctx context.Context) GetPrivateNetworkIpv6SubnetArrayOutput

type GetPrivateNetworkIpv6SubnetInput

type GetPrivateNetworkIpv6SubnetInput interface {
	pulumi.Input

	ToGetPrivateNetworkIpv6SubnetOutput() GetPrivateNetworkIpv6SubnetOutput
	ToGetPrivateNetworkIpv6SubnetOutputWithContext(context.Context) GetPrivateNetworkIpv6SubnetOutput
}

GetPrivateNetworkIpv6SubnetInput is an input type that accepts GetPrivateNetworkIpv6SubnetArgs and GetPrivateNetworkIpv6SubnetOutput values. You can construct a concrete instance of `GetPrivateNetworkIpv6SubnetInput` via:

GetPrivateNetworkIpv6SubnetArgs{...}

type GetPrivateNetworkIpv6SubnetOutput

type GetPrivateNetworkIpv6SubnetOutput struct{ *pulumi.OutputState }

func (GetPrivateNetworkIpv6SubnetOutput) Address

The network address of the subnet in dotted decimal notation, e.g., '192.168.0.0' for a '192.168.0.0/24' subnet

func (GetPrivateNetworkIpv6SubnetOutput) CreatedAt

The date and time of the creation of the subnet

func (GetPrivateNetworkIpv6SubnetOutput) ElementType

func (GetPrivateNetworkIpv6SubnetOutput) Id

The ID of the private network.

func (GetPrivateNetworkIpv6SubnetOutput) PrefixLength

The length of the network prefix, e.g., 24 for a 255.255.255.0 mask

func (GetPrivateNetworkIpv6SubnetOutput) Subnet

The subnet CIDR

func (GetPrivateNetworkIpv6SubnetOutput) SubnetMask

The subnet mask expressed in dotted decimal notation, e.g., '255.255.255.0' for a /24 subnet

func (GetPrivateNetworkIpv6SubnetOutput) ToGetPrivateNetworkIpv6SubnetOutput

func (o GetPrivateNetworkIpv6SubnetOutput) ToGetPrivateNetworkIpv6SubnetOutput() GetPrivateNetworkIpv6SubnetOutput

func (GetPrivateNetworkIpv6SubnetOutput) ToGetPrivateNetworkIpv6SubnetOutputWithContext

func (o GetPrivateNetworkIpv6SubnetOutput) ToGetPrivateNetworkIpv6SubnetOutputWithContext(ctx context.Context) GetPrivateNetworkIpv6SubnetOutput

func (GetPrivateNetworkIpv6SubnetOutput) UpdatedAt

The date and time of the last update of the subnet

type GetVPCsArgs

type GetVPCsArgs struct {
	// The VPC name used as filter. VPCs with a name like it are listed.
	Name *string `pulumi:"name"`
	// The ID of the project the VPC is associated with.
	ProjectId *string `pulumi:"projectId"`
	// `region`). The region in which vpcs exist.
	Region *string `pulumi:"region"`
	// List of tags used as filter. VPCs with these exact tags are listed.
	Tags []string `pulumi:"tags"`
}

A collection of arguments for invoking getVPCs.

type GetVPCsOutputArgs

type GetVPCsOutputArgs struct {
	// The VPC name used as filter. VPCs with a name like it are listed.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The ID of the project the VPC is associated with.
	ProjectId pulumi.StringPtrInput `pulumi:"projectId"`
	// `region`). The region in which vpcs exist.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// List of tags used as filter. VPCs with these exact tags are listed.
	Tags pulumi.StringArrayInput `pulumi:"tags"`
}

A collection of arguments for invoking getVPCs.

func (GetVPCsOutputArgs) ElementType

func (GetVPCsOutputArgs) ElementType() reflect.Type

type GetVPCsResult

type GetVPCsResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id   string  `pulumi:"id"`
	Name *string `pulumi:"name"`
	// The organization ID the VPC is associated with.
	OrganizationId string `pulumi:"organizationId"`
	// The ID of the project the VPC is associated with.
	ProjectId string   `pulumi:"projectId"`
	Region    string   `pulumi:"region"`
	Tags      []string `pulumi:"tags"`
	// List of found vpcs
	Vpcs []GetVPCsVpc `pulumi:"vpcs"`
}

A collection of values returned by getVPCs.

func GetVPCs

func GetVPCs(ctx *pulumi.Context, args *GetVPCsArgs, opts ...pulumi.InvokeOption) (*GetVPCsResult, error)

Gets information about multiple Virtual Private Clouds.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vpc.GetVPCs(ctx, &vpc.GetVPCsArgs{
			Name:   pulumi.StringRef("tf-vpc-datasource"),
			Region: pulumi.StringRef("nl-ams"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type GetVPCsResultOutput

type GetVPCsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getVPCs.

func (GetVPCsResultOutput) ElementType

func (GetVPCsResultOutput) ElementType() reflect.Type

func (GetVPCsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetVPCsResultOutput) Name

func (GetVPCsResultOutput) OrganizationId

func (o GetVPCsResultOutput) OrganizationId() pulumi.StringOutput

The organization ID the VPC is associated with.

func (GetVPCsResultOutput) ProjectId

func (o GetVPCsResultOutput) ProjectId() pulumi.StringOutput

The ID of the project the VPC is associated with.

func (GetVPCsResultOutput) Region

func (GetVPCsResultOutput) Tags

func (GetVPCsResultOutput) ToGetVPCsResultOutput

func (o GetVPCsResultOutput) ToGetVPCsResultOutput() GetVPCsResultOutput

func (GetVPCsResultOutput) ToGetVPCsResultOutputWithContext

func (o GetVPCsResultOutput) ToGetVPCsResultOutputWithContext(ctx context.Context) GetVPCsResultOutput

func (GetVPCsResultOutput) Vpcs

List of found vpcs

type GetVPCsVpc

type GetVPCsVpc struct {
	// Date and time of VPC's creation (RFC 3339 format).
	CreatedAt string `pulumi:"createdAt"`
	// The associated VPC ID.
	// > **Important:** VPCs' IDs are regional, which means they are of the form `{region}/{id}`, e.g. `fr-par/11111111-1111-1111-1111-111111111111
	Id string `pulumi:"id"`
	// Defines whether the VPC is the default one for its Project.
	IsDefault bool `pulumi:"isDefault"`
	// The VPC name used as filter. VPCs with a name like it are listed.
	Name string `pulumi:"name"`
	// The organization ID the VPC is associated with.
	OrganizationId string `pulumi:"organizationId"`
	// The ID of the project the VPC is associated with.
	ProjectId string `pulumi:"projectId"`
	// `region`). The region in which vpcs exist.
	Region string `pulumi:"region"`
	// List of tags used as filter. VPCs with these exact tags are listed.
	Tags     []string `pulumi:"tags"`
	UpdateAt string   `pulumi:"updateAt"`
}

type GetVPCsVpcArgs

type GetVPCsVpcArgs struct {
	// Date and time of VPC's creation (RFC 3339 format).
	CreatedAt pulumi.StringInput `pulumi:"createdAt"`
	// The associated VPC ID.
	// > **Important:** VPCs' IDs are regional, which means they are of the form `{region}/{id}`, e.g. `fr-par/11111111-1111-1111-1111-111111111111
	Id pulumi.StringInput `pulumi:"id"`
	// Defines whether the VPC is the default one for its Project.
	IsDefault pulumi.BoolInput `pulumi:"isDefault"`
	// The VPC name used as filter. VPCs with a name like it are listed.
	Name pulumi.StringInput `pulumi:"name"`
	// The organization ID the VPC is associated with.
	OrganizationId pulumi.StringInput `pulumi:"organizationId"`
	// The ID of the project the VPC is associated with.
	ProjectId pulumi.StringInput `pulumi:"projectId"`
	// `region`). The region in which vpcs exist.
	Region pulumi.StringInput `pulumi:"region"`
	// List of tags used as filter. VPCs with these exact tags are listed.
	Tags     pulumi.StringArrayInput `pulumi:"tags"`
	UpdateAt pulumi.StringInput      `pulumi:"updateAt"`
}

func (GetVPCsVpcArgs) ElementType

func (GetVPCsVpcArgs) ElementType() reflect.Type

func (GetVPCsVpcArgs) ToGetVPCsVpcOutput

func (i GetVPCsVpcArgs) ToGetVPCsVpcOutput() GetVPCsVpcOutput

func (GetVPCsVpcArgs) ToGetVPCsVpcOutputWithContext

func (i GetVPCsVpcArgs) ToGetVPCsVpcOutputWithContext(ctx context.Context) GetVPCsVpcOutput

type GetVPCsVpcArray

type GetVPCsVpcArray []GetVPCsVpcInput

func (GetVPCsVpcArray) ElementType

func (GetVPCsVpcArray) ElementType() reflect.Type

func (GetVPCsVpcArray) ToGetVPCsVpcArrayOutput

func (i GetVPCsVpcArray) ToGetVPCsVpcArrayOutput() GetVPCsVpcArrayOutput

func (GetVPCsVpcArray) ToGetVPCsVpcArrayOutputWithContext

func (i GetVPCsVpcArray) ToGetVPCsVpcArrayOutputWithContext(ctx context.Context) GetVPCsVpcArrayOutput

type GetVPCsVpcArrayInput

type GetVPCsVpcArrayInput interface {
	pulumi.Input

	ToGetVPCsVpcArrayOutput() GetVPCsVpcArrayOutput
	ToGetVPCsVpcArrayOutputWithContext(context.Context) GetVPCsVpcArrayOutput
}

GetVPCsVpcArrayInput is an input type that accepts GetVPCsVpcArray and GetVPCsVpcArrayOutput values. You can construct a concrete instance of `GetVPCsVpcArrayInput` via:

GetVPCsVpcArray{ GetVPCsVpcArgs{...} }

type GetVPCsVpcArrayOutput

type GetVPCsVpcArrayOutput struct{ *pulumi.OutputState }

func (GetVPCsVpcArrayOutput) ElementType

func (GetVPCsVpcArrayOutput) ElementType() reflect.Type

func (GetVPCsVpcArrayOutput) Index

func (GetVPCsVpcArrayOutput) ToGetVPCsVpcArrayOutput

func (o GetVPCsVpcArrayOutput) ToGetVPCsVpcArrayOutput() GetVPCsVpcArrayOutput

func (GetVPCsVpcArrayOutput) ToGetVPCsVpcArrayOutputWithContext

func (o GetVPCsVpcArrayOutput) ToGetVPCsVpcArrayOutputWithContext(ctx context.Context) GetVPCsVpcArrayOutput

type GetVPCsVpcInput

type GetVPCsVpcInput interface {
	pulumi.Input

	ToGetVPCsVpcOutput() GetVPCsVpcOutput
	ToGetVPCsVpcOutputWithContext(context.Context) GetVPCsVpcOutput
}

GetVPCsVpcInput is an input type that accepts GetVPCsVpcArgs and GetVPCsVpcOutput values. You can construct a concrete instance of `GetVPCsVpcInput` via:

GetVPCsVpcArgs{...}

type GetVPCsVpcOutput

type GetVPCsVpcOutput struct{ *pulumi.OutputState }

func (GetVPCsVpcOutput) CreatedAt

func (o GetVPCsVpcOutput) CreatedAt() pulumi.StringOutput

Date and time of VPC's creation (RFC 3339 format).

func (GetVPCsVpcOutput) ElementType

func (GetVPCsVpcOutput) ElementType() reflect.Type

func (GetVPCsVpcOutput) Id

The associated VPC ID. > **Important:** VPCs' IDs are regional, which means they are of the form `{region}/{id}`, e.g. `fr-par/11111111-1111-1111-1111-111111111111

func (GetVPCsVpcOutput) IsDefault

func (o GetVPCsVpcOutput) IsDefault() pulumi.BoolOutput

Defines whether the VPC is the default one for its Project.

func (GetVPCsVpcOutput) Name

The VPC name used as filter. VPCs with a name like it are listed.

func (GetVPCsVpcOutput) OrganizationId

func (o GetVPCsVpcOutput) OrganizationId() pulumi.StringOutput

The organization ID the VPC is associated with.

func (GetVPCsVpcOutput) ProjectId

func (o GetVPCsVpcOutput) ProjectId() pulumi.StringOutput

The ID of the project the VPC is associated with.

func (GetVPCsVpcOutput) Region

`region`). The region in which vpcs exist.

func (GetVPCsVpcOutput) Tags

List of tags used as filter. VPCs with these exact tags are listed.

func (GetVPCsVpcOutput) ToGetVPCsVpcOutput

func (o GetVPCsVpcOutput) ToGetVPCsVpcOutput() GetVPCsVpcOutput

func (GetVPCsVpcOutput) ToGetVPCsVpcOutputWithContext

func (o GetVPCsVpcOutput) ToGetVPCsVpcOutputWithContext(ctx context.Context) GetVPCsVpcOutput

func (GetVPCsVpcOutput) UpdateAt

func (o GetVPCsVpcOutput) UpdateAt() pulumi.StringOutput

type LookupGatewayNetworkArgs

type LookupGatewayNetworkArgs struct {
	// ID of the public gateway DHCP config
	DhcpId *string `pulumi:"dhcpId"`
	// If masquerade is enabled on requested network
	EnableMasquerade *bool `pulumi:"enableMasquerade"`
	// ID of the public gateway the gateway network is linked to
	GatewayId *string `pulumi:"gatewayId"`
	// ID of the gateway network.
	//
	// > Only one of `gatewayNetworkId` or filters should be specified. You can use all the filters you want.
	GatewayNetworkId *string `pulumi:"gatewayNetworkId"`
	// ID of the private network the gateway network is linked to
	PrivateNetworkId *string `pulumi:"privateNetworkId"`
}

A collection of arguments for invoking getGatewayNetwork.

type LookupGatewayNetworkOutputArgs

type LookupGatewayNetworkOutputArgs struct {
	// ID of the public gateway DHCP config
	DhcpId pulumi.StringPtrInput `pulumi:"dhcpId"`
	// If masquerade is enabled on requested network
	EnableMasquerade pulumi.BoolPtrInput `pulumi:"enableMasquerade"`
	// ID of the public gateway the gateway network is linked to
	GatewayId pulumi.StringPtrInput `pulumi:"gatewayId"`
	// ID of the gateway network.
	//
	// > Only one of `gatewayNetworkId` or filters should be specified. You can use all the filters you want.
	GatewayNetworkId pulumi.StringPtrInput `pulumi:"gatewayNetworkId"`
	// ID of the private network the gateway network is linked to
	PrivateNetworkId pulumi.StringPtrInput `pulumi:"privateNetworkId"`
}

A collection of arguments for invoking getGatewayNetwork.

func (LookupGatewayNetworkOutputArgs) ElementType

type LookupGatewayNetworkResult

type LookupGatewayNetworkResult struct {
	CleanupDhcp      bool    `pulumi:"cleanupDhcp"`
	CreatedAt        string  `pulumi:"createdAt"`
	DhcpId           *string `pulumi:"dhcpId"`
	EnableDhcp       bool    `pulumi:"enableDhcp"`
	EnableMasquerade *bool   `pulumi:"enableMasquerade"`
	GatewayId        *string `pulumi:"gatewayId"`
	GatewayNetworkId *string `pulumi:"gatewayNetworkId"`
	// The provider-assigned unique ID for this managed resource.
	Id               string                        `pulumi:"id"`
	IpamConfigs      []GetGatewayNetworkIpamConfig `pulumi:"ipamConfigs"`
	MacAddress       string                        `pulumi:"macAddress"`
	PrivateNetworkId *string                       `pulumi:"privateNetworkId"`
	StaticAddress    string                        `pulumi:"staticAddress"`
	Status           string                        `pulumi:"status"`
	UpdatedAt        string                        `pulumi:"updatedAt"`
	Zone             string                        `pulumi:"zone"`
}

A collection of values returned by getGatewayNetwork.

func LookupGatewayNetwork

func LookupGatewayNetwork(ctx *pulumi.Context, args *LookupGatewayNetworkArgs, opts ...pulumi.InvokeOption) (*LookupGatewayNetworkResult, error)

Gets information about a gateway network.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		main, err := vpc.NewGatewayNetwork(ctx, "main", &vpc.GatewayNetworkArgs{
			GatewayId:        pulumi.Any(scaleway_vpc_public_gateway.Pg01.Id),
			PrivateNetworkId: pulumi.Any(scaleway_vpc_private_network.Pn01.Id),
			DhcpId:           pulumi.Any(scaleway_vpc_public_gateway_dhcp.Dhcp01.Id),
			CleanupDhcp:      pulumi.Bool(true),
			EnableMasquerade: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_ = vpc.LookupGatewayNetworkOutput(ctx, vpc.GetGatewayNetworkOutputArgs{
			GatewayNetworkId: main.ID(),
		}, nil)
		_, err = vpc.LookupGatewayNetwork(ctx, &vpc.LookupGatewayNetworkArgs{
			GatewayId:        pulumi.StringRef(scaleway_vpc_public_gateway.Pg01.Id),
			PrivateNetworkId: pulumi.StringRef(scaleway_vpc_private_network.Pn01.Id),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type LookupGatewayNetworkResultOutput

type LookupGatewayNetworkResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getGatewayNetwork.

func (LookupGatewayNetworkResultOutput) CleanupDhcp

func (LookupGatewayNetworkResultOutput) CreatedAt

func (LookupGatewayNetworkResultOutput) DhcpId

func (LookupGatewayNetworkResultOutput) ElementType

func (LookupGatewayNetworkResultOutput) EnableDhcp

func (LookupGatewayNetworkResultOutput) EnableMasquerade

func (LookupGatewayNetworkResultOutput) GatewayId

func (LookupGatewayNetworkResultOutput) GatewayNetworkId

func (LookupGatewayNetworkResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupGatewayNetworkResultOutput) IpamConfigs

func (LookupGatewayNetworkResultOutput) MacAddress

func (LookupGatewayNetworkResultOutput) PrivateNetworkId

func (LookupGatewayNetworkResultOutput) StaticAddress

func (LookupGatewayNetworkResultOutput) Status

func (LookupGatewayNetworkResultOutput) ToLookupGatewayNetworkResultOutput

func (o LookupGatewayNetworkResultOutput) ToLookupGatewayNetworkResultOutput() LookupGatewayNetworkResultOutput

func (LookupGatewayNetworkResultOutput) ToLookupGatewayNetworkResultOutputWithContext

func (o LookupGatewayNetworkResultOutput) ToLookupGatewayNetworkResultOutputWithContext(ctx context.Context) LookupGatewayNetworkResultOutput

func (LookupGatewayNetworkResultOutput) UpdatedAt

func (LookupGatewayNetworkResultOutput) Zone

type LookupPrivateNetworkArgs

type LookupPrivateNetworkArgs struct {
	// Name of the private network. Cannot be used with `privateNetworkId`.
	Name *string `pulumi:"name"`
	// ID of the private network. Cannot be used with `name` and `vpcId`.
	PrivateNetworkId *string `pulumi:"privateNetworkId"`
	// The ID of the project the private network is associated with.
	ProjectId *string `pulumi:"projectId"`
	// ID of the VPC in which the private network is. Cannot be used with `privateNetworkId`.
	VpcId *string `pulumi:"vpcId"`
}

A collection of arguments for invoking getPrivateNetwork.

type LookupPrivateNetworkOutputArgs

type LookupPrivateNetworkOutputArgs struct {
	// Name of the private network. Cannot be used with `privateNetworkId`.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// ID of the private network. Cannot be used with `name` and `vpcId`.
	PrivateNetworkId pulumi.StringPtrInput `pulumi:"privateNetworkId"`
	// The ID of the project the private network is associated with.
	ProjectId pulumi.StringPtrInput `pulumi:"projectId"`
	// ID of the VPC in which the private network is. Cannot be used with `privateNetworkId`.
	VpcId pulumi.StringPtrInput `pulumi:"vpcId"`
}

A collection of arguments for invoking getPrivateNetwork.

func (LookupPrivateNetworkOutputArgs) ElementType

type LookupPrivateNetworkResult

type LookupPrivateNetworkResult struct {
	CreatedAt string `pulumi:"createdAt"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The IPv4 subnet associated with the private network.
	Ipv4Subnets []GetPrivateNetworkIpv4Subnet `pulumi:"ipv4Subnets"`
	// The IPv6 subnets associated with the private network.
	Ipv6Subnets      []GetPrivateNetworkIpv6Subnet `pulumi:"ipv6Subnets"`
	IsRegional       bool                          `pulumi:"isRegional"`
	Name             *string                       `pulumi:"name"`
	OrganizationId   string                        `pulumi:"organizationId"`
	PrivateNetworkId *string                       `pulumi:"privateNetworkId"`
	ProjectId        *string                       `pulumi:"projectId"`
	Region           string                        `pulumi:"region"`
	Tags             []string                      `pulumi:"tags"`
	UpdatedAt        string                        `pulumi:"updatedAt"`
	VpcId            *string                       `pulumi:"vpcId"`
	Zone             string                        `pulumi:"zone"`
}

A collection of values returned by getPrivateNetwork.

func LookupPrivateNetwork

func LookupPrivateNetwork(ctx *pulumi.Context, args *LookupPrivateNetworkArgs, opts ...pulumi.InvokeOption) (*LookupPrivateNetworkResult, error)

Gets information about a private network.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vpc.LookupPrivateNetwork(ctx, &vpc.LookupPrivateNetworkArgs{
			Name: pulumi.StringRef("foobar"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = vpc.LookupPrivateNetwork(ctx, &vpc.LookupPrivateNetworkArgs{
			Name:  pulumi.StringRef("foobar"),
			VpcId: pulumi.StringRef("11111111-1111-1111-1111-111111111111"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = vpc.LookupPrivateNetwork(ctx, &vpc.LookupPrivateNetworkArgs{
			PrivateNetworkId: pulumi.StringRef("11111111-1111-1111-1111-111111111111"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type LookupPrivateNetworkResultOutput

type LookupPrivateNetworkResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPrivateNetwork.

func (LookupPrivateNetworkResultOutput) CreatedAt

func (LookupPrivateNetworkResultOutput) ElementType

func (LookupPrivateNetworkResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupPrivateNetworkResultOutput) Ipv4Subnets

The IPv4 subnet associated with the private network.

func (LookupPrivateNetworkResultOutput) Ipv6Subnets

The IPv6 subnets associated with the private network.

func (LookupPrivateNetworkResultOutput) IsRegional

func (LookupPrivateNetworkResultOutput) Name

func (LookupPrivateNetworkResultOutput) OrganizationId

func (LookupPrivateNetworkResultOutput) PrivateNetworkId

func (LookupPrivateNetworkResultOutput) ProjectId

func (LookupPrivateNetworkResultOutput) Region

func (LookupPrivateNetworkResultOutput) Tags

func (LookupPrivateNetworkResultOutput) ToLookupPrivateNetworkResultOutput

func (o LookupPrivateNetworkResultOutput) ToLookupPrivateNetworkResultOutput() LookupPrivateNetworkResultOutput

func (LookupPrivateNetworkResultOutput) ToLookupPrivateNetworkResultOutputWithContext

func (o LookupPrivateNetworkResultOutput) ToLookupPrivateNetworkResultOutputWithContext(ctx context.Context) LookupPrivateNetworkResultOutput

func (LookupPrivateNetworkResultOutput) UpdatedAt

func (LookupPrivateNetworkResultOutput) VpcId

func (LookupPrivateNetworkResultOutput) Zone

type LookupPublicGatewayArgs

type LookupPublicGatewayArgs struct {
	// Exact name of the public gateway.
	Name *string `pulumi:"name"`
	// The ID of the project the public gateway is associated with.
	ProjectId       *string `pulumi:"projectId"`
	PublicGatewayId *string `pulumi:"publicGatewayId"`
	// `zone`) The zone in which
	// the public gateway should be created.
	Zone *string `pulumi:"zone"`
}

A collection of arguments for invoking getPublicGateway.

type LookupPublicGatewayDHCPArgs

type LookupPublicGatewayDHCPArgs struct {
	DhcpId string `pulumi:"dhcpId"`
}

A collection of arguments for invoking getPublicGatewayDHCP.

type LookupPublicGatewayDHCPOutputArgs

type LookupPublicGatewayDHCPOutputArgs struct {
	DhcpId pulumi.StringInput `pulumi:"dhcpId"`
}

A collection of arguments for invoking getPublicGatewayDHCP.

func (LookupPublicGatewayDHCPOutputArgs) ElementType

type LookupPublicGatewayDHCPReservationArgs

type LookupPublicGatewayDHCPReservationArgs struct {
	// The ID of the owning GatewayNetwork.
	//
	// > Only one of `reservationId` or `macAddress` with `gatewayNetworkId` should be specified.
	GatewayNetworkId *string `pulumi:"gatewayNetworkId"`
	// The MAC address of the reservation to retrieve.
	MacAddress *string `pulumi:"macAddress"`
	// The ID of the Reservation to retrieve.
	ReservationId *string `pulumi:"reservationId"`
	// Boolean to wait for macAddress to exist in dhcp.
	WaitForDhcp *bool `pulumi:"waitForDhcp"`
	// `zone`) The zone in which the image exists.
	Zone *string `pulumi:"zone"`
}

A collection of arguments for invoking getPublicGatewayDHCPReservation.

type LookupPublicGatewayDHCPReservationOutputArgs

type LookupPublicGatewayDHCPReservationOutputArgs struct {
	// The ID of the owning GatewayNetwork.
	//
	// > Only one of `reservationId` or `macAddress` with `gatewayNetworkId` should be specified.
	GatewayNetworkId pulumi.StringPtrInput `pulumi:"gatewayNetworkId"`
	// The MAC address of the reservation to retrieve.
	MacAddress pulumi.StringPtrInput `pulumi:"macAddress"`
	// The ID of the Reservation to retrieve.
	ReservationId pulumi.StringPtrInput `pulumi:"reservationId"`
	// Boolean to wait for macAddress to exist in dhcp.
	WaitForDhcp pulumi.BoolPtrInput `pulumi:"waitForDhcp"`
	// `zone`) The zone in which the image exists.
	Zone pulumi.StringPtrInput `pulumi:"zone"`
}

A collection of arguments for invoking getPublicGatewayDHCPReservation.

func (LookupPublicGatewayDHCPReservationOutputArgs) ElementType

type LookupPublicGatewayDHCPReservationResult

type LookupPublicGatewayDHCPReservationResult struct {
	CreatedAt        string  `pulumi:"createdAt"`
	GatewayNetworkId *string `pulumi:"gatewayNetworkId"`
	Hostname         string  `pulumi:"hostname"`
	// The provider-assigned unique ID for this managed resource.
	Id            string  `pulumi:"id"`
	IpAddress     string  `pulumi:"ipAddress"`
	MacAddress    *string `pulumi:"macAddress"`
	ReservationId *string `pulumi:"reservationId"`
	Type          string  `pulumi:"type"`
	UpdatedAt     string  `pulumi:"updatedAt"`
	WaitForDhcp   *bool   `pulumi:"waitForDhcp"`
	Zone          *string `pulumi:"zone"`
}

A collection of values returned by getPublicGatewayDHCPReservation.

func LookupPublicGatewayDHCPReservation

Gets information about a dhcp entries. For further information please check the API [documentation](https://developers.scaleway.com/en/products/vpc-gw/api/v1/#dhcp-entries-e40fb6)

## Example Dynamic

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		mainPrivateNetwork, err := vpc.NewPrivateNetwork(ctx, "mainPrivateNetwork", nil)
		if err != nil {
			return err
		}
		mainServer, err := instance.NewServer(ctx, "mainServer", &instance.ServerArgs{
			Image: pulumi.String("ubuntu_jammy"),
			Type:  pulumi.String("DEV1-S"),
			Zone:  pulumi.String("fr-par-1"),
		})
		if err != nil {
			return err
		}
		mainPrivateNIC, err := instance.NewPrivateNIC(ctx, "mainPrivateNIC", &instance.PrivateNICArgs{
			ServerId:         mainServer.ID(),
			PrivateNetworkId: mainPrivateNetwork.ID(),
		})
		if err != nil {
			return err
		}
		mainPublicGatewayIP, err := vpc.NewPublicGatewayIP(ctx, "mainPublicGatewayIP", nil)
		if err != nil {
			return err
		}
		mainPublicGatewayDHCP, err := vpc.NewPublicGatewayDHCP(ctx, "mainPublicGatewayDHCP", &vpc.PublicGatewayDHCPArgs{
			Subnet: pulumi.String("192.168.1.0/24"),
		})
		if err != nil {
			return err
		}
		mainPublicGateway, err := vpc.NewPublicGateway(ctx, "mainPublicGateway", &vpc.PublicGatewayArgs{
			Type: pulumi.String("VPC-GW-S"),
			IpId: mainPublicGatewayIP.ID(),
		})
		if err != nil {
			return err
		}
		mainGatewayNetwork, err := vpc.NewGatewayNetwork(ctx, "mainGatewayNetwork", &vpc.GatewayNetworkArgs{
			GatewayId:        mainPublicGateway.ID(),
			PrivateNetworkId: mainPrivateNetwork.ID(),
			DhcpId:           mainPublicGatewayDHCP.ID(),
			CleanupDhcp:      pulumi.Bool(true),
			EnableMasquerade: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_ = vpc.LookupPublicGatewayDHCPReservationOutput(ctx, vpc.GetPublicGatewayDHCPReservationOutputArgs{
			MacAddress:       mainPrivateNIC.MacAddress,
			GatewayNetworkId: mainGatewayNetwork.ID(),
		}, nil)
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Example Static and PAT rule

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		mainPrivateNetwork, err := vpc.NewPrivateNetwork(ctx, "mainPrivateNetwork", nil)
		if err != nil {
			return err
		}
		mainSecurityGroup, err := instance.NewSecurityGroup(ctx, "mainSecurityGroup", &instance.SecurityGroupArgs{
			InboundDefaultPolicy:  pulumi.String("drop"),
			OutboundDefaultPolicy: pulumi.String("accept"),
			InboundRules: instance.SecurityGroupInboundRuleArray{
				&instance.SecurityGroupInboundRuleArgs{
					Action: pulumi.String("accept"),
					Port:   pulumi.Int(22),
				},
			},
		})
		if err != nil {
			return err
		}
		mainServer, err := instance.NewServer(ctx, "mainServer", &instance.ServerArgs{
			Image:           pulumi.String("ubuntu_jammy"),
			Type:            pulumi.String("DEV1-S"),
			Zone:            pulumi.String("fr-par-1"),
			SecurityGroupId: mainSecurityGroup.ID(),
		})
		if err != nil {
			return err
		}
		mainPrivateNIC, err := instance.NewPrivateNIC(ctx, "mainPrivateNIC", &instance.PrivateNICArgs{
			ServerId:         mainServer.ID(),
			PrivateNetworkId: mainPrivateNetwork.ID(),
		})
		if err != nil {
			return err
		}
		mainPublicGatewayIP, err := vpc.NewPublicGatewayIP(ctx, "mainPublicGatewayIP", nil)
		if err != nil {
			return err
		}
		mainPublicGatewayDHCP, err := vpc.NewPublicGatewayDHCP(ctx, "mainPublicGatewayDHCP", &vpc.PublicGatewayDHCPArgs{
			Subnet: pulumi.String("192.168.1.0/24"),
		})
		if err != nil {
			return err
		}
		mainPublicGateway, err := vpc.NewPublicGateway(ctx, "mainPublicGateway", &vpc.PublicGatewayArgs{
			Type: pulumi.String("VPC-GW-S"),
			IpId: mainPublicGatewayIP.ID(),
		})
		if err != nil {
			return err
		}
		mainGatewayNetwork, err := vpc.NewGatewayNetwork(ctx, "mainGatewayNetwork", &vpc.GatewayNetworkArgs{
			GatewayId:        mainPublicGateway.ID(),
			PrivateNetworkId: mainPrivateNetwork.ID(),
			DhcpId:           mainPublicGatewayDHCP.ID(),
			CleanupDhcp:      pulumi.Bool(true),
			EnableMasquerade: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		mainPublicGatewayDHCPReservation, err := vpc.NewPublicGatewayDHCPReservation(ctx, "mainPublicGatewayDHCPReservation", &vpc.PublicGatewayDHCPReservationArgs{
			GatewayNetworkId: mainGatewayNetwork.ID(),
			MacAddress:       mainPrivateNIC.MacAddress,
			IpAddress:        pulumi.String("192.168.1.4"),
		})
		if err != nil {
			return err
		}
		// ## VPC PAT RULE
		_, err = vpc.NewPublicGatewayPATRule(ctx, "mainPublicGatewayPATRule", &vpc.PublicGatewayPATRuleArgs{
			GatewayId:   mainPublicGateway.ID(),
			PrivateIp:   mainPublicGatewayDHCPReservation.IpAddress,
			PrivatePort: pulumi.Int(22),
			PublicPort:  pulumi.Int(2222),
			Protocol:    pulumi.String("tcp"),
		})
		if err != nil {
			return err
		}
		_ = vpc.LookupPublicGatewayDHCPReservationOutput(ctx, vpc.GetPublicGatewayDHCPReservationOutputArgs{
			ReservationId: mainPublicGatewayDHCPReservation.ID(),
		}, nil)
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type LookupPublicGatewayDHCPReservationResultOutput

type LookupPublicGatewayDHCPReservationResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPublicGatewayDHCPReservation.

func (LookupPublicGatewayDHCPReservationResultOutput) CreatedAt

func (LookupPublicGatewayDHCPReservationResultOutput) ElementType

func (LookupPublicGatewayDHCPReservationResultOutput) GatewayNetworkId

func (LookupPublicGatewayDHCPReservationResultOutput) Hostname

func (LookupPublicGatewayDHCPReservationResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupPublicGatewayDHCPReservationResultOutput) IpAddress

func (LookupPublicGatewayDHCPReservationResultOutput) MacAddress

func (LookupPublicGatewayDHCPReservationResultOutput) ReservationId

func (LookupPublicGatewayDHCPReservationResultOutput) ToLookupPublicGatewayDHCPReservationResultOutput

func (o LookupPublicGatewayDHCPReservationResultOutput) ToLookupPublicGatewayDHCPReservationResultOutput() LookupPublicGatewayDHCPReservationResultOutput

func (LookupPublicGatewayDHCPReservationResultOutput) ToLookupPublicGatewayDHCPReservationResultOutputWithContext

func (o LookupPublicGatewayDHCPReservationResultOutput) ToLookupPublicGatewayDHCPReservationResultOutputWithContext(ctx context.Context) LookupPublicGatewayDHCPReservationResultOutput

func (LookupPublicGatewayDHCPReservationResultOutput) Type

func (LookupPublicGatewayDHCPReservationResultOutput) UpdatedAt

func (LookupPublicGatewayDHCPReservationResultOutput) WaitForDhcp

func (LookupPublicGatewayDHCPReservationResultOutput) Zone

type LookupPublicGatewayDHCPResult

type LookupPublicGatewayDHCPResult struct {
	Address             string   `pulumi:"address"`
	CreatedAt           string   `pulumi:"createdAt"`
	DhcpId              string   `pulumi:"dhcpId"`
	DnsLocalName        string   `pulumi:"dnsLocalName"`
	DnsSearches         []string `pulumi:"dnsSearches"`
	DnsServersOverrides []string `pulumi:"dnsServersOverrides"`
	EnableDynamic       bool     `pulumi:"enableDynamic"`
	// The provider-assigned unique ID for this managed resource.
	Id               string `pulumi:"id"`
	OrganizationId   string `pulumi:"organizationId"`
	PoolHigh         string `pulumi:"poolHigh"`
	PoolLow          string `pulumi:"poolLow"`
	ProjectId        string `pulumi:"projectId"`
	PushDefaultRoute bool   `pulumi:"pushDefaultRoute"`
	PushDnsServer    bool   `pulumi:"pushDnsServer"`
	RebindTimer      int    `pulumi:"rebindTimer"`
	RenewTimer       int    `pulumi:"renewTimer"`
	Subnet           string `pulumi:"subnet"`
	UpdatedAt        string `pulumi:"updatedAt"`
	ValidLifetime    int    `pulumi:"validLifetime"`
	Zone             string `pulumi:"zone"`
}

A collection of values returned by getPublicGatewayDHCP.

func LookupPublicGatewayDHCP

func LookupPublicGatewayDHCP(ctx *pulumi.Context, args *LookupPublicGatewayDHCPArgs, opts ...pulumi.InvokeOption) (*LookupPublicGatewayDHCPResult, error)

Gets information about a public gateway DHCP.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		main, err := vpc.NewPublicGatewayDHCP(ctx, "main", &vpc.PublicGatewayDHCPArgs{
			Subnet: pulumi.String("192.168.0.0/24"),
		})
		if err != nil {
			return err
		}
		_ = vpc.LookupPublicGatewayDHCPOutput(ctx, vpc.GetPublicGatewayDHCPOutputArgs{
			DhcpId: main.ID(),
		}, nil)
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type LookupPublicGatewayDHCPResultOutput

type LookupPublicGatewayDHCPResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPublicGatewayDHCP.

func (LookupPublicGatewayDHCPResultOutput) Address

func (LookupPublicGatewayDHCPResultOutput) CreatedAt

func (LookupPublicGatewayDHCPResultOutput) DhcpId

func (LookupPublicGatewayDHCPResultOutput) DnsLocalName

func (LookupPublicGatewayDHCPResultOutput) DnsSearches

func (LookupPublicGatewayDHCPResultOutput) DnsServersOverrides

func (LookupPublicGatewayDHCPResultOutput) ElementType

func (LookupPublicGatewayDHCPResultOutput) EnableDynamic

func (LookupPublicGatewayDHCPResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupPublicGatewayDHCPResultOutput) OrganizationId

func (LookupPublicGatewayDHCPResultOutput) PoolHigh

func (LookupPublicGatewayDHCPResultOutput) PoolLow

func (LookupPublicGatewayDHCPResultOutput) ProjectId

func (LookupPublicGatewayDHCPResultOutput) PushDefaultRoute

func (LookupPublicGatewayDHCPResultOutput) PushDnsServer

func (LookupPublicGatewayDHCPResultOutput) RebindTimer

func (LookupPublicGatewayDHCPResultOutput) RenewTimer

func (LookupPublicGatewayDHCPResultOutput) Subnet

func (LookupPublicGatewayDHCPResultOutput) ToLookupPublicGatewayDHCPResultOutput

func (o LookupPublicGatewayDHCPResultOutput) ToLookupPublicGatewayDHCPResultOutput() LookupPublicGatewayDHCPResultOutput

func (LookupPublicGatewayDHCPResultOutput) ToLookupPublicGatewayDHCPResultOutputWithContext

func (o LookupPublicGatewayDHCPResultOutput) ToLookupPublicGatewayDHCPResultOutputWithContext(ctx context.Context) LookupPublicGatewayDHCPResultOutput

func (LookupPublicGatewayDHCPResultOutput) UpdatedAt

func (LookupPublicGatewayDHCPResultOutput) ValidLifetime

func (LookupPublicGatewayDHCPResultOutput) Zone

type LookupPublicGatewayIPArgs

type LookupPublicGatewayIPArgs struct {
	IpId *string `pulumi:"ipId"`
}

A collection of arguments for invoking getPublicGatewayIP.

type LookupPublicGatewayIPOutputArgs

type LookupPublicGatewayIPOutputArgs struct {
	IpId pulumi.StringPtrInput `pulumi:"ipId"`
}

A collection of arguments for invoking getPublicGatewayIP.

func (LookupPublicGatewayIPOutputArgs) ElementType

type LookupPublicGatewayIPResult

type LookupPublicGatewayIPResult struct {
	Address   string `pulumi:"address"`
	CreatedAt string `pulumi:"createdAt"`
	// The provider-assigned unique ID for this managed resource.
	Id             string   `pulumi:"id"`
	IpId           *string  `pulumi:"ipId"`
	OrganizationId string   `pulumi:"organizationId"`
	ProjectId      string   `pulumi:"projectId"`
	Reverse        string   `pulumi:"reverse"`
	Tags           []string `pulumi:"tags"`
	UpdatedAt      string   `pulumi:"updatedAt"`
	Zone           string   `pulumi:"zone"`
}

A collection of values returned by getPublicGatewayIP.

func LookupPublicGatewayIP

func LookupPublicGatewayIP(ctx *pulumi.Context, args *LookupPublicGatewayIPArgs, opts ...pulumi.InvokeOption) (*LookupPublicGatewayIPResult, error)

Gets information about a public gateway IP.

For further information please check the API [documentation](https://developers.scaleway.com/en/products/vpc-gw/api/v1/#get-66f0c0)

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		main, err := vpc.NewPublicGatewayIP(ctx, "main", nil)
		if err != nil {
			return err
		}
		_ = vpc.LookupPublicGatewayIPOutput(ctx, vpc.GetPublicGatewayIPOutputArgs{
			IpId: main.ID(),
		}, nil)
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type LookupPublicGatewayIPResultOutput

type LookupPublicGatewayIPResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPublicGatewayIP.

func (LookupPublicGatewayIPResultOutput) Address

func (LookupPublicGatewayIPResultOutput) CreatedAt

func (LookupPublicGatewayIPResultOutput) ElementType

func (LookupPublicGatewayIPResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupPublicGatewayIPResultOutput) IpId

func (LookupPublicGatewayIPResultOutput) OrganizationId

func (LookupPublicGatewayIPResultOutput) ProjectId

func (LookupPublicGatewayIPResultOutput) Reverse

func (LookupPublicGatewayIPResultOutput) Tags

func (LookupPublicGatewayIPResultOutput) ToLookupPublicGatewayIPResultOutput

func (o LookupPublicGatewayIPResultOutput) ToLookupPublicGatewayIPResultOutput() LookupPublicGatewayIPResultOutput

func (LookupPublicGatewayIPResultOutput) ToLookupPublicGatewayIPResultOutputWithContext

func (o LookupPublicGatewayIPResultOutput) ToLookupPublicGatewayIPResultOutputWithContext(ctx context.Context) LookupPublicGatewayIPResultOutput

func (LookupPublicGatewayIPResultOutput) UpdatedAt

func (LookupPublicGatewayIPResultOutput) Zone

type LookupPublicGatewayOutputArgs

type LookupPublicGatewayOutputArgs struct {
	// Exact name of the public gateway.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The ID of the project the public gateway is associated with.
	ProjectId       pulumi.StringPtrInput `pulumi:"projectId"`
	PublicGatewayId pulumi.StringPtrInput `pulumi:"publicGatewayId"`
	// `zone`) The zone in which
	// the public gateway should be created.
	Zone pulumi.StringPtrInput `pulumi:"zone"`
}

A collection of arguments for invoking getPublicGateway.

func (LookupPublicGatewayOutputArgs) ElementType

type LookupPublicGatewayPATRuleArgs

type LookupPublicGatewayPATRuleArgs struct {
	// The ID of the PAT rule to retrieve
	PatRuleId string `pulumi:"patRuleId"`
	// `zone`) The zone in which
	// the image exists.
	Zone *string `pulumi:"zone"`
}

A collection of arguments for invoking getPublicGatewayPATRule.

type LookupPublicGatewayPATRuleOutputArgs

type LookupPublicGatewayPATRuleOutputArgs struct {
	// The ID of the PAT rule to retrieve
	PatRuleId pulumi.StringInput `pulumi:"patRuleId"`
	// `zone`) The zone in which
	// the image exists.
	Zone pulumi.StringPtrInput `pulumi:"zone"`
}

A collection of arguments for invoking getPublicGatewayPATRule.

func (LookupPublicGatewayPATRuleOutputArgs) ElementType

type LookupPublicGatewayPATRuleResult

type LookupPublicGatewayPATRuleResult struct {
	CreatedAt string `pulumi:"createdAt"`
	// The ID of the public gateway.
	GatewayId string `pulumi:"gatewayId"`
	// The provider-assigned unique ID for this managed resource.
	Id             string `pulumi:"id"`
	OrganizationId string `pulumi:"organizationId"`
	PatRuleId      string `pulumi:"patRuleId"`
	// The Private IP to forward data to (IP address).
	PrivateIp string `pulumi:"privateIp"`
	// The Private port to translate to.
	PrivatePort int `pulumi:"privatePort"`
	// The Protocol the rule should apply to. Possible values are both, tcp and udp.
	Protocol string `pulumi:"protocol"`
	// The Public port to listen on.
	PublicPort int     `pulumi:"publicPort"`
	UpdatedAt  string  `pulumi:"updatedAt"`
	Zone       *string `pulumi:"zone"`
}

A collection of values returned by getPublicGatewayPATRule.

func LookupPublicGatewayPATRule

func LookupPublicGatewayPATRule(ctx *pulumi.Context, args *LookupPublicGatewayPATRuleArgs, opts ...pulumi.InvokeOption) (*LookupPublicGatewayPATRuleResult, error)

Gets information about a public gateway PAT rule. For further information please check the API [documentation](https://developers.scaleway.com/en/products/vpc-gw/api/v1/#get-8faeea)

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		sg01, err := instance.NewSecurityGroup(ctx, "sg01", &instance.SecurityGroupArgs{
			InboundDefaultPolicy:  pulumi.String("drop"),
			OutboundDefaultPolicy: pulumi.String("accept"),
			InboundRules: instance.SecurityGroupInboundRuleArray{
				&instance.SecurityGroupInboundRuleArgs{
					Action:   pulumi.String("accept"),
					Port:     pulumi.Int(22),
					Protocol: pulumi.String("TCP"),
				},
			},
		})
		if err != nil {
			return err
		}
		srv01, err := instance.NewServer(ctx, "srv01", &instance.ServerArgs{
			Type:            pulumi.String("PLAY2-NANO"),
			Image:           pulumi.String("ubuntu_jammy"),
			SecurityGroupId: sg01.ID(),
		})
		if err != nil {
			return err
		}
		pn01, err := vpc.NewPrivateNetwork(ctx, "pn01", nil)
		if err != nil {
			return err
		}
		pnic01, err := instance.NewPrivateNIC(ctx, "pnic01", &instance.PrivateNICArgs{
			ServerId:         srv01.ID(),
			PrivateNetworkId: pn01.ID(),
		})
		if err != nil {
			return err
		}
		dhcp01, err := vpc.NewPublicGatewayDHCP(ctx, "dhcp01", &vpc.PublicGatewayDHCPArgs{
			Subnet: pulumi.String("192.168.0.0/24"),
		})
		if err != nil {
			return err
		}
		ip01, err := vpc.NewPublicGatewayIP(ctx, "ip01", nil)
		if err != nil {
			return err
		}
		pg01, err := vpc.NewPublicGateway(ctx, "pg01", &vpc.PublicGatewayArgs{
			Type: pulumi.String("VPC-GW-S"),
			IpId: ip01.ID(),
		})
		if err != nil {
			return err
		}
		gn01, err := vpc.NewGatewayNetwork(ctx, "gn01", &vpc.GatewayNetworkArgs{
			GatewayId:        pg01.ID(),
			PrivateNetworkId: pn01.ID(),
			DhcpId:           dhcp01.ID(),
			CleanupDhcp:      pulumi.Bool(true),
			EnableMasquerade: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		rsv01, err := vpc.NewPublicGatewayDHCPReservation(ctx, "rsv01", &vpc.PublicGatewayDHCPReservationArgs{
			GatewayNetworkId: gn01.ID(),
			MacAddress:       pnic01.MacAddress,
			IpAddress:        pulumi.String("192.168.0.7"),
		})
		if err != nil {
			return err
		}
		pat01, err := vpc.NewPublicGatewayPATRule(ctx, "pat01", &vpc.PublicGatewayPATRuleArgs{
			GatewayId:   pg01.ID(),
			PrivateIp:   rsv01.IpAddress,
			PrivatePort: pulumi.Int(22),
			PublicPort:  pulumi.Int(2202),
			Protocol:    pulumi.String("tcp"),
		})
		if err != nil {
			return err
		}
		_ = vpc.LookupPublicGatewayPATRuleOutput(ctx, vpc.GetPublicGatewayPATRuleOutputArgs{
			PatRuleId: pat01.ID(),
		}, nil)
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type LookupPublicGatewayPATRuleResultOutput

type LookupPublicGatewayPATRuleResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPublicGatewayPATRule.

func (LookupPublicGatewayPATRuleResultOutput) CreatedAt

func (LookupPublicGatewayPATRuleResultOutput) ElementType

func (LookupPublicGatewayPATRuleResultOutput) GatewayId

The ID of the public gateway.

func (LookupPublicGatewayPATRuleResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupPublicGatewayPATRuleResultOutput) OrganizationId

func (LookupPublicGatewayPATRuleResultOutput) PatRuleId

func (LookupPublicGatewayPATRuleResultOutput) PrivateIp

The Private IP to forward data to (IP address).

func (LookupPublicGatewayPATRuleResultOutput) PrivatePort

The Private port to translate to.

func (LookupPublicGatewayPATRuleResultOutput) Protocol

The Protocol the rule should apply to. Possible values are both, tcp and udp.

func (LookupPublicGatewayPATRuleResultOutput) PublicPort

The Public port to listen on.

func (LookupPublicGatewayPATRuleResultOutput) ToLookupPublicGatewayPATRuleResultOutput

func (o LookupPublicGatewayPATRuleResultOutput) ToLookupPublicGatewayPATRuleResultOutput() LookupPublicGatewayPATRuleResultOutput

func (LookupPublicGatewayPATRuleResultOutput) ToLookupPublicGatewayPATRuleResultOutputWithContext

func (o LookupPublicGatewayPATRuleResultOutput) ToLookupPublicGatewayPATRuleResultOutputWithContext(ctx context.Context) LookupPublicGatewayPATRuleResultOutput

func (LookupPublicGatewayPATRuleResultOutput) UpdatedAt

func (LookupPublicGatewayPATRuleResultOutput) Zone

type LookupPublicGatewayResult

type LookupPublicGatewayResult struct {
	BastionEnabled bool   `pulumi:"bastionEnabled"`
	BastionPort    int    `pulumi:"bastionPort"`
	CreatedAt      string `pulumi:"createdAt"`
	EnableSmtp     bool   `pulumi:"enableSmtp"`
	// The provider-assigned unique ID for this managed resource.
	Id                 string   `pulumi:"id"`
	IpId               string   `pulumi:"ipId"`
	Name               *string  `pulumi:"name"`
	OrganizationId     string   `pulumi:"organizationId"`
	ProjectId          *string  `pulumi:"projectId"`
	PublicGatewayId    *string  `pulumi:"publicGatewayId"`
	Status             string   `pulumi:"status"`
	Tags               []string `pulumi:"tags"`
	Type               string   `pulumi:"type"`
	UpdatedAt          string   `pulumi:"updatedAt"`
	UpstreamDnsServers []string `pulumi:"upstreamDnsServers"`
	Zone               *string  `pulumi:"zone"`
}

A collection of values returned by getPublicGateway.

func LookupPublicGateway

func LookupPublicGateway(ctx *pulumi.Context, args *LookupPublicGatewayArgs, opts ...pulumi.InvokeOption) (*LookupPublicGatewayResult, error)

Gets information about a public gateway.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		main, err := vpc.NewPublicGateway(ctx, "main", &vpc.PublicGatewayArgs{
			Type: pulumi.String("VPC-GW-S"),
			Zone: pulumi.String("nl-ams-1"),
		})
		if err != nil {
			return err
		}
		_ = vpc.LookupPublicGatewayOutput(ctx, vpc.GetPublicGatewayOutputArgs{
			Name: main.Name,
			Zone: pulumi.String("nl-ams-1"),
		}, nil)
		_ = vpc.LookupPublicGatewayOutput(ctx, vpc.GetPublicGatewayOutputArgs{
			PublicGatewayId: main.ID(),
		}, nil)
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type LookupPublicGatewayResultOutput

type LookupPublicGatewayResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPublicGateway.

func (LookupPublicGatewayResultOutput) BastionEnabled

func (LookupPublicGatewayResultOutput) BastionPort

func (LookupPublicGatewayResultOutput) CreatedAt

func (LookupPublicGatewayResultOutput) ElementType

func (LookupPublicGatewayResultOutput) EnableSmtp

func (LookupPublicGatewayResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupPublicGatewayResultOutput) IpId

func (LookupPublicGatewayResultOutput) Name

func (LookupPublicGatewayResultOutput) OrganizationId

func (LookupPublicGatewayResultOutput) ProjectId

func (LookupPublicGatewayResultOutput) PublicGatewayId

func (LookupPublicGatewayResultOutput) Status

func (LookupPublicGatewayResultOutput) Tags

func (LookupPublicGatewayResultOutput) ToLookupPublicGatewayResultOutput

func (o LookupPublicGatewayResultOutput) ToLookupPublicGatewayResultOutput() LookupPublicGatewayResultOutput

func (LookupPublicGatewayResultOutput) ToLookupPublicGatewayResultOutputWithContext

func (o LookupPublicGatewayResultOutput) ToLookupPublicGatewayResultOutputWithContext(ctx context.Context) LookupPublicGatewayResultOutput

func (LookupPublicGatewayResultOutput) Type

func (LookupPublicGatewayResultOutput) UpdatedAt

func (LookupPublicGatewayResultOutput) UpstreamDnsServers

func (LookupPublicGatewayResultOutput) Zone

type LookupVPCArgs

type LookupVPCArgs struct {
	// To get default VPC's information.
	IsDefault *bool `pulumi:"isDefault"`
	// Name of the VPC. One of `name` and `vpcId` should be specified.
	Name *string `pulumi:"name"`
	// The ID of the organization the VPC is associated with.
	OrganizationId *string `pulumi:"organizationId"`
	// `projectId`) The ID of the project the VPC is associated with.
	ProjectId *string `pulumi:"projectId"`
	Region    *string `pulumi:"region"`
	// ID of the VPC. One of `name` and `vpcId` should be specified.
	VpcId *string `pulumi:"vpcId"`
}

A collection of arguments for invoking getVPC.

type LookupVPCOutputArgs

type LookupVPCOutputArgs struct {
	// To get default VPC's information.
	IsDefault pulumi.BoolPtrInput `pulumi:"isDefault"`
	// Name of the VPC. One of `name` and `vpcId` should be specified.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The ID of the organization the VPC is associated with.
	OrganizationId pulumi.StringPtrInput `pulumi:"organizationId"`
	// `projectId`) The ID of the project the VPC is associated with.
	ProjectId pulumi.StringPtrInput `pulumi:"projectId"`
	Region    pulumi.StringPtrInput `pulumi:"region"`
	// ID of the VPC. One of `name` and `vpcId` should be specified.
	VpcId pulumi.StringPtrInput `pulumi:"vpcId"`
}

A collection of arguments for invoking getVPC.

func (LookupVPCOutputArgs) ElementType

func (LookupVPCOutputArgs) ElementType() reflect.Type

type LookupVPCResult

type LookupVPCResult struct {
	CreatedAt string `pulumi:"createdAt"`
	// The provider-assigned unique ID for this managed resource.
	Id             string   `pulumi:"id"`
	IsDefault      *bool    `pulumi:"isDefault"`
	Name           *string  `pulumi:"name"`
	OrganizationId string   `pulumi:"organizationId"`
	ProjectId      *string  `pulumi:"projectId"`
	Region         *string  `pulumi:"region"`
	Tags           []string `pulumi:"tags"`
	UpdatedAt      string   `pulumi:"updatedAt"`
	VpcId          *string  `pulumi:"vpcId"`
}

A collection of values returned by getVPC.

func LookupVPC

func LookupVPC(ctx *pulumi.Context, args *LookupVPCArgs, opts ...pulumi.InvokeOption) (*LookupVPCResult, error)

Gets information about a Scaleway Virtual Private Cloud.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vpc.LookupVPC(ctx, &vpc.LookupVPCArgs{
			Name: pulumi.StringRef("foobar"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = vpc.LookupVPC(ctx, &vpc.LookupVPCArgs{
			VpcId: pulumi.StringRef("11111111-1111-1111-1111-111111111111"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = vpc.LookupVPC(ctx, &vpc.LookupVPCArgs{
			IsDefault: pulumi.BoolRef(true),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type LookupVPCResultOutput

type LookupVPCResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getVPC.

func (LookupVPCResultOutput) CreatedAt

func (LookupVPCResultOutput) ElementType

func (LookupVPCResultOutput) ElementType() reflect.Type

func (LookupVPCResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupVPCResultOutput) IsDefault

func (LookupVPCResultOutput) Name

func (LookupVPCResultOutput) OrganizationId

func (o LookupVPCResultOutput) OrganizationId() pulumi.StringOutput

func (LookupVPCResultOutput) ProjectId

func (LookupVPCResultOutput) Region

func (LookupVPCResultOutput) Tags

func (LookupVPCResultOutput) ToLookupVPCResultOutput

func (o LookupVPCResultOutput) ToLookupVPCResultOutput() LookupVPCResultOutput

func (LookupVPCResultOutput) ToLookupVPCResultOutputWithContext

func (o LookupVPCResultOutput) ToLookupVPCResultOutputWithContext(ctx context.Context) LookupVPCResultOutput

func (LookupVPCResultOutput) UpdatedAt

func (LookupVPCResultOutput) VpcId

type PrivateNetwork

type PrivateNetwork struct {
	pulumi.CustomResourceState

	// The date and time of the creation of the subnet.
	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
	// The IPv4 subnet to associate with the private network.
	Ipv4Subnet PrivateNetworkIpv4SubnetOutput `pulumi:"ipv4Subnet"`
	// The IPv6 subnets to associate with the private network.
	Ipv6Subnets PrivateNetworkIpv6SubnetArrayOutput `pulumi:"ipv6Subnets"`
	// The private networks are necessarily regional now.
	//
	// Deprecated: This field is deprecated and will be removed in the next major version
	IsRegional pulumi.BoolOutput `pulumi:"isRegional"`
	// The name of the private network. If not provided it will be randomly generated.
	Name pulumi.StringOutput `pulumi:"name"`
	// The organization ID the private network is associated with.
	OrganizationId pulumi.StringOutput `pulumi:"organizationId"`
	// `projectId`) The ID of the project the private network is associated with.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// `region`) The region of the private network.
	Region pulumi.StringOutput `pulumi:"region"`
	// The tags associated with the private network.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// The date and time of the last update of the subnet.
	UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"`
	// The VPC in which to create the private network.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
	// please use `region` instead - (Defaults to provider `zone`) The zone in which the private network should be created.
	//
	// Deprecated: This field is deprecated and will be removed in the next major version, please use `region` instead
	Zone pulumi.StringOutput `pulumi:"zone"`
}

Creates and manages Scaleway VPC Private Networks. For more information, see [the documentation](https://developers.scaleway.com/en/products/vpc/api/#private-networks-ac2df4).

## Example Usage

### Basic

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vpc.NewPrivateNetwork(ctx, "pnPriv", &vpc.PrivateNetworkArgs{
			Tags: pulumi.StringArray{
				pulumi.String("demo"),
				pulumi.String("terraform"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### With subnets

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vpc.NewPrivateNetwork(ctx, "pnPriv", &vpc.PrivateNetworkArgs{
			Ipv4Subnet: &vpc.PrivateNetworkIpv4SubnetArgs{
				Subnet: pulumi.String("192.168.0.0/24"),
			},
			Ipv6Subnets: vpc.PrivateNetworkIpv6SubnetArray{
				&vpc.PrivateNetworkIpv6SubnetArgs{
					Subnet: pulumi.String("fd46:78ab:30b8:177c::/64"),
				},
				&vpc.PrivateNetworkIpv6SubnetArgs{
					Subnet: pulumi.String("fd46:78ab:30b8:c7df::/64"),
				},
			},
			Tags: pulumi.StringArray{
				pulumi.String("demo"),
				pulumi.String("terraform"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Private networks can be imported using the `{region}/{id}`, e.g.

bash

```sh $ pulumi import scaleway:vpc/privateNetwork:PrivateNetwork vpc_demo fr-par/11111111-1111-1111-1111-111111111111 ```

func GetPrivateNetwork

func GetPrivateNetwork(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PrivateNetworkState, opts ...pulumi.ResourceOption) (*PrivateNetwork, error)

GetPrivateNetwork gets an existing PrivateNetwork resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewPrivateNetwork

func NewPrivateNetwork(ctx *pulumi.Context,
	name string, args *PrivateNetworkArgs, opts ...pulumi.ResourceOption) (*PrivateNetwork, error)

NewPrivateNetwork registers a new resource with the given unique name, arguments, and options.

func (*PrivateNetwork) ElementType

func (*PrivateNetwork) ElementType() reflect.Type

func (*PrivateNetwork) ToPrivateNetworkOutput

func (i *PrivateNetwork) ToPrivateNetworkOutput() PrivateNetworkOutput

func (*PrivateNetwork) ToPrivateNetworkOutputWithContext

func (i *PrivateNetwork) ToPrivateNetworkOutputWithContext(ctx context.Context) PrivateNetworkOutput

type PrivateNetworkArgs

type PrivateNetworkArgs struct {
	// The IPv4 subnet to associate with the private network.
	Ipv4Subnet PrivateNetworkIpv4SubnetPtrInput
	// The IPv6 subnets to associate with the private network.
	Ipv6Subnets PrivateNetworkIpv6SubnetArrayInput
	// The private networks are necessarily regional now.
	//
	// Deprecated: This field is deprecated and will be removed in the next major version
	IsRegional pulumi.BoolPtrInput
	// The name of the private network. If not provided it will be randomly generated.
	Name pulumi.StringPtrInput
	// `projectId`) The ID of the project the private network is associated with.
	ProjectId pulumi.StringPtrInput
	// `region`) The region of the private network.
	Region pulumi.StringPtrInput
	// The tags associated with the private network.
	Tags pulumi.StringArrayInput
	// The VPC in which to create the private network.
	VpcId pulumi.StringPtrInput
	// please use `region` instead - (Defaults to provider `zone`) The zone in which the private network should be created.
	//
	// Deprecated: This field is deprecated and will be removed in the next major version, please use `region` instead
	Zone pulumi.StringPtrInput
}

The set of arguments for constructing a PrivateNetwork resource.

func (PrivateNetworkArgs) ElementType

func (PrivateNetworkArgs) ElementType() reflect.Type

type PrivateNetworkArray

type PrivateNetworkArray []PrivateNetworkInput

func (PrivateNetworkArray) ElementType

func (PrivateNetworkArray) ElementType() reflect.Type

func (PrivateNetworkArray) ToPrivateNetworkArrayOutput

func (i PrivateNetworkArray) ToPrivateNetworkArrayOutput() PrivateNetworkArrayOutput

func (PrivateNetworkArray) ToPrivateNetworkArrayOutputWithContext

func (i PrivateNetworkArray) ToPrivateNetworkArrayOutputWithContext(ctx context.Context) PrivateNetworkArrayOutput

type PrivateNetworkArrayInput

type PrivateNetworkArrayInput interface {
	pulumi.Input

	ToPrivateNetworkArrayOutput() PrivateNetworkArrayOutput
	ToPrivateNetworkArrayOutputWithContext(context.Context) PrivateNetworkArrayOutput
}

PrivateNetworkArrayInput is an input type that accepts PrivateNetworkArray and PrivateNetworkArrayOutput values. You can construct a concrete instance of `PrivateNetworkArrayInput` via:

PrivateNetworkArray{ PrivateNetworkArgs{...} }

type PrivateNetworkArrayOutput

type PrivateNetworkArrayOutput struct{ *pulumi.OutputState }

func (PrivateNetworkArrayOutput) ElementType

func (PrivateNetworkArrayOutput) ElementType() reflect.Type

func (PrivateNetworkArrayOutput) Index

func (PrivateNetworkArrayOutput) ToPrivateNetworkArrayOutput

func (o PrivateNetworkArrayOutput) ToPrivateNetworkArrayOutput() PrivateNetworkArrayOutput

func (PrivateNetworkArrayOutput) ToPrivateNetworkArrayOutputWithContext

func (o PrivateNetworkArrayOutput) ToPrivateNetworkArrayOutputWithContext(ctx context.Context) PrivateNetworkArrayOutput

type PrivateNetworkInput

type PrivateNetworkInput interface {
	pulumi.Input

	ToPrivateNetworkOutput() PrivateNetworkOutput
	ToPrivateNetworkOutputWithContext(ctx context.Context) PrivateNetworkOutput
}

type PrivateNetworkIpv4Subnet

type PrivateNetworkIpv4Subnet struct {
	// The network address of the subnet in dotted decimal notation, e.g., '192.168.0.0' for a '192.168.0.0/24' subnet.
	Address *string `pulumi:"address"`
	// The date and time of the creation of the subnet.
	CreatedAt *string `pulumi:"createdAt"`
	// The subnet ID.
	Id *string `pulumi:"id"`
	// The length of the network prefix, e.g., 24 for a 255.255.255.0 mask.
	PrefixLength *int `pulumi:"prefixLength"`
	// The subnet CIDR.
	Subnet *string `pulumi:"subnet"`
	// The subnet mask expressed in dotted decimal notation, e.g., '255.255.255.0' for a /24 subnet
	SubnetMask *string `pulumi:"subnetMask"`
	// The date and time of the last update of the subnet.
	UpdatedAt *string `pulumi:"updatedAt"`
}

type PrivateNetworkIpv4SubnetArgs

type PrivateNetworkIpv4SubnetArgs struct {
	// The network address of the subnet in dotted decimal notation, e.g., '192.168.0.0' for a '192.168.0.0/24' subnet.
	Address pulumi.StringPtrInput `pulumi:"address"`
	// The date and time of the creation of the subnet.
	CreatedAt pulumi.StringPtrInput `pulumi:"createdAt"`
	// The subnet ID.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// The length of the network prefix, e.g., 24 for a 255.255.255.0 mask.
	PrefixLength pulumi.IntPtrInput `pulumi:"prefixLength"`
	// The subnet CIDR.
	Subnet pulumi.StringPtrInput `pulumi:"subnet"`
	// The subnet mask expressed in dotted decimal notation, e.g., '255.255.255.0' for a /24 subnet
	SubnetMask pulumi.StringPtrInput `pulumi:"subnetMask"`
	// The date and time of the last update of the subnet.
	UpdatedAt pulumi.StringPtrInput `pulumi:"updatedAt"`
}

func (PrivateNetworkIpv4SubnetArgs) ElementType

func (PrivateNetworkIpv4SubnetArgs) ToPrivateNetworkIpv4SubnetOutput

func (i PrivateNetworkIpv4SubnetArgs) ToPrivateNetworkIpv4SubnetOutput() PrivateNetworkIpv4SubnetOutput

func (PrivateNetworkIpv4SubnetArgs) ToPrivateNetworkIpv4SubnetOutputWithContext

func (i PrivateNetworkIpv4SubnetArgs) ToPrivateNetworkIpv4SubnetOutputWithContext(ctx context.Context) PrivateNetworkIpv4SubnetOutput

func (PrivateNetworkIpv4SubnetArgs) ToPrivateNetworkIpv4SubnetPtrOutput

func (i PrivateNetworkIpv4SubnetArgs) ToPrivateNetworkIpv4SubnetPtrOutput() PrivateNetworkIpv4SubnetPtrOutput

func (PrivateNetworkIpv4SubnetArgs) ToPrivateNetworkIpv4SubnetPtrOutputWithContext

func (i PrivateNetworkIpv4SubnetArgs) ToPrivateNetworkIpv4SubnetPtrOutputWithContext(ctx context.Context) PrivateNetworkIpv4SubnetPtrOutput

type PrivateNetworkIpv4SubnetInput

type PrivateNetworkIpv4SubnetInput interface {
	pulumi.Input

	ToPrivateNetworkIpv4SubnetOutput() PrivateNetworkIpv4SubnetOutput
	ToPrivateNetworkIpv4SubnetOutputWithContext(context.Context) PrivateNetworkIpv4SubnetOutput
}

PrivateNetworkIpv4SubnetInput is an input type that accepts PrivateNetworkIpv4SubnetArgs and PrivateNetworkIpv4SubnetOutput values. You can construct a concrete instance of `PrivateNetworkIpv4SubnetInput` via:

PrivateNetworkIpv4SubnetArgs{...}

type PrivateNetworkIpv4SubnetOutput

type PrivateNetworkIpv4SubnetOutput struct{ *pulumi.OutputState }

func (PrivateNetworkIpv4SubnetOutput) Address

The network address of the subnet in dotted decimal notation, e.g., '192.168.0.0' for a '192.168.0.0/24' subnet.

func (PrivateNetworkIpv4SubnetOutput) CreatedAt

The date and time of the creation of the subnet.

func (PrivateNetworkIpv4SubnetOutput) ElementType

func (PrivateNetworkIpv4SubnetOutput) Id

The subnet ID.

func (PrivateNetworkIpv4SubnetOutput) PrefixLength

The length of the network prefix, e.g., 24 for a 255.255.255.0 mask.

func (PrivateNetworkIpv4SubnetOutput) Subnet

The subnet CIDR.

func (PrivateNetworkIpv4SubnetOutput) SubnetMask

The subnet mask expressed in dotted decimal notation, e.g., '255.255.255.0' for a /24 subnet

func (PrivateNetworkIpv4SubnetOutput) ToPrivateNetworkIpv4SubnetOutput

func (o PrivateNetworkIpv4SubnetOutput) ToPrivateNetworkIpv4SubnetOutput() PrivateNetworkIpv4SubnetOutput

func (PrivateNetworkIpv4SubnetOutput) ToPrivateNetworkIpv4SubnetOutputWithContext

func (o PrivateNetworkIpv4SubnetOutput) ToPrivateNetworkIpv4SubnetOutputWithContext(ctx context.Context) PrivateNetworkIpv4SubnetOutput

func (PrivateNetworkIpv4SubnetOutput) ToPrivateNetworkIpv4SubnetPtrOutput

func (o PrivateNetworkIpv4SubnetOutput) ToPrivateNetworkIpv4SubnetPtrOutput() PrivateNetworkIpv4SubnetPtrOutput

func (PrivateNetworkIpv4SubnetOutput) ToPrivateNetworkIpv4SubnetPtrOutputWithContext

func (o PrivateNetworkIpv4SubnetOutput) ToPrivateNetworkIpv4SubnetPtrOutputWithContext(ctx context.Context) PrivateNetworkIpv4SubnetPtrOutput

func (PrivateNetworkIpv4SubnetOutput) UpdatedAt

The date and time of the last update of the subnet.

type PrivateNetworkIpv4SubnetPtrInput

type PrivateNetworkIpv4SubnetPtrInput interface {
	pulumi.Input

	ToPrivateNetworkIpv4SubnetPtrOutput() PrivateNetworkIpv4SubnetPtrOutput
	ToPrivateNetworkIpv4SubnetPtrOutputWithContext(context.Context) PrivateNetworkIpv4SubnetPtrOutput
}

PrivateNetworkIpv4SubnetPtrInput is an input type that accepts PrivateNetworkIpv4SubnetArgs, PrivateNetworkIpv4SubnetPtr and PrivateNetworkIpv4SubnetPtrOutput values. You can construct a concrete instance of `PrivateNetworkIpv4SubnetPtrInput` via:

        PrivateNetworkIpv4SubnetArgs{...}

or:

        nil

type PrivateNetworkIpv4SubnetPtrOutput

type PrivateNetworkIpv4SubnetPtrOutput struct{ *pulumi.OutputState }

func (PrivateNetworkIpv4SubnetPtrOutput) Address

The network address of the subnet in dotted decimal notation, e.g., '192.168.0.0' for a '192.168.0.0/24' subnet.

func (PrivateNetworkIpv4SubnetPtrOutput) CreatedAt

The date and time of the creation of the subnet.

func (PrivateNetworkIpv4SubnetPtrOutput) Elem

func (PrivateNetworkIpv4SubnetPtrOutput) ElementType

func (PrivateNetworkIpv4SubnetPtrOutput) Id

The subnet ID.

func (PrivateNetworkIpv4SubnetPtrOutput) PrefixLength

The length of the network prefix, e.g., 24 for a 255.255.255.0 mask.

func (PrivateNetworkIpv4SubnetPtrOutput) Subnet

The subnet CIDR.

func (PrivateNetworkIpv4SubnetPtrOutput) SubnetMask

The subnet mask expressed in dotted decimal notation, e.g., '255.255.255.0' for a /24 subnet

func (PrivateNetworkIpv4SubnetPtrOutput) ToPrivateNetworkIpv4SubnetPtrOutput

func (o PrivateNetworkIpv4SubnetPtrOutput) ToPrivateNetworkIpv4SubnetPtrOutput() PrivateNetworkIpv4SubnetPtrOutput

func (PrivateNetworkIpv4SubnetPtrOutput) ToPrivateNetworkIpv4SubnetPtrOutputWithContext

func (o PrivateNetworkIpv4SubnetPtrOutput) ToPrivateNetworkIpv4SubnetPtrOutputWithContext(ctx context.Context) PrivateNetworkIpv4SubnetPtrOutput

func (PrivateNetworkIpv4SubnetPtrOutput) UpdatedAt

The date and time of the last update of the subnet.

type PrivateNetworkIpv6Subnet

type PrivateNetworkIpv6Subnet struct {
	// The network address of the subnet in dotted decimal notation, e.g., '192.168.0.0' for a '192.168.0.0/24' subnet.
	Address *string `pulumi:"address"`
	// The date and time of the creation of the subnet.
	CreatedAt *string `pulumi:"createdAt"`
	// The subnet ID.
	Id *string `pulumi:"id"`
	// The length of the network prefix, e.g., 24 for a 255.255.255.0 mask.
	PrefixLength *int `pulumi:"prefixLength"`
	// The subnet CIDR.
	Subnet *string `pulumi:"subnet"`
	// The subnet mask expressed in dotted decimal notation, e.g., '255.255.255.0' for a /24 subnet
	SubnetMask *string `pulumi:"subnetMask"`
	// The date and time of the last update of the subnet.
	UpdatedAt *string `pulumi:"updatedAt"`
}

type PrivateNetworkIpv6SubnetArgs

type PrivateNetworkIpv6SubnetArgs struct {
	// The network address of the subnet in dotted decimal notation, e.g., '192.168.0.0' for a '192.168.0.0/24' subnet.
	Address pulumi.StringPtrInput `pulumi:"address"`
	// The date and time of the creation of the subnet.
	CreatedAt pulumi.StringPtrInput `pulumi:"createdAt"`
	// The subnet ID.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// The length of the network prefix, e.g., 24 for a 255.255.255.0 mask.
	PrefixLength pulumi.IntPtrInput `pulumi:"prefixLength"`
	// The subnet CIDR.
	Subnet pulumi.StringPtrInput `pulumi:"subnet"`
	// The subnet mask expressed in dotted decimal notation, e.g., '255.255.255.0' for a /24 subnet
	SubnetMask pulumi.StringPtrInput `pulumi:"subnetMask"`
	// The date and time of the last update of the subnet.
	UpdatedAt pulumi.StringPtrInput `pulumi:"updatedAt"`
}

func (PrivateNetworkIpv6SubnetArgs) ElementType

func (PrivateNetworkIpv6SubnetArgs) ToPrivateNetworkIpv6SubnetOutput

func (i PrivateNetworkIpv6SubnetArgs) ToPrivateNetworkIpv6SubnetOutput() PrivateNetworkIpv6SubnetOutput

func (PrivateNetworkIpv6SubnetArgs) ToPrivateNetworkIpv6SubnetOutputWithContext

func (i PrivateNetworkIpv6SubnetArgs) ToPrivateNetworkIpv6SubnetOutputWithContext(ctx context.Context) PrivateNetworkIpv6SubnetOutput

type PrivateNetworkIpv6SubnetArray

type PrivateNetworkIpv6SubnetArray []PrivateNetworkIpv6SubnetInput

func (PrivateNetworkIpv6SubnetArray) ElementType

func (PrivateNetworkIpv6SubnetArray) ToPrivateNetworkIpv6SubnetArrayOutput

func (i PrivateNetworkIpv6SubnetArray) ToPrivateNetworkIpv6SubnetArrayOutput() PrivateNetworkIpv6SubnetArrayOutput

func (PrivateNetworkIpv6SubnetArray) ToPrivateNetworkIpv6SubnetArrayOutputWithContext

func (i PrivateNetworkIpv6SubnetArray) ToPrivateNetworkIpv6SubnetArrayOutputWithContext(ctx context.Context) PrivateNetworkIpv6SubnetArrayOutput

type PrivateNetworkIpv6SubnetArrayInput

type PrivateNetworkIpv6SubnetArrayInput interface {
	pulumi.Input

	ToPrivateNetworkIpv6SubnetArrayOutput() PrivateNetworkIpv6SubnetArrayOutput
	ToPrivateNetworkIpv6SubnetArrayOutputWithContext(context.Context) PrivateNetworkIpv6SubnetArrayOutput
}

PrivateNetworkIpv6SubnetArrayInput is an input type that accepts PrivateNetworkIpv6SubnetArray and PrivateNetworkIpv6SubnetArrayOutput values. You can construct a concrete instance of `PrivateNetworkIpv6SubnetArrayInput` via:

PrivateNetworkIpv6SubnetArray{ PrivateNetworkIpv6SubnetArgs{...} }

type PrivateNetworkIpv6SubnetArrayOutput

type PrivateNetworkIpv6SubnetArrayOutput struct{ *pulumi.OutputState }

func (PrivateNetworkIpv6SubnetArrayOutput) ElementType

func (PrivateNetworkIpv6SubnetArrayOutput) Index

func (PrivateNetworkIpv6SubnetArrayOutput) ToPrivateNetworkIpv6SubnetArrayOutput

func (o PrivateNetworkIpv6SubnetArrayOutput) ToPrivateNetworkIpv6SubnetArrayOutput() PrivateNetworkIpv6SubnetArrayOutput

func (PrivateNetworkIpv6SubnetArrayOutput) ToPrivateNetworkIpv6SubnetArrayOutputWithContext

func (o PrivateNetworkIpv6SubnetArrayOutput) ToPrivateNetworkIpv6SubnetArrayOutputWithContext(ctx context.Context) PrivateNetworkIpv6SubnetArrayOutput

type PrivateNetworkIpv6SubnetInput

type PrivateNetworkIpv6SubnetInput interface {
	pulumi.Input

	ToPrivateNetworkIpv6SubnetOutput() PrivateNetworkIpv6SubnetOutput
	ToPrivateNetworkIpv6SubnetOutputWithContext(context.Context) PrivateNetworkIpv6SubnetOutput
}

PrivateNetworkIpv6SubnetInput is an input type that accepts PrivateNetworkIpv6SubnetArgs and PrivateNetworkIpv6SubnetOutput values. You can construct a concrete instance of `PrivateNetworkIpv6SubnetInput` via:

PrivateNetworkIpv6SubnetArgs{...}

type PrivateNetworkIpv6SubnetOutput

type PrivateNetworkIpv6SubnetOutput struct{ *pulumi.OutputState }

func (PrivateNetworkIpv6SubnetOutput) Address

The network address of the subnet in dotted decimal notation, e.g., '192.168.0.0' for a '192.168.0.0/24' subnet.

func (PrivateNetworkIpv6SubnetOutput) CreatedAt

The date and time of the creation of the subnet.

func (PrivateNetworkIpv6SubnetOutput) ElementType

func (PrivateNetworkIpv6SubnetOutput) Id

The subnet ID.

func (PrivateNetworkIpv6SubnetOutput) PrefixLength

The length of the network prefix, e.g., 24 for a 255.255.255.0 mask.

func (PrivateNetworkIpv6SubnetOutput) Subnet

The subnet CIDR.

func (PrivateNetworkIpv6SubnetOutput) SubnetMask

The subnet mask expressed in dotted decimal notation, e.g., '255.255.255.0' for a /24 subnet

func (PrivateNetworkIpv6SubnetOutput) ToPrivateNetworkIpv6SubnetOutput

func (o PrivateNetworkIpv6SubnetOutput) ToPrivateNetworkIpv6SubnetOutput() PrivateNetworkIpv6SubnetOutput

func (PrivateNetworkIpv6SubnetOutput) ToPrivateNetworkIpv6SubnetOutputWithContext

func (o PrivateNetworkIpv6SubnetOutput) ToPrivateNetworkIpv6SubnetOutputWithContext(ctx context.Context) PrivateNetworkIpv6SubnetOutput

func (PrivateNetworkIpv6SubnetOutput) UpdatedAt

The date and time of the last update of the subnet.

type PrivateNetworkMap

type PrivateNetworkMap map[string]PrivateNetworkInput

func (PrivateNetworkMap) ElementType

func (PrivateNetworkMap) ElementType() reflect.Type

func (PrivateNetworkMap) ToPrivateNetworkMapOutput

func (i PrivateNetworkMap) ToPrivateNetworkMapOutput() PrivateNetworkMapOutput

func (PrivateNetworkMap) ToPrivateNetworkMapOutputWithContext

func (i PrivateNetworkMap) ToPrivateNetworkMapOutputWithContext(ctx context.Context) PrivateNetworkMapOutput

type PrivateNetworkMapInput

type PrivateNetworkMapInput interface {
	pulumi.Input

	ToPrivateNetworkMapOutput() PrivateNetworkMapOutput
	ToPrivateNetworkMapOutputWithContext(context.Context) PrivateNetworkMapOutput
}

PrivateNetworkMapInput is an input type that accepts PrivateNetworkMap and PrivateNetworkMapOutput values. You can construct a concrete instance of `PrivateNetworkMapInput` via:

PrivateNetworkMap{ "key": PrivateNetworkArgs{...} }

type PrivateNetworkMapOutput

type PrivateNetworkMapOutput struct{ *pulumi.OutputState }

func (PrivateNetworkMapOutput) ElementType

func (PrivateNetworkMapOutput) ElementType() reflect.Type

func (PrivateNetworkMapOutput) MapIndex

func (PrivateNetworkMapOutput) ToPrivateNetworkMapOutput

func (o PrivateNetworkMapOutput) ToPrivateNetworkMapOutput() PrivateNetworkMapOutput

func (PrivateNetworkMapOutput) ToPrivateNetworkMapOutputWithContext

func (o PrivateNetworkMapOutput) ToPrivateNetworkMapOutputWithContext(ctx context.Context) PrivateNetworkMapOutput

type PrivateNetworkOutput

type PrivateNetworkOutput struct{ *pulumi.OutputState }

func (PrivateNetworkOutput) CreatedAt

The date and time of the creation of the subnet.

func (PrivateNetworkOutput) ElementType

func (PrivateNetworkOutput) ElementType() reflect.Type

func (PrivateNetworkOutput) Ipv4Subnet

The IPv4 subnet to associate with the private network.

func (PrivateNetworkOutput) Ipv6Subnets

The IPv6 subnets to associate with the private network.

func (PrivateNetworkOutput) IsRegional deprecated

func (o PrivateNetworkOutput) IsRegional() pulumi.BoolOutput

The private networks are necessarily regional now.

Deprecated: This field is deprecated and will be removed in the next major version

func (PrivateNetworkOutput) Name

The name of the private network. If not provided it will be randomly generated.

func (PrivateNetworkOutput) OrganizationId

func (o PrivateNetworkOutput) OrganizationId() pulumi.StringOutput

The organization ID the private network is associated with.

func (PrivateNetworkOutput) ProjectId

`projectId`) The ID of the project the private network is associated with.

func (PrivateNetworkOutput) Region

`region`) The region of the private network.

func (PrivateNetworkOutput) Tags

The tags associated with the private network.

func (PrivateNetworkOutput) ToPrivateNetworkOutput

func (o PrivateNetworkOutput) ToPrivateNetworkOutput() PrivateNetworkOutput

func (PrivateNetworkOutput) ToPrivateNetworkOutputWithContext

func (o PrivateNetworkOutput) ToPrivateNetworkOutputWithContext(ctx context.Context) PrivateNetworkOutput

func (PrivateNetworkOutput) UpdatedAt

The date and time of the last update of the subnet.

func (PrivateNetworkOutput) VpcId

The VPC in which to create the private network.

func (PrivateNetworkOutput) Zone deprecated

please use `region` instead - (Defaults to provider `zone`) The zone in which the private network should be created.

Deprecated: This field is deprecated and will be removed in the next major version, please use `region` instead

type PrivateNetworkState

type PrivateNetworkState struct {
	// The date and time of the creation of the subnet.
	CreatedAt pulumi.StringPtrInput
	// The IPv4 subnet to associate with the private network.
	Ipv4Subnet PrivateNetworkIpv4SubnetPtrInput
	// The IPv6 subnets to associate with the private network.
	Ipv6Subnets PrivateNetworkIpv6SubnetArrayInput
	// The private networks are necessarily regional now.
	//
	// Deprecated: This field is deprecated and will be removed in the next major version
	IsRegional pulumi.BoolPtrInput
	// The name of the private network. If not provided it will be randomly generated.
	Name pulumi.StringPtrInput
	// The organization ID the private network is associated with.
	OrganizationId pulumi.StringPtrInput
	// `projectId`) The ID of the project the private network is associated with.
	ProjectId pulumi.StringPtrInput
	// `region`) The region of the private network.
	Region pulumi.StringPtrInput
	// The tags associated with the private network.
	Tags pulumi.StringArrayInput
	// The date and time of the last update of the subnet.
	UpdatedAt pulumi.StringPtrInput
	// The VPC in which to create the private network.
	VpcId pulumi.StringPtrInput
	// please use `region` instead - (Defaults to provider `zone`) The zone in which the private network should be created.
	//
	// Deprecated: This field is deprecated and will be removed in the next major version, please use `region` instead
	Zone pulumi.StringPtrInput
}

func (PrivateNetworkState) ElementType

func (PrivateNetworkState) ElementType() reflect.Type

type PublicGateway

type PublicGateway struct {
	pulumi.CustomResourceState

	// Enable SSH bastion on the gateway
	BastionEnabled pulumi.BoolPtrOutput `pulumi:"bastionEnabled"`
	// The port on which the SSH bastion will listen.
	BastionPort pulumi.IntOutput `pulumi:"bastionPort"`
	// The date and time of the creation of the public gateway.
	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
	// Enable SMTP on the gateway
	EnableSmtp pulumi.BoolOutput `pulumi:"enableSmtp"`
	// attach an existing flexible IP to the gateway
	IpId pulumi.StringOutput `pulumi:"ipId"`
	// The name of the public gateway. If not provided it will be randomly generated.
	Name pulumi.StringOutput `pulumi:"name"`
	// The organization ID the public gateway is associated with.
	OrganizationId pulumi.StringOutput `pulumi:"organizationId"`
	// `projectId`) The ID of the project the public gateway is associated with.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// The status of the public gateway.
	Status pulumi.StringOutput `pulumi:"status"`
	// The tags associated with the public gateway.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// The gateway type.
	Type pulumi.StringOutput `pulumi:"type"`
	// The date and time of the last update of the public gateway.
	UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"`
	// override the gateway's default recursive DNS servers, if DNS features are enabled.
	UpstreamDnsServers pulumi.StringArrayOutput `pulumi:"upstreamDnsServers"`
	// `zone`) The zone in which the public gateway should be created.
	Zone pulumi.StringOutput `pulumi:"zone"`
}

Creates and manages Scaleway VPC Public Gateway. For more information, see [the documentation](https://developers.scaleway.com/en/products/vpc-gw/api/v1).

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vpc.NewPublicGateway(ctx, "main", &vpc.PublicGatewayArgs{
			Tags: pulumi.StringArray{
				pulumi.String("demo"),
				pulumi.String("terraform"),
			},
			Type: pulumi.String("VPC-GW-S"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

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

bash

```sh $ pulumi import scaleway:vpc/publicGateway:PublicGateway main fr-par-1/11111111-1111-1111-1111-111111111111 ```

func GetPublicGateway

func GetPublicGateway(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PublicGatewayState, opts ...pulumi.ResourceOption) (*PublicGateway, error)

GetPublicGateway gets an existing PublicGateway resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewPublicGateway

func NewPublicGateway(ctx *pulumi.Context,
	name string, args *PublicGatewayArgs, opts ...pulumi.ResourceOption) (*PublicGateway, error)

NewPublicGateway registers a new resource with the given unique name, arguments, and options.

func (*PublicGateway) ElementType

func (*PublicGateway) ElementType() reflect.Type

func (*PublicGateway) ToPublicGatewayOutput

func (i *PublicGateway) ToPublicGatewayOutput() PublicGatewayOutput

func (*PublicGateway) ToPublicGatewayOutputWithContext

func (i *PublicGateway) ToPublicGatewayOutputWithContext(ctx context.Context) PublicGatewayOutput

type PublicGatewayArgs

type PublicGatewayArgs struct {
	// Enable SSH bastion on the gateway
	BastionEnabled pulumi.BoolPtrInput
	// The port on which the SSH bastion will listen.
	BastionPort pulumi.IntPtrInput
	// Enable SMTP on the gateway
	EnableSmtp pulumi.BoolPtrInput
	// attach an existing flexible IP to the gateway
	IpId pulumi.StringPtrInput
	// The name of the public gateway. If not provided it will be randomly generated.
	Name pulumi.StringPtrInput
	// `projectId`) The ID of the project the public gateway is associated with.
	ProjectId pulumi.StringPtrInput
	// The tags associated with the public gateway.
	Tags pulumi.StringArrayInput
	// The gateway type.
	Type pulumi.StringInput
	// override the gateway's default recursive DNS servers, if DNS features are enabled.
	UpstreamDnsServers pulumi.StringArrayInput
	// `zone`) The zone in which the public gateway should be created.
	Zone pulumi.StringPtrInput
}

The set of arguments for constructing a PublicGateway resource.

func (PublicGatewayArgs) ElementType

func (PublicGatewayArgs) ElementType() reflect.Type

type PublicGatewayArray

type PublicGatewayArray []PublicGatewayInput

func (PublicGatewayArray) ElementType

func (PublicGatewayArray) ElementType() reflect.Type

func (PublicGatewayArray) ToPublicGatewayArrayOutput

func (i PublicGatewayArray) ToPublicGatewayArrayOutput() PublicGatewayArrayOutput

func (PublicGatewayArray) ToPublicGatewayArrayOutputWithContext

func (i PublicGatewayArray) ToPublicGatewayArrayOutputWithContext(ctx context.Context) PublicGatewayArrayOutput

type PublicGatewayArrayInput

type PublicGatewayArrayInput interface {
	pulumi.Input

	ToPublicGatewayArrayOutput() PublicGatewayArrayOutput
	ToPublicGatewayArrayOutputWithContext(context.Context) PublicGatewayArrayOutput
}

PublicGatewayArrayInput is an input type that accepts PublicGatewayArray and PublicGatewayArrayOutput values. You can construct a concrete instance of `PublicGatewayArrayInput` via:

PublicGatewayArray{ PublicGatewayArgs{...} }

type PublicGatewayArrayOutput

type PublicGatewayArrayOutput struct{ *pulumi.OutputState }

func (PublicGatewayArrayOutput) ElementType

func (PublicGatewayArrayOutput) ElementType() reflect.Type

func (PublicGatewayArrayOutput) Index

func (PublicGatewayArrayOutput) ToPublicGatewayArrayOutput

func (o PublicGatewayArrayOutput) ToPublicGatewayArrayOutput() PublicGatewayArrayOutput

func (PublicGatewayArrayOutput) ToPublicGatewayArrayOutputWithContext

func (o PublicGatewayArrayOutput) ToPublicGatewayArrayOutputWithContext(ctx context.Context) PublicGatewayArrayOutput

type PublicGatewayDHCP

type PublicGatewayDHCP struct {
	pulumi.CustomResourceState

	// The IP address of the public gateway DHCP config.
	Address pulumi.StringOutput `pulumi:"address"`
	// The date and time of the creation of the public gateway DHCP config.
	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
	// TLD given to hostnames in the Private Network. Allowed characters are `a-z0-9-.`. Defaults to the slugified Private Network name if created along a GatewayNetwork, or else to `priv`.
	DnsLocalName pulumi.StringOutput `pulumi:"dnsLocalName"`
	// Additional DNS search paths
	DnsSearches pulumi.StringArrayOutput `pulumi:"dnsSearches"`
	// Override the DNS server list pushed to DHCP clients, instead of the gateway itself
	DnsServersOverrides pulumi.StringArrayOutput `pulumi:"dnsServersOverrides"`
	// Whether to enable dynamic pooling of IPs. By turning the dynamic pool off, only pre-existing DHCP reservations will be handed out. Defaults to `true`.
	EnableDynamic pulumi.BoolOutput `pulumi:"enableDynamic"`
	// The organization ID the public gateway DHCP config is associated with.
	OrganizationId pulumi.StringOutput `pulumi:"organizationId"`
	// High IP (excluded) of the dynamic address pool. Defaults to the last address of the subnet.
	PoolHigh pulumi.StringOutput `pulumi:"poolHigh"`
	// Low IP (included) of the dynamic address pool. Defaults to the second address of the subnet.
	PoolLow pulumi.StringOutput `pulumi:"poolLow"`
	// `projectId`) The ID of the project the public gateway DHCP config is associated with.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// Whether the gateway should push a default route to DHCP clients or only hand out IPs. Defaults to `true`.
	PushDefaultRoute pulumi.BoolOutput `pulumi:"pushDefaultRoute"`
	// Whether the gateway should push custom DNS servers to clients. This allows for instance hostname > IP resolution. Defaults to `true`.
	PushDnsServer pulumi.BoolOutput `pulumi:"pushDnsServer"`
	// After how long, in seconds, a DHCP client will query for a new lease if previous renews fail. Must be 30s lower than `validLifetime`. Defaults to 51m (3060s).
	RebindTimer pulumi.IntOutput `pulumi:"rebindTimer"`
	// After how long, in seconds, a renewal will be attempted. Must be 30s lower than `rebindTimer`. Defaults to 50m (3000s).
	RenewTimer pulumi.IntOutput `pulumi:"renewTimer"`
	// The subnet to associate with the public gateway DHCP config.
	Subnet pulumi.StringOutput `pulumi:"subnet"`
	// The date and time of the last update of the public gateway DHCP config.
	UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"`
	// For how long, in seconds, will DHCP entries will be valid. Defaults to 1h (3600s).
	ValidLifetime pulumi.IntOutput `pulumi:"validLifetime"`
	// `zone`) The zone in which the public gateway DHCP config should be created.
	Zone pulumi.StringOutput `pulumi:"zone"`
}

Creates and manages Scaleway VPC Public Gateway DHCP. For more information, see [the documentation](https://developers.scaleway.com/en/products/vpc-gw/api/v1/#dhcp-c05544).

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vpc.NewPublicGatewayDHCP(ctx, "main", &vpc.PublicGatewayDHCPArgs{
			Subnet: pulumi.String("192.168.1.0/24"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

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

bash

```sh $ pulumi import scaleway:vpc/publicGatewayDHCP:PublicGatewayDHCP main fr-par-1/11111111-1111-1111-1111-111111111111 ```

func GetPublicGatewayDHCP

func GetPublicGatewayDHCP(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PublicGatewayDHCPState, opts ...pulumi.ResourceOption) (*PublicGatewayDHCP, error)

GetPublicGatewayDHCP gets an existing PublicGatewayDHCP resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewPublicGatewayDHCP

func NewPublicGatewayDHCP(ctx *pulumi.Context,
	name string, args *PublicGatewayDHCPArgs, opts ...pulumi.ResourceOption) (*PublicGatewayDHCP, error)

NewPublicGatewayDHCP registers a new resource with the given unique name, arguments, and options.

func (*PublicGatewayDHCP) ElementType

func (*PublicGatewayDHCP) ElementType() reflect.Type

func (*PublicGatewayDHCP) ToPublicGatewayDHCPOutput

func (i *PublicGatewayDHCP) ToPublicGatewayDHCPOutput() PublicGatewayDHCPOutput

func (*PublicGatewayDHCP) ToPublicGatewayDHCPOutputWithContext

func (i *PublicGatewayDHCP) ToPublicGatewayDHCPOutputWithContext(ctx context.Context) PublicGatewayDHCPOutput

type PublicGatewayDHCPArgs

type PublicGatewayDHCPArgs struct {
	// The IP address of the public gateway DHCP config.
	Address pulumi.StringPtrInput
	// TLD given to hostnames in the Private Network. Allowed characters are `a-z0-9-.`. Defaults to the slugified Private Network name if created along a GatewayNetwork, or else to `priv`.
	DnsLocalName pulumi.StringPtrInput
	// Additional DNS search paths
	DnsSearches pulumi.StringArrayInput
	// Override the DNS server list pushed to DHCP clients, instead of the gateway itself
	DnsServersOverrides pulumi.StringArrayInput
	// Whether to enable dynamic pooling of IPs. By turning the dynamic pool off, only pre-existing DHCP reservations will be handed out. Defaults to `true`.
	EnableDynamic pulumi.BoolPtrInput
	// High IP (excluded) of the dynamic address pool. Defaults to the last address of the subnet.
	PoolHigh pulumi.StringPtrInput
	// Low IP (included) of the dynamic address pool. Defaults to the second address of the subnet.
	PoolLow pulumi.StringPtrInput
	// `projectId`) The ID of the project the public gateway DHCP config is associated with.
	ProjectId pulumi.StringPtrInput
	// Whether the gateway should push a default route to DHCP clients or only hand out IPs. Defaults to `true`.
	PushDefaultRoute pulumi.BoolPtrInput
	// Whether the gateway should push custom DNS servers to clients. This allows for instance hostname > IP resolution. Defaults to `true`.
	PushDnsServer pulumi.BoolPtrInput
	// After how long, in seconds, a DHCP client will query for a new lease if previous renews fail. Must be 30s lower than `validLifetime`. Defaults to 51m (3060s).
	RebindTimer pulumi.IntPtrInput
	// After how long, in seconds, a renewal will be attempted. Must be 30s lower than `rebindTimer`. Defaults to 50m (3000s).
	RenewTimer pulumi.IntPtrInput
	// The subnet to associate with the public gateway DHCP config.
	Subnet pulumi.StringInput
	// For how long, in seconds, will DHCP entries will be valid. Defaults to 1h (3600s).
	ValidLifetime pulumi.IntPtrInput
	// `zone`) The zone in which the public gateway DHCP config should be created.
	Zone pulumi.StringPtrInput
}

The set of arguments for constructing a PublicGatewayDHCP resource.

func (PublicGatewayDHCPArgs) ElementType

func (PublicGatewayDHCPArgs) ElementType() reflect.Type

type PublicGatewayDHCPArray

type PublicGatewayDHCPArray []PublicGatewayDHCPInput

func (PublicGatewayDHCPArray) ElementType

func (PublicGatewayDHCPArray) ElementType() reflect.Type

func (PublicGatewayDHCPArray) ToPublicGatewayDHCPArrayOutput

func (i PublicGatewayDHCPArray) ToPublicGatewayDHCPArrayOutput() PublicGatewayDHCPArrayOutput

func (PublicGatewayDHCPArray) ToPublicGatewayDHCPArrayOutputWithContext

func (i PublicGatewayDHCPArray) ToPublicGatewayDHCPArrayOutputWithContext(ctx context.Context) PublicGatewayDHCPArrayOutput

type PublicGatewayDHCPArrayInput

type PublicGatewayDHCPArrayInput interface {
	pulumi.Input

	ToPublicGatewayDHCPArrayOutput() PublicGatewayDHCPArrayOutput
	ToPublicGatewayDHCPArrayOutputWithContext(context.Context) PublicGatewayDHCPArrayOutput
}

PublicGatewayDHCPArrayInput is an input type that accepts PublicGatewayDHCPArray and PublicGatewayDHCPArrayOutput values. You can construct a concrete instance of `PublicGatewayDHCPArrayInput` via:

PublicGatewayDHCPArray{ PublicGatewayDHCPArgs{...} }

type PublicGatewayDHCPArrayOutput

type PublicGatewayDHCPArrayOutput struct{ *pulumi.OutputState }

func (PublicGatewayDHCPArrayOutput) ElementType

func (PublicGatewayDHCPArrayOutput) Index

func (PublicGatewayDHCPArrayOutput) ToPublicGatewayDHCPArrayOutput

func (o PublicGatewayDHCPArrayOutput) ToPublicGatewayDHCPArrayOutput() PublicGatewayDHCPArrayOutput

func (PublicGatewayDHCPArrayOutput) ToPublicGatewayDHCPArrayOutputWithContext

func (o PublicGatewayDHCPArrayOutput) ToPublicGatewayDHCPArrayOutputWithContext(ctx context.Context) PublicGatewayDHCPArrayOutput

type PublicGatewayDHCPInput

type PublicGatewayDHCPInput interface {
	pulumi.Input

	ToPublicGatewayDHCPOutput() PublicGatewayDHCPOutput
	ToPublicGatewayDHCPOutputWithContext(ctx context.Context) PublicGatewayDHCPOutput
}

type PublicGatewayDHCPMap

type PublicGatewayDHCPMap map[string]PublicGatewayDHCPInput

func (PublicGatewayDHCPMap) ElementType

func (PublicGatewayDHCPMap) ElementType() reflect.Type

func (PublicGatewayDHCPMap) ToPublicGatewayDHCPMapOutput

func (i PublicGatewayDHCPMap) ToPublicGatewayDHCPMapOutput() PublicGatewayDHCPMapOutput

func (PublicGatewayDHCPMap) ToPublicGatewayDHCPMapOutputWithContext

func (i PublicGatewayDHCPMap) ToPublicGatewayDHCPMapOutputWithContext(ctx context.Context) PublicGatewayDHCPMapOutput

type PublicGatewayDHCPMapInput

type PublicGatewayDHCPMapInput interface {
	pulumi.Input

	ToPublicGatewayDHCPMapOutput() PublicGatewayDHCPMapOutput
	ToPublicGatewayDHCPMapOutputWithContext(context.Context) PublicGatewayDHCPMapOutput
}

PublicGatewayDHCPMapInput is an input type that accepts PublicGatewayDHCPMap and PublicGatewayDHCPMapOutput values. You can construct a concrete instance of `PublicGatewayDHCPMapInput` via:

PublicGatewayDHCPMap{ "key": PublicGatewayDHCPArgs{...} }

type PublicGatewayDHCPMapOutput

type PublicGatewayDHCPMapOutput struct{ *pulumi.OutputState }

func (PublicGatewayDHCPMapOutput) ElementType

func (PublicGatewayDHCPMapOutput) ElementType() reflect.Type

func (PublicGatewayDHCPMapOutput) MapIndex

func (PublicGatewayDHCPMapOutput) ToPublicGatewayDHCPMapOutput

func (o PublicGatewayDHCPMapOutput) ToPublicGatewayDHCPMapOutput() PublicGatewayDHCPMapOutput

func (PublicGatewayDHCPMapOutput) ToPublicGatewayDHCPMapOutputWithContext

func (o PublicGatewayDHCPMapOutput) ToPublicGatewayDHCPMapOutputWithContext(ctx context.Context) PublicGatewayDHCPMapOutput

type PublicGatewayDHCPOutput

type PublicGatewayDHCPOutput struct{ *pulumi.OutputState }

func (PublicGatewayDHCPOutput) Address

The IP address of the public gateway DHCP config.

func (PublicGatewayDHCPOutput) CreatedAt

The date and time of the creation of the public gateway DHCP config.

func (PublicGatewayDHCPOutput) DnsLocalName

func (o PublicGatewayDHCPOutput) DnsLocalName() pulumi.StringOutput

TLD given to hostnames in the Private Network. Allowed characters are `a-z0-9-.`. Defaults to the slugified Private Network name if created along a GatewayNetwork, or else to `priv`.

func (PublicGatewayDHCPOutput) DnsSearches

Additional DNS search paths

func (PublicGatewayDHCPOutput) DnsServersOverrides

func (o PublicGatewayDHCPOutput) DnsServersOverrides() pulumi.StringArrayOutput

Override the DNS server list pushed to DHCP clients, instead of the gateway itself

func (PublicGatewayDHCPOutput) ElementType

func (PublicGatewayDHCPOutput) ElementType() reflect.Type

func (PublicGatewayDHCPOutput) EnableDynamic

func (o PublicGatewayDHCPOutput) EnableDynamic() pulumi.BoolOutput

Whether to enable dynamic pooling of IPs. By turning the dynamic pool off, only pre-existing DHCP reservations will be handed out. Defaults to `true`.

func (PublicGatewayDHCPOutput) OrganizationId

func (o PublicGatewayDHCPOutput) OrganizationId() pulumi.StringOutput

The organization ID the public gateway DHCP config is associated with.

func (PublicGatewayDHCPOutput) PoolHigh

High IP (excluded) of the dynamic address pool. Defaults to the last address of the subnet.

func (PublicGatewayDHCPOutput) PoolLow

Low IP (included) of the dynamic address pool. Defaults to the second address of the subnet.

func (PublicGatewayDHCPOutput) ProjectId

`projectId`) The ID of the project the public gateway DHCP config is associated with.

func (PublicGatewayDHCPOutput) PushDefaultRoute

func (o PublicGatewayDHCPOutput) PushDefaultRoute() pulumi.BoolOutput

Whether the gateway should push a default route to DHCP clients or only hand out IPs. Defaults to `true`.

func (PublicGatewayDHCPOutput) PushDnsServer

func (o PublicGatewayDHCPOutput) PushDnsServer() pulumi.BoolOutput

Whether the gateway should push custom DNS servers to clients. This allows for instance hostname > IP resolution. Defaults to `true`.

func (PublicGatewayDHCPOutput) RebindTimer

func (o PublicGatewayDHCPOutput) RebindTimer() pulumi.IntOutput

After how long, in seconds, a DHCP client will query for a new lease if previous renews fail. Must be 30s lower than `validLifetime`. Defaults to 51m (3060s).

func (PublicGatewayDHCPOutput) RenewTimer

func (o PublicGatewayDHCPOutput) RenewTimer() pulumi.IntOutput

After how long, in seconds, a renewal will be attempted. Must be 30s lower than `rebindTimer`. Defaults to 50m (3000s).

func (PublicGatewayDHCPOutput) Subnet

The subnet to associate with the public gateway DHCP config.

func (PublicGatewayDHCPOutput) ToPublicGatewayDHCPOutput

func (o PublicGatewayDHCPOutput) ToPublicGatewayDHCPOutput() PublicGatewayDHCPOutput

func (PublicGatewayDHCPOutput) ToPublicGatewayDHCPOutputWithContext

func (o PublicGatewayDHCPOutput) ToPublicGatewayDHCPOutputWithContext(ctx context.Context) PublicGatewayDHCPOutput

func (PublicGatewayDHCPOutput) UpdatedAt

The date and time of the last update of the public gateway DHCP config.

func (PublicGatewayDHCPOutput) ValidLifetime

func (o PublicGatewayDHCPOutput) ValidLifetime() pulumi.IntOutput

For how long, in seconds, will DHCP entries will be valid. Defaults to 1h (3600s).

func (PublicGatewayDHCPOutput) Zone

`zone`) The zone in which the public gateway DHCP config should be created.

type PublicGatewayDHCPReservation

type PublicGatewayDHCPReservation struct {
	pulumi.CustomResourceState

	// The date and time of the creation of the public gateway DHCP config.
	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
	// The ID of the owning GatewayNetwork.
	GatewayNetworkId pulumi.StringOutput `pulumi:"gatewayNetworkId"`
	// The Hostname of the client machine.
	Hostname pulumi.StringOutput `pulumi:"hostname"`
	// The IP address to give to the machine (IP address).
	IpAddress pulumi.StringOutput `pulumi:"ipAddress"`
	// The MAC address to give a static entry to.
	MacAddress pulumi.StringOutput `pulumi:"macAddress"`
	// The reservation type, either static (DHCP reservation) or dynamic (DHCP lease). Possible values are reservation and lease.
	Type pulumi.StringOutput `pulumi:"type"`
	// The date and time of the last update of the public gateway DHCP config.
	UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"`
	// `zone`) The zone in which the public gateway DHCP config should be created.
	Zone pulumi.StringOutput `pulumi:"zone"`
}

Creates and manages the [Scaleway DHCP Reservations](https://www.scaleway.com/en/docs/network/vpc/concepts/#dhcp).

The static associations are used to assign IP addresses based on the MAC addresses of the Instance.

Statically assigned IP addresses should fall within the configured subnet, but be outside of the dynamic range.

For more information, see [the documentation](https://developers.scaleway.com/en/products/vpc-gw/api/v1/#dhcp-c05544) and [configuration guide](https://www.scaleway.com/en/docs/network/vpc/how-to/configure-a-public-gateway/#how-to-review-and-configure-dhcp).

[DHCP reservations](https://developers.scaleway.com/en/products/vpc-gw/api/v1/#dhcp-entries-e40fb6) hold both dynamic DHCP leases (IP addresses dynamically assigned by the gateway to instances) and static user-created DHCP reservations.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		mainPrivateNetwork, err := vpc.NewPrivateNetwork(ctx, "mainPrivateNetwork", nil)
		if err != nil {
			return err
		}
		mainServer, err := instance.NewServer(ctx, "mainServer", &instance.ServerArgs{
			Image: pulumi.String("ubuntu_jammy"),
			Type:  pulumi.String("DEV1-S"),
			Zone:  pulumi.String("fr-par-1"),
			PrivateNetworks: instance.ServerPrivateNetworkArray{
				&instance.ServerPrivateNetworkArgs{
					PnId: mainPrivateNetwork.ID(),
				},
			},
		})
		if err != nil {
			return err
		}
		mainPublicGatewayIP, err := vpc.NewPublicGatewayIP(ctx, "mainPublicGatewayIP", nil)
		if err != nil {
			return err
		}
		mainPublicGatewayDHCP, err := vpc.NewPublicGatewayDHCP(ctx, "mainPublicGatewayDHCP", &vpc.PublicGatewayDHCPArgs{
			Subnet: pulumi.String("192.168.1.0/24"),
		})
		if err != nil {
			return err
		}
		mainPublicGateway, err := vpc.NewPublicGateway(ctx, "mainPublicGateway", &vpc.PublicGatewayArgs{
			Type: pulumi.String("VPC-GW-S"),
			IpId: mainPublicGatewayIP.ID(),
		})
		if err != nil {
			return err
		}
		mainGatewayNetwork, err := vpc.NewGatewayNetwork(ctx, "mainGatewayNetwork", &vpc.GatewayNetworkArgs{
			GatewayId:        mainPublicGateway.ID(),
			PrivateNetworkId: mainPrivateNetwork.ID(),
			DhcpId:           mainPublicGatewayDHCP.ID(),
			CleanupDhcp:      pulumi.Bool(true),
			EnableMasquerade: pulumi.Bool(true),
		}, pulumi.DependsOn([]pulumi.Resource{
			mainPublicGatewayIP,
			mainPrivateNetwork,
		}))
		if err != nil {
			return err
		}
		_, err = vpc.NewPublicGatewayDHCPReservation(ctx, "mainPublicGatewayDHCPReservation", &vpc.PublicGatewayDHCPReservationArgs{
			GatewayNetworkId: mainGatewayNetwork.ID(),
			MacAddress: mainServer.PrivateNetworks.ApplyT(func(privateNetworks []instance.ServerPrivateNetwork) (*string, error) {
				return &privateNetworks[0].MacAddress, nil
			}).(pulumi.StringPtrOutput),
			IpAddress: pulumi.String("192.168.1.1"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Public gateway DHCP Reservation config can be imported using the `{zone}/{id}`, e.g.

bash

```sh $ pulumi import scaleway:vpc/publicGatewayDHCPReservation:PublicGatewayDHCPReservation main fr-par-1/11111111-1111-1111-1111-111111111111 ```

func GetPublicGatewayDHCPReservation

func GetPublicGatewayDHCPReservation(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PublicGatewayDHCPReservationState, opts ...pulumi.ResourceOption) (*PublicGatewayDHCPReservation, error)

GetPublicGatewayDHCPReservation gets an existing PublicGatewayDHCPReservation resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewPublicGatewayDHCPReservation

func NewPublicGatewayDHCPReservation(ctx *pulumi.Context,
	name string, args *PublicGatewayDHCPReservationArgs, opts ...pulumi.ResourceOption) (*PublicGatewayDHCPReservation, error)

NewPublicGatewayDHCPReservation registers a new resource with the given unique name, arguments, and options.

func (*PublicGatewayDHCPReservation) ElementType

func (*PublicGatewayDHCPReservation) ElementType() reflect.Type

func (*PublicGatewayDHCPReservation) ToPublicGatewayDHCPReservationOutput

func (i *PublicGatewayDHCPReservation) ToPublicGatewayDHCPReservationOutput() PublicGatewayDHCPReservationOutput

func (*PublicGatewayDHCPReservation) ToPublicGatewayDHCPReservationOutputWithContext

func (i *PublicGatewayDHCPReservation) ToPublicGatewayDHCPReservationOutputWithContext(ctx context.Context) PublicGatewayDHCPReservationOutput

type PublicGatewayDHCPReservationArgs

type PublicGatewayDHCPReservationArgs struct {
	// The ID of the owning GatewayNetwork.
	GatewayNetworkId pulumi.StringInput
	// The IP address to give to the machine (IP address).
	IpAddress pulumi.StringInput
	// The MAC address to give a static entry to.
	MacAddress pulumi.StringInput
	// `zone`) The zone in which the public gateway DHCP config should be created.
	Zone pulumi.StringPtrInput
}

The set of arguments for constructing a PublicGatewayDHCPReservation resource.

func (PublicGatewayDHCPReservationArgs) ElementType

type PublicGatewayDHCPReservationArray

type PublicGatewayDHCPReservationArray []PublicGatewayDHCPReservationInput

func (PublicGatewayDHCPReservationArray) ElementType

func (PublicGatewayDHCPReservationArray) ToPublicGatewayDHCPReservationArrayOutput

func (i PublicGatewayDHCPReservationArray) ToPublicGatewayDHCPReservationArrayOutput() PublicGatewayDHCPReservationArrayOutput

func (PublicGatewayDHCPReservationArray) ToPublicGatewayDHCPReservationArrayOutputWithContext

func (i PublicGatewayDHCPReservationArray) ToPublicGatewayDHCPReservationArrayOutputWithContext(ctx context.Context) PublicGatewayDHCPReservationArrayOutput

type PublicGatewayDHCPReservationArrayInput

type PublicGatewayDHCPReservationArrayInput interface {
	pulumi.Input

	ToPublicGatewayDHCPReservationArrayOutput() PublicGatewayDHCPReservationArrayOutput
	ToPublicGatewayDHCPReservationArrayOutputWithContext(context.Context) PublicGatewayDHCPReservationArrayOutput
}

PublicGatewayDHCPReservationArrayInput is an input type that accepts PublicGatewayDHCPReservationArray and PublicGatewayDHCPReservationArrayOutput values. You can construct a concrete instance of `PublicGatewayDHCPReservationArrayInput` via:

PublicGatewayDHCPReservationArray{ PublicGatewayDHCPReservationArgs{...} }

type PublicGatewayDHCPReservationArrayOutput

type PublicGatewayDHCPReservationArrayOutput struct{ *pulumi.OutputState }

func (PublicGatewayDHCPReservationArrayOutput) ElementType

func (PublicGatewayDHCPReservationArrayOutput) Index

func (PublicGatewayDHCPReservationArrayOutput) ToPublicGatewayDHCPReservationArrayOutput

func (o PublicGatewayDHCPReservationArrayOutput) ToPublicGatewayDHCPReservationArrayOutput() PublicGatewayDHCPReservationArrayOutput

func (PublicGatewayDHCPReservationArrayOutput) ToPublicGatewayDHCPReservationArrayOutputWithContext

func (o PublicGatewayDHCPReservationArrayOutput) ToPublicGatewayDHCPReservationArrayOutputWithContext(ctx context.Context) PublicGatewayDHCPReservationArrayOutput

type PublicGatewayDHCPReservationInput

type PublicGatewayDHCPReservationInput interface {
	pulumi.Input

	ToPublicGatewayDHCPReservationOutput() PublicGatewayDHCPReservationOutput
	ToPublicGatewayDHCPReservationOutputWithContext(ctx context.Context) PublicGatewayDHCPReservationOutput
}

type PublicGatewayDHCPReservationMap

type PublicGatewayDHCPReservationMap map[string]PublicGatewayDHCPReservationInput

func (PublicGatewayDHCPReservationMap) ElementType

func (PublicGatewayDHCPReservationMap) ToPublicGatewayDHCPReservationMapOutput

func (i PublicGatewayDHCPReservationMap) ToPublicGatewayDHCPReservationMapOutput() PublicGatewayDHCPReservationMapOutput

func (PublicGatewayDHCPReservationMap) ToPublicGatewayDHCPReservationMapOutputWithContext

func (i PublicGatewayDHCPReservationMap) ToPublicGatewayDHCPReservationMapOutputWithContext(ctx context.Context) PublicGatewayDHCPReservationMapOutput

type PublicGatewayDHCPReservationMapInput

type PublicGatewayDHCPReservationMapInput interface {
	pulumi.Input

	ToPublicGatewayDHCPReservationMapOutput() PublicGatewayDHCPReservationMapOutput
	ToPublicGatewayDHCPReservationMapOutputWithContext(context.Context) PublicGatewayDHCPReservationMapOutput
}

PublicGatewayDHCPReservationMapInput is an input type that accepts PublicGatewayDHCPReservationMap and PublicGatewayDHCPReservationMapOutput values. You can construct a concrete instance of `PublicGatewayDHCPReservationMapInput` via:

PublicGatewayDHCPReservationMap{ "key": PublicGatewayDHCPReservationArgs{...} }

type PublicGatewayDHCPReservationMapOutput

type PublicGatewayDHCPReservationMapOutput struct{ *pulumi.OutputState }

func (PublicGatewayDHCPReservationMapOutput) ElementType

func (PublicGatewayDHCPReservationMapOutput) MapIndex

func (PublicGatewayDHCPReservationMapOutput) ToPublicGatewayDHCPReservationMapOutput

func (o PublicGatewayDHCPReservationMapOutput) ToPublicGatewayDHCPReservationMapOutput() PublicGatewayDHCPReservationMapOutput

func (PublicGatewayDHCPReservationMapOutput) ToPublicGatewayDHCPReservationMapOutputWithContext

func (o PublicGatewayDHCPReservationMapOutput) ToPublicGatewayDHCPReservationMapOutputWithContext(ctx context.Context) PublicGatewayDHCPReservationMapOutput

type PublicGatewayDHCPReservationOutput

type PublicGatewayDHCPReservationOutput struct{ *pulumi.OutputState }

func (PublicGatewayDHCPReservationOutput) CreatedAt

The date and time of the creation of the public gateway DHCP config.

func (PublicGatewayDHCPReservationOutput) ElementType

func (PublicGatewayDHCPReservationOutput) GatewayNetworkId

The ID of the owning GatewayNetwork.

func (PublicGatewayDHCPReservationOutput) Hostname

The Hostname of the client machine.

func (PublicGatewayDHCPReservationOutput) IpAddress

The IP address to give to the machine (IP address).

func (PublicGatewayDHCPReservationOutput) MacAddress

The MAC address to give a static entry to.

func (PublicGatewayDHCPReservationOutput) ToPublicGatewayDHCPReservationOutput

func (o PublicGatewayDHCPReservationOutput) ToPublicGatewayDHCPReservationOutput() PublicGatewayDHCPReservationOutput

func (PublicGatewayDHCPReservationOutput) ToPublicGatewayDHCPReservationOutputWithContext

func (o PublicGatewayDHCPReservationOutput) ToPublicGatewayDHCPReservationOutputWithContext(ctx context.Context) PublicGatewayDHCPReservationOutput

func (PublicGatewayDHCPReservationOutput) Type

The reservation type, either static (DHCP reservation) or dynamic (DHCP lease). Possible values are reservation and lease.

func (PublicGatewayDHCPReservationOutput) UpdatedAt

The date and time of the last update of the public gateway DHCP config.

func (PublicGatewayDHCPReservationOutput) Zone

`zone`) The zone in which the public gateway DHCP config should be created.

type PublicGatewayDHCPReservationState

type PublicGatewayDHCPReservationState struct {
	// The date and time of the creation of the public gateway DHCP config.
	CreatedAt pulumi.StringPtrInput
	// The ID of the owning GatewayNetwork.
	GatewayNetworkId pulumi.StringPtrInput
	// The Hostname of the client machine.
	Hostname pulumi.StringPtrInput
	// The IP address to give to the machine (IP address).
	IpAddress pulumi.StringPtrInput
	// The MAC address to give a static entry to.
	MacAddress pulumi.StringPtrInput
	// The reservation type, either static (DHCP reservation) or dynamic (DHCP lease). Possible values are reservation and lease.
	Type pulumi.StringPtrInput
	// The date and time of the last update of the public gateway DHCP config.
	UpdatedAt pulumi.StringPtrInput
	// `zone`) The zone in which the public gateway DHCP config should be created.
	Zone pulumi.StringPtrInput
}

func (PublicGatewayDHCPReservationState) ElementType

type PublicGatewayDHCPState

type PublicGatewayDHCPState struct {
	// The IP address of the public gateway DHCP config.
	Address pulumi.StringPtrInput
	// The date and time of the creation of the public gateway DHCP config.
	CreatedAt pulumi.StringPtrInput
	// TLD given to hostnames in the Private Network. Allowed characters are `a-z0-9-.`. Defaults to the slugified Private Network name if created along a GatewayNetwork, or else to `priv`.
	DnsLocalName pulumi.StringPtrInput
	// Additional DNS search paths
	DnsSearches pulumi.StringArrayInput
	// Override the DNS server list pushed to DHCP clients, instead of the gateway itself
	DnsServersOverrides pulumi.StringArrayInput
	// Whether to enable dynamic pooling of IPs. By turning the dynamic pool off, only pre-existing DHCP reservations will be handed out. Defaults to `true`.
	EnableDynamic pulumi.BoolPtrInput
	// The organization ID the public gateway DHCP config is associated with.
	OrganizationId pulumi.StringPtrInput
	// High IP (excluded) of the dynamic address pool. Defaults to the last address of the subnet.
	PoolHigh pulumi.StringPtrInput
	// Low IP (included) of the dynamic address pool. Defaults to the second address of the subnet.
	PoolLow pulumi.StringPtrInput
	// `projectId`) The ID of the project the public gateway DHCP config is associated with.
	ProjectId pulumi.StringPtrInput
	// Whether the gateway should push a default route to DHCP clients or only hand out IPs. Defaults to `true`.
	PushDefaultRoute pulumi.BoolPtrInput
	// Whether the gateway should push custom DNS servers to clients. This allows for instance hostname > IP resolution. Defaults to `true`.
	PushDnsServer pulumi.BoolPtrInput
	// After how long, in seconds, a DHCP client will query for a new lease if previous renews fail. Must be 30s lower than `validLifetime`. Defaults to 51m (3060s).
	RebindTimer pulumi.IntPtrInput
	// After how long, in seconds, a renewal will be attempted. Must be 30s lower than `rebindTimer`. Defaults to 50m (3000s).
	RenewTimer pulumi.IntPtrInput
	// The subnet to associate with the public gateway DHCP config.
	Subnet pulumi.StringPtrInput
	// The date and time of the last update of the public gateway DHCP config.
	UpdatedAt pulumi.StringPtrInput
	// For how long, in seconds, will DHCP entries will be valid. Defaults to 1h (3600s).
	ValidLifetime pulumi.IntPtrInput
	// `zone`) The zone in which the public gateway DHCP config should be created.
	Zone pulumi.StringPtrInput
}

func (PublicGatewayDHCPState) ElementType

func (PublicGatewayDHCPState) ElementType() reflect.Type

type PublicGatewayIP

type PublicGatewayIP struct {
	pulumi.CustomResourceState

	// The IP address itself.
	Address pulumi.StringOutput `pulumi:"address"`
	// The date and time of the creation of the public gateway ip.
	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
	// The organization ID the public gateway ip is associated with.
	OrganizationId pulumi.StringOutput `pulumi:"organizationId"`
	// `projectId`) The ID of the project the public gateway ip is associated with.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// The reverse domain name for the IP address
	Reverse pulumi.StringOutput `pulumi:"reverse"`
	// The tags associated with the public gateway IP.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// The date and time of the last update of the public gateway ip.
	UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"`
	// `zone`) The zone in which the public gateway ip should be created.
	Zone pulumi.StringOutput `pulumi:"zone"`
}

Creates and manages Scaleway VPC Public Gateway IP. For more information, see [the documentation](https://developers.scaleway.com/en/products/vpc-gw/api/v1/#ips-268151).

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/dns"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		main, err := vpc.NewPublicGatewayIP(ctx, "main", &vpc.PublicGatewayIPArgs{
			Reverse: pulumi.String("tf.example.com"),
		})
		if err != nil {
			return err
		}
		_, err = dns.NewRecord(ctx, "tfA", &dns.RecordArgs{
			Data:     main.Address,
			DnsZone:  pulumi.String("example.com"),
			Priority: pulumi.Int(1),
			Ttl:      pulumi.Int(3600),
			Type:     pulumi.String("A"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

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

bash

```sh $ pulumi import scaleway:vpc/publicGatewayIP:PublicGatewayIP main fr-par-1/11111111-1111-1111-1111-111111111111 ```

func GetPublicGatewayIP

func GetPublicGatewayIP(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PublicGatewayIPState, opts ...pulumi.ResourceOption) (*PublicGatewayIP, error)

GetPublicGatewayIP gets an existing PublicGatewayIP resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewPublicGatewayIP

func NewPublicGatewayIP(ctx *pulumi.Context,
	name string, args *PublicGatewayIPArgs, opts ...pulumi.ResourceOption) (*PublicGatewayIP, error)

NewPublicGatewayIP registers a new resource with the given unique name, arguments, and options.

func (*PublicGatewayIP) ElementType

func (*PublicGatewayIP) ElementType() reflect.Type

func (*PublicGatewayIP) ToPublicGatewayIPOutput

func (i *PublicGatewayIP) ToPublicGatewayIPOutput() PublicGatewayIPOutput

func (*PublicGatewayIP) ToPublicGatewayIPOutputWithContext

func (i *PublicGatewayIP) ToPublicGatewayIPOutputWithContext(ctx context.Context) PublicGatewayIPOutput

type PublicGatewayIPArgs

type PublicGatewayIPArgs struct {
	// `projectId`) The ID of the project the public gateway ip is associated with.
	ProjectId pulumi.StringPtrInput
	// The reverse domain name for the IP address
	Reverse pulumi.StringPtrInput
	// The tags associated with the public gateway IP.
	Tags pulumi.StringArrayInput
	// `zone`) The zone in which the public gateway ip should be created.
	Zone pulumi.StringPtrInput
}

The set of arguments for constructing a PublicGatewayIP resource.

func (PublicGatewayIPArgs) ElementType

func (PublicGatewayIPArgs) ElementType() reflect.Type

type PublicGatewayIPArray

type PublicGatewayIPArray []PublicGatewayIPInput

func (PublicGatewayIPArray) ElementType

func (PublicGatewayIPArray) ElementType() reflect.Type

func (PublicGatewayIPArray) ToPublicGatewayIPArrayOutput

func (i PublicGatewayIPArray) ToPublicGatewayIPArrayOutput() PublicGatewayIPArrayOutput

func (PublicGatewayIPArray) ToPublicGatewayIPArrayOutputWithContext

func (i PublicGatewayIPArray) ToPublicGatewayIPArrayOutputWithContext(ctx context.Context) PublicGatewayIPArrayOutput

type PublicGatewayIPArrayInput

type PublicGatewayIPArrayInput interface {
	pulumi.Input

	ToPublicGatewayIPArrayOutput() PublicGatewayIPArrayOutput
	ToPublicGatewayIPArrayOutputWithContext(context.Context) PublicGatewayIPArrayOutput
}

PublicGatewayIPArrayInput is an input type that accepts PublicGatewayIPArray and PublicGatewayIPArrayOutput values. You can construct a concrete instance of `PublicGatewayIPArrayInput` via:

PublicGatewayIPArray{ PublicGatewayIPArgs{...} }

type PublicGatewayIPArrayOutput

type PublicGatewayIPArrayOutput struct{ *pulumi.OutputState }

func (PublicGatewayIPArrayOutput) ElementType

func (PublicGatewayIPArrayOutput) ElementType() reflect.Type

func (PublicGatewayIPArrayOutput) Index

func (PublicGatewayIPArrayOutput) ToPublicGatewayIPArrayOutput

func (o PublicGatewayIPArrayOutput) ToPublicGatewayIPArrayOutput() PublicGatewayIPArrayOutput

func (PublicGatewayIPArrayOutput) ToPublicGatewayIPArrayOutputWithContext

func (o PublicGatewayIPArrayOutput) ToPublicGatewayIPArrayOutputWithContext(ctx context.Context) PublicGatewayIPArrayOutput

type PublicGatewayIPInput

type PublicGatewayIPInput interface {
	pulumi.Input

	ToPublicGatewayIPOutput() PublicGatewayIPOutput
	ToPublicGatewayIPOutputWithContext(ctx context.Context) PublicGatewayIPOutput
}

type PublicGatewayIPMap

type PublicGatewayIPMap map[string]PublicGatewayIPInput

func (PublicGatewayIPMap) ElementType

func (PublicGatewayIPMap) ElementType() reflect.Type

func (PublicGatewayIPMap) ToPublicGatewayIPMapOutput

func (i PublicGatewayIPMap) ToPublicGatewayIPMapOutput() PublicGatewayIPMapOutput

func (PublicGatewayIPMap) ToPublicGatewayIPMapOutputWithContext

func (i PublicGatewayIPMap) ToPublicGatewayIPMapOutputWithContext(ctx context.Context) PublicGatewayIPMapOutput

type PublicGatewayIPMapInput

type PublicGatewayIPMapInput interface {
	pulumi.Input

	ToPublicGatewayIPMapOutput() PublicGatewayIPMapOutput
	ToPublicGatewayIPMapOutputWithContext(context.Context) PublicGatewayIPMapOutput
}

PublicGatewayIPMapInput is an input type that accepts PublicGatewayIPMap and PublicGatewayIPMapOutput values. You can construct a concrete instance of `PublicGatewayIPMapInput` via:

PublicGatewayIPMap{ "key": PublicGatewayIPArgs{...} }

type PublicGatewayIPMapOutput

type PublicGatewayIPMapOutput struct{ *pulumi.OutputState }

func (PublicGatewayIPMapOutput) ElementType

func (PublicGatewayIPMapOutput) ElementType() reflect.Type

func (PublicGatewayIPMapOutput) MapIndex

func (PublicGatewayIPMapOutput) ToPublicGatewayIPMapOutput

func (o PublicGatewayIPMapOutput) ToPublicGatewayIPMapOutput() PublicGatewayIPMapOutput

func (PublicGatewayIPMapOutput) ToPublicGatewayIPMapOutputWithContext

func (o PublicGatewayIPMapOutput) ToPublicGatewayIPMapOutputWithContext(ctx context.Context) PublicGatewayIPMapOutput

type PublicGatewayIPOutput

type PublicGatewayIPOutput struct{ *pulumi.OutputState }

func (PublicGatewayIPOutput) Address

The IP address itself.

func (PublicGatewayIPOutput) CreatedAt

The date and time of the creation of the public gateway ip.

func (PublicGatewayIPOutput) ElementType

func (PublicGatewayIPOutput) ElementType() reflect.Type

func (PublicGatewayIPOutput) OrganizationId

func (o PublicGatewayIPOutput) OrganizationId() pulumi.StringOutput

The organization ID the public gateway ip is associated with.

func (PublicGatewayIPOutput) ProjectId

`projectId`) The ID of the project the public gateway ip is associated with.

func (PublicGatewayIPOutput) Reverse

The reverse domain name for the IP address

func (PublicGatewayIPOutput) Tags

The tags associated with the public gateway IP.

func (PublicGatewayIPOutput) ToPublicGatewayIPOutput

func (o PublicGatewayIPOutput) ToPublicGatewayIPOutput() PublicGatewayIPOutput

func (PublicGatewayIPOutput) ToPublicGatewayIPOutputWithContext

func (o PublicGatewayIPOutput) ToPublicGatewayIPOutputWithContext(ctx context.Context) PublicGatewayIPOutput

func (PublicGatewayIPOutput) UpdatedAt

The date and time of the last update of the public gateway ip.

func (PublicGatewayIPOutput) Zone

`zone`) The zone in which the public gateway ip should be created.

type PublicGatewayIPReverseDNS

type PublicGatewayIPReverseDNS struct {
	pulumi.CustomResourceState

	// The public gateway IP ID
	GatewayIpId pulumi.StringOutput `pulumi:"gatewayIpId"`
	// The reverse domain name for this IP address
	Reverse pulumi.StringOutput `pulumi:"reverse"`
	// `zone`) The zone in which the IP should be reserved.
	Zone pulumi.StringOutput `pulumi:"zone"`
}

Manages Scaleway VPC Public Gateways IPs reverse DNS. For more information, see [the documentation](https://developers.scaleway.com/en/products/vpc-gw/api/v1/#ips-268151).

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/dns"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		mainPublicGatewayIP, err := vpc.NewPublicGatewayIP(ctx, "mainPublicGatewayIP", nil)
		if err != nil {
			return err
		}
		_, err = dns.NewRecord(ctx, "tfA", &dns.RecordArgs{
			DnsZone:  pulumi.String("example.com"),
			Type:     pulumi.String("A"),
			Data:     mainPublicGatewayIP.Address,
			Ttl:      pulumi.Int(3600),
			Priority: pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewPublicGatewayIPReverseDNS(ctx, "mainPublicGatewayIPReverseDNS", &vpc.PublicGatewayIPReverseDNSArgs{
			GatewayIpId: mainPublicGatewayIP.ID(),
			Reverse:     pulumi.String("tf.example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Public gateway IPs reverse DNS can be imported using the `{zone}/{id}`, e.g.

bash

```sh $ pulumi import scaleway:vpc/publicGatewayIPReverseDNS:PublicGatewayIPReverseDNS reverse fr-par-1/11111111-1111-1111-1111-111111111111 ```

func GetPublicGatewayIPReverseDNS

func GetPublicGatewayIPReverseDNS(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PublicGatewayIPReverseDNSState, opts ...pulumi.ResourceOption) (*PublicGatewayIPReverseDNS, error)

GetPublicGatewayIPReverseDNS gets an existing PublicGatewayIPReverseDNS resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewPublicGatewayIPReverseDNS

func NewPublicGatewayIPReverseDNS(ctx *pulumi.Context,
	name string, args *PublicGatewayIPReverseDNSArgs, opts ...pulumi.ResourceOption) (*PublicGatewayIPReverseDNS, error)

NewPublicGatewayIPReverseDNS registers a new resource with the given unique name, arguments, and options.

func (*PublicGatewayIPReverseDNS) ElementType

func (*PublicGatewayIPReverseDNS) ElementType() reflect.Type

func (*PublicGatewayIPReverseDNS) ToPublicGatewayIPReverseDNSOutput

func (i *PublicGatewayIPReverseDNS) ToPublicGatewayIPReverseDNSOutput() PublicGatewayIPReverseDNSOutput

func (*PublicGatewayIPReverseDNS) ToPublicGatewayIPReverseDNSOutputWithContext

func (i *PublicGatewayIPReverseDNS) ToPublicGatewayIPReverseDNSOutputWithContext(ctx context.Context) PublicGatewayIPReverseDNSOutput

type PublicGatewayIPReverseDNSArgs

type PublicGatewayIPReverseDNSArgs struct {
	// The public gateway IP ID
	GatewayIpId pulumi.StringInput
	// The reverse domain name for this IP address
	Reverse pulumi.StringInput
	// `zone`) The zone in which the IP should be reserved.
	Zone pulumi.StringPtrInput
}

The set of arguments for constructing a PublicGatewayIPReverseDNS resource.

func (PublicGatewayIPReverseDNSArgs) ElementType

type PublicGatewayIPReverseDNSArray

type PublicGatewayIPReverseDNSArray []PublicGatewayIPReverseDNSInput

func (PublicGatewayIPReverseDNSArray) ElementType

func (PublicGatewayIPReverseDNSArray) ToPublicGatewayIPReverseDNSArrayOutput

func (i PublicGatewayIPReverseDNSArray) ToPublicGatewayIPReverseDNSArrayOutput() PublicGatewayIPReverseDNSArrayOutput

func (PublicGatewayIPReverseDNSArray) ToPublicGatewayIPReverseDNSArrayOutputWithContext

func (i PublicGatewayIPReverseDNSArray) ToPublicGatewayIPReverseDNSArrayOutputWithContext(ctx context.Context) PublicGatewayIPReverseDNSArrayOutput

type PublicGatewayIPReverseDNSArrayInput

type PublicGatewayIPReverseDNSArrayInput interface {
	pulumi.Input

	ToPublicGatewayIPReverseDNSArrayOutput() PublicGatewayIPReverseDNSArrayOutput
	ToPublicGatewayIPReverseDNSArrayOutputWithContext(context.Context) PublicGatewayIPReverseDNSArrayOutput
}

PublicGatewayIPReverseDNSArrayInput is an input type that accepts PublicGatewayIPReverseDNSArray and PublicGatewayIPReverseDNSArrayOutput values. You can construct a concrete instance of `PublicGatewayIPReverseDNSArrayInput` via:

PublicGatewayIPReverseDNSArray{ PublicGatewayIPReverseDNSArgs{...} }

type PublicGatewayIPReverseDNSArrayOutput

type PublicGatewayIPReverseDNSArrayOutput struct{ *pulumi.OutputState }

func (PublicGatewayIPReverseDNSArrayOutput) ElementType

func (PublicGatewayIPReverseDNSArrayOutput) Index

func (PublicGatewayIPReverseDNSArrayOutput) ToPublicGatewayIPReverseDNSArrayOutput

func (o PublicGatewayIPReverseDNSArrayOutput) ToPublicGatewayIPReverseDNSArrayOutput() PublicGatewayIPReverseDNSArrayOutput

func (PublicGatewayIPReverseDNSArrayOutput) ToPublicGatewayIPReverseDNSArrayOutputWithContext

func (o PublicGatewayIPReverseDNSArrayOutput) ToPublicGatewayIPReverseDNSArrayOutputWithContext(ctx context.Context) PublicGatewayIPReverseDNSArrayOutput

type PublicGatewayIPReverseDNSInput

type PublicGatewayIPReverseDNSInput interface {
	pulumi.Input

	ToPublicGatewayIPReverseDNSOutput() PublicGatewayIPReverseDNSOutput
	ToPublicGatewayIPReverseDNSOutputWithContext(ctx context.Context) PublicGatewayIPReverseDNSOutput
}

type PublicGatewayIPReverseDNSMap

type PublicGatewayIPReverseDNSMap map[string]PublicGatewayIPReverseDNSInput

func (PublicGatewayIPReverseDNSMap) ElementType

func (PublicGatewayIPReverseDNSMap) ToPublicGatewayIPReverseDNSMapOutput

func (i PublicGatewayIPReverseDNSMap) ToPublicGatewayIPReverseDNSMapOutput() PublicGatewayIPReverseDNSMapOutput

func (PublicGatewayIPReverseDNSMap) ToPublicGatewayIPReverseDNSMapOutputWithContext

func (i PublicGatewayIPReverseDNSMap) ToPublicGatewayIPReverseDNSMapOutputWithContext(ctx context.Context) PublicGatewayIPReverseDNSMapOutput

type PublicGatewayIPReverseDNSMapInput

type PublicGatewayIPReverseDNSMapInput interface {
	pulumi.Input

	ToPublicGatewayIPReverseDNSMapOutput() PublicGatewayIPReverseDNSMapOutput
	ToPublicGatewayIPReverseDNSMapOutputWithContext(context.Context) PublicGatewayIPReverseDNSMapOutput
}

PublicGatewayIPReverseDNSMapInput is an input type that accepts PublicGatewayIPReverseDNSMap and PublicGatewayIPReverseDNSMapOutput values. You can construct a concrete instance of `PublicGatewayIPReverseDNSMapInput` via:

PublicGatewayIPReverseDNSMap{ "key": PublicGatewayIPReverseDNSArgs{...} }

type PublicGatewayIPReverseDNSMapOutput

type PublicGatewayIPReverseDNSMapOutput struct{ *pulumi.OutputState }

func (PublicGatewayIPReverseDNSMapOutput) ElementType

func (PublicGatewayIPReverseDNSMapOutput) MapIndex

func (PublicGatewayIPReverseDNSMapOutput) ToPublicGatewayIPReverseDNSMapOutput

func (o PublicGatewayIPReverseDNSMapOutput) ToPublicGatewayIPReverseDNSMapOutput() PublicGatewayIPReverseDNSMapOutput

func (PublicGatewayIPReverseDNSMapOutput) ToPublicGatewayIPReverseDNSMapOutputWithContext

func (o PublicGatewayIPReverseDNSMapOutput) ToPublicGatewayIPReverseDNSMapOutputWithContext(ctx context.Context) PublicGatewayIPReverseDNSMapOutput

type PublicGatewayIPReverseDNSOutput

type PublicGatewayIPReverseDNSOutput struct{ *pulumi.OutputState }

func (PublicGatewayIPReverseDNSOutput) ElementType

func (PublicGatewayIPReverseDNSOutput) GatewayIpId

The public gateway IP ID

func (PublicGatewayIPReverseDNSOutput) Reverse

The reverse domain name for this IP address

func (PublicGatewayIPReverseDNSOutput) ToPublicGatewayIPReverseDNSOutput

func (o PublicGatewayIPReverseDNSOutput) ToPublicGatewayIPReverseDNSOutput() PublicGatewayIPReverseDNSOutput

func (PublicGatewayIPReverseDNSOutput) ToPublicGatewayIPReverseDNSOutputWithContext

func (o PublicGatewayIPReverseDNSOutput) ToPublicGatewayIPReverseDNSOutputWithContext(ctx context.Context) PublicGatewayIPReverseDNSOutput

func (PublicGatewayIPReverseDNSOutput) Zone

`zone`) The zone in which the IP should be reserved.

type PublicGatewayIPReverseDNSState

type PublicGatewayIPReverseDNSState struct {
	// The public gateway IP ID
	GatewayIpId pulumi.StringPtrInput
	// The reverse domain name for this IP address
	Reverse pulumi.StringPtrInput
	// `zone`) The zone in which the IP should be reserved.
	Zone pulumi.StringPtrInput
}

func (PublicGatewayIPReverseDNSState) ElementType

type PublicGatewayIPState

type PublicGatewayIPState struct {
	// The IP address itself.
	Address pulumi.StringPtrInput
	// The date and time of the creation of the public gateway ip.
	CreatedAt pulumi.StringPtrInput
	// The organization ID the public gateway ip is associated with.
	OrganizationId pulumi.StringPtrInput
	// `projectId`) The ID of the project the public gateway ip is associated with.
	ProjectId pulumi.StringPtrInput
	// The reverse domain name for the IP address
	Reverse pulumi.StringPtrInput
	// The tags associated with the public gateway IP.
	Tags pulumi.StringArrayInput
	// The date and time of the last update of the public gateway ip.
	UpdatedAt pulumi.StringPtrInput
	// `zone`) The zone in which the public gateway ip should be created.
	Zone pulumi.StringPtrInput
}

func (PublicGatewayIPState) ElementType

func (PublicGatewayIPState) ElementType() reflect.Type

type PublicGatewayInput

type PublicGatewayInput interface {
	pulumi.Input

	ToPublicGatewayOutput() PublicGatewayOutput
	ToPublicGatewayOutputWithContext(ctx context.Context) PublicGatewayOutput
}

type PublicGatewayMap

type PublicGatewayMap map[string]PublicGatewayInput

func (PublicGatewayMap) ElementType

func (PublicGatewayMap) ElementType() reflect.Type

func (PublicGatewayMap) ToPublicGatewayMapOutput

func (i PublicGatewayMap) ToPublicGatewayMapOutput() PublicGatewayMapOutput

func (PublicGatewayMap) ToPublicGatewayMapOutputWithContext

func (i PublicGatewayMap) ToPublicGatewayMapOutputWithContext(ctx context.Context) PublicGatewayMapOutput

type PublicGatewayMapInput

type PublicGatewayMapInput interface {
	pulumi.Input

	ToPublicGatewayMapOutput() PublicGatewayMapOutput
	ToPublicGatewayMapOutputWithContext(context.Context) PublicGatewayMapOutput
}

PublicGatewayMapInput is an input type that accepts PublicGatewayMap and PublicGatewayMapOutput values. You can construct a concrete instance of `PublicGatewayMapInput` via:

PublicGatewayMap{ "key": PublicGatewayArgs{...} }

type PublicGatewayMapOutput

type PublicGatewayMapOutput struct{ *pulumi.OutputState }

func (PublicGatewayMapOutput) ElementType

func (PublicGatewayMapOutput) ElementType() reflect.Type

func (PublicGatewayMapOutput) MapIndex

func (PublicGatewayMapOutput) ToPublicGatewayMapOutput

func (o PublicGatewayMapOutput) ToPublicGatewayMapOutput() PublicGatewayMapOutput

func (PublicGatewayMapOutput) ToPublicGatewayMapOutputWithContext

func (o PublicGatewayMapOutput) ToPublicGatewayMapOutputWithContext(ctx context.Context) PublicGatewayMapOutput

type PublicGatewayOutput

type PublicGatewayOutput struct{ *pulumi.OutputState }

func (PublicGatewayOutput) BastionEnabled

func (o PublicGatewayOutput) BastionEnabled() pulumi.BoolPtrOutput

Enable SSH bastion on the gateway

func (PublicGatewayOutput) BastionPort

func (o PublicGatewayOutput) BastionPort() pulumi.IntOutput

The port on which the SSH bastion will listen.

func (PublicGatewayOutput) CreatedAt

func (o PublicGatewayOutput) CreatedAt() pulumi.StringOutput

The date and time of the creation of the public gateway.

func (PublicGatewayOutput) ElementType

func (PublicGatewayOutput) ElementType() reflect.Type

func (PublicGatewayOutput) EnableSmtp

func (o PublicGatewayOutput) EnableSmtp() pulumi.BoolOutput

Enable SMTP on the gateway

func (PublicGatewayOutput) IpId

attach an existing flexible IP to the gateway

func (PublicGatewayOutput) Name

The name of the public gateway. If not provided it will be randomly generated.

func (PublicGatewayOutput) OrganizationId

func (o PublicGatewayOutput) OrganizationId() pulumi.StringOutput

The organization ID the public gateway is associated with.

func (PublicGatewayOutput) ProjectId

func (o PublicGatewayOutput) ProjectId() pulumi.StringOutput

`projectId`) The ID of the project the public gateway is associated with.

func (PublicGatewayOutput) Status

The status of the public gateway.

func (PublicGatewayOutput) Tags

The tags associated with the public gateway.

func (PublicGatewayOutput) ToPublicGatewayOutput

func (o PublicGatewayOutput) ToPublicGatewayOutput() PublicGatewayOutput

func (PublicGatewayOutput) ToPublicGatewayOutputWithContext

func (o PublicGatewayOutput) ToPublicGatewayOutputWithContext(ctx context.Context) PublicGatewayOutput

func (PublicGatewayOutput) Type

The gateway type.

func (PublicGatewayOutput) UpdatedAt

func (o PublicGatewayOutput) UpdatedAt() pulumi.StringOutput

The date and time of the last update of the public gateway.

func (PublicGatewayOutput) UpstreamDnsServers

func (o PublicGatewayOutput) UpstreamDnsServers() pulumi.StringArrayOutput

override the gateway's default recursive DNS servers, if DNS features are enabled.

func (PublicGatewayOutput) Zone

`zone`) The zone in which the public gateway should be created.

type PublicGatewayPATRule

type PublicGatewayPATRule struct {
	pulumi.CustomResourceState

	// The date and time of the creation of the pat rule config.
	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
	// The ID of the public gateway.
	GatewayId pulumi.StringOutput `pulumi:"gatewayId"`
	// The organization ID the pat rule config is associated with.
	OrganizationId pulumi.StringOutput `pulumi:"organizationId"`
	// The Private IP to forward data to (IP address).
	PrivateIp pulumi.StringOutput `pulumi:"privateIp"`
	// The Private port to translate to.
	PrivatePort pulumi.IntOutput `pulumi:"privatePort"`
	// The Protocol the rule should apply to. Possible values are both, tcp and udp.
	Protocol pulumi.StringPtrOutput `pulumi:"protocol"`
	// The Public port to listen on.
	PublicPort pulumi.IntOutput `pulumi:"publicPort"`
	// The date and time of the last update of the pat rule config.
	UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"`
	// `zone`) The zone in which the public gateway DHCP config should be created.
	Zone pulumi.StringOutput `pulumi:"zone"`
}

Creates and manages Scaleway VPC Public Gateway PAT (Port Address Translation). For more information, see [the documentation](https://developers.scaleway.com/en/products/vpc-gw/api/v1#pat-rules-e75d10).

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		sg01, err := instance.NewSecurityGroup(ctx, "sg01", &instance.SecurityGroupArgs{
			InboundDefaultPolicy:  pulumi.String("drop"),
			OutboundDefaultPolicy: pulumi.String("accept"),
			InboundRules: instance.SecurityGroupInboundRuleArray{
				&instance.SecurityGroupInboundRuleArgs{
					Action:   pulumi.String("accept"),
					Port:     pulumi.Int(22),
					Protocol: pulumi.String("TCP"),
				},
			},
		})
		if err != nil {
			return err
		}
		srv01, err := instance.NewServer(ctx, "srv01", &instance.ServerArgs{
			Type:            pulumi.String("PLAY2-NANO"),
			Image:           pulumi.String("ubuntu_jammy"),
			SecurityGroupId: sg01.ID(),
		})
		if err != nil {
			return err
		}
		pn01, err := vpc.NewPrivateNetwork(ctx, "pn01", nil)
		if err != nil {
			return err
		}
		pnic01, err := instance.NewPrivateNIC(ctx, "pnic01", &instance.PrivateNICArgs{
			ServerId:         srv01.ID(),
			PrivateNetworkId: pn01.ID(),
		})
		if err != nil {
			return err
		}
		dhcp01, err := vpc.NewPublicGatewayDHCP(ctx, "dhcp01", &vpc.PublicGatewayDHCPArgs{
			Subnet: pulumi.String("192.168.0.0/24"),
		})
		if err != nil {
			return err
		}
		ip01, err := vpc.NewPublicGatewayIP(ctx, "ip01", nil)
		if err != nil {
			return err
		}
		pg01, err := vpc.NewPublicGateway(ctx, "pg01", &vpc.PublicGatewayArgs{
			Type: pulumi.String("VPC-GW-S"),
			IpId: ip01.ID(),
		})
		if err != nil {
			return err
		}
		gn01, err := vpc.NewGatewayNetwork(ctx, "gn01", &vpc.GatewayNetworkArgs{
			GatewayId:        pg01.ID(),
			PrivateNetworkId: pn01.ID(),
			DhcpId:           dhcp01.ID(),
			CleanupDhcp:      pulumi.Bool(true),
			EnableMasquerade: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		rsv01, err := vpc.NewPublicGatewayDHCPReservation(ctx, "rsv01", &vpc.PublicGatewayDHCPReservationArgs{
			GatewayNetworkId: gn01.ID(),
			MacAddress:       pnic01.MacAddress,
			IpAddress:        pulumi.String("192.168.0.7"),
		})
		if err != nil {
			return err
		}
		// PAT rule for SSH traffic
		_, err = vpc.NewPublicGatewayPATRule(ctx, "pat01", &vpc.PublicGatewayPATRuleArgs{
			GatewayId:   pg01.ID(),
			PrivateIp:   rsv01.IpAddress,
			PrivatePort: pulumi.Int(22),
			PublicPort:  pulumi.Int(2202),
			Protocol:    pulumi.String("tcp"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

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

bash

```sh $ pulumi import scaleway:vpc/publicGatewayPATRule:PublicGatewayPATRule main fr-par-1/11111111-1111-1111-1111-111111111111 ```

func GetPublicGatewayPATRule

func GetPublicGatewayPATRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PublicGatewayPATRuleState, opts ...pulumi.ResourceOption) (*PublicGatewayPATRule, error)

GetPublicGatewayPATRule gets an existing PublicGatewayPATRule resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewPublicGatewayPATRule

func NewPublicGatewayPATRule(ctx *pulumi.Context,
	name string, args *PublicGatewayPATRuleArgs, opts ...pulumi.ResourceOption) (*PublicGatewayPATRule, error)

NewPublicGatewayPATRule registers a new resource with the given unique name, arguments, and options.

func (*PublicGatewayPATRule) ElementType

func (*PublicGatewayPATRule) ElementType() reflect.Type

func (*PublicGatewayPATRule) ToPublicGatewayPATRuleOutput

func (i *PublicGatewayPATRule) ToPublicGatewayPATRuleOutput() PublicGatewayPATRuleOutput

func (*PublicGatewayPATRule) ToPublicGatewayPATRuleOutputWithContext

func (i *PublicGatewayPATRule) ToPublicGatewayPATRuleOutputWithContext(ctx context.Context) PublicGatewayPATRuleOutput

type PublicGatewayPATRuleArgs

type PublicGatewayPATRuleArgs struct {
	// The ID of the public gateway.
	GatewayId pulumi.StringInput
	// The Private IP to forward data to (IP address).
	PrivateIp pulumi.StringInput
	// The Private port to translate to.
	PrivatePort pulumi.IntInput
	// The Protocol the rule should apply to. Possible values are both, tcp and udp.
	Protocol pulumi.StringPtrInput
	// The Public port to listen on.
	PublicPort pulumi.IntInput
	// `zone`) The zone in which the public gateway DHCP config should be created.
	Zone pulumi.StringPtrInput
}

The set of arguments for constructing a PublicGatewayPATRule resource.

func (PublicGatewayPATRuleArgs) ElementType

func (PublicGatewayPATRuleArgs) ElementType() reflect.Type

type PublicGatewayPATRuleArray

type PublicGatewayPATRuleArray []PublicGatewayPATRuleInput

func (PublicGatewayPATRuleArray) ElementType

func (PublicGatewayPATRuleArray) ElementType() reflect.Type

func (PublicGatewayPATRuleArray) ToPublicGatewayPATRuleArrayOutput

func (i PublicGatewayPATRuleArray) ToPublicGatewayPATRuleArrayOutput() PublicGatewayPATRuleArrayOutput

func (PublicGatewayPATRuleArray) ToPublicGatewayPATRuleArrayOutputWithContext

func (i PublicGatewayPATRuleArray) ToPublicGatewayPATRuleArrayOutputWithContext(ctx context.Context) PublicGatewayPATRuleArrayOutput

type PublicGatewayPATRuleArrayInput

type PublicGatewayPATRuleArrayInput interface {
	pulumi.Input

	ToPublicGatewayPATRuleArrayOutput() PublicGatewayPATRuleArrayOutput
	ToPublicGatewayPATRuleArrayOutputWithContext(context.Context) PublicGatewayPATRuleArrayOutput
}

PublicGatewayPATRuleArrayInput is an input type that accepts PublicGatewayPATRuleArray and PublicGatewayPATRuleArrayOutput values. You can construct a concrete instance of `PublicGatewayPATRuleArrayInput` via:

PublicGatewayPATRuleArray{ PublicGatewayPATRuleArgs{...} }

type PublicGatewayPATRuleArrayOutput

type PublicGatewayPATRuleArrayOutput struct{ *pulumi.OutputState }

func (PublicGatewayPATRuleArrayOutput) ElementType

func (PublicGatewayPATRuleArrayOutput) Index

func (PublicGatewayPATRuleArrayOutput) ToPublicGatewayPATRuleArrayOutput

func (o PublicGatewayPATRuleArrayOutput) ToPublicGatewayPATRuleArrayOutput() PublicGatewayPATRuleArrayOutput

func (PublicGatewayPATRuleArrayOutput) ToPublicGatewayPATRuleArrayOutputWithContext

func (o PublicGatewayPATRuleArrayOutput) ToPublicGatewayPATRuleArrayOutputWithContext(ctx context.Context) PublicGatewayPATRuleArrayOutput

type PublicGatewayPATRuleInput

type PublicGatewayPATRuleInput interface {
	pulumi.Input

	ToPublicGatewayPATRuleOutput() PublicGatewayPATRuleOutput
	ToPublicGatewayPATRuleOutputWithContext(ctx context.Context) PublicGatewayPATRuleOutput
}

type PublicGatewayPATRuleMap

type PublicGatewayPATRuleMap map[string]PublicGatewayPATRuleInput

func (PublicGatewayPATRuleMap) ElementType

func (PublicGatewayPATRuleMap) ElementType() reflect.Type

func (PublicGatewayPATRuleMap) ToPublicGatewayPATRuleMapOutput

func (i PublicGatewayPATRuleMap) ToPublicGatewayPATRuleMapOutput() PublicGatewayPATRuleMapOutput

func (PublicGatewayPATRuleMap) ToPublicGatewayPATRuleMapOutputWithContext

func (i PublicGatewayPATRuleMap) ToPublicGatewayPATRuleMapOutputWithContext(ctx context.Context) PublicGatewayPATRuleMapOutput

type PublicGatewayPATRuleMapInput

type PublicGatewayPATRuleMapInput interface {
	pulumi.Input

	ToPublicGatewayPATRuleMapOutput() PublicGatewayPATRuleMapOutput
	ToPublicGatewayPATRuleMapOutputWithContext(context.Context) PublicGatewayPATRuleMapOutput
}

PublicGatewayPATRuleMapInput is an input type that accepts PublicGatewayPATRuleMap and PublicGatewayPATRuleMapOutput values. You can construct a concrete instance of `PublicGatewayPATRuleMapInput` via:

PublicGatewayPATRuleMap{ "key": PublicGatewayPATRuleArgs{...} }

type PublicGatewayPATRuleMapOutput

type PublicGatewayPATRuleMapOutput struct{ *pulumi.OutputState }

func (PublicGatewayPATRuleMapOutput) ElementType

func (PublicGatewayPATRuleMapOutput) MapIndex

func (PublicGatewayPATRuleMapOutput) ToPublicGatewayPATRuleMapOutput

func (o PublicGatewayPATRuleMapOutput) ToPublicGatewayPATRuleMapOutput() PublicGatewayPATRuleMapOutput

func (PublicGatewayPATRuleMapOutput) ToPublicGatewayPATRuleMapOutputWithContext

func (o PublicGatewayPATRuleMapOutput) ToPublicGatewayPATRuleMapOutputWithContext(ctx context.Context) PublicGatewayPATRuleMapOutput

type PublicGatewayPATRuleOutput

type PublicGatewayPATRuleOutput struct{ *pulumi.OutputState }

func (PublicGatewayPATRuleOutput) CreatedAt

The date and time of the creation of the pat rule config.

func (PublicGatewayPATRuleOutput) ElementType

func (PublicGatewayPATRuleOutput) ElementType() reflect.Type

func (PublicGatewayPATRuleOutput) GatewayId

The ID of the public gateway.

func (PublicGatewayPATRuleOutput) OrganizationId

func (o PublicGatewayPATRuleOutput) OrganizationId() pulumi.StringOutput

The organization ID the pat rule config is associated with.

func (PublicGatewayPATRuleOutput) PrivateIp

The Private IP to forward data to (IP address).

func (PublicGatewayPATRuleOutput) PrivatePort

The Private port to translate to.

func (PublicGatewayPATRuleOutput) Protocol

The Protocol the rule should apply to. Possible values are both, tcp and udp.

func (PublicGatewayPATRuleOutput) PublicPort

The Public port to listen on.

func (PublicGatewayPATRuleOutput) ToPublicGatewayPATRuleOutput

func (o PublicGatewayPATRuleOutput) ToPublicGatewayPATRuleOutput() PublicGatewayPATRuleOutput

func (PublicGatewayPATRuleOutput) ToPublicGatewayPATRuleOutputWithContext

func (o PublicGatewayPATRuleOutput) ToPublicGatewayPATRuleOutputWithContext(ctx context.Context) PublicGatewayPATRuleOutput

func (PublicGatewayPATRuleOutput) UpdatedAt

The date and time of the last update of the pat rule config.

func (PublicGatewayPATRuleOutput) Zone

`zone`) The zone in which the public gateway DHCP config should be created.

type PublicGatewayPATRuleState

type PublicGatewayPATRuleState struct {
	// The date and time of the creation of the pat rule config.
	CreatedAt pulumi.StringPtrInput
	// The ID of the public gateway.
	GatewayId pulumi.StringPtrInput
	// The organization ID the pat rule config is associated with.
	OrganizationId pulumi.StringPtrInput
	// The Private IP to forward data to (IP address).
	PrivateIp pulumi.StringPtrInput
	// The Private port to translate to.
	PrivatePort pulumi.IntPtrInput
	// The Protocol the rule should apply to. Possible values are both, tcp and udp.
	Protocol pulumi.StringPtrInput
	// The Public port to listen on.
	PublicPort pulumi.IntPtrInput
	// The date and time of the last update of the pat rule config.
	UpdatedAt pulumi.StringPtrInput
	// `zone`) The zone in which the public gateway DHCP config should be created.
	Zone pulumi.StringPtrInput
}

func (PublicGatewayPATRuleState) ElementType

func (PublicGatewayPATRuleState) ElementType() reflect.Type

type PublicGatewayState

type PublicGatewayState struct {
	// Enable SSH bastion on the gateway
	BastionEnabled pulumi.BoolPtrInput
	// The port on which the SSH bastion will listen.
	BastionPort pulumi.IntPtrInput
	// The date and time of the creation of the public gateway.
	CreatedAt pulumi.StringPtrInput
	// Enable SMTP on the gateway
	EnableSmtp pulumi.BoolPtrInput
	// attach an existing flexible IP to the gateway
	IpId pulumi.StringPtrInput
	// The name of the public gateway. If not provided it will be randomly generated.
	Name pulumi.StringPtrInput
	// The organization ID the public gateway is associated with.
	OrganizationId pulumi.StringPtrInput
	// `projectId`) The ID of the project the public gateway is associated with.
	ProjectId pulumi.StringPtrInput
	// The status of the public gateway.
	Status pulumi.StringPtrInput
	// The tags associated with the public gateway.
	Tags pulumi.StringArrayInput
	// The gateway type.
	Type pulumi.StringPtrInput
	// The date and time of the last update of the public gateway.
	UpdatedAt pulumi.StringPtrInput
	// override the gateway's default recursive DNS servers, if DNS features are enabled.
	UpstreamDnsServers pulumi.StringArrayInput
	// `zone`) The zone in which the public gateway should be created.
	Zone pulumi.StringPtrInput
}

func (PublicGatewayState) ElementType

func (PublicGatewayState) ElementType() reflect.Type

type VPC

type VPC struct {
	pulumi.CustomResourceState

	// Date and time of VPC's creation (RFC 3339 format).
	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
	// Defines whether the VPC is the default one for its Project.
	IsDefault pulumi.BoolOutput `pulumi:"isDefault"`
	// The name of the VPC. If not provided it will be randomly generated.
	Name pulumi.StringOutput `pulumi:"name"`
	// The organization ID the VPC is associated with.
	OrganizationId pulumi.StringOutput `pulumi:"organizationId"`
	// `projectId`) The ID of the project the VPC is associated with.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// `region`) The region of the VPC.
	Region pulumi.StringOutput `pulumi:"region"`
	// The tags associated with the VPC.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// Date and time of VPC's last update (RFC 3339 format).
	UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"`
}

Creates and manages Scaleway Virtual Private Clouds. For more information, see [the documentation](https://www.scaleway.com/en/docs/network/vpc/concepts/).

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vpc.NewVPC(ctx, "vpc01", &vpc.VPCArgs{
			Tags: pulumi.StringArray{
				pulumi.String("demo"),
				pulumi.String("terraform"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

VPCs can be imported using the `{region}/{id}`, e.g.

bash

```sh $ pulumi import scaleway:vpc/vPC:VPC vpc_demo fr-par/11111111-1111-1111-1111-111111111111 ```

func GetVPC

func GetVPC(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VPCState, opts ...pulumi.ResourceOption) (*VPC, error)

GetVPC gets an existing VPC resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVPC

func NewVPC(ctx *pulumi.Context,
	name string, args *VPCArgs, opts ...pulumi.ResourceOption) (*VPC, error)

NewVPC registers a new resource with the given unique name, arguments, and options.

func (*VPC) ElementType

func (*VPC) ElementType() reflect.Type

func (*VPC) ToVPCOutput

func (i *VPC) ToVPCOutput() VPCOutput

func (*VPC) ToVPCOutputWithContext

func (i *VPC) ToVPCOutputWithContext(ctx context.Context) VPCOutput

type VPCArgs

type VPCArgs struct {
	// The name of the VPC. If not provided it will be randomly generated.
	Name pulumi.StringPtrInput
	// `projectId`) The ID of the project the VPC is associated with.
	ProjectId pulumi.StringPtrInput
	// `region`) The region of the VPC.
	Region pulumi.StringPtrInput
	// The tags associated with the VPC.
	Tags pulumi.StringArrayInput
}

The set of arguments for constructing a VPC resource.

func (VPCArgs) ElementType

func (VPCArgs) ElementType() reflect.Type

type VPCArray

type VPCArray []VPCInput

func (VPCArray) ElementType

func (VPCArray) ElementType() reflect.Type

func (VPCArray) ToVPCArrayOutput

func (i VPCArray) ToVPCArrayOutput() VPCArrayOutput

func (VPCArray) ToVPCArrayOutputWithContext

func (i VPCArray) ToVPCArrayOutputWithContext(ctx context.Context) VPCArrayOutput

type VPCArrayInput

type VPCArrayInput interface {
	pulumi.Input

	ToVPCArrayOutput() VPCArrayOutput
	ToVPCArrayOutputWithContext(context.Context) VPCArrayOutput
}

VPCArrayInput is an input type that accepts VPCArray and VPCArrayOutput values. You can construct a concrete instance of `VPCArrayInput` via:

VPCArray{ VPCArgs{...} }

type VPCArrayOutput

type VPCArrayOutput struct{ *pulumi.OutputState }

func (VPCArrayOutput) ElementType

func (VPCArrayOutput) ElementType() reflect.Type

func (VPCArrayOutput) Index

func (VPCArrayOutput) ToVPCArrayOutput

func (o VPCArrayOutput) ToVPCArrayOutput() VPCArrayOutput

func (VPCArrayOutput) ToVPCArrayOutputWithContext

func (o VPCArrayOutput) ToVPCArrayOutputWithContext(ctx context.Context) VPCArrayOutput

type VPCInput

type VPCInput interface {
	pulumi.Input

	ToVPCOutput() VPCOutput
	ToVPCOutputWithContext(ctx context.Context) VPCOutput
}

type VPCMap

type VPCMap map[string]VPCInput

func (VPCMap) ElementType

func (VPCMap) ElementType() reflect.Type

func (VPCMap) ToVPCMapOutput

func (i VPCMap) ToVPCMapOutput() VPCMapOutput

func (VPCMap) ToVPCMapOutputWithContext

func (i VPCMap) ToVPCMapOutputWithContext(ctx context.Context) VPCMapOutput

type VPCMapInput

type VPCMapInput interface {
	pulumi.Input

	ToVPCMapOutput() VPCMapOutput
	ToVPCMapOutputWithContext(context.Context) VPCMapOutput
}

VPCMapInput is an input type that accepts VPCMap and VPCMapOutput values. You can construct a concrete instance of `VPCMapInput` via:

VPCMap{ "key": VPCArgs{...} }

type VPCMapOutput

type VPCMapOutput struct{ *pulumi.OutputState }

func (VPCMapOutput) ElementType

func (VPCMapOutput) ElementType() reflect.Type

func (VPCMapOutput) MapIndex

func (o VPCMapOutput) MapIndex(k pulumi.StringInput) VPCOutput

func (VPCMapOutput) ToVPCMapOutput

func (o VPCMapOutput) ToVPCMapOutput() VPCMapOutput

func (VPCMapOutput) ToVPCMapOutputWithContext

func (o VPCMapOutput) ToVPCMapOutputWithContext(ctx context.Context) VPCMapOutput

type VPCOutput

type VPCOutput struct{ *pulumi.OutputState }

func (VPCOutput) CreatedAt

func (o VPCOutput) CreatedAt() pulumi.StringOutput

Date and time of VPC's creation (RFC 3339 format).

func (VPCOutput) ElementType

func (VPCOutput) ElementType() reflect.Type

func (VPCOutput) IsDefault

func (o VPCOutput) IsDefault() pulumi.BoolOutput

Defines whether the VPC is the default one for its Project.

func (VPCOutput) Name

func (o VPCOutput) Name() pulumi.StringOutput

The name of the VPC. If not provided it will be randomly generated.

func (VPCOutput) OrganizationId

func (o VPCOutput) OrganizationId() pulumi.StringOutput

The organization ID the VPC is associated with.

func (VPCOutput) ProjectId

func (o VPCOutput) ProjectId() pulumi.StringOutput

`projectId`) The ID of the project the VPC is associated with.

func (VPCOutput) Region

func (o VPCOutput) Region() pulumi.StringOutput

`region`) The region of the VPC.

func (VPCOutput) Tags

The tags associated with the VPC.

func (VPCOutput) ToVPCOutput

func (o VPCOutput) ToVPCOutput() VPCOutput

func (VPCOutput) ToVPCOutputWithContext

func (o VPCOutput) ToVPCOutputWithContext(ctx context.Context) VPCOutput

func (VPCOutput) UpdatedAt

func (o VPCOutput) UpdatedAt() pulumi.StringOutput

Date and time of VPC's last update (RFC 3339 format).

type VPCState

type VPCState struct {
	// Date and time of VPC's creation (RFC 3339 format).
	CreatedAt pulumi.StringPtrInput
	// Defines whether the VPC is the default one for its Project.
	IsDefault pulumi.BoolPtrInput
	// The name of the VPC. If not provided it will be randomly generated.
	Name pulumi.StringPtrInput
	// The organization ID the VPC is associated with.
	OrganizationId pulumi.StringPtrInput
	// `projectId`) The ID of the project the VPC is associated with.
	ProjectId pulumi.StringPtrInput
	// `region`) The region of the VPC.
	Region pulumi.StringPtrInput
	// The tags associated with the VPC.
	Tags pulumi.StringArrayInput
	// Date and time of VPC's last update (RFC 3339 format).
	UpdatedAt pulumi.StringPtrInput
}

func (VPCState) ElementType

func (VPCState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL