UNPKG

@lbrlabs/pulumi-scaleway

Version:

A Pulumi package for creating and managing scaleway cloud resources.

262 lines (261 loc) 10.7 kB
import * as pulumi from "@pulumi/pulumi"; /** * 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 * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@lbrlabs/pulumi-scaleway"; * * const main = new scaleway.VpcPublicGatewayDhcp("main", {subnet: "192.168.1.0/24"}); * ``` * * ## Import * * Public gateway DHCP config can be imported using the `{zone}/{id}`, e.g. bash * * ```sh * $ pulumi import scaleway:index/vpcPublicGatewayDhcp:VpcPublicGatewayDhcp main fr-par-1/11111111-1111-1111-1111-111111111111 * ``` */ 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 public gateway DHCP config. */ readonly address: pulumi.Output<string>; /** * The date and time of the creation of the public gateway DHCP config. */ 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 config 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`. */ 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 config. */ readonly subnet: pulumi.Output<string>; /** * The date and time of the last update of the public gateway DHCP config. */ readonly updatedAt: pulumi.Output<string>; /** * For how long, in seconds, will DHCP entries will be valid. Defaults to 1h (3600s). */ readonly validLifetime: pulumi.Output<number>; /** * `zone`) The zone in which the public gateway DHCP config 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. */ 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 public gateway DHCP config. */ address?: pulumi.Input<string>; /** * The date and time of the creation of the public gateway DHCP config. */ 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 config 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`. */ 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 config. */ subnet?: pulumi.Input<string>; /** * The date and time of the last update of the public gateway DHCP config. */ updatedAt?: pulumi.Input<string>; /** * For how long, in seconds, will DHCP entries will be valid. Defaults to 1h (3600s). */ validLifetime?: pulumi.Input<number>; /** * `zone`) The zone in which the public gateway DHCP config should be created. */ zone?: pulumi.Input<string>; } /** * The set of arguments for constructing a VpcPublicGatewayDhcp resource. */ export interface VpcPublicGatewayDhcpArgs { /** * The IP address of the public gateway DHCP config. */ 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 config 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`. */ 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 config. */ subnet: pulumi.Input<string>; /** * For how long, in seconds, will DHCP entries will be valid. Defaults to 1h (3600s). */ validLifetime?: pulumi.Input<number>; /** * `zone`) The zone in which the public gateway DHCP config should be created. */ zone?: pulumi.Input<string>; }