scaleway.VpcPublicGateway
Explore with Pulumi AI
Creates and manages Scaleway Public Gateways. For more information, see the API documentation.
Example Usage
Basic
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const main = new scaleway.VpcPublicGateway("main", {
    tags: [
        "demo",
        "terraform",
    ],
    type: "VPC-GW-S",
});
import pulumi
import pulumiverse_scaleway as scaleway
main = scaleway.VpcPublicGateway("main",
    tags=[
        "demo",
        "terraform",
    ],
    type="VPC-GW-S")
package main
import (
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := scaleway.NewVpcPublicGateway(ctx, "main", &scaleway.VpcPublicGatewayArgs{
			Tags: pulumi.StringArray{
				pulumi.String("demo"),
				pulumi.String("terraform"),
			},
			Type: pulumi.String("VPC-GW-S"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Scaleway = Pulumiverse.Scaleway;
return await Deployment.RunAsync(() => 
{
    var main = new Scaleway.VpcPublicGateway("main", new()
    {
        Tags = new[]
        {
            "demo",
            "terraform",
        },
        Type = "VPC-GW-S",
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.VpcPublicGateway;
import com.pulumi.scaleway.VpcPublicGatewayArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var main = new VpcPublicGateway("main", VpcPublicGatewayArgs.builder()
            .tags(            
                "demo",
                "terraform")
            .type("VPC-GW-S")
            .build());
    }
}
resources:
  main:
    type: scaleway:VpcPublicGateway
    properties:
      tags:
        - demo
        - terraform
      type: VPC-GW-S
Create VpcPublicGateway Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new VpcPublicGateway(name: string, args: VpcPublicGatewayArgs, opts?: CustomResourceOptions);@overload
def VpcPublicGateway(resource_name: str,
                     args: VpcPublicGatewayArgs,
                     opts: Optional[ResourceOptions] = None)
@overload
def VpcPublicGateway(resource_name: str,
                     opts: Optional[ResourceOptions] = None,
                     type: Optional[str] = None,
                     bastion_enabled: Optional[bool] = None,
                     bastion_port: Optional[int] = None,
                     enable_smtp: Optional[bool] = None,
                     ip_id: Optional[str] = None,
                     name: Optional[str] = None,
                     project_id: Optional[str] = None,
                     refresh_ssh_keys: Optional[str] = None,
                     tags: Optional[Sequence[str]] = None,
                     upstream_dns_servers: Optional[Sequence[str]] = None,
                     zone: Optional[str] = None)func NewVpcPublicGateway(ctx *Context, name string, args VpcPublicGatewayArgs, opts ...ResourceOption) (*VpcPublicGateway, error)public VpcPublicGateway(string name, VpcPublicGatewayArgs args, CustomResourceOptions? opts = null)
public VpcPublicGateway(String name, VpcPublicGatewayArgs args)
public VpcPublicGateway(String name, VpcPublicGatewayArgs args, CustomResourceOptions options)
type: scaleway:VpcPublicGateway
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args VpcPublicGatewayArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args VpcPublicGatewayArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args VpcPublicGatewayArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args VpcPublicGatewayArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args VpcPublicGatewayArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var vpcPublicGatewayResource = new Scaleway.VpcPublicGateway("vpcPublicGatewayResource", new()
{
    Type = "string",
    BastionEnabled = false,
    BastionPort = 0,
    EnableSmtp = false,
    IpId = "string",
    Name = "string",
    ProjectId = "string",
    RefreshSshKeys = "string",
    Tags = new[]
    {
        "string",
    },
    UpstreamDnsServers = new[]
    {
        "string",
    },
    Zone = "string",
});
example, err := scaleway.NewVpcPublicGateway(ctx, "vpcPublicGatewayResource", &scaleway.VpcPublicGatewayArgs{
	Type:           pulumi.String("string"),
	BastionEnabled: pulumi.Bool(false),
	BastionPort:    pulumi.Int(0),
	EnableSmtp:     pulumi.Bool(false),
	IpId:           pulumi.String("string"),
	Name:           pulumi.String("string"),
	ProjectId:      pulumi.String("string"),
	RefreshSshKeys: pulumi.String("string"),
	Tags: pulumi.StringArray{
		pulumi.String("string"),
	},
	UpstreamDnsServers: pulumi.StringArray{
		pulumi.String("string"),
	},
	Zone: pulumi.String("string"),
})
var vpcPublicGatewayResource = new VpcPublicGateway("vpcPublicGatewayResource", VpcPublicGatewayArgs.builder()
    .type("string")
    .bastionEnabled(false)
    .bastionPort(0)
    .enableSmtp(false)
    .ipId("string")
    .name("string")
    .projectId("string")
    .refreshSshKeys("string")
    .tags("string")
    .upstreamDnsServers("string")
    .zone("string")
    .build());
vpc_public_gateway_resource = scaleway.VpcPublicGateway("vpcPublicGatewayResource",
    type="string",
    bastion_enabled=False,
    bastion_port=0,
    enable_smtp=False,
    ip_id="string",
    name="string",
    project_id="string",
    refresh_ssh_keys="string",
    tags=["string"],
    upstream_dns_servers=["string"],
    zone="string")
const vpcPublicGatewayResource = new scaleway.VpcPublicGateway("vpcPublicGatewayResource", {
    type: "string",
    bastionEnabled: false,
    bastionPort: 0,
    enableSmtp: false,
    ipId: "string",
    name: "string",
    projectId: "string",
    refreshSshKeys: "string",
    tags: ["string"],
    upstreamDnsServers: ["string"],
    zone: "string",
});
type: scaleway:VpcPublicGateway
properties:
    bastionEnabled: false
    bastionPort: 0
    enableSmtp: false
    ipId: string
    name: string
    projectId: string
    refreshSshKeys: string
    tags:
        - string
    type: string
    upstreamDnsServers:
        - string
    zone: string
VpcPublicGateway Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The VpcPublicGateway resource accepts the following input properties:
- Type string
- The gateway type.
- BastionEnabled bool
- Enable SSH bastion on the gateway.
- BastionPort int
- The port on which the SSH bastion will listen.
- EnableSmtp bool
- Enable SMTP on the gateway.
- IpId string
- Attach an existing flexible IP to the gateway.
- Name string
- The name for the Public Gateway. If not provided it will be randomly generated.
- ProjectId string
- project_id) The ID of the project the public gateway is associated with.
- RefreshSsh stringKeys 
- Trigger a refresh of the SSH keys on the Public Gateway by changing this field's value.
- List<string>
- The tags to associate with the Public Gateway.
- UpstreamDns List<string>Servers 
- Override the gateway's default recursive DNS servers, if DNS features are enabled.
- Zone string
- zone) The zone in which the Public Gateway should be created.
- Type string
- The gateway type.
- BastionEnabled bool
- Enable SSH bastion on the gateway.
- BastionPort int
- The port on which the SSH bastion will listen.
- EnableSmtp bool
- Enable SMTP on the gateway.
- IpId string
- Attach an existing flexible IP to the gateway.
- Name string
- The name for the Public Gateway. If not provided it will be randomly generated.
- ProjectId string
- project_id) The ID of the project the public gateway is associated with.
- RefreshSsh stringKeys 
- Trigger a refresh of the SSH keys on the Public Gateway by changing this field's value.
- []string
- The tags to associate with the Public Gateway.
- UpstreamDns []stringServers 
- Override the gateway's default recursive DNS servers, if DNS features are enabled.
- Zone string
- zone) The zone in which the Public Gateway should be created.
- type String
- The gateway type.
- bastionEnabled Boolean
- Enable SSH bastion on the gateway.
- bastionPort Integer
- The port on which the SSH bastion will listen.
- enableSmtp Boolean
- Enable SMTP on the gateway.
- ipId String
- Attach an existing flexible IP to the gateway.
- name String
- The name for the Public Gateway. If not provided it will be randomly generated.
- projectId String
- project_id) The ID of the project the public gateway is associated with.
- refreshSsh StringKeys 
- Trigger a refresh of the SSH keys on the Public Gateway by changing this field's value.
- List<String>
- The tags to associate with the Public Gateway.
- upstreamDns List<String>Servers 
- Override the gateway's default recursive DNS servers, if DNS features are enabled.
- zone String
- zone) The zone in which the Public Gateway should be created.
- type string
- The gateway type.
- bastionEnabled boolean
- Enable SSH bastion on the gateway.
- bastionPort number
- The port on which the SSH bastion will listen.
- enableSmtp boolean
- Enable SMTP on the gateway.
- ipId string
- Attach an existing flexible IP to the gateway.
- name string
- The name for the Public Gateway. If not provided it will be randomly generated.
- projectId string
- project_id) The ID of the project the public gateway is associated with.
- refreshSsh stringKeys 
- Trigger a refresh of the SSH keys on the Public Gateway by changing this field's value.
- string[]
- The tags to associate with the Public Gateway.
- upstreamDns string[]Servers 
- Override the gateway's default recursive DNS servers, if DNS features are enabled.
- zone string
- zone) The zone in which the Public Gateway should be created.
- type str
- The gateway type.
- bastion_enabled bool
- Enable SSH bastion on the gateway.
- bastion_port int
- The port on which the SSH bastion will listen.
- enable_smtp bool
- Enable SMTP on the gateway.
- ip_id str
- Attach an existing flexible IP to the gateway.
- name str
- The name for the Public Gateway. If not provided it will be randomly generated.
- project_id str
- project_id) The ID of the project the public gateway is associated with.
- refresh_ssh_ strkeys 
- Trigger a refresh of the SSH keys on the Public Gateway by changing this field's value.
- Sequence[str]
- The tags to associate with the Public Gateway.
- upstream_dns_ Sequence[str]servers 
- Override the gateway's default recursive DNS servers, if DNS features are enabled.
- zone str
- zone) The zone in which the Public Gateway should be created.
- type String
- The gateway type.
- bastionEnabled Boolean
- Enable SSH bastion on the gateway.
- bastionPort Number
- The port on which the SSH bastion will listen.
- enableSmtp Boolean
- Enable SMTP on the gateway.
- ipId String
- Attach an existing flexible IP to the gateway.
- name String
- The name for the Public Gateway. If not provided it will be randomly generated.
- projectId String
- project_id) The ID of the project the public gateway is associated with.
- refreshSsh StringKeys 
- Trigger a refresh of the SSH keys on the Public Gateway by changing this field's value.
- List<String>
- The tags to associate with the Public Gateway.
- upstreamDns List<String>Servers 
- Override the gateway's default recursive DNS servers, if DNS features are enabled.
- zone String
- zone) The zone in which the Public Gateway should be created.
Outputs
All input properties are implicitly available as output properties. Additionally, the VpcPublicGateway resource produces the following output properties:
- CreatedAt string
- The date and time of the creation of the Public Gateway.
- Id string
- The provider-assigned unique ID for this managed resource.
- OrganizationId string
- The Organization ID the Public Gateway is associated with.
- Status string
- The status of the public gateway.
- UpdatedAt string
- The date and time of the last update of the Public Gateway.
- CreatedAt string
- The date and time of the creation of the Public Gateway.
- Id string
- The provider-assigned unique ID for this managed resource.
- OrganizationId string
- The Organization ID the Public Gateway is associated with.
- Status string
- The status of the public gateway.
- UpdatedAt string
- The date and time of the last update of the Public Gateway.
- createdAt String
- The date and time of the creation of the Public Gateway.
- id String
- The provider-assigned unique ID for this managed resource.
- organizationId String
- The Organization ID the Public Gateway is associated with.
- status String
- The status of the public gateway.
- updatedAt String
- The date and time of the last update of the Public Gateway.
- createdAt string
- The date and time of the creation of the Public Gateway.
- id string
- The provider-assigned unique ID for this managed resource.
- organizationId string
- The Organization ID the Public Gateway is associated with.
- status string
- The status of the public gateway.
- updatedAt string
- The date and time of the last update of the Public Gateway.
- created_at str
- The date and time of the creation of the Public Gateway.
- id str
- The provider-assigned unique ID for this managed resource.
- organization_id str
- The Organization ID the Public Gateway is associated with.
- status str
- The status of the public gateway.
- updated_at str
- The date and time of the last update of the Public Gateway.
- createdAt String
- The date and time of the creation of the Public Gateway.
- id String
- The provider-assigned unique ID for this managed resource.
- organizationId String
- The Organization ID the Public Gateway is associated with.
- status String
- The status of the public gateway.
- updatedAt String
- The date and time of the last update of the Public Gateway.
Look up Existing VpcPublicGateway Resource
Get an existing VpcPublicGateway resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: VpcPublicGatewayState, opts?: CustomResourceOptions): VpcPublicGateway@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        bastion_enabled: Optional[bool] = None,
        bastion_port: Optional[int] = None,
        created_at: Optional[str] = None,
        enable_smtp: Optional[bool] = None,
        ip_id: Optional[str] = None,
        name: Optional[str] = None,
        organization_id: Optional[str] = None,
        project_id: Optional[str] = None,
        refresh_ssh_keys: Optional[str] = None,
        status: Optional[str] = None,
        tags: Optional[Sequence[str]] = None,
        type: Optional[str] = None,
        updated_at: Optional[str] = None,
        upstream_dns_servers: Optional[Sequence[str]] = None,
        zone: Optional[str] = None) -> VpcPublicGatewayfunc GetVpcPublicGateway(ctx *Context, name string, id IDInput, state *VpcPublicGatewayState, opts ...ResourceOption) (*VpcPublicGateway, error)public static VpcPublicGateway Get(string name, Input<string> id, VpcPublicGatewayState? state, CustomResourceOptions? opts = null)public static VpcPublicGateway get(String name, Output<String> id, VpcPublicGatewayState state, CustomResourceOptions options)Resource lookup is not supported in YAML- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- BastionEnabled bool
