UNPKG

@pulumiverse/scaleway

Version:

A Pulumi package for creating and managing Scaleway cloud resources.

208 lines 7.59 kB
import * as pulumi from "@pulumi/pulumi"; /** * Creates and manages Scaleway Site-to-Site VPN Customer Gateways. * A customer gateway represents your external VPN endpoint (e.g., a firewall, router, or VPN appliance). * * For more information, see [the main documentation](https://www.scaleway.com/en/docs/site-to-site-vpn/reference-content/understanding-s2svpn/). * * ## Example Usage * * ### Basic * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumiverse/scaleway"; * * const customerGw = new scaleway.s2svpn.CustomerGateway("customer_gw", { * name: "my-customer-gateway", * ipv4Public: "203.0.113.1", * asn: 65000, * }); * ``` * * ### With IPv6 * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumiverse/scaleway"; * * const customerGw = new scaleway.s2svpn.CustomerGateway("customer_gw", { * name: "my-customer-gateway", * ipv4Public: "203.0.113.1", * ipv6Public: "2001:db8::1", * asn: 65000, * }); * ``` * * ### Using Instance Public IP * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumiverse/scaleway"; * * const vpnEndpointIp = new scaleway.instance.Ip("vpn_endpoint_ip", {}); * const vpnEndpoint = new scaleway.instance.Server("vpn_endpoint", { * name: "vpn-endpoint", * type: "DEV1-S", * image: "ubuntu_jammy", * ipIds: [vpnEndpointIp.id], * }); * const customerGw = new scaleway.s2svpn.CustomerGateway("customer_gw", { * name: "my-customer-gateway", * ipv4Public: vpnEndpointIp.address, * asn: 65000, * }); * ``` * * ## Import * * Customer Gateways can be imported using `{region}/{id}`, e.g. * * ```sh * $ pulumi import scaleway:s2svpn/customerGateway:CustomerGateway main fr-par/11111111-1111-1111-1111-111111111111 * ``` */ export declare class CustomerGateway extends pulumi.CustomResource { /** * Get an existing CustomerGateway 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<pulumi.ID>, state?: CustomerGatewayState, opts?: pulumi.CustomResourceOptions): CustomerGateway; /** * Returns true if the given object is an instance of CustomerGateway. 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 CustomerGateway; /** * The AS Number of the customer gateway. Must be different from Scaleway's ASN (12876). For testing, you can use a private ASN (64512-65535). */ readonly asn: pulumi.Output<number>; /** * The date and time of the creation of the customer gateway (RFC 3339 format). */ readonly createdAt: pulumi.Output<string>; /** * The public IPv4 address of the customer gateway (your VPN endpoint). */ readonly ipv4Public: pulumi.Output<string>; /** * The public IPv6 address of the customer gateway (your VPN endpoint). */ readonly ipv6Public: pulumi.Output<string>; /** * The name of the customer gateway. If not provided, it will be randomly generated. */ readonly name: pulumi.Output<string>; /** * The Organization ID the customer gateway is associated with. */ readonly organizationId: pulumi.Output<string>; /** * `projectId`) The ID of the project the customer gateway is associated with. */ readonly projectId: pulumi.Output<string>; /** * `region`) The region in which the customer gateway should be created. */ readonly region: pulumi.Output<string | undefined>; /** * The list of tags to apply to the customer gateway. */ readonly tags: pulumi.Output<string[] | undefined>; /** * The date and time of the last update of the customer gateway (RFC 3339 format). */ readonly updatedAt: pulumi.Output<string>; /** * Create a CustomerGateway 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: CustomerGatewayArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering CustomerGateway resources. */ export interface CustomerGatewayState { /** * The AS Number of the customer gateway. Must be different from Scaleway's ASN (12876). For testing, you can use a private ASN (64512-65535). */ asn?: pulumi.Input<number | undefined>; /** * The date and time of the creation of the customer gateway (RFC 3339 format). */ createdAt?: pulumi.Input<string | undefined>; /** * The public IPv4 address of the customer gateway (your VPN endpoint). */ ipv4Public?: pulumi.Input<string | undefined>; /** * The public IPv6 address of the customer gateway (your VPN endpoint). */ ipv6Public?: pulumi.Input<string | undefined>; /** * The name of the customer gateway. If not provided, it will be randomly generated. */ name?: pulumi.Input<string | undefined>; /** * The Organization ID the customer gateway is associated with. */ organizationId?: pulumi.Input<string | undefined>; /** * `projectId`) The ID of the project the customer gateway is associated with. */ projectId?: pulumi.Input<string | undefined>; /** * `region`) The region in which the customer gateway should be created. */ region?: pulumi.Input<string | undefined>; /** * The list of tags to apply to the customer gateway. */ tags?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * The date and time of the last update of the customer gateway (RFC 3339 format). */ updatedAt?: pulumi.Input<string | undefined>; } /** * The set of arguments for constructing a CustomerGateway resource. */ export interface CustomerGatewayArgs { /** * The AS Number of the customer gateway. Must be different from Scaleway's ASN (12876). For testing, you can use a private ASN (64512-65535). */ asn: pulumi.Input<number>; /** * The public IPv4 address of the customer gateway (your VPN endpoint). */ ipv4Public?: pulumi.Input<string | undefined>; /** * The public IPv6 address of the customer gateway (your VPN endpoint). */ ipv6Public?: pulumi.Input<string | undefined>; /** * The name of the customer gateway. If not provided, it will be randomly generated. */ name?: pulumi.Input<string | undefined>; /** * `projectId`) The ID of the project the customer gateway is associated with. */ projectId?: pulumi.Input<string | undefined>; /** * `region`) The region in which the customer gateway should be created. */ region?: pulumi.Input<string | undefined>; /** * The list of tags to apply to the customer gateway. */ tags?: pulumi.Input<pulumi.Input<string>[] | undefined>; } //# sourceMappingURL=customerGateway.d.ts.map