-
Notifications
You must be signed in to change notification settings - Fork 623
/
api_op_TagLogGroup.go
141 lines (117 loc) · 3.83 KB
/
api_op_TagLogGroup.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
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package cloudwatchlogs
import (
"context"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
"github.com/aws/aws-sdk-go-v2/private/protocol"
"github.com/aws/aws-sdk-go-v2/private/protocol/jsonrpc"
)
type TagLogGroupInput struct {
_ struct{} `type:"structure"`
// The name of the log group.
//
// LogGroupName is a required field
LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"`
// The key-value pairs to use for the tags.
//
// Tags is a required field
Tags map[string]string `locationName:"tags" min:"1" type:"map" required:"true"`
}
// String returns the string representation
func (s TagLogGroupInput) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *TagLogGroupInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "TagLogGroupInput"}
if s.LogGroupName == nil {
invalidParams.Add(aws.NewErrParamRequired("LogGroupName"))
}
if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("LogGroupName", 1))
}
if s.Tags == nil {
invalidParams.Add(aws.NewErrParamRequired("Tags"))
}
if s.Tags != nil && len(s.Tags) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("Tags", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
type TagLogGroupOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation
func (s TagLogGroupOutput) String() string {
return awsutil.Prettify(s)
}
const opTagLogGroup = "TagLogGroup"
// TagLogGroupRequest returns a request value for making API operation for
// Amazon CloudWatch Logs.
//
// Adds or updates the specified tags for the specified log group.
//
// To list the tags for a log group, use ListTagsLogGroup. To remove tags, use
// UntagLogGroup.
//
// For more information about tags, see Tag Log Groups in Amazon CloudWatch
// Logs (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/log-group-tagging.html)
// in the Amazon CloudWatch Logs User Guide.
//
// // Example sending a request using TagLogGroupRequest.
// req := client.TagLogGroupRequest(params)
// resp, err := req.Send(context.TODO())
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/TagLogGroup
func (c *Client) TagLogGroupRequest(input *TagLogGroupInput) TagLogGroupRequest {
op := &aws.Operation{
Name: opTagLogGroup,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &TagLogGroupInput{}
}
req := c.newRequest(op, input, &TagLogGroupOutput{})
req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
return TagLogGroupRequest{Request: req, Input: input, Copy: c.TagLogGroupRequest}
}
// TagLogGroupRequest is the request type for the
// TagLogGroup API operation.
type TagLogGroupRequest struct {
*aws.Request
Input *TagLogGroupInput
Copy func(*TagLogGroupInput) TagLogGroupRequest
}
// Send marshals and sends the TagLogGroup API request.
func (r TagLogGroupRequest) Send(ctx context.Context) (*TagLogGroupResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &TagLogGroupResponse{
TagLogGroupOutput: r.Request.Data.(*TagLogGroupOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// TagLogGroupResponse is the response type for the
// TagLogGroup API operation.
type TagLogGroupResponse struct {
*TagLogGroupOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// TagLogGroup request.
func (r *TagLogGroupResponse) SDKResponseMetdata() *aws.Response {
return r.response
}