Skip to content

Commit 7c5e02e

Browse files
author
Nicholas Thomson
committed
Generate member setters
1 parent 2a4c7b7 commit 7c5e02e

File tree

6 files changed

+87
-61
lines changed

6 files changed

+87
-61
lines changed
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
ack_generate_info:
2-
build_date: "2021-07-29T19:05:57Z"
3-
build_hash: d18b4934e6083c9af852775fb59a84a1c7fee534
2+
build_date: "2021-07-29T20:32:46Z"
3+
build_hash: 1078b1d31bfdd020583a29ad75f2fc18243ffd4b
44
go_version: go1.15.6 linux/amd64
55
version: v0.7.0
66
api_directory_checksum: f3302d83fa5db4156550a01a1d76ba8e3509386b
77
api_version: v1alpha1
88
aws_sdk_go_version: v1.37.4
99
generator_config_info:
10-
file_checksum: 47b1a7627197be7ec21c35fe5c32196c8c5573fc
10+
file_checksum: fb1d5f84270832b584f1f25e91a13bbac5101999
1111
original_file_name: generator.yaml
1212
last_modification:
1313
reason: API generation
14-
timestamp: 2021-07-29 19:06:02.84780554 +0000 UTC
14+
timestamp: 2021-07-29 20:32:51.807120616 +0000 UTC

apis/v1alpha1/generator.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,8 @@ resources:
9090
hooks:
9191
sdk_create_post_set_output:
9292
template_path: hooks/bucket_sdk_create_post_set_output.go.tpl
93+
sdk_file_end:
94+
template_path: hooks/bucket_sdk_file_end.go.tpl
9395
renames:
9496
operations:
9597
CreateBucket:

generator.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,8 @@ resources:
9090
hooks:
9191
sdk_create_post_set_output:
9292
template_path: hooks/bucket_sdk_create_post_set_output.go.tpl
93+
sdk_file_end:
94+
template_path: hooks/bucket_sdk_file_end.go.tpl
9395
renames:
9496
operations:
9597
CreateBucket:

pkg/resource/bucket/hook.go

Lines changed: 1 addition & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -34,65 +34,9 @@ func (rm *resourceManager) newPutBucketLoggingPayload(
3434
r *resource,
3535
) (*svcsdk.PutBucketLoggingInput, error) {
3636
res := &svcsdk.PutBucketLoggingInput{}
37-
logging := r.ko.Spec.Logging
3837

3938
res.SetBucket(*r.ko.Spec.Name)
40-
41-
if logging != nil {
42-
loggingStatus := &svcsdk.BucketLoggingStatus{}
43-
44-
if logging.LoggingEnabled != nil {
45-
loggingEnabled := &svcsdk.LoggingEnabled{}
46-
47-
if logging.LoggingEnabled.TargetBucket != nil {
48-
loggingEnabled.SetTargetBucket(*logging.LoggingEnabled.TargetBucket)
49-
}
50-
if logging.LoggingEnabled.TargetPrefix != nil {
51-
loggingEnabled.SetTargetPrefix(*logging.LoggingEnabled.TargetPrefix)
52-
}
53-
54-
grants := []*svcsdk.TargetGrant{}
55-
for _, grant := range logging.LoggingEnabled.TargetGrants {
56-
newGrant := &svcsdk.TargetGrant{}
57-
58-
if grant.Permission != nil {
59-
newGrant.SetPermission(*grant.Permission)
60-
}
61-
62-
if grant.Grantee != nil {
63-
newGrantee := &svcsdk.Grantee{}
64-
65-
if grant.Grantee.DisplayName != nil {
66-
newGrantee.SetDisplayName(*grant.Grantee.DisplayName)
67-
}
68-
69-
if grant.Grantee.EmailAddress != nil {
70-
newGrantee.SetEmailAddress(*grant.Grantee.EmailAddress)
71-
}
72-
73-
if grant.Grantee.ID != nil {
74-
newGrantee.SetID(*grant.Grantee.ID)
75-
}
76-
77-
if grant.Grantee.Type != nil {
78-
newGrantee.SetType(*grant.Grantee.Type)
79-
}
80-
81-
if grant.Grantee.URI != nil {
82-
newGrantee.SetURI(*grant.Grantee.URI)
83-
}
84-
}
85-
86-
grants = append(grants, newGrant)
87-
}
88-
if len(grants) > 0 {
89-
loggingEnabled.SetTargetGrants(grants)
90-
}
91-
92-
loggingStatus.SetLoggingEnabled(loggingEnabled)
93-
}
94-
res.SetBucketLoggingStatus(loggingStatus)
95-
}
39+
res.SetBucketLoggingStatus(rm.createBucketLoggingStatus(r))
9640

9741
return res, nil
9842
}

pkg/resource/bucket/sdk.go

Lines changed: 51 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{{ $CRD := .CRD }}
2+
{{ $SDKAPI := .SDKAPI }}
3+
4+
{{ range $specFieldName, $specField := $CRD.Config.Resources.Bucket.Fields -}}
5+
{{- $operationName := $specField.From.Operation }}
6+
{{- $path := $specField.From.Path }}
7+
{{- if (eq (slice $operationName 0 3) "Put") }}
8+
{{- $field := (index $CRD.SpecFields $specFieldName )}}
9+
{{- $operation := (index $SDKAPI.API.Operations $operationName) -}}
10+
11+
{{- range $memberRefName, $memberRef := $operation.InputRef.Shape.MemberRefs -}}
12+
{{- if (eq $memberRef.Shape.Type "structure") }}
13+
14+
// create{{ $memberRefName }} returns a {{ $memberRefName }} object
15+
// with each the field set by the resource's corresponding spec field.
16+
func (rm *resourceManager) create{{ $memberRefName }}(
17+
r *resource,
18+
) *svcsdk.{{ $memberRef.ShapeName }} {
19+
res := &svcsdk.{{ $memberRef.ShapeName }}{}
20+
21+
{{ GoCodeSetOperationStruct $CRD "" "res" $memberRef "" (printf "r.ko.Spec.%s" $specFieldName) 1}}
22+
return res
23+
}
24+
{{- end}}
25+
{{- end}}
26+
{{- end }}
27+
{{- end }}

0 commit comments

Comments
 (0)