github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ec2/vpcIpamPreviewNextCidr.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 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // Previews a CIDR from an IPAM address pool. Only works for private IPv4. 16 // 17 // ## Example Usage 18 // 19 // Basic usage: 20 // 21 // <!--Start PulumiCodeChooser --> 22 // ```go 23 // package main 24 // 25 // import ( 26 // 27 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws" 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 // current, err := aws.GetRegion(ctx, nil, nil) 36 // if err != nil { 37 // return err 38 // } 39 // exampleVpcIpam, err := ec2.NewVpcIpam(ctx, "example", &ec2.VpcIpamArgs{ 40 // OperatingRegions: ec2.VpcIpamOperatingRegionArray{ 41 // &ec2.VpcIpamOperatingRegionArgs{ 42 // RegionName: pulumi.String(current.Name), 43 // }, 44 // }, 45 // }) 46 // if err != nil { 47 // return err 48 // } 49 // exampleVpcIpamPool, err := ec2.NewVpcIpamPool(ctx, "example", &ec2.VpcIpamPoolArgs{ 50 // AddressFamily: pulumi.String("ipv4"), 51 // IpamScopeId: exampleVpcIpam.PrivateDefaultScopeId, 52 // Locale: pulumi.String(current.Name), 53 // }) 54 // if err != nil { 55 // return err 56 // } 57 // exampleVpcIpamPoolCidr, err := ec2.NewVpcIpamPoolCidr(ctx, "example", &ec2.VpcIpamPoolCidrArgs{ 58 // IpamPoolId: exampleVpcIpamPool.ID(), 59 // Cidr: pulumi.String("172.20.0.0/16"), 60 // }) 61 // if err != nil { 62 // return err 63 // } 64 // _, err = ec2.NewVpcIpamPreviewNextCidr(ctx, "example", &ec2.VpcIpamPreviewNextCidrArgs{ 65 // IpamPoolId: exampleVpcIpamPool.ID(), 66 // NetmaskLength: pulumi.Int(28), 67 // DisallowedCidrs: pulumi.StringArray{ 68 // pulumi.String("172.2.0.0/32"), 69 // }, 70 // }, pulumi.DependsOn([]pulumi.Resource{ 71 // exampleVpcIpamPoolCidr, 72 // })) 73 // if err != nil { 74 // return err 75 // } 76 // return nil 77 // }) 78 // } 79 // 80 // ``` 81 // <!--End PulumiCodeChooser --> 82 type VpcIpamPreviewNextCidr struct { 83 pulumi.CustomResourceState 84 85 // The previewed CIDR from the pool. 86 Cidr pulumi.StringOutput `pulumi:"cidr"` 87 // Exclude a particular CIDR range from being returned by the pool. 88 DisallowedCidrs pulumi.StringArrayOutput `pulumi:"disallowedCidrs"` 89 // The ID of the pool to which you want to assign a CIDR. 90 IpamPoolId pulumi.StringOutput `pulumi:"ipamPoolId"` 91 // The netmask length of the CIDR you would like to preview from the IPAM pool. 92 NetmaskLength pulumi.IntPtrOutput `pulumi:"netmaskLength"` 93 } 94 95 // NewVpcIpamPreviewNextCidr registers a new resource with the given unique name, arguments, and options. 96 func NewVpcIpamPreviewNextCidr(ctx *pulumi.Context, 97 name string, args *VpcIpamPreviewNextCidrArgs, opts ...pulumi.ResourceOption) (*VpcIpamPreviewNextCidr, error) { 98 if args == nil { 99 return nil, errors.New("missing one or more required arguments") 100 } 101 102 if args.IpamPoolId == nil { 103 return nil, errors.New("invalid value for required argument 'IpamPoolId'") 104 } 105 opts = internal.PkgResourceDefaultOpts(opts) 106 var resource VpcIpamPreviewNextCidr 107 err := ctx.RegisterResource("aws:ec2/vpcIpamPreviewNextCidr:VpcIpamPreviewNextCidr", name, args, &resource, opts...) 108 if err != nil { 109 return nil, err 110 } 111 return &resource, nil 112 } 113 114 // GetVpcIpamPreviewNextCidr gets an existing VpcIpamPreviewNextCidr resource's state with the given name, ID, and optional 115 // state properties that are used to uniquely qualify the lookup (nil if not required). 116 func GetVpcIpamPreviewNextCidr(ctx *pulumi.Context, 117 name string, id pulumi.IDInput, state *VpcIpamPreviewNextCidrState, opts ...pulumi.ResourceOption) (*VpcIpamPreviewNextCidr, error) { 118 var resource VpcIpamPreviewNextCidr 119 err := ctx.ReadResource("aws:ec2/vpcIpamPreviewNextCidr:VpcIpamPreviewNextCidr", name, id, state, &resource, opts...) 120 if err != nil { 121 return nil, err 122 } 123 return &resource, nil 124 } 125 126 // Input properties used for looking up and filtering VpcIpamPreviewNextCidr resources. 127 type vpcIpamPreviewNextCidrState struct { 128 // The previewed CIDR from the pool. 129 Cidr *string `pulumi:"cidr"` 130 // Exclude a particular CIDR range from being returned by the pool. 131 DisallowedCidrs []string `pulumi:"disallowedCidrs"` 132 // The ID of the pool to which you want to assign a CIDR. 133 IpamPoolId *string `pulumi:"ipamPoolId"` 134 // The netmask length of the CIDR you would like to preview from the IPAM pool. 135 NetmaskLength *int `pulumi:"netmaskLength"` 136 } 137 138 type VpcIpamPreviewNextCidrState struct { 139 // The previewed CIDR from the pool. 140 Cidr pulumi.StringPtrInput 141 // Exclude a particular CIDR range from being returned by the pool. 142 DisallowedCidrs pulumi.StringArrayInput 143 // The ID of the pool to which you want to assign a CIDR. 144 IpamPoolId pulumi.StringPtrInput 145 // The netmask length of the CIDR you would like to preview from the IPAM pool. 146 NetmaskLength pulumi.IntPtrInput 147 } 148 149 func (VpcIpamPreviewNextCidrState) ElementType() reflect.Type { 150 return reflect.TypeOf((*vpcIpamPreviewNextCidrState)(nil)).Elem() 151 } 152 153 type vpcIpamPreviewNextCidrArgs struct { 154 // Exclude a particular CIDR range from being returned by the pool. 155 DisallowedCidrs []string `pulumi:"disallowedCidrs"` 156 // The ID of the pool to which you want to assign a CIDR. 157 IpamPoolId string `pulumi:"ipamPoolId"` 158 // The netmask length of the CIDR you would like to preview from the IPAM pool. 159 NetmaskLength *int `pulumi:"netmaskLength"` 160 } 161 162 // The set of arguments for constructing a VpcIpamPreviewNextCidr resource. 163 type VpcIpamPreviewNextCidrArgs struct { 164 // Exclude a particular CIDR range from being returned by the pool. 165 DisallowedCidrs pulumi.StringArrayInput 166 // The ID of the pool to which you want to assign a CIDR. 167 IpamPoolId pulumi.StringInput 168 // The netmask length of the CIDR you would like to preview from the IPAM pool. 169 NetmaskLength pulumi.IntPtrInput 170 } 171 172 func (VpcIpamPreviewNextCidrArgs) ElementType() reflect.Type { 173 return reflect.TypeOf((*vpcIpamPreviewNextCidrArgs)(nil)).Elem() 174 } 175 176 type VpcIpamPreviewNextCidrInput interface { 177 pulumi.Input 178 179 ToVpcIpamPreviewNextCidrOutput() VpcIpamPreviewNextCidrOutput 180 ToVpcIpamPreviewNextCidrOutputWithContext(ctx context.Context) VpcIpamPreviewNextCidrOutput 181 } 182 183 func (*VpcIpamPreviewNextCidr) ElementType() reflect.Type { 184 return reflect.TypeOf((**VpcIpamPreviewNextCidr)(nil)).Elem() 185 } 186 187 func (i *VpcIpamPreviewNextCidr) ToVpcIpamPreviewNextCidrOutput() VpcIpamPreviewNextCidrOutput { 188 return i.ToVpcIpamPreviewNextCidrOutputWithContext(context.Background()) 189 } 190 191 func (i *VpcIpamPreviewNextCidr) ToVpcIpamPreviewNextCidrOutputWithContext(ctx context.Context) VpcIpamPreviewNextCidrOutput { 192 return pulumi.ToOutputWithContext(ctx, i).(VpcIpamPreviewNextCidrOutput) 193 } 194 195 // VpcIpamPreviewNextCidrArrayInput is an input type that accepts VpcIpamPreviewNextCidrArray and VpcIpamPreviewNextCidrArrayOutput values. 196 // You can construct a concrete instance of `VpcIpamPreviewNextCidrArrayInput` via: 197 // 198 // VpcIpamPreviewNextCidrArray{ VpcIpamPreviewNextCidrArgs{...} } 199 type VpcIpamPreviewNextCidrArrayInput interface { 200 pulumi.Input 201 202 ToVpcIpamPreviewNextCidrArrayOutput() VpcIpamPreviewNextCidrArrayOutput 203 ToVpcIpamPreviewNextCidrArrayOutputWithContext(context.Context) VpcIpamPreviewNextCidrArrayOutput 204 } 205 206 type VpcIpamPreviewNextCidrArray []VpcIpamPreviewNextCidrInput 207 208 func (VpcIpamPreviewNextCidrArray) ElementType() reflect.Type { 209 return reflect.TypeOf((*[]*VpcIpamPreviewNextCidr)(nil)).Elem() 210 } 211 212 func (i VpcIpamPreviewNextCidrArray) ToVpcIpamPreviewNextCidrArrayOutput() VpcIpamPreviewNextCidrArrayOutput { 213 return i.ToVpcIpamPreviewNextCidrArrayOutputWithContext(context.Background()) 214 } 215 216 func (i VpcIpamPreviewNextCidrArray) ToVpcIpamPreviewNextCidrArrayOutputWithContext(ctx context.Context) VpcIpamPreviewNextCidrArrayOutput { 217 return pulumi.ToOutputWithContext(ctx, i).(VpcIpamPreviewNextCidrArrayOutput) 218 } 219 220 // VpcIpamPreviewNextCidrMapInput is an input type that accepts VpcIpamPreviewNextCidrMap and VpcIpamPreviewNextCidrMapOutput values. 221 // You can construct a concrete instance of `VpcIpamPreviewNextCidrMapInput` via: 222 // 223 // VpcIpamPreviewNextCidrMap{ "key": VpcIpamPreviewNextCidrArgs{...} } 224 type VpcIpamPreviewNextCidrMapInput interface { 225 pulumi.Input 226 227 ToVpcIpamPreviewNextCidrMapOutput() VpcIpamPreviewNextCidrMapOutput 228 ToVpcIpamPreviewNextCidrMapOutputWithContext(context.Context) VpcIpamPreviewNextCidrMapOutput 229 } 230 231 type VpcIpamPreviewNextCidrMap map[string]VpcIpamPreviewNextCidrInput 232 233 func (VpcIpamPreviewNextCidrMap) ElementType() reflect.Type { 234 return reflect.TypeOf((*map[string]*VpcIpamPreviewNextCidr)(nil)).Elem() 235 } 236 237 func (i VpcIpamPreviewNextCidrMap) ToVpcIpamPreviewNextCidrMapOutput() VpcIpamPreviewNextCidrMapOutput { 238 return i.ToVpcIpamPreviewNextCidrMapOutputWithContext(context.Background()) 239 } 240 241 func (i VpcIpamPreviewNextCidrMap) ToVpcIpamPreviewNextCidrMapOutputWithContext(ctx context.Context) VpcIpamPreviewNextCidrMapOutput { 242 return pulumi.ToOutputWithContext(ctx, i).(VpcIpamPreviewNextCidrMapOutput) 243 } 244 245 type VpcIpamPreviewNextCidrOutput struct{ *pulumi.OutputState } 246 247 func (VpcIpamPreviewNextCidrOutput) ElementType() reflect.Type { 248 return reflect.TypeOf((**VpcIpamPreviewNextCidr)(nil)).Elem() 249 } 250 251 func (o VpcIpamPreviewNextCidrOutput) ToVpcIpamPreviewNextCidrOutput() VpcIpamPreviewNextCidrOutput { 252 return o 253 } 254 255 func (o VpcIpamPreviewNextCidrOutput) ToVpcIpamPreviewNextCidrOutputWithContext(ctx context.Context) VpcIpamPreviewNextCidrOutput { 256 return o 257 } 258 259 // The previewed CIDR from the pool. 260 func (o VpcIpamPreviewNextCidrOutput) Cidr() pulumi.StringOutput { 261 return o.ApplyT(func(v *VpcIpamPreviewNextCidr) pulumi.StringOutput { return v.Cidr }).(pulumi.StringOutput) 262 } 263 264 // Exclude a particular CIDR range from being returned by the pool. 265 func (o VpcIpamPreviewNextCidrOutput) DisallowedCidrs() pulumi.StringArrayOutput { 266 return o.ApplyT(func(v *VpcIpamPreviewNextCidr) pulumi.StringArrayOutput { return v.DisallowedCidrs }).(pulumi.StringArrayOutput) 267 } 268 269 // The ID of the pool to which you want to assign a CIDR. 270 func (o VpcIpamPreviewNextCidrOutput) IpamPoolId() pulumi.StringOutput { 271 return o.ApplyT(func(v *VpcIpamPreviewNextCidr) pulumi.StringOutput { return v.IpamPoolId }).(pulumi.StringOutput) 272 } 273 274 // The netmask length of the CIDR you would like to preview from the IPAM pool. 275 func (o VpcIpamPreviewNextCidrOutput) NetmaskLength() pulumi.IntPtrOutput { 276 return o.ApplyT(func(v *VpcIpamPreviewNextCidr) pulumi.IntPtrOutput { return v.NetmaskLength }).(pulumi.IntPtrOutput) 277 } 278 279 type VpcIpamPreviewNextCidrArrayOutput struct{ *pulumi.OutputState } 280 281 func (VpcIpamPreviewNextCidrArrayOutput) ElementType() reflect.Type { 282 return reflect.TypeOf((*[]*VpcIpamPreviewNextCidr)(nil)).Elem() 283 } 284 285 func (o VpcIpamPreviewNextCidrArrayOutput) ToVpcIpamPreviewNextCidrArrayOutput() VpcIpamPreviewNextCidrArrayOutput { 286 return o 287 } 288 289 func (o VpcIpamPreviewNextCidrArrayOutput) ToVpcIpamPreviewNextCidrArrayOutputWithContext(ctx context.Context) VpcIpamPreviewNextCidrArrayOutput { 290 return o 291 } 292 293 func (o VpcIpamPreviewNextCidrArrayOutput) Index(i pulumi.IntInput) VpcIpamPreviewNextCidrOutput { 294 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VpcIpamPreviewNextCidr { 295 return vs[0].([]*VpcIpamPreviewNextCidr)[vs[1].(int)] 296 }).(VpcIpamPreviewNextCidrOutput) 297 } 298 299 type VpcIpamPreviewNextCidrMapOutput struct{ *pulumi.OutputState } 300 301 func (VpcIpamPreviewNextCidrMapOutput) ElementType() reflect.Type { 302 return reflect.TypeOf((*map[string]*VpcIpamPreviewNextCidr)(nil)).Elem() 303 } 304 305 func (o VpcIpamPreviewNextCidrMapOutput) ToVpcIpamPreviewNextCidrMapOutput() VpcIpamPreviewNextCidrMapOutput { 306 return o 307 } 308 309 func (o VpcIpamPreviewNextCidrMapOutput) ToVpcIpamPreviewNextCidrMapOutputWithContext(ctx context.Context) VpcIpamPreviewNextCidrMapOutput { 310 return o 311 } 312 313 func (o VpcIpamPreviewNextCidrMapOutput) MapIndex(k pulumi.StringInput) VpcIpamPreviewNextCidrOutput { 314 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VpcIpamPreviewNextCidr { 315 return vs[0].(map[string]*VpcIpamPreviewNextCidr)[vs[1].(string)] 316 }).(VpcIpamPreviewNextCidrOutput) 317 } 318 319 func init() { 320 pulumi.RegisterInputType(reflect.TypeOf((*VpcIpamPreviewNextCidrInput)(nil)).Elem(), &VpcIpamPreviewNextCidr{}) 321 pulumi.RegisterInputType(reflect.TypeOf((*VpcIpamPreviewNextCidrArrayInput)(nil)).Elem(), VpcIpamPreviewNextCidrArray{}) 322 pulumi.RegisterInputType(reflect.TypeOf((*VpcIpamPreviewNextCidrMapInput)(nil)).Elem(), VpcIpamPreviewNextCidrMap{}) 323 pulumi.RegisterOutputType(VpcIpamPreviewNextCidrOutput{}) 324 pulumi.RegisterOutputType(VpcIpamPreviewNextCidrArrayOutput{}) 325 pulumi.RegisterOutputType(VpcIpamPreviewNextCidrMapOutput{}) 326 }