@pulumiverse/scaleway
Version:
A Pulumi package for creating and managing Scaleway cloud resources.
277 lines (276 loc) • 12.1 kB
TypeScript
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>;
}