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>;
}
