Skip to content

update_rule

update_rule(
    service_identifier: ServiceIdentifier,
    listener_identifier: ListenerIdentifier,
    rule_identifier: RuleIdentifier,
    *,
    config_overrides: Optional[VPCLatticeClientConfig] = None,
    match: Optional[RuleMatch] = None,
    priority: Optional[RulePriority] = None,
    action: Optional[RuleAction] = None,
) -> UpdateRuleResponse

Updates a specified rule for the listener. You can't modify a default listener rule. To modify a default listener rule, use UpdateListener.

Parameters:

  • service_identifier (ServiceIdentifier) –

    The ID or ARN of the service.

  • listener_identifier (ListenerIdentifier) –

    The ID or ARN of the listener.

  • rule_identifier (RuleIdentifier) –

    The ID or ARN of the rule.

  • match (Optional[RuleMatch], default: None ) –

    The rule match.

  • priority (Optional[RulePriority], default: None ) –

    The rule priority. A listener can't have multiple rules with the same priority.

  • action (Optional[RuleAction], default: None ) –

    Information about the action for the specified listener rule.

Raises:

Source code in docs_src/capo_vpc_lattice/_services/vpc_lattice.py
def update_rule(
    self,
    service_identifier: "capo_vpc_lattice.types.service_identifier.ServiceIdentifier",
    listener_identifier: "capo_vpc_lattice.types.listener_identifier.ListenerIdentifier",
    rule_identifier: "capo_vpc_lattice.types.rule_identifier.RuleIdentifier",
    *,
    config_overrides: Optional[VPCLatticeClientConfig] = None,
    match: Optional["capo_vpc_lattice.types.rule_match.RuleMatch"] = None,
    priority: Optional["capo_vpc_lattice.types.rule_priority.RulePriority"] = None,
    action: Optional["capo_vpc_lattice.types.rule_action.RuleAction"] = None,
) -> "capo_vpc_lattice.types.update_rule_response.UpdateRuleResponse":
    """<p>Updates a specified rule for the listener. You can't modify a default listener rule. To modify a default listener rule, use <code>UpdateListener</code>.</p>

    Args:
        service_identifier: <p>The ID or ARN of the service.</p>
        listener_identifier: <p>The ID or ARN of the listener.</p>
        rule_identifier: <p>The ID or ARN of the rule.</p>
        match: <p>The rule match.</p>
        priority: <p>The rule priority. A listener can't have multiple rules with the same priority.</p>
        action: <p>Information about the action for the specified listener rule.</p>

    Raises:
        capo_vpc_lattice.errors.access_denied_exception.AccessDeniedException: <p>The user does not have sufficient access to perform this action.</p>
        capo_vpc_lattice.errors.conflict_exception.ConflictException: <p>The request conflicts with the current state of the resource. Updating or deleting a resource can cause an inconsistent state.</p>
        capo_vpc_lattice.errors.internal_server_exception.InternalServerException: <p>An unexpected error occurred while processing the request.</p>
        capo_vpc_lattice.errors.resource_not_found_exception.ResourceNotFoundException: <p>The request references a resource that does not exist.</p>
        capo_vpc_lattice.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>The request would cause a service quota to be exceeded.</p>
        capo_vpc_lattice.errors.throttling_exception.ThrottlingException: <p>The limit on the number of requests per second was exceeded.</p>
        capo_vpc_lattice.errors.validation_exception.ValidationException: <p>The input does not satisfy the constraints specified by an Amazon Web Services service.</p>
        capo_vpc_lattice.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_vpc_lattice.types.update_rule_request.UpdateRuleRequest]",
    ) -> OperationResponse[
        "capo_vpc_lattice.types.update_rule_response.UpdateRuleResponse"
    ]:
        import capo_vpc_lattice._operations.mercury_control_plane.update_rule

        output, http_response = (
            capo_vpc_lattice._operations.mercury_control_plane.update_rule.update_rule(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateRule")
    )
    input_: capo_vpc_lattice.types.update_rule_request.UpdateRuleRequest = {
        "service_identifier": service_identifier,
        "listener_identifier": listener_identifier,
        "rule_identifier": rule_identifier,
    }
    if match is not None:
        input_["match"] = match
    if priority is not None:
        input_["priority"] = priority
    if action is not None:
        input_["action"] = action

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output