import * as pulumi from "@pulumi/pulumi"; /** * Creates and manages Scaleway VPC Public Gateway DHCP configurations. * For more information, see [the 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 "@ediri/scaleway"; * * const main = new scaleway.VpcPublicGatewayDhcp("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 * ``` */ 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, 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; /** * The date and time of the creation of the Public Gateway DHCP configuration. */ readonly createdAt: pulumi.Output; /** * 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; /** * Additional DNS search paths */ readonly dnsSearches: pulumi.Output; /** * Override the DNS server list pushed to DHCP clients, instead of the gateway itself. */ readonly dnsServersOverrides: pulumi.Output; /** * 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; /** * The Organization ID the Public Gateway DHCP config is associated with. */ readonly organizationId: pulumi.Output; /** * High IP (excluded) of the dynamic address pool. Defaults to the last address of the subnet. */ readonly poolHigh: pulumi.Output; /** * Low IP (included) of the dynamic address pool. Defaults to the second address of the subnet. */ readonly poolLow: pulumi.Output; /** * `projectId`) The ID of the Project the Public Gateway DHCP configuration is associated with. */ readonly projectId: pulumi.Output; /** * Whether the gateway should push a default route to DHCP clients or only hand out IPs. Defaults to `true`. */ readonly pushDefaultRoute: pulumi.Output; /** * Whether the gateway should push custom DNS servers to clients. This allows for instance hostname > IP resolution. Defaults to `true`. */ readonly pushDnsServer: pulumi.Output; /** * 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; /** * After how long, in seconds, a renewal will be attempted. Must be 30s lower than `rebindTimer`. Defaults to 50m (3000s). */ readonly renewTimer: pulumi.Output; /** * The subnet to associate with the Public Gateway DHCP configuration. */ readonly subnet: pulumi.Output; /** * The date and time of the last update of the Public Gateway DHCP configuration. */ readonly updatedAt: pulumi.Output; /** * How long, in seconds, DHCP entries will be valid. Defaults to 1h (3600s). */ readonly validLifetime: pulumi.Output; /** * `zone`) The zone in which the Public Gateway DHCP configuration should be created. */ readonly zone: pulumi.Output; /** * 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 DHCP server. This will be the gateway's address in the Private Network. */ address?: pulumi.Input; /** * The date and time of the creation of the Public Gateway DHCP configuration. */ createdAt?: pulumi.Input; /** * 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; /** * Additional DNS search paths */ dnsSearches?: pulumi.Input[]>; /** * Override the DNS server list pushed to DHCP clients, instead of the gateway itself. */ dnsServersOverrides?: pulumi.Input[]>; /** * 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; /** * The Organization ID the Public Gateway DHCP config is associated with. */ organizationId?: pulumi.Input; /** * High IP (excluded) of the dynamic address pool. Defaults to the last address of the subnet. */ poolHigh?: pulumi.Input; /** * Low IP (included) of the dynamic address pool. Defaults to the second address of the subnet. */ poolLow?: pulumi.Input; /** * `projectId`) The ID of the Project the Public Gateway DHCP configuration is associated with. */ projectId?: pulumi.Input; /** * Whether the gateway should push a default route to DHCP clients or only hand out IPs. Defaults to `true`. */ pushDefaultRoute?: pulumi.Input; /** * Whether the gateway should push custom DNS servers to clients. This allows for instance hostname > IP resolution. Defaults to `true`. */ pushDnsServer?: pulumi.Input; /** * 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; /** * After how long, in seconds, a renewal will be attempted. Must be 30s lower than `rebindTimer`. Defaults to 50m (3000s). */ renewTimer?: pulumi.Input; /** * The subnet to associate with the Public Gateway DHCP configuration. */ subnet?: pulumi.Input; /** * The date and time of the last update of the Public Gateway DHCP configuration. */ updatedAt?: pulumi.Input; /** * How long, in seconds, DHCP entries will be valid. Defaults to 1h (3600s). */ validLifetime?: pulumi.Input; /** * `zone`) The zone in which the Public Gateway DHCP configuration should be created. */ zone?: pulumi.Input; } /** * 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; /** * 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; /** * Additional DNS search paths */ dnsSearches?: pulumi.Input[]>; /** * Override the DNS server list pushed to DHCP clients, instead of the gateway itself. */ dnsServersOverrides?: pulumi.Input[]>; /** * 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; /** * High IP (excluded) of the dynamic address pool. Defaults to the last address of the subnet. */ poolHigh?: pulumi.Input; /** * Low IP (included) of the dynamic address pool. Defaults to the second address of the subnet. */ poolLow?: pulumi.Input; /** * `projectId`) The ID of the Project the Public Gateway DHCP configuration is associated with. */ projectId?: pulumi.Input; /** * Whether the gateway should push a default route to DHCP clients or only hand out IPs. Defaults to `true`. */ pushDefaultRoute?: pulumi.Input; /** * Whether the gateway should push custom DNS servers to clients. This allows for instance hostname > IP resolution. Defaults to `true`. */ pushDnsServer?: pulumi.Input; /** * 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; /** * After how long, in seconds, a renewal will be attempted. Must be 30s lower than `rebindTimer`. Defaults to 50m (3000s). */ renewTimer?: pulumi.Input; /** * The subnet to associate with the Public Gateway DHCP configuration. */ subnet: pulumi.Input; /** * How long, in seconds, DHCP entries will be valid. Defaults to 1h (3600s). */ validLifetime?: pulumi.Input; /** * `zone`) The zone in which the Public Gateway DHCP configuration should be created. */ zone?: pulumi.Input; }