github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ec2/defaultVpc.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 // Provides a resource to manage the [default AWS VPC](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html) 15 // in the current AWS Region. 16 // 17 // If you created your AWS account after 2013-12-04 you have a default VPC in each AWS Region. 18 // 19 // **This is an advanced resource** and has special caveats to be aware of when using it. Please read this document in its entirety before using this resource. 20 // 21 // The `ec2.DefaultVpc` resource behaves differently from normal resources in that if a default VPC exists, this provider does not _create_ this resource, but instead "adopts" it into management. 22 // If no default VPC exists, the provider creates a new default VPC, which leads to the implicit creation of [other resources](https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html#default-vpc-components). 23 // By default, `pulumi destroy` does not delete the default VPC but does remove the resource from the state. 24 // Set the `forceDestroy` argument to `true` to delete the default VPC. 25 // 26 // ## Example Usage 27 // 28 // Basic usage with tags: 29 // 30 // <!--Start PulumiCodeChooser --> 31 // ```go 32 // package main 33 // 34 // import ( 35 // 36 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2" 37 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 38 // 39 // ) 40 // 41 // func main() { 42 // pulumi.Run(func(ctx *pulumi.Context) error { 43 // _, err := ec2.NewDefaultVpc(ctx, "default", &ec2.DefaultVpcArgs{ 44 // Tags: pulumi.StringMap{ 45 // "Name": pulumi.String("Default VPC"), 46 // }, 47 // }) 48 // if err != nil { 49 // return err 50 // } 51 // return nil 52 // }) 53 // } 54 // 55 // ``` 56 // <!--End PulumiCodeChooser --> 57 // 58 // ## Import 59 // 60 // Using `pulumi import`, import Default VPCs using the VPC `id`. For example: 61 // 62 // ```sh 63 // $ pulumi import aws:ec2/defaultVpc:DefaultVpc default vpc-a01106c2 64 // ``` 65 type DefaultVpc struct { 66 pulumi.CustomResourceState 67 68 Arn pulumi.StringOutput `pulumi:"arn"` 69 AssignGeneratedIpv6CidrBlock pulumi.BoolPtrOutput `pulumi:"assignGeneratedIpv6CidrBlock"` 70 // The primary IPv4 CIDR block for the VPC 71 CidrBlock pulumi.StringOutput `pulumi:"cidrBlock"` 72 DefaultNetworkAclId pulumi.StringOutput `pulumi:"defaultNetworkAclId"` 73 DefaultRouteTableId pulumi.StringOutput `pulumi:"defaultRouteTableId"` 74 DefaultSecurityGroupId pulumi.StringOutput `pulumi:"defaultSecurityGroupId"` 75 DhcpOptionsId pulumi.StringOutput `pulumi:"dhcpOptionsId"` 76 EnableDnsHostnames pulumi.BoolPtrOutput `pulumi:"enableDnsHostnames"` 77 EnableDnsSupport pulumi.BoolPtrOutput `pulumi:"enableDnsSupport"` 78 EnableNetworkAddressUsageMetrics pulumi.BoolOutput `pulumi:"enableNetworkAddressUsageMetrics"` 79 ExistingDefaultVpc pulumi.BoolOutput `pulumi:"existingDefaultVpc"` 80 // Whether destroying the resource deletes the default VPC. Default: `false` 81 ForceDestroy pulumi.BoolPtrOutput `pulumi:"forceDestroy"` 82 // The allowed tenancy of instances launched into the VPC 83 InstanceTenancy pulumi.StringOutput `pulumi:"instanceTenancy"` 84 Ipv6AssociationId pulumi.StringOutput `pulumi:"ipv6AssociationId"` 85 Ipv6CidrBlock pulumi.StringOutput `pulumi:"ipv6CidrBlock"` 86 Ipv6CidrBlockNetworkBorderGroup pulumi.StringOutput `pulumi:"ipv6CidrBlockNetworkBorderGroup"` 87 Ipv6IpamPoolId pulumi.StringPtrOutput `pulumi:"ipv6IpamPoolId"` 88 Ipv6NetmaskLength pulumi.IntPtrOutput `pulumi:"ipv6NetmaskLength"` 89 MainRouteTableId pulumi.StringOutput `pulumi:"mainRouteTableId"` 90 OwnerId pulumi.StringOutput `pulumi:"ownerId"` 91 Tags pulumi.StringMapOutput `pulumi:"tags"` 92 // Deprecated: Please use `tags` instead. 93 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 94 } 95 96 // NewDefaultVpc registers a new resource with the given unique name, arguments, and options. 97 func NewDefaultVpc(ctx *pulumi.Context, 98 name string, args *DefaultVpcArgs, opts ...pulumi.ResourceOption) (*DefaultVpc, error) { 99 if args == nil { 100 args = &DefaultVpcArgs{} 101 } 102 103 opts = internal.PkgResourceDefaultOpts(opts) 104 var resource DefaultVpc 105 err := ctx.RegisterResource("aws:ec2/defaultVpc:DefaultVpc", name, args, &resource, opts...) 106 if err != nil { 107 return nil, err 108 } 109 return &resource, nil 110 } 111 112 // GetDefaultVpc gets an existing DefaultVpc resource's state with the given name, ID, and optional 113 // state properties that are used to uniquely qualify the lookup (nil if not required). 114 func GetDefaultVpc(ctx *pulumi.Context, 115 name string, id pulumi.IDInput, state *DefaultVpcState, opts ...pulumi.ResourceOption) (*DefaultVpc, error) { 116 var resource DefaultVpc 117 err := ctx.ReadResource("aws:ec2/defaultVpc:DefaultVpc", name, id, state, &resource, opts...) 118 if err != nil { 119 return nil, err 120 } 121 return &resource, nil 122 } 123 124 // Input properties used for looking up and filtering DefaultVpc resources. 125 type defaultVpcState struct { 126 Arn *string `pulumi:"arn"` 127 AssignGeneratedIpv6CidrBlock *bool `pulumi:"assignGeneratedIpv6CidrBlock"` 128 // The primary IPv4 CIDR block for the VPC 129 CidrBlock *string `pulumi:"cidrBlock"` 130 DefaultNetworkAclId *string `pulumi:"defaultNetworkAclId"` 131 DefaultRouteTableId *string `pulumi:"defaultRouteTableId"` 132 DefaultSecurityGroupId *string `pulumi:"defaultSecurityGroupId"` 133 DhcpOptionsId *string `pulumi:"dhcpOptionsId"` 134 EnableDnsHostnames *bool `pulumi:"enableDnsHostnames"` 135 EnableDnsSupport *bool `pulumi:"enableDnsSupport"` 136 EnableNetworkAddressUsageMetrics *bool `pulumi:"enableNetworkAddressUsageMetrics"` 137 ExistingDefaultVpc *bool `pulumi:"existingDefaultVpc"` 138 // Whether destroying the resource deletes the default VPC. Default: `false` 139 ForceDestroy *bool `pulumi:"forceDestroy"` 140 // The allowed tenancy of instances launched into the VPC 141 InstanceTenancy *string `pulumi:"instanceTenancy"` 142 Ipv6AssociationId *string `pulumi:"ipv6AssociationId"` 143 Ipv6CidrBlock *string `pulumi:"ipv6CidrBlock"` 144 Ipv6CidrBlockNetworkBorderGroup *string `pulumi:"ipv6CidrBlockNetworkBorderGroup"` 145 Ipv6IpamPoolId *string `pulumi:"ipv6IpamPoolId"` 146 Ipv6NetmaskLength *int `pulumi:"ipv6NetmaskLength"` 147 MainRouteTableId *string `pulumi:"mainRouteTableId"` 148 OwnerId *string `pulumi:"ownerId"` 149 Tags map[string]string `pulumi:"tags"` 150 // Deprecated: Please use `tags` instead. 151 TagsAll map[string]string `pulumi:"tagsAll"` 152 } 153 154 type DefaultVpcState struct { 155 Arn pulumi.StringPtrInput 156 AssignGeneratedIpv6CidrBlock pulumi.BoolPtrInput 157 // The primary IPv4 CIDR block for the VPC 158 CidrBlock pulumi.StringPtrInput 159 DefaultNetworkAclId pulumi.StringPtrInput 160 DefaultRouteTableId pulumi.StringPtrInput 161 DefaultSecurityGroupId pulumi.StringPtrInput 162 DhcpOptionsId pulumi.StringPtrInput 163 EnableDnsHostnames pulumi.BoolPtrInput 164 EnableDnsSupport pulumi.BoolPtrInput 165 EnableNetworkAddressUsageMetrics pulumi.BoolPtrInput 166 ExistingDefaultVpc pulumi.BoolPtrInput 167 // Whether destroying the resource deletes the default VPC. Default: `false` 168 ForceDestroy pulumi.BoolPtrInput 169 // The allowed tenancy of instances launched into the VPC 170 InstanceTenancy pulumi.StringPtrInput 171 Ipv6AssociationId pulumi.StringPtrInput 172 Ipv6CidrBlock pulumi.StringPtrInput 173 Ipv6CidrBlockNetworkBorderGroup pulumi.StringPtrInput 174 Ipv6IpamPoolId pulumi.StringPtrInput 175 Ipv6NetmaskLength pulumi.IntPtrInput 176 MainRouteTableId pulumi.StringPtrInput 177 OwnerId pulumi.StringPtrInput 178 Tags pulumi.StringMapInput 179 // Deprecated: Please use `tags` instead. 180 TagsAll pulumi.StringMapInput 181 } 182 183 func (DefaultVpcState) ElementType() reflect.Type { 184 return reflect.TypeOf((*defaultVpcState)(nil)).Elem() 185 } 186 187 type defaultVpcArgs struct { 188 AssignGeneratedIpv6CidrBlock *bool `pulumi:"assignGeneratedIpv6CidrBlock"` 189 EnableDnsHostnames *bool `pulumi:"enableDnsHostnames"` 190 EnableDnsSupport *bool `pulumi:"enableDnsSupport"` 191 EnableNetworkAddressUsageMetrics *bool `pulumi:"enableNetworkAddressUsageMetrics"` 192 // Whether destroying the resource deletes the default VPC. Default: `false` 193 ForceDestroy *bool `pulumi:"forceDestroy"` 194 Ipv6CidrBlock *string `pulumi:"ipv6CidrBlock"` 195 Ipv6CidrBlockNetworkBorderGroup *string `pulumi:"ipv6CidrBlockNetworkBorderGroup"` 196 Ipv6IpamPoolId *string `pulumi:"ipv6IpamPoolId"` 197 Ipv6NetmaskLength *int `pulumi:"ipv6NetmaskLength"` 198 Tags map[string]string `pulumi:"tags"` 199 } 200 201 // The set of arguments for constructing a DefaultVpc resource. 202 type DefaultVpcArgs struct { 203 AssignGeneratedIpv6CidrBlock pulumi.BoolPtrInput 204 EnableDnsHostnames pulumi.BoolPtrInput 205 EnableDnsSupport pulumi.BoolPtrInput 206 EnableNetworkAddressUsageMetrics pulumi.BoolPtrInput 207 // Whether destroying the resource deletes the default VPC. Default: `false` 208 ForceDestroy pulumi.BoolPtrInput 209 Ipv6CidrBlock pulumi.StringPtrInput 210 Ipv6CidrBlockNetworkBorderGroup pulumi.StringPtrInput 211 Ipv6IpamPoolId pulumi.StringPtrInput 212 Ipv6NetmaskLength pulumi.IntPtrInput 213 Tags pulumi.StringMapInput 214 } 215 216 func (DefaultVpcArgs) ElementType() reflect.Type { 217 return reflect.TypeOf((*defaultVpcArgs)(nil)).Elem() 218 } 219 220 type DefaultVpcInput interface { 221 pulumi.Input 222 223 ToDefaultVpcOutput() DefaultVpcOutput 224 ToDefaultVpcOutputWithContext(ctx context.Context) DefaultVpcOutput 225 } 226 227 func (*DefaultVpc) ElementType() reflect.Type { 228 return reflect.TypeOf((**DefaultVpc)(nil)).Elem() 229 } 230 231 func (i *DefaultVpc) ToDefaultVpcOutput() DefaultVpcOutput { 232 return i.ToDefaultVpcOutputWithContext(context.Background()) 233 } 234 235 func (i *DefaultVpc) ToDefaultVpcOutputWithContext(ctx context.Context) DefaultVpcOutput { 236 return pulumi.ToOutputWithContext(ctx, i).(DefaultVpcOutput) 237 } 238 239 // DefaultVpcArrayInput is an input type that accepts DefaultVpcArray and DefaultVpcArrayOutput values. 240 // You can construct a concrete instance of `DefaultVpcArrayInput` via: 241 // 242 // DefaultVpcArray{ DefaultVpcArgs{...} } 243 type DefaultVpcArrayInput interface { 244 pulumi.Input 245 246 ToDefaultVpcArrayOutput() DefaultVpcArrayOutput 247 ToDefaultVpcArrayOutputWithContext(context.Context) DefaultVpcArrayOutput 248 } 249 250 type DefaultVpcArray []DefaultVpcInput 251 252 func (DefaultVpcArray) ElementType() reflect.Type { 253 return reflect.TypeOf((*[]*DefaultVpc)(nil)).Elem() 254 } 255 256 func (i DefaultVpcArray) ToDefaultVpcArrayOutput() DefaultVpcArrayOutput { 257 return i.ToDefaultVpcArrayOutputWithContext(context.Background()) 258 } 259 260 func (i DefaultVpcArray) ToDefaultVpcArrayOutputWithContext(ctx context.Context) DefaultVpcArrayOutput { 261 return pulumi.ToOutputWithContext(ctx, i).(DefaultVpcArrayOutput) 262 } 263 264 // DefaultVpcMapInput is an input type that accepts DefaultVpcMap and DefaultVpcMapOutput values. 265 // You can construct a concrete instance of `DefaultVpcMapInput` via: 266 // 267 // DefaultVpcMap{ "key": DefaultVpcArgs{...} } 268 type DefaultVpcMapInput interface { 269 pulumi.Input 270 271 ToDefaultVpcMapOutput() DefaultVpcMapOutput 272 ToDefaultVpcMapOutputWithContext(context.Context) DefaultVpcMapOutput 273 } 274 275 type DefaultVpcMap map[string]DefaultVpcInput 276 277 func (DefaultVpcMap) ElementType() reflect.Type { 278 return reflect.TypeOf((*map[string]*DefaultVpc)(nil)).Elem() 279 } 280 281 func (i DefaultVpcMap) ToDefaultVpcMapOutput() DefaultVpcMapOutput { 282 return i.ToDefaultVpcMapOutputWithContext(context.Background()) 283 } 284 285 func (i DefaultVpcMap) ToDefaultVpcMapOutputWithContext(ctx context.Context) DefaultVpcMapOutput { 286 return pulumi.ToOutputWithContext(ctx, i).(DefaultVpcMapOutput) 287 } 288 289 type DefaultVpcOutput struct{ *pulumi.OutputState } 290 291 func (DefaultVpcOutput) ElementType() reflect.Type { 292 return reflect.TypeOf((**DefaultVpc)(nil)).Elem() 293 } 294 295 func (o DefaultVpcOutput) ToDefaultVpcOutput() DefaultVpcOutput { 296 return o 297 } 298 299 func (o DefaultVpcOutput) ToDefaultVpcOutputWithContext(ctx context.Context) DefaultVpcOutput { 300 return o 301 } 302 303 func (o DefaultVpcOutput) Arn() pulumi.StringOutput { 304 return o.ApplyT(func(v *DefaultVpc) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 305 } 306 307 func (o DefaultVpcOutput) AssignGeneratedIpv6CidrBlock() pulumi.BoolPtrOutput { 308 return o.ApplyT(func(v *DefaultVpc) pulumi.BoolPtrOutput { return v.AssignGeneratedIpv6CidrBlock }).(pulumi.BoolPtrOutput) 309 } 310 311 // The primary IPv4 CIDR block for the VPC 312 func (o DefaultVpcOutput) CidrBlock() pulumi.StringOutput { 313 return o.ApplyT(func(v *DefaultVpc) pulumi.StringOutput { return v.CidrBlock }).(pulumi.StringOutput) 314 } 315 316 func (o DefaultVpcOutput) DefaultNetworkAclId() pulumi.StringOutput { 317 return o.ApplyT(func(v *DefaultVpc) pulumi.StringOutput { return v.DefaultNetworkAclId }).(pulumi.StringOutput) 318 } 319 320 func (o DefaultVpcOutput) DefaultRouteTableId() pulumi.StringOutput { 321 return o.ApplyT(func(v *DefaultVpc) pulumi.StringOutput { return v.DefaultRouteTableId }).(pulumi.StringOutput) 322 } 323 324 func (o DefaultVpcOutput) DefaultSecurityGroupId() pulumi.StringOutput { 325 return o.ApplyT(func(v *DefaultVpc) pulumi.StringOutput { return v.DefaultSecurityGroupId }).(pulumi.StringOutput) 326 } 327 328 func (o DefaultVpcOutput) DhcpOptionsId() pulumi.StringOutput { 329 return o.ApplyT(func(v *DefaultVpc) pulumi.StringOutput { return v.DhcpOptionsId }).(pulumi.StringOutput) 330 } 331 332 func (o DefaultVpcOutput) EnableDnsHostnames() pulumi.BoolPtrOutput { 333 return o.ApplyT(func(v *DefaultVpc) pulumi.BoolPtrOutput { return v.EnableDnsHostnames }).(pulumi.BoolPtrOutput) 334 } 335 336 func (o DefaultVpcOutput) EnableDnsSupport() pulumi.BoolPtrOutput { 337 return o.ApplyT(func(v *DefaultVpc) pulumi.BoolPtrOutput { return v.EnableDnsSupport }).(pulumi.BoolPtrOutput) 338 } 339 340 func (o DefaultVpcOutput) EnableNetworkAddressUsageMetrics() pulumi.BoolOutput { 341 return o.ApplyT(func(v *DefaultVpc) pulumi.BoolOutput { return v.EnableNetworkAddressUsageMetrics }).(pulumi.BoolOutput) 342 } 343 344 func (o DefaultVpcOutput) ExistingDefaultVpc() pulumi.BoolOutput { 345 return o.ApplyT(func(v *DefaultVpc) pulumi.BoolOutput { return v.ExistingDefaultVpc }).(pulumi.BoolOutput) 346 } 347 348 // Whether destroying the resource deletes the default VPC. Default: `false` 349 func (o DefaultVpcOutput) ForceDestroy() pulumi.BoolPtrOutput { 350 return o.ApplyT(func(v *DefaultVpc) pulumi.BoolPtrOutput { return v.ForceDestroy }).(pulumi.BoolPtrOutput) 351 } 352 353 // The allowed tenancy of instances launched into the VPC 354 func (o DefaultVpcOutput) InstanceTenancy() pulumi.StringOutput { 355 return o.ApplyT(func(v *DefaultVpc) pulumi.StringOutput { return v.InstanceTenancy }).(pulumi.StringOutput) 356 } 357 358 func (o DefaultVpcOutput) Ipv6AssociationId() pulumi.StringOutput { 359 return o.ApplyT(func(v *DefaultVpc) pulumi.StringOutput { return v.Ipv6AssociationId }).(pulumi.StringOutput) 360 } 361 362 func (o DefaultVpcOutput) Ipv6CidrBlock() pulumi.StringOutput { 363 return o.ApplyT(func(v *DefaultVpc) pulumi.StringOutput { return v.Ipv6CidrBlock }).(pulumi.StringOutput) 364 } 365 366 func (o DefaultVpcOutput) Ipv6CidrBlockNetworkBorderGroup() pulumi.StringOutput { 367 return o.ApplyT(func(v *DefaultVpc) pulumi.StringOutput { return v.Ipv6CidrBlockNetworkBorderGroup }).(pulumi.StringOutput) 368 } 369 370 func (o DefaultVpcOutput) Ipv6IpamPoolId() pulumi.StringPtrOutput { 371 return o.ApplyT(func(v *DefaultVpc) pulumi.StringPtrOutput { return v.Ipv6IpamPoolId }).(pulumi.StringPtrOutput) 372 } 373 374 func (o DefaultVpcOutput) Ipv6NetmaskLength() pulumi.IntPtrOutput { 375 return o.ApplyT(func(v *DefaultVpc) pulumi.IntPtrOutput { return v.Ipv6NetmaskLength }).(pulumi.IntPtrOutput) 376 } 377 378 func (o DefaultVpcOutput) MainRouteTableId() pulumi.StringOutput { 379 return o.ApplyT(func(v *DefaultVpc) pulumi.StringOutput { return v.MainRouteTableId }).(pulumi.StringOutput) 380 } 381 382 func (o DefaultVpcOutput) OwnerId() pulumi.StringOutput { 383 return o.ApplyT(func(v *DefaultVpc) pulumi.StringOutput { return v.OwnerId }).(pulumi.StringOutput) 384 } 385 386 func (o DefaultVpcOutput) Tags() pulumi.StringMapOutput { 387 return o.ApplyT(func(v *DefaultVpc) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 388 } 389 390 // Deprecated: Please use `tags` instead. 391 func (o DefaultVpcOutput) TagsAll() pulumi.StringMapOutput { 392 return o.ApplyT(func(v *DefaultVpc) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 393 } 394 395 type DefaultVpcArrayOutput struct{ *pulumi.OutputState } 396 397 func (DefaultVpcArrayOutput) ElementType() reflect.Type { 398 return reflect.TypeOf((*[]*DefaultVpc)(nil)).Elem() 399 } 400 401 func (o DefaultVpcArrayOutput) ToDefaultVpcArrayOutput() DefaultVpcArrayOutput { 402 return o 403 } 404 405 func (o DefaultVpcArrayOutput) ToDefaultVpcArrayOutputWithContext(ctx context.Context) DefaultVpcArrayOutput { 406 return o 407 } 408 409 func (o DefaultVpcArrayOutput) Index(i pulumi.IntInput) DefaultVpcOutput { 410 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DefaultVpc { 411 return vs[0].([]*DefaultVpc)[vs[1].(int)] 412 }).(DefaultVpcOutput) 413 } 414 415 type DefaultVpcMapOutput struct{ *pulumi.OutputState } 416 417 func (DefaultVpcMapOutput) ElementType() reflect.Type { 418 return reflect.TypeOf((*map[string]*DefaultVpc)(nil)).Elem() 419 } 420 421 func (o DefaultVpcMapOutput) ToDefaultVpcMapOutput() DefaultVpcMapOutput { 422 return o 423 } 424 425 func (o DefaultVpcMapOutput) ToDefaultVpcMapOutputWithContext(ctx context.Context) DefaultVpcMapOutput { 426 return o 427 } 428 429 func (o DefaultVpcMapOutput) MapIndex(k pulumi.StringInput) DefaultVpcOutput { 430 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DefaultVpc { 431 return vs[0].(map[string]*DefaultVpc)[vs[1].(string)] 432 }).(DefaultVpcOutput) 433 } 434 435 func init() { 436 pulumi.RegisterInputType(reflect.TypeOf((*DefaultVpcInput)(nil)).Elem(), &DefaultVpc{}) 437 pulumi.RegisterInputType(reflect.TypeOf((*DefaultVpcArrayInput)(nil)).Elem(), DefaultVpcArray{}) 438 pulumi.RegisterInputType(reflect.TypeOf((*DefaultVpcMapInput)(nil)).Elem(), DefaultVpcMap{}) 439 pulumi.RegisterOutputType(DefaultVpcOutput{}) 440 pulumi.RegisterOutputType(DefaultVpcArrayOutput{}) 441 pulumi.RegisterOutputType(DefaultVpcMapOutput{}) 442 }