...
1 package imds
2
3 import (
4 "context"
5 "io"
6
7 "github.com/aws/smithy-go/middleware"
8 smithyhttp "github.com/aws/smithy-go/transport/http"
9 )
10
11 const getUserDataPath = "/latest/user-data"
12
13
14
15
16 func (c *Client) GetUserData(ctx context.Context, params *GetUserDataInput, optFns ...func(*Options)) (*GetUserDataOutput, error) {
17 if params == nil {
18 params = &GetUserDataInput{}
19 }
20
21 result, metadata, err := c.invokeOperation(ctx, "GetUserData", params, optFns,
22 addGetUserDataMiddleware,
23 )
24 if err != nil {
25 return nil, err
26 }
27
28 out := result.(*GetUserDataOutput)
29 out.ResultMetadata = metadata
30 return out, nil
31 }
32
33
34
35 type GetUserDataInput struct{}
36
37
38
39 type GetUserDataOutput struct {
40 Content io.ReadCloser
41
42 ResultMetadata middleware.Metadata
43 }
44
45 func addGetUserDataMiddleware(stack *middleware.Stack, options Options) error {
46 return addAPIRequestMiddleware(stack,
47 options,
48 "GetUserData",
49 buildGetUserDataPath,
50 buildGetUserDataOutput)
51 }
52
53 func buildGetUserDataPath(params interface{}) (string, error) {
54 return getUserDataPath, nil
55 }
56
57 func buildGetUserDataOutput(resp *smithyhttp.Response) (interface{}, error) {
58 return &GetUserDataOutput{
59 Content: resp.Body,
60 }, nil
61 }
62
View as plain text