UNPKG

@pulumiverse/scaleway

Version:

A Pulumi package for creating and managing Scaleway cloud resources.

277 lines (276 loc) 12.1 kB
import * as pulumi from "@pulumi/pulumi"; /** * > **Important:** The resource `scaleway.network.PublicGatewayDhcp` has been deprecated and will no longer be supported. * In 2023, DHCP functionality was moved from Public Gateways to Private Networks, DHCP resources are now no longer needed. * For more information, please refer to the dedicated guide. * * Creates and manages Scaleway VPC Public Gateway DHCP configurations. * For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/public-gateway/#dhcp-c05544). * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumiverse/scaleway"; * * const main = new scaleway.network.PublicGatewayDhcp("main", {subnet: "192.168.1.0/24"}); * ``` * * ## Import * * Public Gateway DHCP configuration can be imported using `{zone}/{id}`, e.g. * * bash * * ```sh * $ pulumi import scaleway:index/vpcPublicGatewayDhcp:VpcPublicGatewayDhcp main fr-par-1/11111111-1111-1111-1111-111111111111 * ``` * * @deprecated scaleway.index/vpcpublicgatewaydhcp.VpcPublicGatewayDhcp has been deprecated in favor of scaleway.network/publicgatewaydhcp.PublicGatewayDhcp */ export declare class VpcPublicGatewayDhcp extends pulumi.CustomResource { /** * Get an existing VpcPublicGatewayDhcp 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?: VpcPublicGatewayDhcpState, opts?: pulumi.CustomResourceOptions): VpcPublicGatewayDhcp; /** * Returns true if the given object is an instance of VpcPublicGatewayDhcp. 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 VpcPublicGatewayDhcp; /** * The IP address of the DHCP server. This will be the gateway's address in the Private Network. */ readonly address: pulumi.Output<string>; /** * The date and time of the creation of the Public Gateway DHCP configuration. */ readonly createdAt: pulumi.Output<string>; /** * 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`. */ readonly dnsLocalName: pulumi.Output<string>; /** * Additional DNS search paths */ readonly dnsSearches: pulumi.Output<string[]>; /** * Override the DNS server list pushed to DHCP clients, instead of the gateway itself. */ readonly dnsServersOverrides: pulumi.Output<string[]>; /** * 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`. */ readonly enableDynamic: pulumi.Output<boolean>; /** * The Organization ID the Public Gateway DHCP config is associated with. */ readonly organizationId: pulumi.Output<string>; /** * High IP (excluded) of the dynamic address pool. Defaults to the last address of the subnet. */ readonly poolHigh: pulumi.Output<string>; /** * Low IP (included) of the dynamic address pool. Defaults to the second address of the subnet. */ readonly poolLow: pulumi.Output<string>; /** * `projectId`) The ID of the Project the Public Gateway DHCP configuration is associated with. */ readonly projectId: pulumi.Output<string>; /** * Whether the gateway should push a default route to DHCP clients or only hand out IPs. Defaults to `true`. * * > **Warning**: If you need to setup a default route, it's recommended to use the `scaleway.network.GatewayNetwork` resource instead. */ readonly pushDefaultRoute: pulumi.Output<boolean>; /** * Whether the gateway should push custom DNS servers to clients. This allows for instance hostname > IP resolution. Defaults to `true`. */ readonly pushDnsServer: pulumi.Output<boolean>; /** * 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). */ readonly rebindTimer: pulumi.Output<number>; /** * After how long, in seconds, a renewal will be attempted. Must be 30s lower than `rebindTimer`. Defaults to 50m (3000s). */ readonly renewTimer: pulumi.Output<number>; /** * The subnet to associate with the Public Gateway DHCP configuration. */ readonly subnet: pulumi.Output<string>; /** * The date and time of the last update of the Public Gateway DHCP configuration. */ readonly updatedAt: pulumi.Output<string>; /** * How long, in seconds, DHCP entries will be valid. Defaults to 1h (3600s). */ readonly validLifetime: pulumi.Output<number>; /** * `zone`) The zone in which the Public Gateway DHCP configuration should be created. */ readonly zone: pulumi.Output<string>; /** * Create a VpcPublicGatewayDhcp 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. */ /** @deprecated scaleway.index/vpcpublicgatewaydhcp.VpcPublicGatewayDhcp has been deprecated in favor of scaleway.network/publicgatewaydhcp.PublicGatewayDhcp */ constructor(name: string, args: VpcPublicGatewayDhcpArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering VpcPublicGatewayDhcp resources. */ export interface VpcPublicGatewayDhcpState { /** * The IP address of the DHCP server. This will be the gateway's address in the Private Network. */ address?: pulumi.Input<string>; /** * The date and time of the creation of the Public Gateway DHCP configuration. */ createdAt?: pulumi.Input<string>; /** * 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.Input<string>; /** * Additional DNS search paths */ dnsSearches?: pulumi.Input<pulumi.Input<string>[]>; /** * Override the DNS server list pushed to DHCP clients, instead of the gateway itself. */ dnsServersOverrides?: pulumi.Input<pulumi.Input<string>[]>; /** * 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.Input<boolean>; /** * The Organization ID the Public Gateway DHCP config is associated with. */ organizationId?: pulumi.Input<string>; /** * High IP (excluded) of the dynamic address pool. Defaults to the last address of the subnet. */ poolHigh?: pulumi.Input<string>; /** * Low IP (included) of the dynamic address pool. Defaults to the second address of the subnet. */ poolLow?: pulumi.Input<string>; /** * `projectId`) The ID of the Project the Public Gateway DHCP configuration is associated with. */ projectId?: pulumi.Input<string>; /** * Whether the gateway should push a default route to DHCP clients or only hand out IPs. Defaults to `true`. * * > **Warning**: If you need to setup a default route, it's recommended to use the `scaleway.network.GatewayNetwork` resource instead. */ pushDefaultRoute?: pulumi.Input<boolean>; /** * Whether the gateway should push custom DNS servers to clients. This allows for instance hostname > IP resolution. Defaults to `true`. */ pushDnsServer?: pulumi.Input<boolean>; /** * 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.Input<number>; /** * After how long, in seconds, a renewal will be attempted. Must be 30s lower than `rebindTimer`. Defaults to 50m (3000s). */ renewTimer?: pulumi.Input<number>; /** * The subnet to associate with the Public Gateway DHCP configuration. */ subnet?: pulumi.Input<string>; /** * The date and time of the last update of the Public Gateway DHCP configuration. */ updatedAt?: pulumi.Input<string>; /** * How long, in seconds, DHCP entries will be valid. Defaults to 1h (3600s). */ validLifetime?: pulumi.Input<number>; /** * `zone`) The zone in which the Public Gateway DHCP configuration should be created. */ zone?: pulumi.Input<string>; } /** * The set of arguments for constructing a VpcPublicGatewayDhcp resource. */ export interface VpcPublicGatewayDhcpArgs { /** * The IP address of the DHCP server. This will be the gateway's address in the Private Network. */ address?: pulumi.Input<string>; /** * 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.Input<string>; /** * Additional DNS search paths */ dnsSearches?: pulumi.Input<pulumi.Input<string>[]>; /** * Override the DNS server list pushed to DHCP clients, instead of the gateway itself. */ dnsServersOverrides?: pulumi.Input<pulumi.Input<string>[]>; /** * 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.Input<boolean>; /** * High IP (excluded) of the dynamic address pool. Defaults to the last address of the subnet. */ poolHigh?: pulumi.Input<string>; /** * Low IP (included) of the dynamic address pool. Defaults to the second address of the subnet. */ poolLow?: pulumi.Input<string>; /** * `projectId`) The ID of the Project the Public Gateway DHCP configuration is associated with. */ projectId?: pulumi.Input<string>; /** * Whether the gateway should push a default route to DHCP clients or only hand out IPs. Defaults to `true`. * * > **Warning**: If you need to setup a default route, it's recommended to use the `scaleway.network.GatewayNetwork` resource instead. */ pushDefaultRoute?: pulumi.Input<boolean>; /** * Whether the gateway should push custom DNS servers to clients. This allows for instance hostname > IP resolution. Defaults to `true`. */ pushDnsServer?: pulumi.Input<boolean>; /** * 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.Input<number>; /** * After how long, in seconds, a renewal will be attempted. Must be 30s lower than `rebindTimer`. Defaults to 50m (3000s). */ renewTimer?: pulumi.Input<number>; /** * The subnet to associate with the Public Gateway DHCP configuration. */ subnet: pulumi.Input<string>; /** * How long, in seconds, DHCP entries will be valid. Defaults to 1h (3600s). */ validLifetime?: pulumi.Input<number>; /** * `zone`) The zone in which the Public Gateway DHCP configuration should be created. */ zone?: pulumi.Input<string>; }