forked from aws-controllers-k8s/s3-controller
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgenerator.yaml
More file actions
136 lines (136 loc) · 3.88 KB
/
generator.yaml
File metadata and controls
136 lines (136 loc) · 3.88 KB
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
ignore:
resource_names:
- Object
- MultipartUpload
- Session
shape_names:
# These shapes are structs with no members...
- SSES3
- SimplePrefix
field_paths:
# We cannot support MFA, so if it is set we cannot unset
- "VersioningConfiguration.MFADelete"
# This subfield struct has no members...
- "NotificationConfiguration.EventBridgeConfiguration"
- LoggingEnabled.TargetObjectKeyFormat
resources:
Bucket:
fields:
Name:
is_primary_key: true
is_required: true
is_immutable: true
from:
operation: CreateBucket
path: Bucket
Accelerate:
from:
operation: PutBucketAccelerateConfiguration
path: AccelerateConfiguration
Analytics:
custom_field:
list_of: AnalyticsConfiguration
CORS:
from:
operation: PutBucketCors
path: CORSConfiguration
CreateBucketConfiguration.Bucket.Type:
go_tag: json:"type,omitempty"
CreateBucketConfiguration.Location.Type:
go_tag: json:"type,omitempty"
Encryption:
from:
operation: PutBucketEncryption
path: ServerSideEncryptionConfiguration
IntelligentTiering:
custom_field:
list_of: IntelligentTieringConfiguration
Inventory:
custom_field:
list_of: InventoryConfiguration
Lifecycle:
from:
operation: PutBucketLifecycleConfiguration
path: LifecycleConfiguration
Logging:
from:
operation: PutBucketLogging
path: BucketLoggingStatus
Logging.LoggingEnabled.TargetGrants.Grantee.URI:
# Forcing CRD field to "uRI" to avoid breaking change following
# fix in aws-controller-k8s/pkg dependency for URI -> uri.
go_tag: json:"uRI,omitempty"
Metrics:
custom_field:
list_of: MetricsConfiguration
Notification:
from:
operation: PutBucketNotificationConfiguration
path: NotificationConfiguration
OwnershipControls:
from:
operation: PutBucketOwnershipControls
path: OwnershipControls
Policy:
from:
operation: PutBucketPolicy
path: Policy
PublicAccessBlock:
from:
operation: PutPublicAccessBlock
path: PublicAccessBlockConfiguration
Replication:
from:
operation: PutBucketReplication
path: ReplicationConfiguration
RequestPayment:
from:
operation: PutBucketRequestPayment
path: RequestPaymentConfiguration
Tagging:
from:
operation: PutBucketTagging
path: Tagging
Versioning:
from:
operation: PutBucketVersioning
path: VersioningConfiguration
Website:
from:
operation: PutBucketWebsite
path: WebsiteConfiguration
exceptions:
errors:
404:
code: NoSuchBucket
terminal_codes:
- PermanentRedirect
- InvalidLocationConstraint
- MalformedXML
- IllegalLocationConstraintException
hooks:
delta_pre_compare:
code: customPreCompare(a, b)
sdk_create_post_set_output:
template_path: hooks/bucket/sdk_create_post_set_output.go.tpl
sdk_read_many_post_set_output:
template_path: hooks/bucket/sdk_read_many_post_set_output.go.tpl
sdk_create_post_build_request:
template_path: hooks/bucket/sdk_create_post_build_request.go.tpl
find_operation:
custom_method_name: customFindBucket
update_operation:
custom_method_name: customUpdateBucket
renames:
operations:
CreateBucket:
input_fields:
Bucket: Name
DeleteBucket:
input_fields:
Bucket: Name
list_operation:
match_fields:
- Name
tags:
path: Tagging.TagSet