-
Notifications
You must be signed in to change notification settings - Fork 598
/
api_op_RemoveTargets.go
161 lines (133 loc) · 4.66 KB
/
api_op_RemoveTargets.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
152
153
154
155
156
157
158
159
160
161
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package cloudwatchevents
import (
"context"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
)
// Please also see https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/RemoveTargetsRequest
type RemoveTargetsInput struct {
_ struct{} `type:"structure"`
// The name of the event bus associated with the rule.
EventBusName *string `min:"1" type:"string"`
// If this is a managed rule created by an AWS service on your behalf, you must
// specify Force as True to remove targets. This parameter is ignored for rules
// that aren't managed rules. You can check whether a rule is a managed rule
// by using DescribeRule or ListRules and checking the ManagedBy field of the
// response.
Force *bool `type:"boolean"`
// The IDs of the targets to remove from the rule.
//
// Ids is a required field
Ids []string `min:"1" type:"list" required:"true"`
// The name of the rule.
//
// Rule is a required field
Rule *string `min:"1" type:"string" required:"true"`
}
// String returns the string representation
func (s RemoveTargetsInput) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *RemoveTargetsInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "RemoveTargetsInput"}
if s.EventBusName != nil && len(*s.EventBusName) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("EventBusName", 1))
}
if s.Ids == nil {
invalidParams.Add(aws.NewErrParamRequired("Ids"))
}
if s.Ids != nil && len(s.Ids) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("Ids", 1))
}
if s.Rule == nil {
invalidParams.Add(aws.NewErrParamRequired("Rule"))
}
if s.Rule != nil && len(*s.Rule) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("Rule", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/RemoveTargetsResponse
type RemoveTargetsOutput struct {
_ struct{} `type:"structure"`
// The failed target entries.
FailedEntries []RemoveTargetsResultEntry `type:"list"`
// The number of failed entries.
FailedEntryCount *int64 `type:"integer"`
}
// String returns the string representation
func (s RemoveTargetsOutput) String() string {
return awsutil.Prettify(s)
}
const opRemoveTargets = "RemoveTargets"
// RemoveTargetsRequest returns a request value for making API operation for
// Amazon CloudWatch Events.
//
// Removes the specified targets from the specified rule. When the rule is triggered,
// those targets are no longer be invoked.
//
// When you remove a target, when the associated rule triggers, removed targets
// might continue to be invoked. Allow a short period of time for changes to
// take effect.
//
// This action can partially fail if too many requests are made at the same
// time. If that happens, FailedEntryCount is non-zero in the response and each
// entry in FailedEntries provides the ID of the failed target and the error
// code.
//
// // Example sending a request using RemoveTargetsRequest.
// req := client.RemoveTargetsRequest(params)
// resp, err := req.Send(context.TODO())
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/RemoveTargets
func (c *Client) RemoveTargetsRequest(input *RemoveTargetsInput) RemoveTargetsRequest {
op := &aws.Operation{
Name: opRemoveTargets,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &RemoveTargetsInput{}
}
req := c.newRequest(op, input, &RemoveTargetsOutput{})
return RemoveTargetsRequest{Request: req, Input: input, Copy: c.RemoveTargetsRequest}
}
// RemoveTargetsRequest is the request type for the
// RemoveTargets API operation.
type RemoveTargetsRequest struct {
*aws.Request
Input *RemoveTargetsInput
Copy func(*RemoveTargetsInput) RemoveTargetsRequest
}
// Send marshals and sends the RemoveTargets API request.
func (r RemoveTargetsRequest) Send(ctx context.Context) (*RemoveTargetsResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &RemoveTargetsResponse{
RemoveTargetsOutput: r.Request.Data.(*RemoveTargetsOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// RemoveTargetsResponse is the response type for the
// RemoveTargets API operation.
type RemoveTargetsResponse struct {
*RemoveTargetsOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// RemoveTargets request.
func (r *RemoveTargetsResponse) SDKResponseMetdata() *aws.Response {
return r.response
}