github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ec2/defaultVpcDhcpOptions.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 resource to manage the [default AWS DHCP Options Set](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html#AmazonDNS)
    15  // in the current region.
    16  //
    17  // Each AWS region comes with a default set of DHCP options.
    18  // **This is an advanced resource**, and has special caveats to be aware of when
    19  // using it. Please read this document in its entirety before using this resource.
    20  //
    21  // The `ec2.DefaultVpcDhcpOptions` behaves differently from normal resources, in that
    22  // this provider does not _create_ this resource, but instead "adopts" it
    23  // into management.
    24  //
    25  // ## Example Usage
    26  //
    27  // Basic usage with tags:
    28  //
    29  // <!--Start PulumiCodeChooser -->
    30  // ```go
    31  // package main
    32  //
    33  // import (
    34  //
    35  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
    36  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    37  //
    38  // )
    39  //
    40  //	func main() {
    41  //		pulumi.Run(func(ctx *pulumi.Context) error {
    42  //			_, err := ec2.NewDefaultVpcDhcpOptions(ctx, "default", &ec2.DefaultVpcDhcpOptionsArgs{
    43  //				Tags: pulumi.StringMap{
    44  //					"Name": pulumi.String("Default DHCP Option Set"),
    45  //				},
    46  //			})
    47  //			if err != nil {
    48  //				return err
    49  //			}
    50  //			return nil
    51  //		})
    52  //	}
    53  //
    54  // ```
    55  // <!--End PulumiCodeChooser -->
    56  //
    57  // ## Import
    58  //
    59  // Using `pulumi import`, import VPC DHCP Options using the DHCP Options `id`. For example:
    60  //
    61  // ```sh
    62  // $ pulumi import aws:ec2/defaultVpcDhcpOptions:DefaultVpcDhcpOptions default_options dopt-d9070ebb
    63  // ```
    64  type DefaultVpcDhcpOptions struct {
    65  	pulumi.CustomResourceState
    66  
    67  	// The ARN of the DHCP Options Set.
    68  	Arn                           pulumi.StringOutput `pulumi:"arn"`
    69  	DomainName                    pulumi.StringOutput `pulumi:"domainName"`
    70  	DomainNameServers             pulumi.StringOutput `pulumi:"domainNameServers"`
    71  	Ipv6AddressPreferredLeaseTime pulumi.StringOutput `pulumi:"ipv6AddressPreferredLeaseTime"`
    72  	// List of NETBIOS name servers.
    73  	NetbiosNameServers pulumi.StringOutput `pulumi:"netbiosNameServers"`
    74  	// 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).
    75  	NetbiosNodeType pulumi.StringOutput `pulumi:"netbiosNodeType"`
    76  	NtpServers      pulumi.StringOutput `pulumi:"ntpServers"`
    77  	// The ID of the AWS account that owns the DHCP options set.
    78  	OwnerId pulumi.StringOutput `pulumi:"ownerId"`
    79  	// A map of tags to assign to the resource.
    80  	Tags pulumi.StringMapOutput `pulumi:"tags"`
    81  	// Deprecated: Please use `tags` instead.
    82  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
    83  }
    84  
    85  // NewDefaultVpcDhcpOptions registers a new resource with the given unique name, arguments, and options.
    86  func NewDefaultVpcDhcpOptions(ctx *pulumi.Context,
    87  	name string, args *DefaultVpcDhcpOptionsArgs, opts ...pulumi.ResourceOption) (*DefaultVpcDhcpOptions, error) {
    88  	if args == nil {
    89  		args = &DefaultVpcDhcpOptionsArgs{}
    90  	}
    91  
    92  	opts = internal.PkgResourceDefaultOpts(opts)
    93  	var resource DefaultVpcDhcpOptions
    94  	err := ctx.RegisterResource("aws:ec2/defaultVpcDhcpOptions:DefaultVpcDhcpOptions", name, args, &resource, opts...)
    95  	if err != nil {
    96  		return nil, err
    97  	}
    98  	return &resource, nil
    99  }
   100  
   101  // GetDefaultVpcDhcpOptions gets an existing DefaultVpcDhcpOptions resource's state with the given name, ID, and optional
   102  // state properties that are used to uniquely qualify the lookup (nil if not required).
   103  func GetDefaultVpcDhcpOptions(ctx *pulumi.Context,
   104  	name string, id pulumi.IDInput, state *DefaultVpcDhcpOptionsState, opts ...pulumi.ResourceOption) (*DefaultVpcDhcpOptions, error) {
   105  	var resource DefaultVpcDhcpOptions
   106  	err := ctx.ReadResource("aws:ec2/defaultVpcDhcpOptions:DefaultVpcDhcpOptions", name, id, state, &resource, opts...)
   107  	if err != nil {
   108  		return nil, err
   109  	}
   110  	return &resource, nil
   111  }
   112  
   113  // Input properties used for looking up and filtering DefaultVpcDhcpOptions resources.
   114  type defaultVpcDhcpOptionsState struct {
   115  	// The ARN of the DHCP Options Set.
   116  	Arn                           *string `pulumi:"arn"`
   117  	DomainName                    *string `pulumi:"domainName"`
   118  	DomainNameServers             *string `pulumi:"domainNameServers"`
   119  	Ipv6AddressPreferredLeaseTime *string `pulumi:"ipv6AddressPreferredLeaseTime"`
   120  	// List of NETBIOS name servers.
   121  	NetbiosNameServers *string `pulumi:"netbiosNameServers"`
   122  	// 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).
   123  	NetbiosNodeType *string `pulumi:"netbiosNodeType"`
   124  	NtpServers      *string `pulumi:"ntpServers"`
   125  	// The ID of the AWS account that owns the DHCP options set.
   126  	OwnerId *string `pulumi:"ownerId"`
   127  	// A map of tags to assign to the resource.
   128  	Tags map[string]string `pulumi:"tags"`
   129  	// Deprecated: Please use `tags` instead.
   130  	TagsAll map[string]string `pulumi:"tagsAll"`
   131  }
   132  
   133  type DefaultVpcDhcpOptionsState struct {
   134  	// The ARN of the DHCP Options Set.
   135  	Arn                           pulumi.StringPtrInput
   136  	DomainName                    pulumi.StringPtrInput
   137  	DomainNameServers             pulumi.StringPtrInput
   138  	Ipv6AddressPreferredLeaseTime pulumi.StringPtrInput
   139  	// List of NETBIOS name servers.
   140  	NetbiosNameServers pulumi.StringPtrInput
   141  	// 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).
   142  	NetbiosNodeType pulumi.StringPtrInput
   143  	NtpServers      pulumi.StringPtrInput
   144  	// The ID of the AWS account that owns the DHCP options set.
   145  	OwnerId pulumi.StringPtrInput
   146  	// A map of tags to assign to the resource.
   147  	Tags pulumi.StringMapInput
   148  	// Deprecated: Please use `tags` instead.
   149  	TagsAll pulumi.StringMapInput
   150  }
   151  
   152  func (DefaultVpcDhcpOptionsState) ElementType() reflect.Type {
   153  	return reflect.TypeOf((*defaultVpcDhcpOptionsState)(nil)).Elem()
   154  }
   155  
   156  type defaultVpcDhcpOptionsArgs struct {
   157  	// The ID of the AWS account that owns the DHCP options set.
   158  	OwnerId *string `pulumi:"ownerId"`
   159  	// A map of tags to assign to the resource.
   160  	Tags map[string]string `pulumi:"tags"`
   161  }
   162  
   163  // The set of arguments for constructing a DefaultVpcDhcpOptions resource.
   164  type DefaultVpcDhcpOptionsArgs struct {
   165  	// The ID of the AWS account that owns the DHCP options set.
   166  	OwnerId pulumi.StringPtrInput
   167  	// A map of tags to assign to the resource.
   168  	Tags pulumi.StringMapInput
   169  }
   170  
   171  func (DefaultVpcDhcpOptionsArgs) ElementType() reflect.Type {
   172  	return reflect.TypeOf((*defaultVpcDhcpOptionsArgs)(nil)).Elem()
   173  }
   174  
   175  type DefaultVpcDhcpOptionsInput interface {
   176  	pulumi.Input
   177  
   178  	ToDefaultVpcDhcpOptionsOutput() DefaultVpcDhcpOptionsOutput
   179  	ToDefaultVpcDhcpOptionsOutputWithContext(ctx context.Context) DefaultVpcDhcpOptionsOutput
   180  }
   181  
   182  func (*DefaultVpcDhcpOptions) ElementType() reflect.Type {
   183  	return reflect.TypeOf((**DefaultVpcDhcpOptions)(nil)).Elem()
   184  }
   185  
   186  func (i *DefaultVpcDhcpOptions) ToDefaultVpcDhcpOptionsOutput() DefaultVpcDhcpOptionsOutput {
   187  	return i.ToDefaultVpcDhcpOptionsOutputWithContext(context.Background())
   188  }
   189  
   190  func (i *DefaultVpcDhcpOptions) ToDefaultVpcDhcpOptionsOutputWithContext(ctx context.Context) DefaultVpcDhcpOptionsOutput {
   191  	return pulumi.ToOutputWithContext(ctx, i).(DefaultVpcDhcpOptionsOutput)
   192  }
   193  
   194  // DefaultVpcDhcpOptionsArrayInput is an input type that accepts DefaultVpcDhcpOptionsArray and DefaultVpcDhcpOptionsArrayOutput values.
   195  // You can construct a concrete instance of `DefaultVpcDhcpOptionsArrayInput` via:
   196  //
   197  //	DefaultVpcDhcpOptionsArray{ DefaultVpcDhcpOptionsArgs{...} }
   198  type DefaultVpcDhcpOptionsArrayInput interface {
   199  	pulumi.Input
   200  
   201  	ToDefaultVpcDhcpOptionsArrayOutput() DefaultVpcDhcpOptionsArrayOutput
   202  	ToDefaultVpcDhcpOptionsArrayOutputWithContext(context.Context) DefaultVpcDhcpOptionsArrayOutput
   203  }
   204  
   205  type DefaultVpcDhcpOptionsArray []DefaultVpcDhcpOptionsInput
   206  
   207  func (DefaultVpcDhcpOptionsArray) ElementType() reflect.Type {
   208  	return reflect.TypeOf((*[]*DefaultVpcDhcpOptions)(nil)).Elem()
   209  }
   210  
   211  func (i DefaultVpcDhcpOptionsArray) ToDefaultVpcDhcpOptionsArrayOutput() DefaultVpcDhcpOptionsArrayOutput {
   212  	return i.ToDefaultVpcDhcpOptionsArrayOutputWithContext(context.Background())
   213  }
   214  
   215  func (i DefaultVpcDhcpOptionsArray) ToDefaultVpcDhcpOptionsArrayOutputWithContext(ctx context.Context) DefaultVpcDhcpOptionsArrayOutput {
   216  	return pulumi.ToOutputWithContext(ctx, i).(DefaultVpcDhcpOptionsArrayOutput)
   217  }
   218  
   219  // DefaultVpcDhcpOptionsMapInput is an input type that accepts DefaultVpcDhcpOptionsMap and DefaultVpcDhcpOptionsMapOutput values.
   220  // You can construct a concrete instance of `DefaultVpcDhcpOptionsMapInput` via:
   221  //
   222  //	DefaultVpcDhcpOptionsMap{ "key": DefaultVpcDhcpOptionsArgs{...} }
   223  type DefaultVpcDhcpOptionsMapInput interface {
   224  	pulumi.Input
   225  
   226  	ToDefaultVpcDhcpOptionsMapOutput() DefaultVpcDhcpOptionsMapOutput
   227  	ToDefaultVpcDhcpOptionsMapOutputWithContext(context.Context) DefaultVpcDhcpOptionsMapOutput
   228  }
   229  
   230  type DefaultVpcDhcpOptionsMap map[string]DefaultVpcDhcpOptionsInput
   231  
   232  func (DefaultVpcDhcpOptionsMap) ElementType() reflect.Type {
   233  	return reflect.TypeOf((*map[string]*DefaultVpcDhcpOptions)(nil)).Elem()
   234  }
   235  
   236  func (i DefaultVpcDhcpOptionsMap) ToDefaultVpcDhcpOptionsMapOutput() DefaultVpcDhcpOptionsMapOutput {
   237  	return i.ToDefaultVpcDhcpOptionsMapOutputWithContext(context.Background())
   238  }
   239  
   240  func (i DefaultVpcDhcpOptionsMap) ToDefaultVpcDhcpOptionsMapOutputWithContext(ctx context.Context) DefaultVpcDhcpOptionsMapOutput {
   241  	return pulumi.ToOutputWithContext(ctx, i).(DefaultVpcDhcpOptionsMapOutput)
   242  }
   243  
   244  type DefaultVpcDhcpOptionsOutput struct{ *pulumi.OutputState }
   245  
   246  func (DefaultVpcDhcpOptionsOutput) ElementType() reflect.Type {
   247  	return reflect.TypeOf((**DefaultVpcDhcpOptions)(nil)).Elem()
   248  }
   249  
   250  func (o DefaultVpcDhcpOptionsOutput) ToDefaultVpcDhcpOptionsOutput() DefaultVpcDhcpOptionsOutput {
   251  	return o
   252  }
   253  
   254  func (o DefaultVpcDhcpOptionsOutput) ToDefaultVpcDhcpOptionsOutputWithContext(ctx context.Context) DefaultVpcDhcpOptionsOutput {
   255  	return o
   256  }
   257  
   258  // The ARN of the DHCP Options Set.
   259  func (o DefaultVpcDhcpOptionsOutput) Arn() pulumi.StringOutput {
   260  	return o.ApplyT(func(v *DefaultVpcDhcpOptions) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   261  }
   262  
   263  func (o DefaultVpcDhcpOptionsOutput) DomainName() pulumi.StringOutput {
   264  	return o.ApplyT(func(v *DefaultVpcDhcpOptions) pulumi.StringOutput { return v.DomainName }).(pulumi.StringOutput)
   265  }
   266  
   267  func (o DefaultVpcDhcpOptionsOutput) DomainNameServers() pulumi.StringOutput {
   268  	return o.ApplyT(func(v *DefaultVpcDhcpOptions) pulumi.StringOutput { return v.DomainNameServers }).(pulumi.StringOutput)
   269  }
   270  
   271  func (o DefaultVpcDhcpOptionsOutput) Ipv6AddressPreferredLeaseTime() pulumi.StringOutput {
   272  	return o.ApplyT(func(v *DefaultVpcDhcpOptions) pulumi.StringOutput { return v.Ipv6AddressPreferredLeaseTime }).(pulumi.StringOutput)
   273  }
   274  
   275  // List of NETBIOS name servers.
   276  func (o DefaultVpcDhcpOptionsOutput) NetbiosNameServers() pulumi.StringOutput {
   277  	return o.ApplyT(func(v *DefaultVpcDhcpOptions) pulumi.StringOutput { return v.NetbiosNameServers }).(pulumi.StringOutput)
   278  }
   279  
   280  // 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).
   281  func (o DefaultVpcDhcpOptionsOutput) NetbiosNodeType() pulumi.StringOutput {
   282  	return o.ApplyT(func(v *DefaultVpcDhcpOptions) pulumi.StringOutput { return v.NetbiosNodeType }).(pulumi.StringOutput)
   283  }
   284  
   285  func (o DefaultVpcDhcpOptionsOutput) NtpServers() pulumi.StringOutput {
   286  	return o.ApplyT(func(v *DefaultVpcDhcpOptions) pulumi.StringOutput { return v.NtpServers }).(pulumi.StringOutput)
   287  }
   288  
   289  // The ID of the AWS account that owns the DHCP options set.
   290  func (o DefaultVpcDhcpOptionsOutput) OwnerId() pulumi.StringOutput {
   291  	return o.ApplyT(func(v *DefaultVpcDhcpOptions) pulumi.StringOutput { return v.OwnerId }).(pulumi.StringOutput)
   292  }
   293  
   294  // A map of tags to assign to the resource.
   295  func (o DefaultVpcDhcpOptionsOutput) Tags() pulumi.StringMapOutput {
   296  	return o.ApplyT(func(v *DefaultVpcDhcpOptions) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   297  }
   298  
   299  // Deprecated: Please use `tags` instead.
   300  func (o DefaultVpcDhcpOptionsOutput) TagsAll() pulumi.StringMapOutput {
   301  	return o.ApplyT(func(v *DefaultVpcDhcpOptions) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   302  }
   303  
   304  type DefaultVpcDhcpOptionsArrayOutput struct{ *pulumi.OutputState }
   305  
   306  func (DefaultVpcDhcpOptionsArrayOutput) ElementType() reflect.Type {
   307  	return reflect.TypeOf((*[]*DefaultVpcDhcpOptions)(nil)).Elem()
   308  }
   309  
   310  func (o DefaultVpcDhcpOptionsArrayOutput) ToDefaultVpcDhcpOptionsArrayOutput() DefaultVpcDhcpOptionsArrayOutput {
   311  	return o
   312  }
   313  
   314  func (o DefaultVpcDhcpOptionsArrayOutput) ToDefaultVpcDhcpOptionsArrayOutputWithContext(ctx context.Context) DefaultVpcDhcpOptionsArrayOutput {
   315  	return o
   316  }
   317  
   318  func (o DefaultVpcDhcpOptionsArrayOutput) Index(i pulumi.IntInput) DefaultVpcDhcpOptionsOutput {
   319  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DefaultVpcDhcpOptions {
   320  		return vs[0].([]*DefaultVpcDhcpOptions)[vs[1].(int)]
   321  	}).(DefaultVpcDhcpOptionsOutput)
   322  }
   323  
   324  type DefaultVpcDhcpOptionsMapOutput struct{ *pulumi.OutputState }
   325  
   326  func (DefaultVpcDhcpOptionsMapOutput) ElementType() reflect.Type {
   327  	return reflect.TypeOf((*map[string]*DefaultVpcDhcpOptions)(nil)).Elem()
   328  }
   329  
   330  func (o DefaultVpcDhcpOptionsMapOutput) ToDefaultVpcDhcpOptionsMapOutput() DefaultVpcDhcpOptionsMapOutput {
   331  	return o
   332  }
   333  
   334  func (o DefaultVpcDhcpOptionsMapOutput) ToDefaultVpcDhcpOptionsMapOutputWithContext(ctx context.Context) DefaultVpcDhcpOptionsMapOutput {
   335  	return o
   336  }
   337  
   338  func (o DefaultVpcDhcpOptionsMapOutput) MapIndex(k pulumi.StringInput) DefaultVpcDhcpOptionsOutput {
   339  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DefaultVpcDhcpOptions {
   340  		return vs[0].(map[string]*DefaultVpcDhcpOptions)[vs[1].(string)]
   341  	}).(DefaultVpcDhcpOptionsOutput)
   342  }
   343  
   344  func init() {
   345  	pulumi.RegisterInputType(reflect.TypeOf((*DefaultVpcDhcpOptionsInput)(nil)).Elem(), &DefaultVpcDhcpOptions{})
   346  	pulumi.RegisterInputType(reflect.TypeOf((*DefaultVpcDhcpOptionsArrayInput)(nil)).Elem(), DefaultVpcDhcpOptionsArray{})
   347  	pulumi.RegisterInputType(reflect.TypeOf((*DefaultVpcDhcpOptionsMapInput)(nil)).Elem(), DefaultVpcDhcpOptionsMap{})
   348  	pulumi.RegisterOutputType(DefaultVpcDhcpOptionsOutput{})
   349  	pulumi.RegisterOutputType(DefaultVpcDhcpOptionsArrayOutput{})
   350  	pulumi.RegisterOutputType(DefaultVpcDhcpOptionsMapOutput{})
   351  }