createRelay method
Creates a relay resource which can be used in rules to relay incoming emails to defined relay destinations.
May throw ConflictException.
May throw ServiceQuotaExceededException.
May throw ValidationException.
Parameter authentication :
Authentication for the relay destination server—specify the secretARN
where the SMTP credentials are stored.
Parameter relayName :
The unique name of the relay resource.
Parameter serverName :
The destination relay server address.
Parameter serverPort :
The destination relay server port.
Parameter clientToken :
A unique token that Amazon SES uses to recognize subsequent retries of the
same request.
Parameter tags :
The tags used to organize, track, or control access for the resource. For
example, { "tags": {"key1":"value1", "key2":"value2"} }.
Implementation
Future<CreateRelayResponse> createRelay({
required RelayAuthentication authentication,
required String relayName,
required String serverName,
required int serverPort,
String? clientToken,
List<Tag>? tags,
}) async {
_s.validateNumRange(
'serverPort',
serverPort,
1,
65535,
isRequired: true,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.0',
'X-Amz-Target': 'MailManagerSvc.CreateRelay'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'Authentication': authentication,
'RelayName': relayName,
'ServerName': serverName,
'ServerPort': serverPort,
'ClientToken': clientToken ?? _s.generateIdempotencyToken(),
if (tags != null) 'Tags': tags,
},
);
return CreateRelayResponse.fromJson(jsonResponse.body);
}