github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ec2/getVpcIpamPoolCidrs.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  // `ec2.getVpcIpamPoolCidrs` provides details about an IPAM pool.
    15  //
    16  // This resource can prove useful when an ipam pool was shared to your account and you want to know all (or a filtered list) of the CIDRs that are provisioned into the pool.
    17  //
    18  // ## Example Usage
    19  //
    20  // Basic usage:
    21  //
    22  // <!--Start PulumiCodeChooser -->
    23  // ```go
    24  // package main
    25  //
    26  // import (
    27  //
    28  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
    29  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    30  //
    31  // )
    32  //
    33  //	func main() {
    34  //		pulumi.Run(func(ctx *pulumi.Context) error {
    35  //			p, err := ec2.LookupVpcIpamPool(ctx, &ec2.LookupVpcIpamPoolArgs{
    36  //				Filters: []ec2.GetVpcIpamPoolFilter{
    37  //					{
    38  //						Name: "description",
    39  //						Values: []string{
    40  //							"*mypool*",
    41  //						},
    42  //					},
    43  //					{
    44  //						Name: "address-family",
    45  //						Values: []string{
    46  //							"ipv4",
    47  //						},
    48  //					},
    49  //				},
    50  //			}, nil)
    51  //			if err != nil {
    52  //				return err
    53  //			}
    54  //			_, err = ec2.GetVpcIpamPoolCidrs(ctx, &ec2.GetVpcIpamPoolCidrsArgs{
    55  //				IpamPoolId: p.Id,
    56  //			}, nil)
    57  //			if err != nil {
    58  //				return err
    59  //			}
    60  //			return nil
    61  //		})
    62  //	}
    63  //
    64  // ```
    65  // <!--End PulumiCodeChooser -->
    66  //
    67  // Filtering:
    68  func GetVpcIpamPoolCidrs(ctx *pulumi.Context, args *GetVpcIpamPoolCidrsArgs, opts ...pulumi.InvokeOption) (*GetVpcIpamPoolCidrsResult, error) {
    69  	opts = internal.PkgInvokeDefaultOpts(opts)
    70  	var rv GetVpcIpamPoolCidrsResult
    71  	err := ctx.Invoke("aws:ec2/getVpcIpamPoolCidrs:getVpcIpamPoolCidrs", args, &rv, opts...)
    72  	if err != nil {
    73  		return nil, err
    74  	}
    75  	return &rv, nil
    76  }
    77  
    78  // A collection of arguments for invoking getVpcIpamPoolCidrs.
    79  type GetVpcIpamPoolCidrsArgs struct {
    80  	// Custom filter block as described below.
    81  	Filters []GetVpcIpamPoolCidrsFilter `pulumi:"filters"`
    82  	// ID of the IPAM pool you would like the list of provisioned CIDRs.
    83  	IpamPoolId string `pulumi:"ipamPoolId"`
    84  }
    85  
    86  // A collection of values returned by getVpcIpamPoolCidrs.
    87  type GetVpcIpamPoolCidrsResult struct {
    88  	Filters []GetVpcIpamPoolCidrsFilter `pulumi:"filters"`
    89  	// The provider-assigned unique ID for this managed resource.
    90  	Id string `pulumi:"id"`
    91  	// The CIDRs provisioned into the IPAM pool, described below.
    92  	IpamPoolCidrs []GetVpcIpamPoolCidrsIpamPoolCidr `pulumi:"ipamPoolCidrs"`
    93  	IpamPoolId    string                            `pulumi:"ipamPoolId"`
    94  }
    95  
    96  func GetVpcIpamPoolCidrsOutput(ctx *pulumi.Context, args GetVpcIpamPoolCidrsOutputArgs, opts ...pulumi.InvokeOption) GetVpcIpamPoolCidrsResultOutput {
    97  	return pulumi.ToOutputWithContext(context.Background(), args).
    98  		ApplyT(func(v interface{}) (GetVpcIpamPoolCidrsResult, error) {
    99  			args := v.(GetVpcIpamPoolCidrsArgs)
   100  			r, err := GetVpcIpamPoolCidrs(ctx, &args, opts...)
   101  			var s GetVpcIpamPoolCidrsResult
   102  			if r != nil {
   103  				s = *r
   104  			}
   105  			return s, err
   106  		}).(GetVpcIpamPoolCidrsResultOutput)
   107  }
   108  
   109  // A collection of arguments for invoking getVpcIpamPoolCidrs.
   110  type GetVpcIpamPoolCidrsOutputArgs struct {
   111  	// Custom filter block as described below.
   112  	Filters GetVpcIpamPoolCidrsFilterArrayInput `pulumi:"filters"`
   113  	// ID of the IPAM pool you would like the list of provisioned CIDRs.
   114  	IpamPoolId pulumi.StringInput `pulumi:"ipamPoolId"`
   115  }
   116  
   117  func (GetVpcIpamPoolCidrsOutputArgs) ElementType() reflect.Type {
   118  	return reflect.TypeOf((*GetVpcIpamPoolCidrsArgs)(nil)).Elem()
   119  }
   120  
   121  // A collection of values returned by getVpcIpamPoolCidrs.
   122  type GetVpcIpamPoolCidrsResultOutput struct{ *pulumi.OutputState }
   123  
   124  func (GetVpcIpamPoolCidrsResultOutput) ElementType() reflect.Type {
   125  	return reflect.TypeOf((*GetVpcIpamPoolCidrsResult)(nil)).Elem()
   126  }
   127  
   128  func (o GetVpcIpamPoolCidrsResultOutput) ToGetVpcIpamPoolCidrsResultOutput() GetVpcIpamPoolCidrsResultOutput {
   129  	return o
   130  }
   131  
   132  func (o GetVpcIpamPoolCidrsResultOutput) ToGetVpcIpamPoolCidrsResultOutputWithContext(ctx context.Context) GetVpcIpamPoolCidrsResultOutput {
   133  	return o
   134  }
   135  
   136  func (o GetVpcIpamPoolCidrsResultOutput) Filters() GetVpcIpamPoolCidrsFilterArrayOutput {
   137  	return o.ApplyT(func(v GetVpcIpamPoolCidrsResult) []GetVpcIpamPoolCidrsFilter { return v.Filters }).(GetVpcIpamPoolCidrsFilterArrayOutput)
   138  }
   139  
   140  // The provider-assigned unique ID for this managed resource.
   141  func (o GetVpcIpamPoolCidrsResultOutput) Id() pulumi.StringOutput {
   142  	return o.ApplyT(func(v GetVpcIpamPoolCidrsResult) string { return v.Id }).(pulumi.StringOutput)
   143  }
   144  
   145  // The CIDRs provisioned into the IPAM pool, described below.
   146  func (o GetVpcIpamPoolCidrsResultOutput) IpamPoolCidrs() GetVpcIpamPoolCidrsIpamPoolCidrArrayOutput {
   147  	return o.ApplyT(func(v GetVpcIpamPoolCidrsResult) []GetVpcIpamPoolCidrsIpamPoolCidr { return v.IpamPoolCidrs }).(GetVpcIpamPoolCidrsIpamPoolCidrArrayOutput)
   148  }
   149  
   150  func (o GetVpcIpamPoolCidrsResultOutput) IpamPoolId() pulumi.StringOutput {
   151  	return o.ApplyT(func(v GetVpcIpamPoolCidrsResult) string { return v.IpamPoolId }).(pulumi.StringOutput)
   152  }
   153  
   154  func init() {
   155  	pulumi.RegisterOutputType(GetVpcIpamPoolCidrsResultOutput{})
   156  }