-
Notifications
You must be signed in to change notification settings - Fork 626
/
api_op_AddTags.go
151 lines (124 loc) · 3.88 KB
/
api_op_AddTags.go
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package machinelearning
import (
"context"
"fmt"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
)
type AddTagsInput struct {
_ struct{} `type:"structure"`
// The ID of the ML object to tag. For example, exampleModelId.
//
// ResourceId is a required field
ResourceId *string `min:"1" type:"string" required:"true"`
// The type of the ML object to tag.
//
// ResourceType is a required field
ResourceType TaggableResourceType `type:"string" required:"true" enum:"true"`
// The key-value pairs to use to create tags. If you specify a key without specifying
// a value, Amazon ML creates a tag with the specified key and a value of null.
//
// Tags is a required field
Tags []Tag `type:"list" required:"true"`
}
// String returns the string representation
func (s AddTagsInput) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *AddTagsInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "AddTagsInput"}
if s.ResourceId == nil {
invalidParams.Add(aws.NewErrParamRequired("ResourceId"))
}
if s.ResourceId != nil && len(*s.ResourceId) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("ResourceId", 1))
}
if len(s.ResourceType) == 0 {
invalidParams.Add(aws.NewErrParamRequired("ResourceType"))
}
if s.Tags == nil {
invalidParams.Add(aws.NewErrParamRequired("Tags"))
}
if s.Tags != nil {
for i, v := range s.Tags {
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(aws.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Amazon ML returns the following elements.
type AddTagsOutput struct {
_ struct{} `type:"structure"`
// The ID of the ML object that was tagged.
ResourceId *string `min:"1" type:"string"`
// The type of the ML object that was tagged.
ResourceType TaggableResourceType `type:"string" enum:"true"`
}
// String returns the string representation
func (s AddTagsOutput) String() string {
return awsutil.Prettify(s)
}
const opAddTags = "AddTags"
// AddTagsRequest returns a request value for making API operation for
// Amazon Machine Learning.
//
// Adds one or more tags to an object, up to a limit of 10. Each tag consists
// of a key and an optional value. If you add a tag using a key that is already
// associated with the ML object, AddTags updates the tag's value.
//
// // Example sending a request using AddTagsRequest.
// req := client.AddTagsRequest(params)
// resp, err := req.Send(context.TODO())
// if err == nil {
// fmt.Println(resp)
// }
func (c *Client) AddTagsRequest(input *AddTagsInput) AddTagsRequest {
op := &aws.Operation{
Name: opAddTags,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &AddTagsInput{}
}
req := c.newRequest(op, input, &AddTagsOutput{})
return AddTagsRequest{Request: req, Input: input, Copy: c.AddTagsRequest}
}
// AddTagsRequest is the request type for the
// AddTags API operation.
type AddTagsRequest struct {
*aws.Request
Input *AddTagsInput
Copy func(*AddTagsInput) AddTagsRequest
}
// Send marshals and sends the AddTags API request.
func (r AddTagsRequest) Send(ctx context.Context) (*AddTagsResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &AddTagsResponse{
AddTagsOutput: r.Request.Data.(*AddTagsOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// AddTagsResponse is the response type for the
// AddTags API operation.
type AddTagsResponse struct {
*AddTagsOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// AddTags request.
func (r *AddTagsResponse) SDKResponseMetdata() *aws.Response {
return r.response
}