generated from pulumi/pulumi-tf-provider-boilerplate
/
getVersion.go
178 lines (158 loc) · 5.44 KB
/
getVersion.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
// 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 kubernetes
import (
"context"
"reflect"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/internal"
)
// Gets information about a Kubernetes version.
// For more information, see [the documentation](https://developers.scaleway.com/en/products/k8s/api).
//
// You can also use the [scaleway-cli](https://github.com/scaleway/scaleway-cli) with `scw k8s version list` to list all available versions.
//
// ## Example Usage
//
// ### Use the latest version
//
// <!--Start PulumiCodeChooser -->
// ```go
// package main
//
// import (
//
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
// "github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/kubernetes"
//
// )
//
// func main() {
// pulumi.Run(func(ctx *pulumi.Context) error {
// _, err := kubernetes.GetVersion(ctx, &kubernetes.GetVersionArgs{
// Name: "latest",
// }, nil)
// if err != nil {
// return err
// }
// return nil
// })
// }
//
// ```
// <!--End PulumiCodeChooser -->
//
// ### Use a specific version
//
// <!--Start PulumiCodeChooser -->
// ```go
// package main
//
// import (
//
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
// "github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/kubernetes"
//
// )
//
// func main() {
// pulumi.Run(func(ctx *pulumi.Context) error {
// _, err := kubernetes.GetVersion(ctx, &kubernetes.GetVersionArgs{
// Name: "1.26.0",
// }, nil)
// if err != nil {
// return err
// }
// return nil
// })
// }
//
// ```
// <!--End PulumiCodeChooser -->
func GetVersion(ctx *pulumi.Context, args *GetVersionArgs, opts ...pulumi.InvokeOption) (*GetVersionResult, error) {
opts = internal.PkgInvokeDefaultOpts(opts)
var rv GetVersionResult
err := ctx.Invoke("scaleway:kubernetes/getVersion:getVersion", args, &rv, opts...)
if err != nil {
return nil, err
}
return &rv, nil
}
// A collection of arguments for invoking getVersion.
type GetVersionArgs struct {
// The name of the Kubernetes version.
Name string `pulumi:"name"`
// `region`) The region in which the version exists.
Region *string `pulumi:"region"`
}
// A collection of values returned by getVersion.
type GetVersionResult struct {
// The list of supported Container Network Interface (CNI) plugins for this version.
AvailableCnis []string `pulumi:"availableCnis"`
// The list of supported container runtimes for this version.
AvailableContainerRuntimes []string `pulumi:"availableContainerRuntimes"`
// The list of supported feature gates for this version.
AvailableFeatureGates []string `pulumi:"availableFeatureGates"`
// The provider-assigned unique ID for this managed resource.
Id string `pulumi:"id"`
Name string `pulumi:"name"`
Region string `pulumi:"region"`
}
func GetVersionOutput(ctx *pulumi.Context, args GetVersionOutputArgs, opts ...pulumi.InvokeOption) GetVersionResultOutput {
return pulumi.ToOutputWithContext(context.Background(), args).
ApplyT(func(v interface{}) (GetVersionResult, error) {
args := v.(GetVersionArgs)
r, err := GetVersion(ctx, &args, opts...)
var s GetVersionResult
if r != nil {
s = *r
}
return s, err
}).(GetVersionResultOutput)
}
// A collection of arguments for invoking getVersion.
type GetVersionOutputArgs struct {
// The name of the Kubernetes version.
Name pulumi.StringInput `pulumi:"name"`
// `region`) The region in which the version exists.
Region pulumi.StringPtrInput `pulumi:"region"`
}
func (GetVersionOutputArgs) ElementType() reflect.Type {
return reflect.TypeOf((*GetVersionArgs)(nil)).Elem()
}
// A collection of values returned by getVersion.
type GetVersionResultOutput struct{ *pulumi.OutputState }
func (GetVersionResultOutput) ElementType() reflect.Type {
return reflect.TypeOf((*GetVersionResult)(nil)).Elem()
}
func (o GetVersionResultOutput) ToGetVersionResultOutput() GetVersionResultOutput {
return o
}
func (o GetVersionResultOutput) ToGetVersionResultOutputWithContext(ctx context.Context) GetVersionResultOutput {
return o
}
// The list of supported Container Network Interface (CNI) plugins for this version.
func (o GetVersionResultOutput) AvailableCnis() pulumi.StringArrayOutput {
return o.ApplyT(func(v GetVersionResult) []string { return v.AvailableCnis }).(pulumi.StringArrayOutput)
}
// The list of supported container runtimes for this version.
func (o GetVersionResultOutput) AvailableContainerRuntimes() pulumi.StringArrayOutput {
return o.ApplyT(func(v GetVersionResult) []string { return v.AvailableContainerRuntimes }).(pulumi.StringArrayOutput)
}
// The list of supported feature gates for this version.
func (o GetVersionResultOutput) AvailableFeatureGates() pulumi.StringArrayOutput {
return o.ApplyT(func(v GetVersionResult) []string { return v.AvailableFeatureGates }).(pulumi.StringArrayOutput)
}
// The provider-assigned unique ID for this managed resource.
func (o GetVersionResultOutput) Id() pulumi.StringOutput {
return o.ApplyT(func(v GetVersionResult) string { return v.Id }).(pulumi.StringOutput)
}
func (o GetVersionResultOutput) Name() pulumi.StringOutput {
return o.ApplyT(func(v GetVersionResult) string { return v.Name }).(pulumi.StringOutput)
}
func (o GetVersionResultOutput) Region() pulumi.StringOutput {
return o.ApplyT(func(v GetVersionResult) string { return v.Region }).(pulumi.StringOutput)
}
func init() {
pulumi.RegisterOutputType(GetVersionResultOutput{})
}