- Enable SSH bastion on the gateway.
- BastionPort int
- The port on which the SSH bastion will listen.
- CreatedAt string
- The date and time of the creation of the Public Gateway.
- EnableSmtp bool
- Enable SMTP on the gateway.
- IpId string
- Attach an existing flexible IP to the gateway.
- Name string
- The name for the Public Gateway. If not provided it will be randomly generated.
- OrganizationId string
- The Organization ID the Public Gateway is associated with.
- ProjectId string
- project_id) The ID of the project the public gateway is associated with.
- RefreshSsh stringKeys 
- Trigger a refresh of the SSH keys on the Public Gateway by changing this field's value.
- Status string
- The status of the public gateway.
- List<string>
- The tags to associate with the Public Gateway.
- Type string
- The gateway type.
- UpdatedAt string
- The date and time of the last update of the Public Gateway.
- UpstreamDns List<string>Servers 
- Override the gateway's default recursive DNS servers, if DNS features are enabled.
- Zone string
- zone) The zone in which the Public Gateway should be created.
- BastionEnabled bool
- Enable SSH bastion on the gateway.
- BastionPort int
- The port on which the SSH bastion will listen.
- CreatedAt string
- The date and time of the creation of the Public Gateway.
- EnableSmtp bool
- Enable SMTP on the gateway.
- IpId string
- Attach an existing flexible IP to the gateway.
- Name string
- The name for the Public Gateway. If not provided it will be randomly generated.
- OrganizationId string
- The Organization ID the Public Gateway is associated with.
- ProjectId string
- project_id) The ID of the project the public gateway is associated with.
- RefreshSsh stringKeys 
- Trigger a refresh of the SSH keys on the Public Gateway by changing this field's value.
- Status string
- The status of the public gateway.
- []string
- The tags to associate with the Public Gateway.
- Type string
- The gateway type.
- UpdatedAt string
- The date and time of the last update of the Public Gateway.
- UpstreamDns []stringServers 
- Override the gateway's default recursive DNS servers, if DNS features are enabled.
- Zone string
- zone) The zone in which the Public Gateway should be created.
- bastionEnabled Boolean
- Enable SSH bastion on the gateway.
- bastionPort Integer
- The port on which the SSH bastion will listen.
- createdAt String
- The date and time of the creation of the Public Gateway.
- enableSmtp Boolean
- Enable SMTP on the gateway.
- ipId String
- Attach an existing flexible IP to the gateway.
- name String
- The name for the Public Gateway. If not provided it will be randomly generated.
- organizationId String
- The Organization ID the Public Gateway is associated with.
- projectId String
- project_id) The ID of the project the public gateway is associated with.
- refreshSsh StringKeys 
- Trigger a refresh of the SSH keys on the Public Gateway by changing this field's value.
- status String
- The status of the public gateway.
- List<String>
- The tags to associate with the Public Gateway.
- type String
- The gateway type.
- updatedAt String
- The date and time of the last update of the Public Gateway.
- upstreamDns List<String>Servers 
- Override the gateway's default recursive DNS servers, if DNS features are enabled.
- zone String
- zone) The zone in which the Public Gateway should be created.
- bastionEnabled boolean
- Enable SSH bastion on the gateway.
- bastionPort number
- The port on which the SSH bastion will listen.
- createdAt string
- The date and time of the creation of the Public Gateway.
- enableSmtp boolean
- Enable SMTP on the gateway.
- ipId string
- Attach an existing flexible IP to the gateway.
- name string
- The name for the Public Gateway. If not provided it will be randomly generated.
- organizationId string
- The Organization ID the Public Gateway is associated with.
- projectId string
- project_id) The ID of the project the public gateway is associated with.
- refreshSsh stringKeys 
- Trigger a refresh of the SSH keys on the Public Gateway by changing this field's value.
- status string
- The status of the public gateway.
- string[]
- The tags to associate with the Public Gateway.
- type string
- The gateway type.
- updatedAt string
- The date and time of the last update of the Public Gateway.
- upstreamDns string[]Servers 
- Override the gateway's default recursive DNS servers, if DNS features are enabled.
- zone string
- zone) The zone in which the Public Gateway should be created.
- bastion_enabled bool
- Enable SSH bastion on the gateway.
- bastion_port int
- The port on which the SSH bastion will listen.
- created_at str
- The date and time of the creation of the Public Gateway.
- enable_smtp bool
- Enable SMTP on the gateway.
- ip_id str
- Attach an existing flexible IP to the gateway.
- name str
- The name for the Public Gateway. If not provided it will be randomly generated.
- organization_id str
- The Organization ID the Public Gateway is associated with.
- project_id str
- project_id) The ID of the project the public gateway is associated with.
- refresh_ssh_ strkeys 
- Trigger a refresh of the SSH keys on the Public Gateway by changing this field's value.
- status str
- The status of the public gateway.
- Sequence[str]
- The tags to associate with the Public Gateway.
- type str
- The gateway type.
- updated_at str
- The date and time of the last update of the Public Gateway.
- upstream_dns_ Sequence[str]servers 
- Override the gateway's default recursive DNS servers, if DNS features are enabled.
- zone str
- zone) The zone in which the Public Gateway should be created.
- bastionEnabled Boolean
- Enable SSH bastion on the gateway.
- bastionPort Number
- The port on which the SSH bastion will listen.
- createdAt String
- The date and time of the creation of the Public Gateway.
- enableSmtp Boolean
- Enable SMTP on the gateway.
- ipId String
- Attach an existing flexible IP to the gateway.
- name String
- The name for the Public Gateway. If not provided it will be randomly generated.
- organizationId String
- The Organization ID the Public Gateway is associated with.
- projectId String
- project_id) The ID of the project the public gateway is associated with.
- refreshSsh StringKeys 
- Trigger a refresh of the SSH keys on the Public Gateway by changing this field's value.
- status String
- The status of the public gateway.
- List<String>
- The tags to associate with the Public Gateway.
- type String
- The gateway type.
- updatedAt String
- The date and time of the last update of the Public Gateway.
- upstreamDns List<String>Servers 
- Override the gateway's default recursive DNS servers, if DNS features are enabled.
- zone String
- zone) The zone in which the Public Gateway should be created.
Import
Public Gateways can be imported using {zone}/{id}, e.g.
bash
$ pulumi import scaleway:index/vpcPublicGateway:VpcPublicGateway main fr-par-1/11111111-1111-1111-1111-111111111111
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- scaleway pulumiverse/pulumi-scaleway
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the scalewayTerraform Provider.
