github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ec2/getVpcIamPoolCidrs.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  //
    69  // Deprecated: aws.ec2/getvpciampoolcidrs.getVpcIamPoolCidrs has been deprecated in favor of aws.ec2/getvpcipampoolcidrs.getVpcIpamPoolCidrs
    70  func GetVpcIamPoolCidrs(ctx *pulumi.Context, args *GetVpcIamPoolCidrsArgs, opts ...pulumi.InvokeOption) (*GetVpcIamPoolCidrsResult, error) {
    71  	opts = internal.PkgInvokeDefaultOpts(opts)
    72  	var rv GetVpcIamPoolCidrsResult
    73  	err := ctx.Invoke("aws:ec2/getVpcIamPoolCidrs:getVpcIamPoolCidrs", args, &rv, opts...)
    74  	if err != nil {
    75  		return nil, err
    76  	}
    77  	return &rv, nil
    78  }
    79  
    80  // A collection of arguments for invoking getVpcIamPoolCidrs.
    81  type GetVpcIamPoolCidrsArgs struct {
    82  	// Custom filter block as described below.
    83  	Filters []GetVpcIamPoolCidrsFilter `pulumi:"filters"`
    84  	// ID of the IPAM pool you would like the list of provisioned CIDRs.
    85  	IpamPoolId string `pulumi:"ipamPoolId"`
    86  }
    87  
    88  // A collection of values returned by getVpcIamPoolCidrs.
    89  type GetVpcIamPoolCidrsResult struct {
    90  	Filters []GetVpcIamPoolCidrsFilter `pulumi:"filters"`
    91  	// The provider-assigned unique ID for this managed resource.
    92  	Id string `pulumi:"id"`
    93  	// The CIDRs provisioned into the IPAM pool, described below.
    94  	IpamPoolCidrs []GetVpcIamPoolCidrsIpamPoolCidr `pulumi:"ipamPoolCidrs"`
    95  	IpamPoolId    string                           `pulumi:"ipamPoolId"`
    96  }
    97  
    98  func GetVpcIamPoolCidrsOutput(ctx *pulumi.Context, args GetVpcIamPoolCidrsOutputArgs, opts ...pulumi.InvokeOption) GetVpcIamPoolCidrsResultOutput {
    99  	return pulumi.ToOutputWithContext(context.Background(), args).
   100  		ApplyT(func(v interface{}) (GetVpcIamPoolCidrsResult, error) {
   101  			args := v.(GetVpcIamPoolCidrsArgs)
   102  			r, err := GetVpcIamPoolCidrs(ctx, &args, opts...)
   103  			var s GetVpcIamPoolCidrsResult
   104  			if r != nil {
   105  				s = *r
   106  			}
   107  			return s, err
   108  		}).(GetVpcIamPoolCidrsResultOutput)
   109  }
   110  
   111  // A collection of arguments for invoking getVpcIamPoolCidrs.
   112  type GetVpcIamPoolCidrsOutputArgs struct {
   113  	// Custom filter block as described below.
   114  	Filters GetVpcIamPoolCidrsFilterArrayInput `pulumi:"filters"`
   115  	// ID of the IPAM pool you would like the list of provisioned CIDRs.
   116  	IpamPoolId pulumi.StringInput `pulumi:"ipamPoolId"`
   117  }
   118  
   119  func (GetVpcIamPoolCidrsOutputArgs) ElementType() reflect.Type {
   120  	return reflect.TypeOf((*GetVpcIamPoolCidrsArgs)(nil)).Elem()
   121  }
   122  
   123  // A collection of values returned by getVpcIamPoolCidrs.
   124  type GetVpcIamPoolCidrsResultOutput struct{ *pulumi.OutputState }
   125  
   126  func (GetVpcIamPoolCidrsResultOutput) ElementType() reflect.Type {
   127  	return reflect.TypeOf((*GetVpcIamPoolCidrsResult)(nil)).Elem()
   128  }
   129  
   130  func (o GetVpcIamPoolCidrsResultOutput) ToGetVpcIamPoolCidrsResultOutput() GetVpcIamPoolCidrsResultOutput {
   131  	return o
   132  }
   133  
   134  func (o GetVpcIamPoolCidrsResultOutput) ToGetVpcIamPoolCidrsResultOutputWithContext(ctx context.Context) GetVpcIamPoolCidrsResultOutput {
   135  	return o
   136  }
   137  
   138  func (o GetVpcIamPoolCidrsResultOutput) Filters() GetVpcIamPoolCidrsFilterArrayOutput {
   139  	return o.ApplyT(func(v GetVpcIamPoolCidrsResult) []GetVpcIamPoolCidrsFilter { return v.Filters }).(GetVpcIamPoolCidrsFilterArrayOutput)
   140  }
   141  
   142  // The provider-assigned unique ID for this managed resource.
   143  func (o GetVpcIamPoolCidrsResultOutput) Id() pulumi.StringOutput {
   144  	return o.ApplyT(func(v GetVpcIamPoolCidrsResult) string { return v.Id }).(pulumi.StringOutput)
   145  }
   146  
   147  // The CIDRs provisioned into the IPAM pool, described below.
   148  func (o GetVpcIamPoolCidrsResultOutput) IpamPoolCidrs() GetVpcIamPoolCidrsIpamPoolCidrArrayOutput {
   149  	return o.ApplyT(func(v GetVpcIamPoolCidrsResult) []GetVpcIamPoolCidrsIpamPoolCidr { return v.IpamPoolCidrs }).(GetVpcIamPoolCidrsIpamPoolCidrArrayOutput)
   150  }
   151  
   152  func (o GetVpcIamPoolCidrsResultOutput) IpamPoolId() pulumi.StringOutput {
   153  	return o.ApplyT(func(v GetVpcIamPoolCidrsResult) string { return v.IpamPoolId }).(pulumi.StringOutput)
   154  }
   155  
   156  func init() {
   157  	pulumi.RegisterOutputType(GetVpcIamPoolCidrsResultOutput{})
   158  }