@lbrlabs/pulumi-scaleway
Version:
A Pulumi package for creating and managing scaleway cloud resources.
262 lines (261 loc) • 10.7 kB
TypeScript
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>;
}