...
1 package imds
2
3 import (
4 "context"
5 "fmt"
6 "io"
7
8 "github.com/aws/smithy-go/middleware"
9 smithyhttp "github.com/aws/smithy-go/transport/http"
10 )
11
12 const getDynamicDataPath = "/latest/dynamic"
13
14
15
16
17 func (c *Client) GetDynamicData(ctx context.Context, params *GetDynamicDataInput, optFns ...func(*Options)) (*GetDynamicDataOutput, error) {
18 if params == nil {
19 params = &GetDynamicDataInput{}
20 }
21
22 result, metadata, err := c.invokeOperation(ctx, "GetDynamicData", params, optFns,
23 addGetDynamicDataMiddleware,
24 )
25 if err != nil {
26 return nil, err
27 }
28
29 out := result.(*GetDynamicDataOutput)
30 out.ResultMetadata = metadata
31 return out, nil
32 }
33
34
35
36 type GetDynamicDataInput struct {
37
38
39
40
41
42
43
44
45 Path string
46 }
47
48
49
50 type GetDynamicDataOutput struct {
51 Content io.ReadCloser
52
53 ResultMetadata middleware.Metadata
54 }
55
56 func addGetDynamicDataMiddleware(stack *middleware.Stack, options Options) error {
57 return addAPIRequestMiddleware(stack,
58 options,
59 "GetDynamicData",
60 buildGetDynamicDataPath,
61 buildGetDynamicDataOutput)
62 }
63
64 func buildGetDynamicDataPath(params interface{}) (string, error) {
65 p, ok := params.(*GetDynamicDataInput)
66 if !ok {
67 return "", fmt.Errorf("unknown parameter type %T", params)
68 }
69
70 return appendURIPath(getDynamicDataPath, p.Path), nil
71 }
72
73 func buildGetDynamicDataOutput(resp *smithyhttp.Response) (interface{}, error) {
74 return &GetDynamicDataOutput{
75 Content: resp.Body,
76 }, nil
77 }
78
View as plain text