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 }