/
getTags.go
130 lines (112 loc) · 3.77 KB
/
getTags.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
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package digitalocean
import (
"context"
"reflect"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
// Returns a list of tags in your DigitalOcean account, with the ability to
// filter and sort the results. If no filters are specified, all tags will be
// returned.
//
// ## Example Usage
//
// ```go
// package main
//
// import (
// "github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
// )
//
// func main() {
// pulumi.Run(func(ctx *pulumi.Context) error {
// list, err := digitalocean.GetTags(ctx, &GetTagsArgs{
// Sorts: []GetTagsSort{
// GetTagsSort{
// Key: "total_resource_count",
// Direction: pulumi.StringRef("asc"),
// },
// },
// }, nil)
// if err != nil {
// return err
// }
// ctx.Export("sortedTags", list.Tags)
// return nil
// })
// }
// ```
func GetTags(ctx *pulumi.Context, args *GetTagsArgs, opts ...pulumi.InvokeOption) (*GetTagsResult, error) {
var rv GetTagsResult
err := ctx.Invoke("digitalocean:index/getTags:getTags", args, &rv, opts...)
if err != nil {
return nil, err
}
return &rv, nil
}
// A collection of arguments for invoking getTags.
type GetTagsArgs struct {
// Filter the results.
// The `filter` block is documented below.
Filters []GetTagsFilter `pulumi:"filters"`
// Sort the results.
// The `sort` block is documented below.
Sorts []GetTagsSort `pulumi:"sorts"`
}
// A collection of values returned by getTags.
type GetTagsResult struct {
Filters []GetTagsFilter `pulumi:"filters"`
// The provider-assigned unique ID for this managed resource.
Id string `pulumi:"id"`
Sorts []GetTagsSort `pulumi:"sorts"`
Tags []GetTagsTag `pulumi:"tags"`
}
func GetTagsOutput(ctx *pulumi.Context, args GetTagsOutputArgs, opts ...pulumi.InvokeOption) GetTagsResultOutput {
return pulumi.ToOutputWithContext(context.Background(), args).
ApplyT(func(v interface{}) (GetTagsResult, error) {
args := v.(GetTagsArgs)
r, err := GetTags(ctx, &args, opts...)
return *r, err
}).(GetTagsResultOutput)
}
// A collection of arguments for invoking getTags.
type GetTagsOutputArgs struct {
// Filter the results.
// The `filter` block is documented below.
Filters GetTagsFilterArrayInput `pulumi:"filters"`
// Sort the results.
// The `sort` block is documented below.
Sorts GetTagsSortArrayInput `pulumi:"sorts"`
}
func (GetTagsOutputArgs) ElementType() reflect.Type {
return reflect.TypeOf((*GetTagsArgs)(nil)).Elem()
}
// A collection of values returned by getTags.
type GetTagsResultOutput struct{ *pulumi.OutputState }
func (GetTagsResultOutput) ElementType() reflect.Type {
return reflect.TypeOf((*GetTagsResult)(nil)).Elem()
}
func (o GetTagsResultOutput) ToGetTagsResultOutput() GetTagsResultOutput {
return o
}
func (o GetTagsResultOutput) ToGetTagsResultOutputWithContext(ctx context.Context) GetTagsResultOutput {
return o
}
func (o GetTagsResultOutput) Filters() GetTagsFilterArrayOutput {
return o.ApplyT(func(v GetTagsResult) []GetTagsFilter { return v.Filters }).(GetTagsFilterArrayOutput)
}
// The provider-assigned unique ID for this managed resource.
func (o GetTagsResultOutput) Id() pulumi.StringOutput {
return o.ApplyT(func(v GetTagsResult) string { return v.Id }).(pulumi.StringOutput)
}
func (o GetTagsResultOutput) Sorts() GetTagsSortArrayOutput {
return o.ApplyT(func(v GetTagsResult) []GetTagsSort { return v.Sorts }).(GetTagsSortArrayOutput)
}
func (o GetTagsResultOutput) Tags() GetTagsTagArrayOutput {
return o.ApplyT(func(v GetTagsResult) []GetTagsTag { return v.Tags }).(GetTagsTagArrayOutput)
}
func init() {
pulumi.RegisterOutputType(GetTagsResultOutput{})
}