github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ec2/getVpcDhcpOptions.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  // Retrieve information about an EC2 DHCP Options configuration.
    15  //
    16  // ## Example Usage
    17  //
    18  // ### Lookup by DHCP Options ID
    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.LookupVpcDhcpOptions(ctx, &ec2.LookupVpcDhcpOptionsArgs{
    34  //				DhcpOptionsId: pulumi.StringRef("dopts-12345678"),
    35  //			}, nil)
    36  //			if err != nil {
    37  //				return err
    38  //			}
    39  //			return nil
    40  //		})
    41  //	}
    42  //
    43  // ```
    44  // <!--End PulumiCodeChooser -->
    45  //
    46  // ### Lookup by Filter
    47  //
    48  // <!--Start PulumiCodeChooser -->
    49  // ```go
    50  // package main
    51  //
    52  // import (
    53  //
    54  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
    55  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    56  //
    57  // )
    58  //
    59  //	func main() {
    60  //		pulumi.Run(func(ctx *pulumi.Context) error {
    61  //			_, err := ec2.LookupVpcDhcpOptions(ctx, &ec2.LookupVpcDhcpOptionsArgs{
    62  //				Filters: []ec2.GetVpcDhcpOptionsFilter{
    63  //					{
    64  //						Name: "key",
    65  //						Values: []string{
    66  //							"domain-name",
    67  //						},
    68  //					},
    69  //					{
    70  //						Name: "value",
    71  //						Values: []string{
    72  //							"example.com",
    73  //						},
    74  //					},
    75  //				},
    76  //			}, nil)
    77  //			if err != nil {
    78  //				return err
    79  //			}
    80  //			return nil
    81  //		})
    82  //	}
    83  //
    84  // ```
    85  // <!--End PulumiCodeChooser -->
    86  func LookupVpcDhcpOptions(ctx *pulumi.Context, args *LookupVpcDhcpOptionsArgs, opts ...pulumi.InvokeOption) (*LookupVpcDhcpOptionsResult, error) {
    87  	opts = internal.PkgInvokeDefaultOpts(opts)
    88  	var rv LookupVpcDhcpOptionsResult
    89  	err := ctx.Invoke("aws:ec2/getVpcDhcpOptions:getVpcDhcpOptions", args, &rv, opts...)
    90  	if err != nil {
    91  		return nil, err
    92  	}
    93  	return &rv, nil
    94  }
    95  
    96  // A collection of arguments for invoking getVpcDhcpOptions.
    97  type LookupVpcDhcpOptionsArgs struct {
    98  	// EC2 DHCP Options ID.
    99  	DhcpOptionsId *string `pulumi:"dhcpOptionsId"`
   100  	// List of custom filters as described below.
   101  	Filters []GetVpcDhcpOptionsFilter `pulumi:"filters"`
   102  	// Map of tags assigned to the resource.
   103  	Tags map[string]string `pulumi:"tags"`
   104  }
   105  
   106  // A collection of values returned by getVpcDhcpOptions.
   107  type LookupVpcDhcpOptionsResult struct {
   108  	// ARN of the DHCP Options Set.
   109  	Arn string `pulumi:"arn"`
   110  	// EC2 DHCP Options ID
   111  	DhcpOptionsId string `pulumi:"dhcpOptionsId"`
   112  	// Suffix domain name to used when resolving non Fully Qualified Domain NamesE.g., the `search` value in the `/etc/resolv.conf` file.
   113  	DomainName string `pulumi:"domainName"`
   114  	// List of name servers.
   115  	DomainNameServers []string                  `pulumi:"domainNameServers"`
   116  	Filters           []GetVpcDhcpOptionsFilter `pulumi:"filters"`
   117  	// The provider-assigned unique ID for this managed resource.
   118  	Id string `pulumi:"id"`
   119  	// How frequently, in seconds, a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal.
   120  	Ipv6AddressPreferredLeaseTime string `pulumi:"ipv6AddressPreferredLeaseTime"`
   121  	// List of NETBIOS name servers.
   122  	NetbiosNameServers []string `pulumi:"netbiosNameServers"`
   123  	// NetBIOS node type (1, 2, 4, or 8). For more information about these node types, see [RFC 2132](http://www.ietf.org/rfc/rfc2132.txt).
   124  	NetbiosNodeType string `pulumi:"netbiosNodeType"`
   125  	// List of NTP servers.
   126  	NtpServers []string `pulumi:"ntpServers"`
   127  	// ID of the AWS account that owns the DHCP options set.
   128  	OwnerId string `pulumi:"ownerId"`
   129  	// Map of tags assigned to the resource.
   130  	Tags map[string]string `pulumi:"tags"`
   131  }
   132  
   133  func LookupVpcDhcpOptionsOutput(ctx *pulumi.Context, args LookupVpcDhcpOptionsOutputArgs, opts ...pulumi.InvokeOption) LookupVpcDhcpOptionsResultOutput {
   134  	return pulumi.ToOutputWithContext(context.Background(), args).
   135  		ApplyT(func(v interface{}) (LookupVpcDhcpOptionsResult, error) {
   136  			args := v.(LookupVpcDhcpOptionsArgs)
   137  			r, err := LookupVpcDhcpOptions(ctx, &args, opts...)
   138  			var s LookupVpcDhcpOptionsResult
   139  			if r != nil {
   140  				s = *r
   141  			}
   142  			return s, err
   143  		}).(LookupVpcDhcpOptionsResultOutput)
   144  }
   145  
   146  // A collection of arguments for invoking getVpcDhcpOptions.
   147  type LookupVpcDhcpOptionsOutputArgs struct {
   148  	// EC2 DHCP Options ID.
   149  	DhcpOptionsId pulumi.StringPtrInput `pulumi:"dhcpOptionsId"`
   150  	// List of custom filters as described below.
   151  	Filters GetVpcDhcpOptionsFilterArrayInput `pulumi:"filters"`
   152  	// Map of tags assigned to the resource.
   153  	Tags pulumi.StringMapInput `pulumi:"tags"`
   154  }
   155  
   156  func (LookupVpcDhcpOptionsOutputArgs) ElementType() reflect.Type {
   157  	return reflect.TypeOf((*LookupVpcDhcpOptionsArgs)(nil)).Elem()
   158  }
   159  
   160  // A collection of values returned by getVpcDhcpOptions.
   161  type LookupVpcDhcpOptionsResultOutput struct{ *pulumi.OutputState }
   162  
   163  func (LookupVpcDhcpOptionsResultOutput) ElementType() reflect.Type {
   164  	return reflect.TypeOf((*LookupVpcDhcpOptionsResult)(nil)).Elem()
   165  }
   166  
   167  func (o LookupVpcDhcpOptionsResultOutput) ToLookupVpcDhcpOptionsResultOutput() LookupVpcDhcpOptionsResultOutput {
   168  	return o
   169  }
   170  
   171  func (o LookupVpcDhcpOptionsResultOutput) ToLookupVpcDhcpOptionsResultOutputWithContext(ctx context.Context) LookupVpcDhcpOptionsResultOutput {
   172  	return o
   173  }
   174  
   175  // ARN of the DHCP Options Set.
   176  func (o LookupVpcDhcpOptionsResultOutput) Arn() pulumi.StringOutput {
   177  	return o.ApplyT(func(v LookupVpcDhcpOptionsResult) string { return v.Arn }).(pulumi.StringOutput)
   178  }
   179  
   180  // EC2 DHCP Options ID
   181  func (o LookupVpcDhcpOptionsResultOutput) DhcpOptionsId() pulumi.StringOutput {
   182  	return o.ApplyT(func(v LookupVpcDhcpOptionsResult) string { return v.DhcpOptionsId }).(pulumi.StringOutput)
   183  }
   184  
   185  // Suffix domain name to used when resolving non Fully Qualified Domain NamesE.g., the `search` value in the `/etc/resolv.conf` file.
   186  func (o LookupVpcDhcpOptionsResultOutput) DomainName() pulumi.StringOutput {
   187  	return o.ApplyT(func(v LookupVpcDhcpOptionsResult) string { return v.DomainName }).(pulumi.StringOutput)
   188  }
   189  
   190  // List of name servers.
   191  func (o LookupVpcDhcpOptionsResultOutput) DomainNameServers() pulumi.StringArrayOutput {
   192  	return o.ApplyT(func(v LookupVpcDhcpOptionsResult) []string { return v.DomainNameServers }).(pulumi.StringArrayOutput)
   193  }
   194  
   195  func (o LookupVpcDhcpOptionsResultOutput) Filters() GetVpcDhcpOptionsFilterArrayOutput {
   196  	return o.ApplyT(func(v LookupVpcDhcpOptionsResult) []GetVpcDhcpOptionsFilter { return v.Filters }).(GetVpcDhcpOptionsFilterArrayOutput)
   197  }
   198  
   199  // The provider-assigned unique ID for this managed resource.
   200  func (o LookupVpcDhcpOptionsResultOutput) Id() pulumi.StringOutput {
   201  	return o.ApplyT(func(v LookupVpcDhcpOptionsResult) string { return v.Id }).(pulumi.StringOutput)
   202  }
   203  
   204  // How frequently, in seconds, a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal.
   205  func (o LookupVpcDhcpOptionsResultOutput) Ipv6AddressPreferredLeaseTime() pulumi.StringOutput {
   206  	return o.ApplyT(func(v LookupVpcDhcpOptionsResult) string { return v.Ipv6AddressPreferredLeaseTime }).(pulumi.StringOutput)
   207  }
   208  
   209  // List of NETBIOS name servers.
   210  func (o LookupVpcDhcpOptionsResultOutput) NetbiosNameServers() pulumi.StringArrayOutput {
   211  	return o.ApplyT(func(v LookupVpcDhcpOptionsResult) []string { return v.NetbiosNameServers }).(pulumi.StringArrayOutput)
   212  }
   213  
   214  // NetBIOS node type (1, 2, 4, or 8). For more information about these node types, see [RFC 2132](http://www.ietf.org/rfc/rfc2132.txt).
   215  func (o LookupVpcDhcpOptionsResultOutput) NetbiosNodeType() pulumi.StringOutput {
   216  	return o.ApplyT(func(v LookupVpcDhcpOptionsResult) string { return v.NetbiosNodeType }).(pulumi.StringOutput)
   217  }
   218  
   219  // List of NTP servers.
   220  func (o LookupVpcDhcpOptionsResultOutput) NtpServers() pulumi.StringArrayOutput {
   221  	return o.ApplyT(func(v LookupVpcDhcpOptionsResult) []string { return v.NtpServers }).(pulumi.StringArrayOutput)
   222  }
   223  
   224  // ID of the AWS account that owns the DHCP options set.
   225  func (o LookupVpcDhcpOptionsResultOutput) OwnerId() pulumi.StringOutput {
   226  	return o.ApplyT(func(v LookupVpcDhcpOptionsResult) string { return v.OwnerId }).(pulumi.StringOutput)
   227  }
   228  
   229  // Map of tags assigned to the resource.
   230  func (o LookupVpcDhcpOptionsResultOutput) Tags() pulumi.StringMapOutput {
   231  	return o.ApplyT(func(v LookupVpcDhcpOptionsResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput)
   232  }
   233  
   234  func init() {
   235  	pulumi.RegisterOutputType(LookupVpcDhcpOptionsResultOutput{})
   236  }