github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/rds/reservedInstance.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 rds 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 // Manages an RDS DB Reserved Instance. 16 // 17 // > **NOTE:** Once created, a reservation is valid for the `duration` of the provided `offeringId` and cannot be deleted. Performing a `destroy` will only remove the resource from state. For more information see [RDS Reserved Instances Documentation](https://aws.amazon.com/rds/reserved-instances/) and [PurchaseReservedDBInstancesOffering](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_PurchaseReservedDBInstancesOffering.html). 18 // 19 // > **NOTE:** Due to the expense of testing this resource, we provide it as best effort. If you find it useful, and have the ability to help test or notice issues, consider reaching out to us on GitHub. 20 // 21 // ## Example Usage 22 // 23 // <!--Start PulumiCodeChooser --> 24 // ```go 25 // package main 26 // 27 // import ( 28 // 29 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds" 30 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 31 // 32 // ) 33 // 34 // func main() { 35 // pulumi.Run(func(ctx *pulumi.Context) error { 36 // test, err := rds.GetReservedInstanceOffering(ctx, &rds.GetReservedInstanceOfferingArgs{ 37 // DbInstanceClass: "db.t2.micro", 38 // Duration: 31536000, 39 // MultiAz: false, 40 // OfferingType: "All Upfront", 41 // ProductDescription: "mysql", 42 // }, nil) 43 // if err != nil { 44 // return err 45 // } 46 // _, err = rds.NewReservedInstance(ctx, "example", &rds.ReservedInstanceArgs{ 47 // OfferingId: pulumi.String(test.OfferingId), 48 // ReservationId: pulumi.String("optionalCustomReservationID"), 49 // InstanceCount: pulumi.Int(3), 50 // }) 51 // if err != nil { 52 // return err 53 // } 54 // return nil 55 // }) 56 // } 57 // 58 // ``` 59 // <!--End PulumiCodeChooser --> 60 // 61 // ## Import 62 // 63 // Using `pulumi import`, import RDS DB Instance Reservations using the `instance_id`. For example: 64 // 65 // ```sh 66 // $ pulumi import aws:rds/reservedInstance:ReservedInstance reservation_instance CustomReservationID 67 // ``` 68 type ReservedInstance struct { 69 pulumi.CustomResourceState 70 71 // ARN for the reserved DB instance. 72 Arn pulumi.StringOutput `pulumi:"arn"` 73 // Currency code for the reserved DB instance. 74 CurrencyCode pulumi.StringOutput `pulumi:"currencyCode"` 75 // DB instance class for the reserved DB instance. 76 DbInstanceClass pulumi.StringOutput `pulumi:"dbInstanceClass"` 77 // Duration of the reservation in seconds. 78 Duration pulumi.IntOutput `pulumi:"duration"` 79 // Fixed price charged for this reserved DB instance. 80 FixedPrice pulumi.Float64Output `pulumi:"fixedPrice"` 81 // Number of instances to reserve. Default value is `1`. 82 InstanceCount pulumi.IntPtrOutput `pulumi:"instanceCount"` 83 // Unique identifier for the lease associated with the reserved DB instance. Amazon Web Services Support might request the lease ID for an issue related to a reserved DB instance. 84 LeaseId pulumi.StringOutput `pulumi:"leaseId"` 85 // Whether the reservation applies to Multi-AZ deployments. 86 MultiAz pulumi.BoolOutput `pulumi:"multiAz"` 87 // ID of the Reserved DB instance offering to purchase. To determine an `offeringId`, see the `rds.getReservedInstanceOffering` data source. 88 // 89 // The following arguments are optional: 90 OfferingId pulumi.StringOutput `pulumi:"offeringId"` 91 // Offering type of this reserved DB instance. 92 OfferingType pulumi.StringOutput `pulumi:"offeringType"` 93 // Description of the reserved DB instance. 94 ProductDescription pulumi.StringOutput `pulumi:"productDescription"` 95 // Recurring price charged to run this reserved DB instance. 96 RecurringCharges ReservedInstanceRecurringChargeArrayOutput `pulumi:"recurringCharges"` 97 // Customer-specified identifier to track this reservation. 98 ReservationId pulumi.StringPtrOutput `pulumi:"reservationId"` 99 // Time the reservation started. 100 StartTime pulumi.StringOutput `pulumi:"startTime"` 101 // State of the reserved DB instance. 102 State pulumi.StringOutput `pulumi:"state"` 103 // Map of tags to assign to the DB reservation. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 104 Tags pulumi.StringMapOutput `pulumi:"tags"` 105 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 106 // 107 // Deprecated: Please use `tags` instead. 108 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 109 // Hourly price charged for this reserved DB instance. 110 UsagePrice pulumi.Float64Output `pulumi:"usagePrice"` 111 } 112 113 // NewReservedInstance registers a new resource with the given unique name, arguments, and options. 114 func NewReservedInstance(ctx *pulumi.Context, 115 name string, args *ReservedInstanceArgs, opts ...pulumi.ResourceOption) (*ReservedInstance, error) { 116 if args == nil { 117 return nil, errors.New("missing one or more required arguments") 118 } 119 120 if args.OfferingId == nil { 121 return nil, errors.New("invalid value for required argument 'OfferingId'") 122 } 123 opts = internal.PkgResourceDefaultOpts(opts) 124 var resource ReservedInstance 125 err := ctx.RegisterResource("aws:rds/reservedInstance:ReservedInstance", name, args, &resource, opts...) 126 if err != nil { 127 return nil, err 128 } 129 return &resource, nil 130 } 131 132 // GetReservedInstance gets an existing ReservedInstance resource's state with the given name, ID, and optional 133 // state properties that are used to uniquely qualify the lookup (nil if not required). 134 func GetReservedInstance(ctx *pulumi.Context, 135 name string, id pulumi.IDInput, state *ReservedInstanceState, opts ...pulumi.ResourceOption) (*ReservedInstance, error) { 136 var resource ReservedInstance 137 err := ctx.ReadResource("aws:rds/reservedInstance:ReservedInstance", name, id, state, &resource, opts...) 138 if err != nil { 139 return nil, err 140 } 141 return &resource, nil 142 } 143 144 // Input properties used for looking up and filtering ReservedInstance resources. 145 type reservedInstanceState struct { 146 // ARN for the reserved DB instance. 147 Arn *string `pulumi:"arn"` 148 // Currency code for the reserved DB instance. 149 CurrencyCode *string `pulumi:"currencyCode"` 150 // DB instance class for the reserved DB instance. 151 DbInstanceClass *string `pulumi:"dbInstanceClass"` 152 // Duration of the reservation in seconds. 153 Duration *int `pulumi:"duration"` 154 // Fixed price charged for this reserved DB instance. 155 FixedPrice *float64 `pulumi:"fixedPrice"` 156 // Number of instances to reserve. Default value is `1`. 157 InstanceCount *int `pulumi:"instanceCount"` 158 // Unique identifier for the lease associated with the reserved DB instance. Amazon Web Services Support might request the lease ID for an issue related to a reserved DB instance. 159 LeaseId *string `pulumi:"leaseId"` 160 // Whether the reservation applies to Multi-AZ deployments. 161 MultiAz *bool `pulumi:"multiAz"` 162 // ID of the Reserved DB instance offering to purchase. To determine an `offeringId`, see the `rds.getReservedInstanceOffering` data source. 163 // 164 // The following arguments are optional: 165 OfferingId *string `pulumi:"offeringId"` 166 // Offering type of this reserved DB instance. 167 OfferingType *string `pulumi:"offeringType"` 168 // Description of the reserved DB instance. 169 ProductDescription *string `pulumi:"productDescription"` 170 // Recurring price charged to run this reserved DB instance. 171 RecurringCharges []ReservedInstanceRecurringCharge `pulumi:"recurringCharges"` 172 // Customer-specified identifier to track this reservation. 173 ReservationId *string `pulumi:"reservationId"` 174 // Time the reservation started. 175 StartTime *string `pulumi:"startTime"` 176 // State of the reserved DB instance. 177 State *string `pulumi:"state"` 178 // Map of tags to assign to the DB reservation. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 179 Tags map[string]string `pulumi:"tags"` 180 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 181 // 182 // Deprecated: Please use `tags` instead. 183 TagsAll map[string]string `pulumi:"tagsAll"` 184 // Hourly price charged for this reserved DB instance. 185 UsagePrice *float64 `pulumi:"usagePrice"` 186 } 187 188 type ReservedInstanceState struct { 189 // ARN for the reserved DB instance. 190 Arn pulumi.StringPtrInput 191 // Currency code for the reserved DB instance. 192 CurrencyCode pulumi.StringPtrInput 193 // DB instance class for the reserved DB instance. 194 DbInstanceClass pulumi.StringPtrInput 195 // Duration of the reservation in seconds. 196 Duration pulumi.IntPtrInput 197 // Fixed price charged for this reserved DB instance. 198 FixedPrice pulumi.Float64PtrInput 199 // Number of instances to reserve. Default value is `1`. 200 InstanceCount pulumi.IntPtrInput 201 // Unique identifier for the lease associated with the reserved DB instance. Amazon Web Services Support might request the lease ID for an issue related to a reserved DB instance. 202 LeaseId pulumi.StringPtrInput 203 // Whether the reservation applies to Multi-AZ deployments. 204 MultiAz pulumi.BoolPtrInput 205 // ID of the Reserved DB instance offering to purchase. To determine an `offeringId`, see the `rds.getReservedInstanceOffering` data source. 206 // 207 // The following arguments are optional: 208 OfferingId pulumi.StringPtrInput 209 // Offering type of this reserved DB instance. 210 OfferingType pulumi.StringPtrInput 211 // Description of the reserved DB instance. 212 ProductDescription pulumi.StringPtrInput 213 // Recurring price charged to run this reserved DB instance. 214 RecurringCharges ReservedInstanceRecurringChargeArrayInput 215 // Customer-specified identifier to track this reservation. 216 ReservationId pulumi.StringPtrInput 217 // Time the reservation started. 218 StartTime pulumi.StringPtrInput 219 // State of the reserved DB instance. 220 State pulumi.StringPtrInput 221 // Map of tags to assign to the DB reservation. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 222 Tags pulumi.StringMapInput 223 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 224 // 225 // Deprecated: Please use `tags` instead. 226 TagsAll pulumi.StringMapInput 227 // Hourly price charged for this reserved DB instance. 228 UsagePrice pulumi.Float64PtrInput 229 } 230 231 func (ReservedInstanceState) ElementType() reflect.Type { 232 return reflect.TypeOf((*reservedInstanceState)(nil)).Elem() 233 } 234 235 type reservedInstanceArgs struct { 236 // Number of instances to reserve. Default value is `1`. 237 InstanceCount *int `pulumi:"instanceCount"` 238 // ID of the Reserved DB instance offering to purchase. To determine an `offeringId`, see the `rds.getReservedInstanceOffering` data source. 239 // 240 // The following arguments are optional: 241 OfferingId string `pulumi:"offeringId"` 242 // Customer-specified identifier to track this reservation. 243 ReservationId *string `pulumi:"reservationId"` 244 // Map of tags to assign to the DB reservation. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 245 Tags map[string]string `pulumi:"tags"` 246 } 247 248 // The set of arguments for constructing a ReservedInstance resource. 249 type ReservedInstanceArgs struct { 250 // Number of instances to reserve. Default value is `1`. 251 InstanceCount pulumi.IntPtrInput 252 // ID of the Reserved DB instance offering to purchase. To determine an `offeringId`, see the `rds.getReservedInstanceOffering` data source. 253 // 254 // The following arguments are optional: 255 OfferingId pulumi.StringInput 256 // Customer-specified identifier to track this reservation. 257 ReservationId pulumi.StringPtrInput 258 // Map of tags to assign to the DB reservation. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 259 Tags pulumi.StringMapInput 260 } 261 262 func (ReservedInstanceArgs) ElementType() reflect.Type { 263 return reflect.TypeOf((*reservedInstanceArgs)(nil)).Elem() 264 } 265 266 type ReservedInstanceInput interface { 267 pulumi.Input 268 269 ToReservedInstanceOutput() ReservedInstanceOutput 270 ToReservedInstanceOutputWithContext(ctx context.Context) ReservedInstanceOutput 271 } 272 273 func (*ReservedInstance) ElementType() reflect.Type { 274 return reflect.TypeOf((**ReservedInstance)(nil)).Elem() 275 } 276 277 func (i *ReservedInstance) ToReservedInstanceOutput() ReservedInstanceOutput { 278 return i.ToReservedInstanceOutputWithContext(context.Background()) 279 } 280 281 func (i *ReservedInstance) ToReservedInstanceOutputWithContext(ctx context.Context) ReservedInstanceOutput { 282 return pulumi.ToOutputWithContext(ctx, i).(ReservedInstanceOutput) 283 } 284 285 // ReservedInstanceArrayInput is an input type that accepts ReservedInstanceArray and ReservedInstanceArrayOutput values. 286 // You can construct a concrete instance of `ReservedInstanceArrayInput` via: 287 // 288 // ReservedInstanceArray{ ReservedInstanceArgs{...} } 289 type ReservedInstanceArrayInput interface { 290 pulumi.Input 291 292 ToReservedInstanceArrayOutput() ReservedInstanceArrayOutput 293 ToReservedInstanceArrayOutputWithContext(context.Context) ReservedInstanceArrayOutput 294 } 295 296 type ReservedInstanceArray []ReservedInstanceInput 297 298 func (ReservedInstanceArray) ElementType() reflect.Type { 299 return reflect.TypeOf((*[]*ReservedInstance)(nil)).Elem() 300 } 301 302 func (i ReservedInstanceArray) ToReservedInstanceArrayOutput() ReservedInstanceArrayOutput { 303 return i.ToReservedInstanceArrayOutputWithContext(context.Background()) 304 } 305 306 func (i ReservedInstanceArray) ToReservedInstanceArrayOutputWithContext(ctx context.Context) ReservedInstanceArrayOutput { 307 return pulumi.ToOutputWithContext(ctx, i).(ReservedInstanceArrayOutput) 308 } 309 310 // ReservedInstanceMapInput is an input type that accepts ReservedInstanceMap and ReservedInstanceMapOutput values. 311 // You can construct a concrete instance of `ReservedInstanceMapInput` via: 312 // 313 // ReservedInstanceMap{ "key": ReservedInstanceArgs{...} } 314 type ReservedInstanceMapInput interface { 315 pulumi.Input 316 317 ToReservedInstanceMapOutput() ReservedInstanceMapOutput 318 ToReservedInstanceMapOutputWithContext(context.Context) ReservedInstanceMapOutput 319 } 320 321 type ReservedInstanceMap map[string]ReservedInstanceInput 322 323 func (ReservedInstanceMap) ElementType() reflect.Type { 324 return reflect.TypeOf((*map[string]*ReservedInstance)(nil)).Elem() 325 } 326 327 func (i ReservedInstanceMap) ToReservedInstanceMapOutput() ReservedInstanceMapOutput { 328 return i.ToReservedInstanceMapOutputWithContext(context.Background()) 329 } 330 331 func (i ReservedInstanceMap) ToReservedInstanceMapOutputWithContext(ctx context.Context) ReservedInstanceMapOutput { 332 return pulumi.ToOutputWithContext(ctx, i).(ReservedInstanceMapOutput) 333 } 334 335 type ReservedInstanceOutput struct{ *pulumi.OutputState } 336 337 func (ReservedInstanceOutput) ElementType() reflect.Type { 338 return reflect.TypeOf((**ReservedInstance)(nil)).Elem() 339 } 340 341 func (o ReservedInstanceOutput) ToReservedInstanceOutput() ReservedInstanceOutput { 342 return o 343 } 344 345 func (o ReservedInstanceOutput) ToReservedInstanceOutputWithContext(ctx context.Context) ReservedInstanceOutput { 346 return o 347 } 348 349 // ARN for the reserved DB instance. 350 func (o ReservedInstanceOutput) Arn() pulumi.StringOutput { 351 return o.ApplyT(func(v *ReservedInstance) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 352 } 353 354 // Currency code for the reserved DB instance. 355 func (o ReservedInstanceOutput) CurrencyCode() pulumi.StringOutput { 356 return o.ApplyT(func(v *ReservedInstance) pulumi.StringOutput { return v.CurrencyCode }).(pulumi.StringOutput) 357 } 358 359 // DB instance class for the reserved DB instance. 360 func (o ReservedInstanceOutput) DbInstanceClass() pulumi.StringOutput { 361 return o.ApplyT(func(v *ReservedInstance) pulumi.StringOutput { return v.DbInstanceClass }).(pulumi.StringOutput) 362 } 363 364 // Duration of the reservation in seconds. 365 func (o ReservedInstanceOutput) Duration() pulumi.IntOutput { 366 return o.ApplyT(func(v *ReservedInstance) pulumi.IntOutput { return v.Duration }).(pulumi.IntOutput) 367 } 368 369 // Fixed price charged for this reserved DB instance. 370 func (o ReservedInstanceOutput) FixedPrice() pulumi.Float64Output { 371 return o.ApplyT(func(v *ReservedInstance) pulumi.Float64Output { return v.FixedPrice }).(pulumi.Float64Output) 372 } 373 374 // Number of instances to reserve. Default value is `1`. 375 func (o ReservedInstanceOutput) InstanceCount() pulumi.IntPtrOutput { 376 return o.ApplyT(func(v *ReservedInstance) pulumi.IntPtrOutput { return v.InstanceCount }).(pulumi.IntPtrOutput) 377 } 378 379 // Unique identifier for the lease associated with the reserved DB instance. Amazon Web Services Support might request the lease ID for an issue related to a reserved DB instance. 380 func (o ReservedInstanceOutput) LeaseId() pulumi.StringOutput { 381 return o.ApplyT(func(v *ReservedInstance) pulumi.StringOutput { return v.LeaseId }).(pulumi.StringOutput) 382 } 383 384 // Whether the reservation applies to Multi-AZ deployments. 385 func (o ReservedInstanceOutput) MultiAz() pulumi.BoolOutput { 386 return o.ApplyT(func(v *ReservedInstance) pulumi.BoolOutput { return v.MultiAz }).(pulumi.BoolOutput) 387 } 388 389 // ID of the Reserved DB instance offering to purchase. To determine an `offeringId`, see the `rds.getReservedInstanceOffering` data source. 390 // 391 // The following arguments are optional: 392 func (o ReservedInstanceOutput) OfferingId() pulumi.StringOutput { 393 return o.ApplyT(func(v *ReservedInstance) pulumi.StringOutput { return v.OfferingId }).(pulumi.StringOutput) 394 } 395 396 // Offering type of this reserved DB instance. 397 func (o ReservedInstanceOutput) OfferingType() pulumi.StringOutput { 398 return o.ApplyT(func(v *ReservedInstance) pulumi.StringOutput { return v.OfferingType }).(pulumi.StringOutput) 399 } 400 401 // Description of the reserved DB instance. 402 func (o ReservedInstanceOutput) ProductDescription() pulumi.StringOutput { 403 return o.ApplyT(func(v *ReservedInstance) pulumi.StringOutput { return v.ProductDescription }).(pulumi.StringOutput) 404 } 405 406 // Recurring price charged to run this reserved DB instance. 407 func (o ReservedInstanceOutput) RecurringCharges() ReservedInstanceRecurringChargeArrayOutput { 408 return o.ApplyT(func(v *ReservedInstance) ReservedInstanceRecurringChargeArrayOutput { return v.RecurringCharges }).(ReservedInstanceRecurringChargeArrayOutput) 409 } 410 411 // Customer-specified identifier to track this reservation. 412 func (o ReservedInstanceOutput) ReservationId() pulumi.StringPtrOutput { 413 return o.ApplyT(func(v *ReservedInstance) pulumi.StringPtrOutput { return v.ReservationId }).(pulumi.StringPtrOutput) 414 } 415 416 // Time the reservation started. 417 func (o ReservedInstanceOutput) StartTime() pulumi.StringOutput { 418 return o.ApplyT(func(v *ReservedInstance) pulumi.StringOutput { return v.StartTime }).(pulumi.StringOutput) 419 } 420 421 // State of the reserved DB instance. 422 func (o ReservedInstanceOutput) State() pulumi.StringOutput { 423 return o.ApplyT(func(v *ReservedInstance) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) 424 } 425 426 // Map of tags to assign to the DB reservation. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 427 func (o ReservedInstanceOutput) Tags() pulumi.StringMapOutput { 428 return o.ApplyT(func(v *ReservedInstance) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 429 } 430 431 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 432 // 433 // Deprecated: Please use `tags` instead. 434 func (o ReservedInstanceOutput) TagsAll() pulumi.StringMapOutput { 435 return o.ApplyT(func(v *ReservedInstance) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 436 } 437 438 // Hourly price charged for this reserved DB instance. 439 func (o ReservedInstanceOutput) UsagePrice() pulumi.Float64Output { 440 return o.ApplyT(func(v *ReservedInstance) pulumi.Float64Output { return v.UsagePrice }).(pulumi.Float64Output) 441 } 442 443 type ReservedInstanceArrayOutput struct{ *pulumi.OutputState } 444 445 func (ReservedInstanceArrayOutput) ElementType() reflect.Type { 446 return reflect.TypeOf((*[]*ReservedInstance)(nil)).Elem() 447 } 448 449 func (o ReservedInstanceArrayOutput) ToReservedInstanceArrayOutput() ReservedInstanceArrayOutput { 450 return o 451 } 452 453 func (o ReservedInstanceArrayOutput) ToReservedInstanceArrayOutputWithContext(ctx context.Context) ReservedInstanceArrayOutput { 454 return o 455 } 456 457 func (o ReservedInstanceArrayOutput) Index(i pulumi.IntInput) ReservedInstanceOutput { 458 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ReservedInstance { 459 return vs[0].([]*ReservedInstance)[vs[1].(int)] 460 }).(ReservedInstanceOutput) 461 } 462 463 type ReservedInstanceMapOutput struct{ *pulumi.OutputState } 464 465 func (ReservedInstanceMapOutput) ElementType() reflect.Type { 466 return reflect.TypeOf((*map[string]*ReservedInstance)(nil)).Elem() 467 } 468 469 func (o ReservedInstanceMapOutput) ToReservedInstanceMapOutput() ReservedInstanceMapOutput { 470 return o 471 } 472 473 func (o ReservedInstanceMapOutput) ToReservedInstanceMapOutputWithContext(ctx context.Context) ReservedInstanceMapOutput { 474 return o 475 } 476 477 func (o ReservedInstanceMapOutput) MapIndex(k pulumi.StringInput) ReservedInstanceOutput { 478 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ReservedInstance { 479 return vs[0].(map[string]*ReservedInstance)[vs[1].(string)] 480 }).(ReservedInstanceOutput) 481 } 482 483 func init() { 484 pulumi.RegisterInputType(reflect.TypeOf((*ReservedInstanceInput)(nil)).Elem(), &ReservedInstance{}) 485 pulumi.RegisterInputType(reflect.TypeOf((*ReservedInstanceArrayInput)(nil)).Elem(), ReservedInstanceArray{}) 486 pulumi.RegisterInputType(reflect.TypeOf((*ReservedInstanceMapInput)(nil)).Elem(), ReservedInstanceMap{}) 487 pulumi.RegisterOutputType(ReservedInstanceOutput{}) 488 pulumi.RegisterOutputType(ReservedInstanceArrayOutput{}) 489 pulumi.RegisterOutputType(ReservedInstanceMapOutput{}) 490 }