generated from pulumi/pulumi-tf-provider-boilerplate
/
getFlavors.go
193 lines (170 loc) · 6.26 KB
/
getFlavors.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
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
// 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 dedicatedelb
import (
"context"
"reflect"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
// Use this data source to get the available ELB Flavors.
//
// ## Example Usage
//
// ```go
// package main
//
// import (
//
// "github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/DedicatedElb"
// "github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/DedicatedElb"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
//
// func main() {
// pulumi.Run(func(ctx *pulumi.Context) error {
// flavors, err := DedicatedElb.GetFlavors(ctx, &dedicatedelb.GetFlavorsArgs{
// Type: pulumi.StringRef("L7"),
// MaxConnections: pulumi.IntRef(200000),
// Cps: pulumi.IntRef(2000),
// Bandwidth: pulumi.IntRef(50),
// }, nil)
// if err != nil {
// return err
// }
// _, err = DedicatedElb.NewLoadbalancer(ctx, "lb", &DedicatedElb.LoadbalancerArgs{
// L7FlavorId: pulumi.String(flavors.Ids[0]),
// })
// if err != nil {
// return err
// }
// return nil
// })
// }
//
// ```
func GetFlavors(ctx *pulumi.Context, args *GetFlavorsArgs, opts ...pulumi.InvokeOption) (*GetFlavorsResult, error) {
opts = pkgInvokeDefaultOpts(opts)
var rv GetFlavorsResult
err := ctx.Invoke("huaweicloud:DedicatedElb/getFlavors:getFlavors", args, &rv, opts...)
if err != nil {
return nil, err
}
return &rv, nil
}
// A collection of arguments for invoking getFlavors.
type GetFlavorsArgs struct {
// Specifies the bandwidth size(Mbit/s) in the flavor.
Bandwidth *int `pulumi:"bandwidth"`
// Specifies the cps in the flavor.
Cps *int `pulumi:"cps"`
// Specifies the maximum connections in the flavor.
MaxConnections *int `pulumi:"maxConnections"`
// Specifies the qps in the L7 flavor.
Qps *int `pulumi:"qps"`
// The region in which to obtain the flavors. If omitted, the provider-level region will be
// used.
Region *string `pulumi:"region"`
// Specifies the flavor type. Valid values are L4 and L7.
Type *string `pulumi:"type"`
}
// A collection of values returned by getFlavors.
type GetFlavorsResult struct {
// Bandwidth size(Mbit/s) of the flavor.
Bandwidth *int `pulumi:"bandwidth"`
// Cps of the flavor.
Cps *int `pulumi:"cps"`
// A list of flavors. Each element contains the following attributes:
Flavors []GetFlavorsFlavor `pulumi:"flavors"`
// The provider-assigned unique ID for this managed resource.
Id string `pulumi:"id"`
// A list of flavor IDs.
Ids []string `pulumi:"ids"`
// Maximum connections of the flavor.
MaxConnections *int `pulumi:"maxConnections"`
// Qps of the L7 flavor.
Qps *int `pulumi:"qps"`
Region string `pulumi:"region"`
// Type of the flavor.
Type *string `pulumi:"type"`
}
func GetFlavorsOutput(ctx *pulumi.Context, args GetFlavorsOutputArgs, opts ...pulumi.InvokeOption) GetFlavorsResultOutput {
return pulumi.ToOutputWithContext(context.Background(), args).
ApplyT(func(v interface{}) (GetFlavorsResult, error) {
args := v.(GetFlavorsArgs)
r, err := GetFlavors(ctx, &args, opts...)
var s GetFlavorsResult
if r != nil {
s = *r
}
return s, err
}).(GetFlavorsResultOutput)
}
// A collection of arguments for invoking getFlavors.
type GetFlavorsOutputArgs struct {
// Specifies the bandwidth size(Mbit/s) in the flavor.
Bandwidth pulumi.IntPtrInput `pulumi:"bandwidth"`
// Specifies the cps in the flavor.
Cps pulumi.IntPtrInput `pulumi:"cps"`
// Specifies the maximum connections in the flavor.
MaxConnections pulumi.IntPtrInput `pulumi:"maxConnections"`
// Specifies the qps in the L7 flavor.
Qps pulumi.IntPtrInput `pulumi:"qps"`
// The region in which to obtain the flavors. If omitted, the provider-level region will be
// used.
Region pulumi.StringPtrInput `pulumi:"region"`
// Specifies the flavor type. Valid values are L4 and L7.
Type pulumi.StringPtrInput `pulumi:"type"`
}
func (GetFlavorsOutputArgs) ElementType() reflect.Type {
return reflect.TypeOf((*GetFlavorsArgs)(nil)).Elem()
}
// A collection of values returned by getFlavors.
type GetFlavorsResultOutput struct{ *pulumi.OutputState }
func (GetFlavorsResultOutput) ElementType() reflect.Type {
return reflect.TypeOf((*GetFlavorsResult)(nil)).Elem()
}
func (o GetFlavorsResultOutput) ToGetFlavorsResultOutput() GetFlavorsResultOutput {
return o
}
func (o GetFlavorsResultOutput) ToGetFlavorsResultOutputWithContext(ctx context.Context) GetFlavorsResultOutput {
return o
}
// Bandwidth size(Mbit/s) of the flavor.
func (o GetFlavorsResultOutput) Bandwidth() pulumi.IntPtrOutput {
return o.ApplyT(func(v GetFlavorsResult) *int { return v.Bandwidth }).(pulumi.IntPtrOutput)
}
// Cps of the flavor.
func (o GetFlavorsResultOutput) Cps() pulumi.IntPtrOutput {
return o.ApplyT(func(v GetFlavorsResult) *int { return v.Cps }).(pulumi.IntPtrOutput)
}
// A list of flavors. Each element contains the following attributes:
func (o GetFlavorsResultOutput) Flavors() GetFlavorsFlavorArrayOutput {
return o.ApplyT(func(v GetFlavorsResult) []GetFlavorsFlavor { return v.Flavors }).(GetFlavorsFlavorArrayOutput)
}
// The provider-assigned unique ID for this managed resource.
func (o GetFlavorsResultOutput) Id() pulumi.StringOutput {
return o.ApplyT(func(v GetFlavorsResult) string { return v.Id }).(pulumi.StringOutput)
}
// A list of flavor IDs.
func (o GetFlavorsResultOutput) Ids() pulumi.StringArrayOutput {
return o.ApplyT(func(v GetFlavorsResult) []string { return v.Ids }).(pulumi.StringArrayOutput)
}
// Maximum connections of the flavor.
func (o GetFlavorsResultOutput) MaxConnections() pulumi.IntPtrOutput {
return o.ApplyT(func(v GetFlavorsResult) *int { return v.MaxConnections }).(pulumi.IntPtrOutput)
}
// Qps of the L7 flavor.
func (o GetFlavorsResultOutput) Qps() pulumi.IntPtrOutput {
return o.ApplyT(func(v GetFlavorsResult) *int { return v.Qps }).(pulumi.IntPtrOutput)
}
func (o GetFlavorsResultOutput) Region() pulumi.StringOutput {
return o.ApplyT(func(v GetFlavorsResult) string { return v.Region }).(pulumi.StringOutput)
}
// Type of the flavor.
func (o GetFlavorsResultOutput) Type() pulumi.StringPtrOutput {
return o.ApplyT(func(v GetFlavorsResult) *string { return v.Type }).(pulumi.StringPtrOutput)
}
func init() {
pulumi.RegisterOutputType(GetFlavorsResultOutput{})
}