github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ec2/vpcDhcpOptions.go (about)

     1  // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
     2  // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
     3  
     4  package ec2
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    11  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    12  )
    13  
    14  // Provides a VPC DHCP Options resource.
    15  //
    16  // ## Example Usage
    17  //
    18  // Basic usage:
    19  //
    20  // <!--Start PulumiCodeChooser -->
    21  // ```go
    22  // package main
    23  //
    24  // import (
    25  //
    26  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
    27  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    28  //
    29  // )
    30  //
    31  //	func main() {
    32  //		pulumi.Run(func(ctx *pulumi.Context) error {
    33  //			_, err := ec2.NewVpcDhcpOptions(ctx, "dns_resolver", &ec2.VpcDhcpOptionsArgs{
    34  //				DomainNameServers: pulumi.StringArray{
    35  //					pulumi.String("8.8.8.8"),
    36  //					pulumi.String("8.8.4.4"),
    37  //				},
    38  //			})
    39  //			if err != nil {
    40  //				return err
    41  //			}
    42  //			return nil
    43  //		})
    44  //	}
    45  //
    46  // ```
    47  // <!--End PulumiCodeChooser -->
    48  //
    49  // Full usage:
    50  //
    51  // <!--Start PulumiCodeChooser -->
    52  // ```go
    53  // package main
    54  //
    55  // import (
    56  //
    57  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
    58  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    59  //
    60  // )
    61  //
    62  //	func main() {
    63  //		pulumi.Run(func(ctx *pulumi.Context) error {
    64  //			_, err := ec2.NewVpcDhcpOptions(ctx, "foo", &ec2.VpcDhcpOptionsArgs{
    65  //				DomainName: pulumi.String("service.consul"),
    66  //				DomainNameServers: pulumi.StringArray{
    67  //					pulumi.String("127.0.0.1"),
    68  //					pulumi.String("10.0.0.2"),
    69  //				},
    70  //				Ipv6AddressPreferredLeaseTime: pulumi.String("1440"),
    71  //				NtpServers: pulumi.StringArray{
    72  //					pulumi.String("127.0.0.1"),
    73  //				},
    74  //				NetbiosNameServers: pulumi.StringArray{
    75  //					pulumi.String("127.0.0.1"),
    76  //				},
    77  //				NetbiosNodeType: pulumi.String("2"),
    78  //				Tags: pulumi.StringMap{
    79  //					"Name": pulumi.String("foo-name"),
    80  //				},
    81  //			})
    82  //			if err != nil {
    83  //				return err
    84  //			}
    85  //			return nil
    86  //		})
    87  //	}
    88  //
    89  // ```
    90  // <!--End PulumiCodeChooser -->
    91  //
    92  // ## Remarks
    93  //
    94  // * Notice that all arguments are optional but you have to specify at least one argument.
    95  // * `domainNameServers`, `netbiosNameServers`, `ntpServers` are limited by AWS to maximum four servers only.
    96  // * To actually use the DHCP Options Set you need to associate it to a VPC using `ec2.VpcDhcpOptionsAssociation`.
    97  // * If you delete a DHCP Options Set, all VPCs using it will be associated to AWS's `default` DHCP Option Set.
    98  // * In most cases unless you're configuring your own DNS you'll want to set `domainNameServers` to `AmazonProvidedDNS`.
    99  //
   100  // ## Import
   101  //
   102  // Using `pulumi import`, import VPC DHCP Options using the DHCP Options `id`. For example:
   103  //
   104  // ```sh
   105  // $ pulumi import aws:ec2/vpcDhcpOptions:VpcDhcpOptions my_options dopt-d9070ebb
   106  // ```
   107  type VpcDhcpOptions struct {
   108  	pulumi.CustomResourceState
   109  
   110  	// The ARN of the DHCP Options Set.
   111  	Arn pulumi.StringOutput `pulumi:"arn"`
   112  	// 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.
   113  	DomainName pulumi.StringPtrOutput `pulumi:"domainName"`
   114  	// 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`.
   115  	DomainNameServers pulumi.StringArrayOutput `pulumi:"domainNameServers"`
   116  	// 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.
   117  	Ipv6AddressPreferredLeaseTime pulumi.StringPtrOutput `pulumi:"ipv6AddressPreferredLeaseTime"`
   118  	// List of NETBIOS name servers.
   119  	NetbiosNameServers pulumi.StringArrayOutput `pulumi:"netbiosNameServers"`
   120  	// 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).
   121  	NetbiosNodeType pulumi.StringPtrOutput `pulumi:"netbiosNodeType"`
   122  	// List of NTP servers to configure.
   123  	NtpServers pulumi.StringArrayOutput `pulumi:"ntpServers"`
   124  	// The ID of the AWS account that owns the DHCP options set.
   125  	OwnerId pulumi.StringOutput `pulumi:"ownerId"`
   126  	// 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.
   127  	Tags pulumi.StringMapOutput `pulumi:"tags"`
   128  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   129  	//
   130  	// Deprecated: Please use `tags` instead.
   131  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
   132  }
   133  
   134  // NewVpcDhcpOptions registers a new resource with the given unique name, arguments, and options.
   135  func NewVpcDhcpOptions(ctx *pulumi.Context,
   136  	name string, args *VpcDhcpOptionsArgs, opts ...pulumi.ResourceOption) (*VpcDhcpOptions, error) {
   137  	if args == nil {
   138  		args = &VpcDhcpOptionsArgs{}
   139  	}
   140  
   141  	opts = internal.PkgResourceDefaultOpts(opts)
   142  	var resource VpcDhcpOptions
   143  	err := ctx.RegisterResource("aws:ec2/vpcDhcpOptions:VpcDhcpOptions", name, args, &resource, opts...)
   144  	if err != nil {
   145  		return nil, err
   146  	}
   147  	return &resource, nil
   148  }
   149  
   150  // GetVpcDhcpOptions gets an existing VpcDhcpOptions resource's state with the given name, ID, and optional
   151  // state properties that are used to uniquely qualify the lookup (nil if not required).
   152  func GetVpcDhcpOptions(ctx *pulumi.Context,
   153  	name string, id pulumi.IDInput, state *VpcDhcpOptionsState, opts ...pulumi.ResourceOption) (*VpcDhcpOptions, error) {
   154  	var resource VpcDhcpOptions
   155  	err := ctx.ReadResource("aws:ec2/vpcDhcpOptions:VpcDhcpOptions", name, id, state, &resource, opts...)
   156  	if err != nil {
   157  		return nil, err
   158  	}
   159  	return &resource, nil
   160  }
   161  
   162  // Input properties used for looking up and filtering VpcDhcpOptions resources.
   163  type vpcDhcpOptionsState struct {
   164  	// The ARN of the DHCP Options Set.
   165  	Arn *string `pulumi:"arn"`
   166  	// 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.
   167  	DomainName *string `pulumi:"domainName"`
   168  	// 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`.
   169  	DomainNameServers []string `pulumi:"domainNameServers"`
   170  	// 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.
   171  	Ipv6AddressPreferredLeaseTime *string `pulumi:"ipv6AddressPreferredLeaseTime"`
   172  	// List of NETBIOS name servers.
   173  	NetbiosNameServers []string `pulumi:"netbiosNameServers"`
   174  	// 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).
   175  	NetbiosNodeType *string `pulumi:"netbiosNodeType"`
   176  	// List of NTP servers to configure.
   177  	NtpServers []string `pulumi:"ntpServers"`
   178  	// The ID of the AWS account that owns the DHCP options set.
   179  	OwnerId *string `pulumi:"ownerId"`
   180  	// 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.
   181  	Tags map[string]string `pulumi:"tags"`
   182  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   183  	//
   184  	// Deprecated: Please use `tags` instead.
   185  	TagsAll map[string]string `pulumi:"tagsAll"`
   186  }
   187  
   188  type VpcDhcpOptionsState struct {
   189  	// The ARN of the DHCP Options Set.
   190  	Arn pulumi.StringPtrInput
   191  	// 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.
   192  	DomainName pulumi.StringPtrInput
   193  	// 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`.
   194  	DomainNameServers pulumi.StringArrayInput
   195  	// 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.
   196  	Ipv6AddressPreferredLeaseTime pulumi.StringPtrInput
   197  	// List of NETBIOS name servers.
   198  	NetbiosNameServers pulumi.StringArrayInput
   199  	// 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).
   200  	NetbiosNodeType pulumi.StringPtrInput
   201  	// List of NTP servers to configure.
   202  	NtpServers pulumi.StringArrayInput
   203  	// The ID of the AWS account that owns the DHCP options set.
   204  	OwnerId pulumi.StringPtrInput
   205  	// 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.
   206  	Tags pulumi.StringMapInput
   207  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   208  	//
   209  	// Deprecated: Please use `tags` instead.
   210  	TagsAll pulumi.StringMapInput
   211  }
   212  
   213  func (VpcDhcpOptionsState) ElementType() reflect.Type {
   214  	return reflect.TypeOf((*vpcDhcpOptionsState)(nil)).Elem()
   215  }
   216  
   217  type vpcDhcpOptionsArgs struct {
   218  	// 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.
   219  	DomainName *string `pulumi:"domainName"`
   220  	// 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`.
   221  	DomainNameServers []string `pulumi:"domainNameServers"`
   222  	// 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.
   223  	Ipv6AddressPreferredLeaseTime *string `pulumi:"ipv6AddressPreferredLeaseTime"`
   224  	// List of NETBIOS name servers.
   225  	NetbiosNameServers []string `pulumi:"netbiosNameServers"`
   226  	// 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).
   227  	NetbiosNodeType *string `pulumi:"netbiosNodeType"`
   228  	// List of NTP servers to configure.
   229  	NtpServers []string `pulumi:"ntpServers"`
   230  	// 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.
   231  	Tags map[string]string `pulumi:"tags"`
   232  }
   233  
   234  // The set of arguments for constructing a VpcDhcpOptions resource.
   235  type VpcDhcpOptionsArgs struct {
   236  	// 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.
   237  	DomainName pulumi.StringPtrInput
   238  	// 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`.
   239  	DomainNameServers pulumi.StringArrayInput
   240  	// 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.
   241  	Ipv6AddressPreferredLeaseTime pulumi.StringPtrInput
   242  	// List of NETBIOS name servers.
   243  	NetbiosNameServers pulumi.StringArrayInput
   244  	// 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).
   245  	NetbiosNodeType pulumi.StringPtrInput
   246  	// List of NTP servers to configure.
   247  	NtpServers pulumi.StringArrayInput
   248  	// 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.
   249  	Tags pulumi.StringMapInput
   250  }
   251  
   252  func (VpcDhcpOptionsArgs) ElementType() reflect.Type {
   253  	return reflect.TypeOf((*vpcDhcpOptionsArgs)(nil)).Elem()
   254  }
   255  
   256  type VpcDhcpOptionsInput interface {
   257  	pulumi.Input
   258  
   259  	ToVpcDhcpOptionsOutput() VpcDhcpOptionsOutput
   260  	ToVpcDhcpOptionsOutputWithContext(ctx context.Context) VpcDhcpOptionsOutput
   261  }
   262  
   263  func (*VpcDhcpOptions) ElementType() reflect.Type {
   264  	return reflect.TypeOf((**VpcDhcpOptions)(nil)).Elem()
   265  }
   266  
   267  func (i *VpcDhcpOptions) ToVpcDhcpOptionsOutput() VpcDhcpOptionsOutput {
   268  	return i.ToVpcDhcpOptionsOutputWithContext(context.Background())
   269  }
   270  
   271  func (i *VpcDhcpOptions) ToVpcDhcpOptionsOutputWithContext(ctx context.Context) VpcDhcpOptionsOutput {
   272  	return pulumi.ToOutputWithContext(ctx, i).(VpcDhcpOptionsOutput)
   273  }
   274  
   275  // VpcDhcpOptionsArrayInput is an input type that accepts VpcDhcpOptionsArray and VpcDhcpOptionsArrayOutput values.
   276  // You can construct a concrete instance of `VpcDhcpOptionsArrayInput` via:
   277  //
   278  //	VpcDhcpOptionsArray{ VpcDhcpOptionsArgs{...} }
   279  type VpcDhcpOptionsArrayInput interface {
   280  	pulumi.Input
   281  
   282  	ToVpcDhcpOptionsArrayOutput() VpcDhcpOptionsArrayOutput
   283  	ToVpcDhcpOptionsArrayOutputWithContext(context.Context) VpcDhcpOptionsArrayOutput
   284  }
   285  
   286  type VpcDhcpOptionsArray []VpcDhcpOptionsInput
   287  
   288  func (VpcDhcpOptionsArray) ElementType() reflect.Type {
   289  	return reflect.TypeOf((*[]*VpcDhcpOptions)(nil)).Elem()
   290  }
   291  
   292  func (i VpcDhcpOptionsArray) ToVpcDhcpOptionsArrayOutput() VpcDhcpOptionsArrayOutput {
   293  	return i.ToVpcDhcpOptionsArrayOutputWithContext(context.Background())
   294  }
   295  
   296  func (i VpcDhcpOptionsArray) ToVpcDhcpOptionsArrayOutputWithContext(ctx context.Context) VpcDhcpOptionsArrayOutput {
   297  	return pulumi.ToOutputWithContext(ctx, i).(VpcDhcpOptionsArrayOutput)
   298  }
   299  
   300  // VpcDhcpOptionsMapInput is an input type that accepts VpcDhcpOptionsMap and VpcDhcpOptionsMapOutput values.
   301  // You can construct a concrete instance of `VpcDhcpOptionsMapInput` via:
   302  //
   303  //	VpcDhcpOptionsMap{ "key": VpcDhcpOptionsArgs{...} }
   304  type VpcDhcpOptionsMapInput interface {
   305  	pulumi.Input
   306  
   307  	ToVpcDhcpOptionsMapOutput() VpcDhcpOptionsMapOutput
   308  	ToVpcDhcpOptionsMapOutputWithContext(context.Context) VpcDhcpOptionsMapOutput
   309  }
   310  
   311  type VpcDhcpOptionsMap map[string]VpcDhcpOptionsInput
   312  
   313  func (VpcDhcpOptionsMap) ElementType() reflect.Type {
   314  	return reflect.TypeOf((*map[string]*VpcDhcpOptions)(nil)).Elem()
   315  }
   316  
   317  func (i VpcDhcpOptionsMap) ToVpcDhcpOptionsMapOutput() VpcDhcpOptionsMapOutput {
   318  	return i.ToVpcDhcpOptionsMapOutputWithContext(context.Background())
   319  }
   320  
   321  func (i VpcDhcpOptionsMap) ToVpcDhcpOptionsMapOutputWithContext(ctx context.Context) VpcDhcpOptionsMapOutput {
   322  	return pulumi.ToOutputWithContext(ctx, i).(VpcDhcpOptionsMapOutput)
   323  }
   324  
   325  type VpcDhcpOptionsOutput struct{ *pulumi.OutputState }
   326  
   327  func (VpcDhcpOptionsOutput) ElementType() reflect.Type {
   328  	return reflect.TypeOf((**VpcDhcpOptions)(nil)).Elem()
   329  }
   330  
   331  func (o VpcDhcpOptionsOutput) ToVpcDhcpOptionsOutput() VpcDhcpOptionsOutput {
   332  	return o
   333  }
   334  
   335  func (o VpcDhcpOptionsOutput) ToVpcDhcpOptionsOutputWithContext(ctx context.Context) VpcDhcpOptionsOutput {
   336  	return o
   337  }
   338  
   339  // The ARN of the DHCP Options Set.
   340  func (o VpcDhcpOptionsOutput) Arn() pulumi.StringOutput {
   341  	return o.ApplyT(func(v *VpcDhcpOptions) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   342  }
   343  
   344  // 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.
   345  func (o VpcDhcpOptionsOutput) DomainName() pulumi.StringPtrOutput {
   346  	return o.ApplyT(func(v *VpcDhcpOptions) pulumi.StringPtrOutput { return v.DomainName }).(pulumi.StringPtrOutput)
   347  }
   348  
   349  // 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`.
   350  func (o VpcDhcpOptionsOutput) DomainNameServers() pulumi.StringArrayOutput {
   351  	return o.ApplyT(func(v *VpcDhcpOptions) pulumi.StringArrayOutput { return v.DomainNameServers }).(pulumi.StringArrayOutput)
   352  }
   353  
   354  // 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.
   355  func (o VpcDhcpOptionsOutput) Ipv6AddressPreferredLeaseTime() pulumi.StringPtrOutput {
   356  	return o.ApplyT(func(v *VpcDhcpOptions) pulumi.StringPtrOutput { return v.Ipv6AddressPreferredLeaseTime }).(pulumi.StringPtrOutput)
   357  }
   358  
   359  // List of NETBIOS name servers.
   360  func (o VpcDhcpOptionsOutput) NetbiosNameServers() pulumi.StringArrayOutput {
   361  	return o.ApplyT(func(v *VpcDhcpOptions) pulumi.StringArrayOutput { return v.NetbiosNameServers }).(pulumi.StringArrayOutput)
   362  }
   363  
   364  // 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).
   365  func (o VpcDhcpOptionsOutput) NetbiosNodeType() pulumi.StringPtrOutput {
   366  	return o.ApplyT(func(v *VpcDhcpOptions) pulumi.StringPtrOutput { return v.NetbiosNodeType }).(pulumi.StringPtrOutput)
   367  }
   368  
   369  // List of NTP servers to configure.
   370  func (o VpcDhcpOptionsOutput) NtpServers() pulumi.StringArrayOutput {
   371  	return o.ApplyT(func(v *VpcDhcpOptions) pulumi.StringArrayOutput { return v.NtpServers }).(pulumi.StringArrayOutput)
   372  }
   373  
   374  // The ID of the AWS account that owns the DHCP options set.
   375  func (o VpcDhcpOptionsOutput) OwnerId() pulumi.StringOutput {
   376  	return o.ApplyT(func(v *VpcDhcpOptions) pulumi.StringOutput { return v.OwnerId }).(pulumi.StringOutput)
   377  }
   378  
   379  // 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.
   380  func (o VpcDhcpOptionsOutput) Tags() pulumi.StringMapOutput {
   381  	return o.ApplyT(func(v *VpcDhcpOptions) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   382  }
   383  
   384  // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   385  //
   386  // Deprecated: Please use `tags` instead.
   387  func (o VpcDhcpOptionsOutput) TagsAll() pulumi.StringMapOutput {
   388  	return o.ApplyT(func(v *VpcDhcpOptions) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   389  }
   390  
   391  type VpcDhcpOptionsArrayOutput struct{ *pulumi.OutputState }
   392  
   393  func (VpcDhcpOptionsArrayOutput) ElementType() reflect.Type {
   394  	return reflect.TypeOf((*[]*VpcDhcpOptions)(nil)).Elem()
   395  }
   396  
   397  func (o VpcDhcpOptionsArrayOutput) ToVpcDhcpOptionsArrayOutput() VpcDhcpOptionsArrayOutput {
   398  	return o
   399  }
   400  
   401  func (o VpcDhcpOptionsArrayOutput) ToVpcDhcpOptionsArrayOutputWithContext(ctx context.Context) VpcDhcpOptionsArrayOutput {
   402  	return o
   403  }
   404  
   405  func (o VpcDhcpOptionsArrayOutput) Index(i pulumi.IntInput) VpcDhcpOptionsOutput {
   406  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VpcDhcpOptions {
   407  		return vs[0].([]*VpcDhcpOptions)[vs[1].(int)]
   408  	}).(VpcDhcpOptionsOutput)
   409  }
   410  
   411  type VpcDhcpOptionsMapOutput struct{ *pulumi.OutputState }
   412  
   413  func (VpcDhcpOptionsMapOutput) ElementType() reflect.Type {
   414  	return reflect.TypeOf((*map[string]*VpcDhcpOptions)(nil)).Elem()
   415  }
   416  
   417  func (o VpcDhcpOptionsMapOutput) ToVpcDhcpOptionsMapOutput() VpcDhcpOptionsMapOutput {
   418  	return o
   419  }
   420  
   421  func (o VpcDhcpOptionsMapOutput) ToVpcDhcpOptionsMapOutputWithContext(ctx context.Context) VpcDhcpOptionsMapOutput {
   422  	return o
   423  }
   424  
   425  func (o VpcDhcpOptionsMapOutput) MapIndex(k pulumi.StringInput) VpcDhcpOptionsOutput {
   426  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VpcDhcpOptions {
   427  		return vs[0].(map[string]*VpcDhcpOptions)[vs[1].(string)]
   428  	}).(VpcDhcpOptionsOutput)
   429  }
   430  
   431  func init() {
   432  	pulumi.RegisterInputType(reflect.TypeOf((*VpcDhcpOptionsInput)(nil)).Elem(), &VpcDhcpOptions{})
   433  	pulumi.RegisterInputType(reflect.TypeOf((*VpcDhcpOptionsArrayInput)(nil)).Elem(), VpcDhcpOptionsArray{})
   434  	pulumi.RegisterInputType(reflect.TypeOf((*VpcDhcpOptionsMapInput)(nil)).Elem(), VpcDhcpOptionsMap{})
   435  	pulumi.RegisterOutputType(VpcDhcpOptionsOutput{})
   436  	pulumi.RegisterOutputType(VpcDhcpOptionsArrayOutput{})
   437  	pulumi.RegisterOutputType(VpcDhcpOptionsMapOutput{})
   438  }