UNPKG

@pulumi/aws

Version:

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

222 lines (221 loc) • 10.4 kB
import * as pulumi from "@pulumi/pulumi"; /** * Provides a VPC DHCP Options resource. * * ## Example Usage * * Basic usage: * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const dnsResolver = new aws.ec2.VpcDhcpOptions("dns_resolver", {domainNameServers: [ * "8.8.8.8", * "8.8.4.4", * ]}); * ``` * * Full usage: * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const foo = new aws.ec2.VpcDhcpOptions("foo", { * domainName: "service.consul", * domainNameServers: [ * "127.0.0.1", * "10.0.0.2", * ], * ipv6AddressPreferredLeaseTime: "1440", * ntpServers: ["127.0.0.1"], * netbiosNameServers: ["127.0.0.1"], * netbiosNodeType: "2", * tags: { * Name: "foo-name", * }, * }); * ``` * * ## Remarks * * * Notice that all arguments are optional but you have to specify at least one argument. * * `domainNameServers`, `netbiosNameServers`, `ntpServers` are limited by AWS to maximum four servers only. * * To actually use the DHCP Options Set you need to associate it to a VPC using `aws.ec2.VpcDhcpOptionsAssociation`. * * If you delete a DHCP Options Set, all VPCs using it will be associated to AWS's `default` DHCP Option Set. * * In most cases unless you're configuring your own DNS you'll want to set `domainNameServers` to `AmazonProvidedDNS`. * * ## Import * * Using `pulumi import`, import VPC DHCP Options using the DHCP Options `id`. For example: * * ```sh * $ pulumi import aws:ec2/vpcDhcpOptions:VpcDhcpOptions my_options dopt-d9070ebb * ``` */ export declare class VpcDhcpOptions extends pulumi.CustomResource { /** * Get an existing VpcDhcpOptions 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?: VpcDhcpOptionsState, opts?: pulumi.CustomResourceOptions): VpcDhcpOptions; /** * Returns true if the given object is an instance of VpcDhcpOptions. 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 VpcDhcpOptions; /** * The ARN of the DHCP Options Set. */ readonly arn: pulumi.Output<string>; /** * the suffix domain name to use by default when resolving non Fully Qualified Domain Names. In other words, this is what ends up being the `search` value in the `/etc/resolv.conf` file. */ readonly domainName: pulumi.Output<string | undefined>; /** * List of name servers to configure in `/etc/resolv.conf`. If you want to use the default AWS nameservers you should set this to `AmazonProvidedDNS`. */ readonly domainNameServers: pulumi.Output<string[] | undefined>; /** * How frequently, in seconds, a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal. Acceptable values are between 140 and 2147483647 (approximately 68 years). If no value is entered, the default lease time is 140 seconds. If you use long-term addressing for EC2 instances, you can increase the lease time and avoid frequent lease renewal requests. Lease renewal typically occurs when half of the lease time has elapsed. */ readonly ipv6AddressPreferredLeaseTime: pulumi.Output<string | undefined>; /** * List of NETBIOS name servers. */ readonly netbiosNameServers: pulumi.Output<string[] | undefined>; /** * The NetBIOS node type (1, 2, 4, or 8). AWS recommends to specify 2 since broadcast and multicast are not supported in their network. For more information about these node types, see [RFC 2132](http://www.ietf.org/rfc/rfc2132.txt). */ readonly netbiosNodeType: pulumi.Output<string | undefined>; /** * List of NTP servers to configure. */ readonly ntpServers: pulumi.Output<string[] | undefined>; /** * The ID of the AWS account that owns the DHCP options set. */ readonly ownerId: pulumi.Output<string>; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ readonly region: pulumi.Output<string>; /** * A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ readonly tagsAll: pulumi.Output<{ [key: string]: string; }>; /** * Create a VpcDhcpOptions 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?: VpcDhcpOptionsArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering VpcDhcpOptions resources. */ export interface VpcDhcpOptionsState { /** * The ARN of the DHCP Options Set. */ arn?: pulumi.Input<string>; /** * the suffix domain name to use by default when resolving non Fully Qualified Domain Names. In other words, this is what ends up being the `search` value in the `/etc/resolv.conf` file. */ domainName?: pulumi.Input<string>; /** * List of name servers to configure in `/etc/resolv.conf`. If you want to use the default AWS nameservers you should set this to `AmazonProvidedDNS`. */ domainNameServers?: pulumi.Input<pulumi.Input<string>[]>; /** * How frequently, in seconds, a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal. Acceptable values are between 140 and 2147483647 (approximately 68 years). If no value is entered, the default lease time is 140 seconds. If you use long-term addressing for EC2 instances, you can increase the lease time and avoid frequent lease renewal requests. Lease renewal typically occurs when half of the lease time has elapsed. */ ipv6AddressPreferredLeaseTime?: pulumi.Input<string>; /** * List of NETBIOS name servers. */ netbiosNameServers?: pulumi.Input<pulumi.Input<string>[]>; /** * The NetBIOS node type (1, 2, 4, or 8). AWS recommends to specify 2 since broadcast and multicast are not supported in their network. For more information about these node types, see [RFC 2132](http://www.ietf.org/rfc/rfc2132.txt). */ netbiosNodeType?: pulumi.Input<string>; /** * List of NTP servers to configure. */ ntpServers?: pulumi.Input<pulumi.Input<string>[]>; /** * The ID of the AWS account that owns the DHCP options set. */ ownerId?: pulumi.Input<string>; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input<string>; /** * A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ tagsAll?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; } /** * The set of arguments for constructing a VpcDhcpOptions resource. */ export interface VpcDhcpOptionsArgs { /** * the suffix domain name to use by default when resolving non Fully Qualified Domain Names. In other words, this is what ends up being the `search` value in the `/etc/resolv.conf` file. */ domainName?: pulumi.Input<string>; /** * List of name servers to configure in `/etc/resolv.conf`. If you want to use the default AWS nameservers you should set this to `AmazonProvidedDNS`. */ domainNameServers?: pulumi.Input<pulumi.Input<string>[]>; /** * How frequently, in seconds, a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal. Acceptable values are between 140 and 2147483647 (approximately 68 years). If no value is entered, the default lease time is 140 seconds. If you use long-term addressing for EC2 instances, you can increase the lease time and avoid frequent lease renewal requests. Lease renewal typically occurs when half of the lease time has elapsed. */ ipv6AddressPreferredLeaseTime?: pulumi.Input<string>; /** * List of NETBIOS name servers. */ netbiosNameServers?: pulumi.Input<pulumi.Input<string>[]>; /** * The NetBIOS node type (1, 2, 4, or 8). AWS recommends to specify 2 since broadcast and multicast are not supported in their network. For more information about these node types, see [RFC 2132](http://www.ietf.org/rfc/rfc2132.txt). */ netbiosNodeType?: pulumi.Input<string>; /** * List of NTP servers to configure. */ ntpServers?: pulumi.Input<pulumi.Input<string>[]>; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input<string>; /** * A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; }