/
getBucketObjects.go
158 lines (133 loc) · 7.21 KB
/
getBucketObjects.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
// *** 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 s3
import (
"context"
"reflect"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
// > **NOTE on `maxKeys`:** Retrieving very large numbers of keys can adversely affect this provider's performance.
//
// The bucket-objects data source returns keys (i.e., file names) and other metadata about objects in an S3 bucket.
func GetBucketObjects(ctx *pulumi.Context, args *GetBucketObjectsArgs, opts ...pulumi.InvokeOption) (*GetBucketObjectsResult, error) {
var rv GetBucketObjectsResult
err := ctx.Invoke("aws:s3/getBucketObjects:getBucketObjects", args, &rv, opts...)
if err != nil {
return nil, err
}
return &rv, nil
}
// A collection of arguments for invoking getBucketObjects.
type GetBucketObjectsArgs struct {
// Lists object keys in this S3 bucket. Alternatively, an [S3 access point](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html) ARN can be specified
Bucket string `pulumi:"bucket"`
// A character used to group keys (Default: none)
Delimiter *string `pulumi:"delimiter"`
// Encodes keys using this method (Default: none; besides none, only "url" can be used)
EncodingType *string `pulumi:"encodingType"`
// Boolean specifying whether to populate the owner list (Default: false)
FetchOwner *bool `pulumi:"fetchOwner"`
// Maximum object keys to return (Default: 1000)
MaxKeys *int `pulumi:"maxKeys"`
// Limits results to object keys with this prefix (Default: none)
Prefix *string `pulumi:"prefix"`
// Returns key names lexicographically after a specific object key in your bucket (Default: none; S3 lists object keys in UTF-8 character encoding in lexicographical order)
StartAfter *string `pulumi:"startAfter"`
}
// A collection of values returned by getBucketObjects.
type GetBucketObjectsResult struct {
Bucket string `pulumi:"bucket"`
// List of any keys between `prefix` and the next occurrence of `delimiter` (i.e., similar to subdirectories of the `prefix` "directory"); the list is only returned when you specify `delimiter`
CommonPrefixes []string `pulumi:"commonPrefixes"`
Delimiter *string `pulumi:"delimiter"`
EncodingType *string `pulumi:"encodingType"`
FetchOwner *bool `pulumi:"fetchOwner"`
// The provider-assigned unique ID for this managed resource.
Id string `pulumi:"id"`
// List of strings representing object keys
Keys []string `pulumi:"keys"`
MaxKeys *int `pulumi:"maxKeys"`
// List of strings representing object owner IDs (see `fetchOwner` above)
Owners []string `pulumi:"owners"`
Prefix *string `pulumi:"prefix"`
StartAfter *string `pulumi:"startAfter"`
}
func GetBucketObjectsOutput(ctx *pulumi.Context, args GetBucketObjectsOutputArgs, opts ...pulumi.InvokeOption) GetBucketObjectsResultOutput {
return pulumi.ToOutputWithContext(context.Background(), args).
ApplyT(func(v interface{}) (GetBucketObjectsResult, error) {
args := v.(GetBucketObjectsArgs)
r, err := GetBucketObjects(ctx, &args, opts...)
return *r, err
}).(GetBucketObjectsResultOutput)
}
// A collection of arguments for invoking getBucketObjects.
type GetBucketObjectsOutputArgs struct {
// Lists object keys in this S3 bucket. Alternatively, an [S3 access point](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html) ARN can be specified
Bucket pulumi.StringInput `pulumi:"bucket"`
// A character used to group keys (Default: none)
Delimiter pulumi.StringPtrInput `pulumi:"delimiter"`
// Encodes keys using this method (Default: none; besides none, only "url" can be used)
EncodingType pulumi.StringPtrInput `pulumi:"encodingType"`
// Boolean specifying whether to populate the owner list (Default: false)
FetchOwner pulumi.BoolPtrInput `pulumi:"fetchOwner"`
// Maximum object keys to return (Default: 1000)
MaxKeys pulumi.IntPtrInput `pulumi:"maxKeys"`
// Limits results to object keys with this prefix (Default: none)
Prefix pulumi.StringPtrInput `pulumi:"prefix"`
// Returns key names lexicographically after a specific object key in your bucket (Default: none; S3 lists object keys in UTF-8 character encoding in lexicographical order)
StartAfter pulumi.StringPtrInput `pulumi:"startAfter"`
}
func (GetBucketObjectsOutputArgs) ElementType() reflect.Type {
return reflect.TypeOf((*GetBucketObjectsArgs)(nil)).Elem()
}
// A collection of values returned by getBucketObjects.
type GetBucketObjectsResultOutput struct{ *pulumi.OutputState }
func (GetBucketObjectsResultOutput) ElementType() reflect.Type {
return reflect.TypeOf((*GetBucketObjectsResult)(nil)).Elem()
}
func (o GetBucketObjectsResultOutput) ToGetBucketObjectsResultOutput() GetBucketObjectsResultOutput {
return o
}
func (o GetBucketObjectsResultOutput) ToGetBucketObjectsResultOutputWithContext(ctx context.Context) GetBucketObjectsResultOutput {
return o
}
func (o GetBucketObjectsResultOutput) Bucket() pulumi.StringOutput {
return o.ApplyT(func(v GetBucketObjectsResult) string { return v.Bucket }).(pulumi.StringOutput)
}
// List of any keys between `prefix` and the next occurrence of `delimiter` (i.e., similar to subdirectories of the `prefix` "directory"); the list is only returned when you specify `delimiter`
func (o GetBucketObjectsResultOutput) CommonPrefixes() pulumi.StringArrayOutput {
return o.ApplyT(func(v GetBucketObjectsResult) []string { return v.CommonPrefixes }).(pulumi.StringArrayOutput)
}
func (o GetBucketObjectsResultOutput) Delimiter() pulumi.StringPtrOutput {
return o.ApplyT(func(v GetBucketObjectsResult) *string { return v.Delimiter }).(pulumi.StringPtrOutput)
}
func (o GetBucketObjectsResultOutput) EncodingType() pulumi.StringPtrOutput {
return o.ApplyT(func(v GetBucketObjectsResult) *string { return v.EncodingType }).(pulumi.StringPtrOutput)
}
func (o GetBucketObjectsResultOutput) FetchOwner() pulumi.BoolPtrOutput {
return o.ApplyT(func(v GetBucketObjectsResult) *bool { return v.FetchOwner }).(pulumi.BoolPtrOutput)
}
// The provider-assigned unique ID for this managed resource.
func (o GetBucketObjectsResultOutput) Id() pulumi.StringOutput {
return o.ApplyT(func(v GetBucketObjectsResult) string { return v.Id }).(pulumi.StringOutput)
}
// List of strings representing object keys
func (o GetBucketObjectsResultOutput) Keys() pulumi.StringArrayOutput {
return o.ApplyT(func(v GetBucketObjectsResult) []string { return v.Keys }).(pulumi.StringArrayOutput)
}
func (o GetBucketObjectsResultOutput) MaxKeys() pulumi.IntPtrOutput {
return o.ApplyT(func(v GetBucketObjectsResult) *int { return v.MaxKeys }).(pulumi.IntPtrOutput)
}
// List of strings representing object owner IDs (see `fetchOwner` above)
func (o GetBucketObjectsResultOutput) Owners() pulumi.StringArrayOutput {
return o.ApplyT(func(v GetBucketObjectsResult) []string { return v.Owners }).(pulumi.StringArrayOutput)
}
func (o GetBucketObjectsResultOutput) Prefix() pulumi.StringPtrOutput {
return o.ApplyT(func(v GetBucketObjectsResult) *string { return v.Prefix }).(pulumi.StringPtrOutput)
}
func (o GetBucketObjectsResultOutput) StartAfter() pulumi.StringPtrOutput {
return o.ApplyT(func(v GetBucketObjectsResult) *string { return v.StartAfter }).(pulumi.StringPtrOutput)
}
func init() {
pulumi.RegisterOutputType(GetBucketObjectsResultOutput{})
}