generated from pulumi/pulumi-tf-provider-boilerplate
/
getInstances.go
194 lines (171 loc) · 7.01 KB
/
getInstances.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
194
// 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 rocketmq
import (
"context"
"reflect"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
// This data source provides a list of ONS Instances in an Alibaba Cloud account according to the specified filters.
//
// > **NOTE:** Available in 1.52.0+
//
// ## Example Usage
//
// ```go
// package main
//
// import (
//
// "github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/rocketmq"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
// "github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/rocketmq"
//
// )
//
// func main() {
// pulumi.Run(func(ctx *pulumi.Context) error {
// cfg := config.New(ctx, "")
// name := "onsInstanceDatasourceName"
// if param := cfg.Get("name"); param != "" {
// name = param
// }
// _, err := rocketmq.NewInstance(ctx, "default", &rocketmq.InstanceArgs{
// Remark: pulumi.String("default_ons_instance_remark"),
// })
// if err != nil {
// return err
// }
// instancesDs := rocketmq.GetInstancesOutput(ctx, rocketmq.GetInstancesOutputArgs{
// Ids: pulumi.StringArray{
// _default.ID(),
// },
// NameRegex: _default.Name,
// OutputFile: pulumi.String("instances.txt"),
// }, nil)
// ctx.Export("firstInstanceId", instancesDs.ApplyT(func(instancesDs rocketmq.GetInstancesResult) (string, error) {
// return instancesDs.Instances[0].InstanceId, nil
// }).(pulumi.StringOutput))
// return nil
// })
// }
//
// ```
func GetInstances(ctx *pulumi.Context, args *GetInstancesArgs, opts ...pulumi.InvokeOption) (*GetInstancesResult, error) {
opts = pkgInvokeDefaultOpts(opts)
var rv GetInstancesResult
err := ctx.Invoke("alicloud:rocketmq/getInstances:getInstances", args, &rv, opts...)
if err != nil {
return nil, err
}
return &rv, nil
}
// A collection of arguments for invoking getInstances.
type GetInstancesArgs struct {
// Default to `false`. Set it to true can output more details.
EnableDetails *bool `pulumi:"enableDetails"`
// A list of instance IDs to filter results.
Ids []string `pulumi:"ids"`
// A regex string to filter results by the instance name.
NameRegex *string `pulumi:"nameRegex"`
OutputFile *string `pulumi:"outputFile"`
// The status of Ons instance. Valid values: `0` deploying, `2` arrears, `5` running, `7` upgrading.
Status *int `pulumi:"status"`
// A map of tags assigned to the Ons instance.
Tags map[string]interface{} `pulumi:"tags"`
}
// A collection of values returned by getInstances.
type GetInstancesResult struct {
EnableDetails *bool `pulumi:"enableDetails"`
// The provider-assigned unique ID for this managed resource.
Id string `pulumi:"id"`
// A list of instance IDs.
Ids []string `pulumi:"ids"`
// A list of instances. Each element contains the following attributes:
Instances []GetInstancesInstance `pulumi:"instances"`
NameRegex *string `pulumi:"nameRegex"`
// A list of instance names.
Names []string `pulumi:"names"`
OutputFile *string `pulumi:"outputFile"`
// The status of the instance. Read [Fields in InstanceVO](https://www.alibabacloud.com/help/doc-detail/106351.html) for further details.
Status *int `pulumi:"status"`
// A map of tags assigned to the Ons instance.
Tags map[string]interface{} `pulumi:"tags"`
}
func GetInstancesOutput(ctx *pulumi.Context, args GetInstancesOutputArgs, opts ...pulumi.InvokeOption) GetInstancesResultOutput {
return pulumi.ToOutputWithContext(context.Background(), args).
ApplyT(func(v interface{}) (GetInstancesResult, error) {
args := v.(GetInstancesArgs)
r, err := GetInstances(ctx, &args, opts...)
var s GetInstancesResult
if r != nil {
s = *r
}
return s, err
}).(GetInstancesResultOutput)
}
// A collection of arguments for invoking getInstances.
type GetInstancesOutputArgs struct {
// Default to `false`. Set it to true can output more details.
EnableDetails pulumi.BoolPtrInput `pulumi:"enableDetails"`
// A list of instance IDs to filter results.
Ids pulumi.StringArrayInput `pulumi:"ids"`
// A regex string to filter results by the instance name.
NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
// The status of Ons instance. Valid values: `0` deploying, `2` arrears, `5` running, `7` upgrading.
Status pulumi.IntPtrInput `pulumi:"status"`
// A map of tags assigned to the Ons instance.
Tags pulumi.MapInput `pulumi:"tags"`
}
func (GetInstancesOutputArgs) ElementType() reflect.Type {
return reflect.TypeOf((*GetInstancesArgs)(nil)).Elem()
}
// A collection of values returned by getInstances.
type GetInstancesResultOutput struct{ *pulumi.OutputState }
func (GetInstancesResultOutput) ElementType() reflect.Type {
return reflect.TypeOf((*GetInstancesResult)(nil)).Elem()
}
func (o GetInstancesResultOutput) ToGetInstancesResultOutput() GetInstancesResultOutput {
return o
}
func (o GetInstancesResultOutput) ToGetInstancesResultOutputWithContext(ctx context.Context) GetInstancesResultOutput {
return o
}
func (o GetInstancesResultOutput) EnableDetails() pulumi.BoolPtrOutput {
return o.ApplyT(func(v GetInstancesResult) *bool { return v.EnableDetails }).(pulumi.BoolPtrOutput)
}
// The provider-assigned unique ID for this managed resource.
func (o GetInstancesResultOutput) Id() pulumi.StringOutput {
return o.ApplyT(func(v GetInstancesResult) string { return v.Id }).(pulumi.StringOutput)
}
// A list of instance IDs.
func (o GetInstancesResultOutput) Ids() pulumi.StringArrayOutput {
return o.ApplyT(func(v GetInstancesResult) []string { return v.Ids }).(pulumi.StringArrayOutput)
}
// A list of instances. Each element contains the following attributes:
func (o GetInstancesResultOutput) Instances() GetInstancesInstanceArrayOutput {
return o.ApplyT(func(v GetInstancesResult) []GetInstancesInstance { return v.Instances }).(GetInstancesInstanceArrayOutput)
}
func (o GetInstancesResultOutput) NameRegex() pulumi.StringPtrOutput {
return o.ApplyT(func(v GetInstancesResult) *string { return v.NameRegex }).(pulumi.StringPtrOutput)
}
// A list of instance names.
func (o GetInstancesResultOutput) Names() pulumi.StringArrayOutput {
return o.ApplyT(func(v GetInstancesResult) []string { return v.Names }).(pulumi.StringArrayOutput)
}
func (o GetInstancesResultOutput) OutputFile() pulumi.StringPtrOutput {
return o.ApplyT(func(v GetInstancesResult) *string { return v.OutputFile }).(pulumi.StringPtrOutput)
}
// The status of the instance. Read [Fields in InstanceVO](https://www.alibabacloud.com/help/doc-detail/106351.html) for further details.
func (o GetInstancesResultOutput) Status() pulumi.IntPtrOutput {
return o.ApplyT(func(v GetInstancesResult) *int { return v.Status }).(pulumi.IntPtrOutput)
}
// A map of tags assigned to the Ons instance.
func (o GetInstancesResultOutput) Tags() pulumi.MapOutput {
return o.ApplyT(func(v GetInstancesResult) map[string]interface{} { return v.Tags }).(pulumi.MapOutput)
}
func init() {
pulumi.RegisterOutputType(GetInstancesResultOutput{})
}