Skip to content

delete_policy_engine async

delete_policy_engine(
    policy_engine_id: ResourceId,
    *,
    config_overrides: Optional[AsyncBedrockAgentCoreControlClientConfig] = None,
) -> DeletePolicyEngineResponse

Deletes an existing policy engine from the AgentCore Policy system. The policy engine must not have any associated policies before deletion. Once deleted, the policy engine and all its configurations become unavailable for policy management and evaluation. This is an asynchronous operation. Use the GetPolicyEngine operation to poll the status field to track completion.

Parameters:

  • policy_engine_id (ResourceId) –

    The unique identifier of the policy engine to be deleted. This must be a valid policy engine ID that exists within the account.

Raises:

Source code in docs_src/capo_bedrock_agentcore_control/_services/async_bedrock_agent_core_control.py
async def delete_policy_engine(
    self,
    policy_engine_id: "capo_bedrock_agentcore_control.types.resource_id.ResourceId",
    *,
    config_overrides: Optional[AsyncBedrockAgentCoreControlClientConfig] = None,
) -> "capo_bedrock_agentcore_control.types.delete_policy_engine_response.DeletePolicyEngineResponse":
    """<p>Deletes an existing policy engine from the AgentCore Policy system. The policy engine must not have any associated policies before deletion. Once deleted, the policy engine and all its configurations become unavailable for policy management and evaluation. This is an asynchronous operation. Use the <code>GetPolicyEngine</code> operation to poll the <code>status</code> field to track completion.</p>

    Args:
        policy_engine_id: <p>The unique identifier of the policy engine to be deleted. This must be a valid policy engine ID that exists within the account.</p>

    Raises:
        capo_bedrock_agentcore_control.errors.access_denied_exception.AccessDeniedException: <p>This exception is thrown when a request is denied per access permissions</p>
        capo_bedrock_agentcore_control.errors.conflict_exception.ConflictException: <p>This exception is thrown when there is a conflict performing an operation</p>
        capo_bedrock_agentcore_control.errors.internal_server_exception.InternalServerException: <p>This exception is thrown if there was an unexpected error during processing of request</p>
        capo_bedrock_agentcore_control.errors.resource_not_found_exception.ResourceNotFoundException: <p>This exception is thrown when a resource referenced by the operation does not exist</p>
        capo_bedrock_agentcore_control.errors.throttling_exception.ThrottlingException: <p>This exception is thrown when the number of requests exceeds the limit</p>
        capo_bedrock_agentcore_control.errors.validation_exception.ValidationException: <p>The input fails to satisfy the constraints specified by the service.</p>
        capo_bedrock_agentcore_control.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_bedrock_agentcore_control.types.delete_policy_engine_request.DeletePolicyEngineRequest]",
    ) -> AsyncOperationResponse[
        "capo_bedrock_agentcore_control.types.delete_policy_engine_response.DeletePolicyEngineResponse"
    ]:
        import capo_bedrock_agentcore_control._operations.amazon_bedrock_agent_core_control.delete_policy_engine

        (
            output,
            http_response,
        ) = await capo_bedrock_agentcore_control._operations.amazon_bedrock_agent_core_control.delete_policy_engine.async_delete_policy_engine(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    def _redact_output(
        output: "capo_bedrock_agentcore_control.types.delete_policy_engine_response.DeletePolicyEngineResponse",
    ) -> dict[str, Any]:
        import capo_bedrock_agentcore_control.types.delete_policy_engine_response

        return capo_bedrock_agentcore_control.types.delete_policy_engine_response.redact_sensitive(
            output
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("DeletePolicyEngine", redact_output=_redact_output),
    )
    input_: capo_bedrock_agentcore_control.types.delete_policy_engine_request.DeletePolicyEngineRequest = {
        "policy_engine_id": policy_engine_id
    }

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output