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