-
Notifications
You must be signed in to change notification settings - Fork 623
/
api_op_UpdateConfigurationSetReputationMetricsEnabled.go
137 lines (113 loc) · 5.16 KB
/
api_op_UpdateConfigurationSetReputationMetricsEnabled.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
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package ses
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/query"
)
// Represents a request to modify the reputation metric publishing settings
// for a configuration set.
type UpdateConfigurationSetReputationMetricsEnabledInput struct {
_ struct{} `type:"structure"`
// The name of the configuration set that you want to update.
//
// ConfigurationSetName is a required field
ConfigurationSetName *string `type:"string" required:"true"`
// Describes whether or not Amazon SES will publish reputation metrics for the
// configuration set, such as bounce and complaint rates, to Amazon CloudWatch.
//
// Enabled is a required field
Enabled *bool `type:"boolean" required:"true"`
}
// String returns the string representation
func (s UpdateConfigurationSetReputationMetricsEnabledInput) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *UpdateConfigurationSetReputationMetricsEnabledInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "UpdateConfigurationSetReputationMetricsEnabledInput"}
if s.ConfigurationSetName == nil {
invalidParams.Add(aws.NewErrParamRequired("ConfigurationSetName"))
}
if s.Enabled == nil {
invalidParams.Add(aws.NewErrParamRequired("Enabled"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
type UpdateConfigurationSetReputationMetricsEnabledOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation
func (s UpdateConfigurationSetReputationMetricsEnabledOutput) String() string {
return awsutil.Prettify(s)
}
const opUpdateConfigurationSetReputationMetricsEnabled = "UpdateConfigurationSetReputationMetricsEnabled"
// UpdateConfigurationSetReputationMetricsEnabledRequest returns a request value for making API operation for
// Amazon Simple Email Service.
//
// Enables or disables the publishing of reputation metrics for emails sent
// using a specific configuration set in a given AWS Region. Reputation metrics
// include bounce and complaint rates. These metrics are published to Amazon
// CloudWatch. By using CloudWatch, you can create alarms when bounce or complaint
// rates exceed certain thresholds.
//
// You can execute this operation no more than once per second.
//
// // Example sending a request using UpdateConfigurationSetReputationMetricsEnabledRequest.
// req := client.UpdateConfigurationSetReputationMetricsEnabledRequest(params)
// resp, err := req.Send(context.TODO())
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateConfigurationSetReputationMetricsEnabled
func (c *Client) UpdateConfigurationSetReputationMetricsEnabledRequest(input *UpdateConfigurationSetReputationMetricsEnabledInput) UpdateConfigurationSetReputationMetricsEnabledRequest {
op := &aws.Operation{
Name: opUpdateConfigurationSetReputationMetricsEnabled,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &UpdateConfigurationSetReputationMetricsEnabledInput{}
}
req := c.newRequest(op, input, &UpdateConfigurationSetReputationMetricsEnabledOutput{})
req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
return UpdateConfigurationSetReputationMetricsEnabledRequest{Request: req, Input: input, Copy: c.UpdateConfigurationSetReputationMetricsEnabledRequest}
}
// UpdateConfigurationSetReputationMetricsEnabledRequest is the request type for the
// UpdateConfigurationSetReputationMetricsEnabled API operation.
type UpdateConfigurationSetReputationMetricsEnabledRequest struct {
*aws.Request
Input *UpdateConfigurationSetReputationMetricsEnabledInput
Copy func(*UpdateConfigurationSetReputationMetricsEnabledInput) UpdateConfigurationSetReputationMetricsEnabledRequest
}
// Send marshals and sends the UpdateConfigurationSetReputationMetricsEnabled API request.
func (r UpdateConfigurationSetReputationMetricsEnabledRequest) Send(ctx context.Context) (*UpdateConfigurationSetReputationMetricsEnabledResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &UpdateConfigurationSetReputationMetricsEnabledResponse{
UpdateConfigurationSetReputationMetricsEnabledOutput: r.Request.Data.(*UpdateConfigurationSetReputationMetricsEnabledOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// UpdateConfigurationSetReputationMetricsEnabledResponse is the response type for the
// UpdateConfigurationSetReputationMetricsEnabled API operation.
type UpdateConfigurationSetReputationMetricsEnabledResponse struct {
*UpdateConfigurationSetReputationMetricsEnabledOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// UpdateConfigurationSetReputationMetricsEnabled request.
func (r *UpdateConfigurationSetReputationMetricsEnabledResponse) SDKResponseMetdata() *aws.Response {
return r.response
}