Skip to content

Commit 71f5331

Browse files
authored
Merge pull request #56 from mbaijal/hooks-rebased-2
Add hooks after input request creation, but before request is submitted.
2 parents aa5dbbb + ddbca01 commit 71f5331

File tree

6 files changed

+25
-2
lines changed

6 files changed

+25
-2
lines changed

pkg/generate/ack/hook.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@ code paths:
3434
* sdk_create_pre_build_request
3535
* sdk_update_pre_build_request
3636
* sdk_delete_pre_build_request
37+
* sdk_read_one_post_build_request
38+
* sdk_read_many_post_build_request
39+
* sdk_get_attributes_post_build_request
40+
* sdk_create_post_build_request
41+
* sdk_update_post_build_request
42+
* sdk_delete_post_build_request
3743
* sdk_read_one_post_request
3844
* sdk_read_many_post_request
3945
* sdk_get_attributes_post_request
@@ -55,6 +61,9 @@ The "pre_build_request" hooks are called BEFORE the call to construct
5561
the Input shape that is used in the API operation and therefore BEFORE
5662
any call to validate that Input shape.
5763
64+
The "post_build_request" hooks are called AFTER the call to construct
65+
the Input shape but BEFORE the API operation.
66+
5867
The "post_request" hooks are called IMMEDIATELY AFTER the API operation
5968
aws-sdk-go client call. These hooks will have access to a Go variable
6069
named `resp` that refers to the aws-sdk-go client response and a Go

templates/pkg/resource/sdk.go.tpl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ func (rm *resourceManager) sdkCreate(
5959
if err != nil {
6060
return nil, err
6161
}
62+
{{- if $hookCode := Hook .CRD "sdk_create_post_build_request" }}
63+
{{ $hookCode }}
64+
{{- end }}
6265
{{ $createCode := GoCodeSetCreateOutput .CRD "resp" "ko" 1 false }}
6366
{{ if not ( Empty $createCode ) }}resp{{ else }}_{{ end }}, respErr := rm.sdkapi.{{ .CRD.Ops.Create.Name }}WithContext(ctx, input)
6467
{{- if $hookCode := Hook .CRD "sdk_create_post_request" }}

templates/pkg/resource/sdk_find_get_attributes.go.tpl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ func (rm *resourceManager) sdkFind(
1717
if err != nil {
1818
return nil, err
1919
}
20+
{{- if $hookCode := Hook .CRD "sdk_get_attributes_post_build_request" }}
21+
{{ $hookCode }}
22+
{{- end }}
2023
{{ $setCode := GoCodeGetAttributesSetOutput .CRD "resp" "ko" 1 }}
2124
{{ if not ( Empty $setCode ) }}resp{{ else }}_{{ end }}, respErr := rm.sdkapi.{{ .CRD.Ops.GetAttributes.Name }}WithContext(ctx, input)
2225
{{- if $hookCode := Hook .CRD "sdk_get_attributes_post_request" }}

templates/pkg/resource/sdk_find_read_many.go.tpl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ func (rm *resourceManager) sdkFind(
1010
if err != nil {
1111
return nil, err
1212
}
13+
{{- if $hookCode := Hook .CRD "sdk_read_many_post_build_request" }}
14+
{{ $hookCode }}
15+
{{- end }}
1316
{{ $setCode := GoCodeSetReadManyOutput .CRD "resp" "ko" 1 true }}
1417
{{ if not ( Empty $setCode ) }}resp{{ else }}_{{ end }}, respErr := rm.sdkapi.{{ .CRD.Ops.ReadMany.Name }}WithContext(ctx, input)
1518
{{- if $hookCode := Hook .CRD "sdk_read_many_post_request" }}

templates/pkg/resource/sdk_find_read_one.go.tpl

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ func (rm *resourceManager) sdkFind(
1717
if err != nil {
1818
return nil, err
1919
}
20+
{{- if $hookCode := Hook .CRD "sdk_read_one_post_build_request" }}
21+
{{ $hookCode }}
22+
{{- end }}
2023
{{ $setCode := GoCodeSetReadOneOutput .CRD "resp" "ko" 1 true }}
2124
{{ if not ( Empty $setCode ) }}resp{{ else }}_{{ end }}, respErr := rm.sdkapi.{{ .CRD.Ops.ReadOne.Name }}WithContext(ctx, input)
2225
{{- if $hookCode := Hook .CRD "sdk_read_one_post_request" }}
@@ -52,7 +55,7 @@ func (rm *resourceManager) sdkFind(
5255
}
5356

5457
// requiredFieldsMissingFromReadOneInput returns true if there are any fields
55-
// for the ReadOne Input shape that are required by not present in the
58+
// for the ReadOne Input shape that are required but not present in the
5659
// resource's Spec or Status
5760
func (rm *resourceManager) requiredFieldsMissingFromReadOneInput(
5861
r *resource,

templates/pkg/resource/sdk_update.go.tpl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ func (rm *resourceManager) sdkUpdate(
2020
if err != nil {
2121
return nil, err
2222
}
23-
23+
{{- if $hookCode := Hook .CRD "sdk_update_pre_build_request" }}
24+
{{ $hookCode }}
25+
{{- end }}
2426
{{ $setCode := GoCodeSetUpdateOutput .CRD "resp" "ko" 1 false }}
2527
{{ if not ( Empty $setCode ) }}resp{{ else }}_{{ end }}, respErr := rm.sdkapi.{{ .CRD.Ops.Update.Name }}WithContext(ctx, input)
2628
{{- if $hookCode := Hook .CRD "sdk_update_post_request" }}

0 commit comments

Comments
 (0)