createRoutingRule method
Creates a RoutingRule.
May throw BadRequestException.
May throw ConflictException.
May throw NotFoundException.
May throw TooManyRequestsException.
Parameter actions :
Represents a routing rule action. The only supported action is invokeApi.
Parameter conditions :
Represents a condition. Conditions can contain up to two matchHeaders
conditions and one matchBasePaths conditions. API Gateway evaluates header
conditions and base path conditions together. You can only use AND between
header and base path conditions.
Parameter domainName :
The domain name.
Parameter priority :
Represents the priority of the routing rule.
Parameter domainNameId :
The domain name ID.
Implementation
Future<CreateRoutingRuleResponse> createRoutingRule({
required List<RoutingRuleAction> actions,
required List<RoutingRuleCondition> conditions,
required String domainName,
required int priority,
String? domainNameId,
}) async {
_s.validateNumRange(
'priority',
priority,
1,
1000000,
isRequired: true,
);
final $query = <String, List<String>>{
if (domainNameId != null) 'domainNameId': [domainNameId],
};
final $payload = <String, dynamic>{
'actions': actions,
'conditions': conditions,
'priority': priority,
};
final response = await _protocol.send(
payload: $payload,
method: 'POST',
requestUri:
'/v2/domainnames/${Uri.encodeComponent(domainName)}/routingrules',
queryParams: $query,
exceptionFnMap: _exceptionFns,
);
return CreateRoutingRuleResponse.fromJson(response);
}