/
CreateConfigurationSetCommand.ts
159 lines (148 loc) · 5.97 KB
/
CreateConfigurationSetCommand.ts
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
// smithy-typescript generated code
import { EndpointParameterInstructions, getEndpointPlugin } from "@aws-sdk/middleware-endpoint";
import { getSerdePlugin } from "@aws-sdk/middleware-serde";
import { Command as $Command } from "@aws-sdk/smithy-client";
import {
FinalizeHandlerArguments,
Handler,
HandlerExecutionContext,
HttpHandlerOptions as __HttpHandlerOptions,
MetadataBearer as __MetadataBearer,
MiddlewareStack,
} from "@aws-sdk/types";
import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
import { SerdeContext as __SerdeContext } from "@smithy/types";
import { CreateConfigurationSetRequest, CreateConfigurationSetResponse } from "../models/models_0";
import { de_CreateConfigurationSetCommand, se_CreateConfigurationSetCommand } from "../protocols/Aws_query";
import { ServiceInputTypes, ServiceOutputTypes, SESClientResolvedConfig } from "../SESClient";
/**
* @public
*/
export { __MetadataBearer, $Command };
/**
* @public
*
* The input for {@link CreateConfigurationSetCommand}.
*/
export interface CreateConfigurationSetCommandInput extends CreateConfigurationSetRequest {}
/**
* @public
*
* The output of {@link CreateConfigurationSetCommand}.
*/
export interface CreateConfigurationSetCommandOutput extends CreateConfigurationSetResponse, __MetadataBearer {}
/**
* @public
* <p>Creates a configuration set.</p>
* <p>Configuration sets enable you to publish email sending events. For information about
* using configuration sets, see the <a href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html">Amazon SES Developer
* Guide</a>.</p>
* <p>You can execute this operation no more than once per second.</p>
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
* import { SESClient, CreateConfigurationSetCommand } from "@aws-sdk/client-ses"; // ES Modules import
* // const { SESClient, CreateConfigurationSetCommand } = require("@aws-sdk/client-ses"); // CommonJS import
* const client = new SESClient(config);
* const input = { // CreateConfigurationSetRequest
* ConfigurationSet: { // ConfigurationSet
* Name: "STRING_VALUE", // required
* },
* };
* const command = new CreateConfigurationSetCommand(input);
* const response = await client.send(command);
* // {};
*
* ```
*
* @param CreateConfigurationSetCommandInput - {@link CreateConfigurationSetCommandInput}
* @returns {@link CreateConfigurationSetCommandOutput}
* @see {@link CreateConfigurationSetCommandInput} for command's `input` shape.
* @see {@link CreateConfigurationSetCommandOutput} for command's `response` shape.
* @see {@link SESClientResolvedConfig | config} for SESClient's `config` shape.
*
* @throws {@link ConfigurationSetAlreadyExistsException} (client fault)
* <p>Indicates that the configuration set could not be created because of a naming
* conflict.</p>
*
* @throws {@link InvalidConfigurationSetException} (client fault)
* <p>Indicates that the configuration set is invalid. See the error message for
* details.</p>
*
* @throws {@link LimitExceededException} (client fault)
* <p>Indicates that a resource could not be created because of service limits. For a list
* of Amazon SES limits, see the <a href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/limits.html">Amazon SES Developer
* Guide</a>.</p>
*
* @throws {@link SESServiceException}
* <p>Base exception class for all service exceptions from SES service.</p>
*
*/
export class CreateConfigurationSetCommand extends $Command<
CreateConfigurationSetCommandInput,
CreateConfigurationSetCommandOutput,
SESClientResolvedConfig
> {
// Start section: command_properties
// End section: command_properties
public static getEndpointParameterInstructions(): EndpointParameterInstructions {
return {
UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
Endpoint: { type: "builtInParams", name: "endpoint" },
Region: { type: "builtInParams", name: "region" },
UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
};
}
/**
* @public
*/
constructor(readonly input: CreateConfigurationSetCommandInput) {
// Start section: command_constructor
super();
// End section: command_constructor
}
/**
* @internal
*/
resolveMiddleware(
clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>,
configuration: SESClientResolvedConfig,
options?: __HttpHandlerOptions
): Handler<CreateConfigurationSetCommandInput, CreateConfigurationSetCommandOutput> {
this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
this.middlewareStack.use(
getEndpointPlugin(configuration, CreateConfigurationSetCommand.getEndpointParameterInstructions())
);
const stack = clientStack.concat(this.middlewareStack);
const { logger } = configuration;
const clientName = "SESClient";
const commandName = "CreateConfigurationSetCommand";
const handlerExecutionContext: HandlerExecutionContext = {
logger,
clientName,
commandName,
inputFilterSensitiveLog: (_: any) => _,
outputFilterSensitiveLog: (_: any) => _,
};
const { requestHandler } = configuration;
return stack.resolve(
(request: FinalizeHandlerArguments<any>) =>
requestHandler.handle(request.request as __HttpRequest, options || {}),
handlerExecutionContext
);
}
/**
* @internal
*/
private serialize(input: CreateConfigurationSetCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
return se_CreateConfigurationSetCommand(input, context);
}
/**
* @internal
*/
private deserialize(output: __HttpResponse, context: __SerdeContext): Promise<CreateConfigurationSetCommandOutput> {
return de_CreateConfigurationSetCommand(output, context);
}
// Start section: command_body_extra
// End section: command_body_extra
}