putRoutingRule method

Future<PutRoutingRuleResponse> putRoutingRule({
  1. required List<RoutingRuleAction> actions,
  2. required List<RoutingRuleCondition> conditions,
  3. required String domainName,
  4. required int priority,
  5. required String routingRuleId,
  6. String? domainNameId,
})

Updates a routing rule.

May throw BadRequestException. May throw ConflictException. May throw NotFoundException. May throw TooManyRequestsException.

Parameter actions : The routing rule action.

Parameter conditions : The routing rule condition.

Parameter domainName : The domain name.

Parameter priority : The routing rule priority.

Parameter routingRuleId : The routing rule ID.

Parameter domainNameId : The domain name ID.

Implementation

Future<PutRoutingRuleResponse> putRoutingRule({
  required List<RoutingRuleAction> actions,
  required List<RoutingRuleCondition> conditions,
  required String domainName,
  required int priority,
  required String routingRuleId,
  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: 'PUT',
    requestUri:
        '/v2/domainnames/${Uri.encodeComponent(domainName)}/routingrules/${Uri.encodeComponent(routingRuleId)}',
    queryParams: $query,
    exceptionFnMap: _exceptionFns,
  );
  return PutRoutingRuleResponse.fromJson(response);
}