github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/rds/getReservedInstanceOffering.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 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 11 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 12 ) 13 14 // Information about a single RDS Reserved Instance Offering. 15 // 16 // ## Example Usage 17 // 18 // <!--Start PulumiCodeChooser --> 19 // ```go 20 // package main 21 // 22 // import ( 23 // 24 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds" 25 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 26 // 27 // ) 28 // 29 // func main() { 30 // pulumi.Run(func(ctx *pulumi.Context) error { 31 // _, err := rds.GetReservedInstanceOffering(ctx, &rds.GetReservedInstanceOfferingArgs{ 32 // DbInstanceClass: "db.t2.micro", 33 // Duration: 31536000, 34 // MultiAz: false, 35 // OfferingType: "All Upfront", 36 // ProductDescription: "mysql", 37 // }, nil) 38 // if err != nil { 39 // return err 40 // } 41 // return nil 42 // }) 43 // } 44 // 45 // ``` 46 // <!--End PulumiCodeChooser --> 47 func GetReservedInstanceOffering(ctx *pulumi.Context, args *GetReservedInstanceOfferingArgs, opts ...pulumi.InvokeOption) (*GetReservedInstanceOfferingResult, error) { 48 opts = internal.PkgInvokeDefaultOpts(opts) 49 var rv GetReservedInstanceOfferingResult 50 err := ctx.Invoke("aws:rds/getReservedInstanceOffering:getReservedInstanceOffering", args, &rv, opts...) 51 if err != nil { 52 return nil, err 53 } 54 return &rv, nil 55 } 56 57 // A collection of arguments for invoking getReservedInstanceOffering. 58 type GetReservedInstanceOfferingArgs struct { 59 // DB instance class for the reserved DB instance. 60 DbInstanceClass string `pulumi:"dbInstanceClass"` 61 // Duration of the reservation in years or seconds. Valid values are `1`, `3`, `31536000`, `94608000` 62 Duration int `pulumi:"duration"` 63 // Whether the reservation applies to Multi-AZ deployments. 64 MultiAz bool `pulumi:"multiAz"` 65 // Offering type of this reserved DB instance. Valid values are `No Upfront`, `Partial Upfront`, `All Upfront`. 66 OfferingType string `pulumi:"offeringType"` 67 // Description of the reserved DB instance. 68 ProductDescription string `pulumi:"productDescription"` 69 } 70 71 // A collection of values returned by getReservedInstanceOffering. 72 type GetReservedInstanceOfferingResult struct { 73 // Currency code for the reserved DB instance. 74 CurrencyCode string `pulumi:"currencyCode"` 75 DbInstanceClass string `pulumi:"dbInstanceClass"` 76 Duration int `pulumi:"duration"` 77 // Fixed price charged for this reserved DB instance. 78 FixedPrice float64 `pulumi:"fixedPrice"` 79 // The provider-assigned unique ID for this managed resource. 80 Id string `pulumi:"id"` 81 MultiAz bool `pulumi:"multiAz"` 82 // Unique identifier for the reservation. 83 OfferingId string `pulumi:"offeringId"` 84 OfferingType string `pulumi:"offeringType"` 85 ProductDescription string `pulumi:"productDescription"` 86 } 87 88 func GetReservedInstanceOfferingOutput(ctx *pulumi.Context, args GetReservedInstanceOfferingOutputArgs, opts ...pulumi.InvokeOption) GetReservedInstanceOfferingResultOutput { 89 return pulumi.ToOutputWithContext(context.Background(), args). 90 ApplyT(func(v interface{}) (GetReservedInstanceOfferingResult, error) { 91 args := v.(GetReservedInstanceOfferingArgs) 92 r, err := GetReservedInstanceOffering(ctx, &args, opts...) 93 var s GetReservedInstanceOfferingResult 94 if r != nil { 95 s = *r 96 } 97 return s, err 98 }).(GetReservedInstanceOfferingResultOutput) 99 } 100 101 // A collection of arguments for invoking getReservedInstanceOffering. 102 type GetReservedInstanceOfferingOutputArgs struct { 103 // DB instance class for the reserved DB instance. 104 DbInstanceClass pulumi.StringInput `pulumi:"dbInstanceClass"` 105 // Duration of the reservation in years or seconds. Valid values are `1`, `3`, `31536000`, `94608000` 106 Duration pulumi.IntInput `pulumi:"duration"` 107 // Whether the reservation applies to Multi-AZ deployments. 108 MultiAz pulumi.BoolInput `pulumi:"multiAz"` 109 // Offering type of this reserved DB instance. Valid values are `No Upfront`, `Partial Upfront`, `All Upfront`. 110 OfferingType pulumi.StringInput `pulumi:"offeringType"` 111 // Description of the reserved DB instance. 112 ProductDescription pulumi.StringInput `pulumi:"productDescription"` 113 } 114 115 func (GetReservedInstanceOfferingOutputArgs) ElementType() reflect.Type { 116 return reflect.TypeOf((*GetReservedInstanceOfferingArgs)(nil)).Elem() 117 } 118 119 // A collection of values returned by getReservedInstanceOffering. 120 type GetReservedInstanceOfferingResultOutput struct{ *pulumi.OutputState } 121 122 func (GetReservedInstanceOfferingResultOutput) ElementType() reflect.Type { 123 return reflect.TypeOf((*GetReservedInstanceOfferingResult)(nil)).Elem() 124 } 125 126 func (o GetReservedInstanceOfferingResultOutput) ToGetReservedInstanceOfferingResultOutput() GetReservedInstanceOfferingResultOutput { 127 return o 128 } 129 130 func (o GetReservedInstanceOfferingResultOutput) ToGetReservedInstanceOfferingResultOutputWithContext(ctx context.Context) GetReservedInstanceOfferingResultOutput { 131 return o 132 } 133 134 // Currency code for the reserved DB instance. 135 func (o GetReservedInstanceOfferingResultOutput) CurrencyCode() pulumi.StringOutput { 136 return o.ApplyT(func(v GetReservedInstanceOfferingResult) string { return v.CurrencyCode }).(pulumi.StringOutput) 137 } 138 139 func (o GetReservedInstanceOfferingResultOutput) DbInstanceClass() pulumi.StringOutput { 140 return o.ApplyT(func(v GetReservedInstanceOfferingResult) string { return v.DbInstanceClass }).(pulumi.StringOutput) 141 } 142 143 func (o GetReservedInstanceOfferingResultOutput) Duration() pulumi.IntOutput { 144 return o.ApplyT(func(v GetReservedInstanceOfferingResult) int { return v.Duration }).(pulumi.IntOutput) 145 } 146 147 // Fixed price charged for this reserved DB instance. 148 func (o GetReservedInstanceOfferingResultOutput) FixedPrice() pulumi.Float64Output { 149 return o.ApplyT(func(v GetReservedInstanceOfferingResult) float64 { return v.FixedPrice }).(pulumi.Float64Output) 150 } 151 152 // The provider-assigned unique ID for this managed resource. 153 func (o GetReservedInstanceOfferingResultOutput) Id() pulumi.StringOutput { 154 return o.ApplyT(func(v GetReservedInstanceOfferingResult) string { return v.Id }).(pulumi.StringOutput) 155 } 156 157 func (o GetReservedInstanceOfferingResultOutput) MultiAz() pulumi.BoolOutput { 158 return o.ApplyT(func(v GetReservedInstanceOfferingResult) bool { return v.MultiAz }).(pulumi.BoolOutput) 159 } 160 161 // Unique identifier for the reservation. 162 func (o GetReservedInstanceOfferingResultOutput) OfferingId() pulumi.StringOutput { 163 return o.ApplyT(func(v GetReservedInstanceOfferingResult) string { return v.OfferingId }).(pulumi.StringOutput) 164 } 165 166 func (o GetReservedInstanceOfferingResultOutput) OfferingType() pulumi.StringOutput { 167 return o.ApplyT(func(v GetReservedInstanceOfferingResult) string { return v.OfferingType }).(pulumi.StringOutput) 168 } 169 170 func (o GetReservedInstanceOfferingResultOutput) ProductDescription() pulumi.StringOutput { 171 return o.ApplyT(func(v GetReservedInstanceOfferingResult) string { return v.ProductDescription }).(pulumi.StringOutput) 172 } 173 174 func init() { 175 pulumi.RegisterOutputType(GetReservedInstanceOfferingResultOutput{}) 176 }