import * as pulumi from "@pulumi/pulumi"; /** * Creates and manages Scaleway Public Gateways. * For more information, see [the API documentation](https://www.scaleway.com/en/developers/api/public-gateway). * * ## Example Usage * * ### Basic * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@ediri/scaleway"; * * const main = new scaleway.VpcPublicGateway("main", { * tags: [ * "demo", * "terraform", * ], * type: "VPC-GW-S", * }); * ``` * * ## Import * * Public Gateways can be imported using `{zone}/{id}`, e.g. * * bash * * ```sh * $ pulumi import scaleway:index/vpcPublicGateway:VpcPublicGateway main fr-par-1/11111111-1111-1111-1111-111111111111 * ``` */ export declare class VpcPublicGateway extends pulumi.CustomResource { /** * Get an existing VpcPublicGateway resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: VpcPublicGatewayState, opts?: pulumi.CustomResourceOptions): VpcPublicGateway; /** * Returns true if the given object is an instance of VpcPublicGateway. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is VpcPublicGateway; /** * Enable SSH bastion on the gateway. */ readonly bastionEnabled: pulumi.Output; /** * The port on which the SSH bastion will listen. */ readonly bastionPort: pulumi.Output; /** * The date and time of the creation of the Public Gateway. */ readonly createdAt: pulumi.Output; /** * Enable SMTP on the gateway. */ readonly enableSmtp: pulumi.Output; /** * Attach an existing flexible IP to the gateway. */ readonly ipId: pulumi.Output; /** * The name for the Public Gateway. If not provided it will be randomly generated. */ readonly name: pulumi.Output; /** * The Organization ID the Public Gateway is associated with. */ readonly organizationId: pulumi.Output; /** * `projectId`) The ID of the project the public gateway is associated with. */ readonly projectId: pulumi.Output; /** * Trigger a refresh of the SSH keys on the Public Gateway by changing this field's value. */ readonly refreshSshKeys: pulumi.Output; /** * The status of the public gateway. */ readonly status: pulumi.Output; /** * The tags to associate with the Public Gateway. */ readonly tags: pulumi.Output; /** * The gateway type. */ readonly type: pulumi.Output; /** * The date and time of the last update of the Public Gateway. */ readonly updatedAt: pulumi.Output; /** * Override the gateway's default recursive DNS servers, if DNS features are enabled. */ readonly upstreamDnsServers: pulumi.Output; /** * `zone`) The zone in which the Public Gateway should be created. */ readonly zone: pulumi.Output; /** * Create a VpcPublicGateway resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: VpcPublicGatewayArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering VpcPublicGateway resources. */ export interface VpcPublicGatewayState { /** * Enable SSH bastion on the gateway. */ bastionEnabled?: pulumi.Input; /** * The port on which the SSH bastion will listen. */ bastionPort?: pulumi.Input; /** * The date and time of the creation of the Public Gateway. */ createdAt?: pulumi.Input; /** * Enable SMTP on the gateway. */ enableSmtp?: pulumi.Input; /** * Attach an existing flexible IP to the gateway. */ ipId?: pulumi.Input; /** * The name for the Public Gateway. If not provided it will be randomly generated. */ name?: pulumi.Input; /** * The Organization ID the Public Gateway is associated with. */ organizationId?: pulumi.Input; /** * `projectId`) The ID of the project the public gateway is associated with. */ projectId?: pulumi.Input; /** * Trigger a refresh of the SSH keys on the Public Gateway by changing this field's value. */ refreshSshKeys?: pulumi.Input; /** * The status of the public gateway. */ status?: pulumi.Input; /** * The tags to associate with the Public Gateway. */ tags?: pulumi.Input[]>; /** * The gateway type. */ type?: pulumi.Input; /** * The date and time of the last update of the Public Gateway. */ updatedAt?: pulumi.Input; /** * Override the gateway's default recursive DNS servers, if DNS features are enabled. */ upstreamDnsServers?: pulumi.Input[]>; /** * `zone`) The zone in which the Public Gateway should be created. */ zone?: pulumi.Input; } /** * The set of arguments for constructing a VpcPublicGateway resource. */ export interface VpcPublicGatewayArgs { /** * Enable SSH bastion on the gateway. */ bastionEnabled?: pulumi.Input; /** * The port on which the SSH bastion will listen. */ bastionPort?: pulumi.Input; /** * Enable SMTP on the gateway. */ enableSmtp?: pulumi.Input; /** * Attach an existing flexible IP to the gateway. */ ipId?: pulumi.Input; /** * The name for the Public Gateway. If not provided it will be randomly generated. */ name?: pulumi.Input; /** * `projectId`) The ID of the project the public gateway is associated with. */ projectId?: pulumi.Input; /** * Trigger a refresh of the SSH keys on the Public Gateway by changing this field's value. */ refreshSshKeys?: pulumi.Input; /** * The tags to associate with the Public Gateway. */ tags?: pulumi.Input[]>; /** * The gateway type. */ type: pulumi.Input; /** * Override the gateway's default recursive DNS servers, if DNS features are enabled. */ upstreamDnsServers?: pulumi.Input[]>; /** * `zone`) The zone in which the Public Gateway should be created. */ zone?: pulumi.Input; }