View Source ExOciSdk.Queue.QueueAdminClient (ex_oci_sdk v0.2.1)
Provides administrative operations for managing OCI Queues.
This module implements the Oracle Cloud Infrastructure (OCI) Queue Admin, offering functionality to create, configure, and manage queues in OCI. It handles both synchronous operations (like retrieving queue details) and asynchronous operations (like queue creation and deletion) through work requests.
Queue Management
The client supports comprehensive queue lifecycle management:
- Queue creation with configurable retention, visibility, and timeout settings (
create_queue/3
) - Queue retrieval and listing operations (
get_queue/3
,list_queues/2
) - Queue updates for modifying existing configurations (
update_queue/4
) - Queue deletion with proper cleanup (
delete_queue/3
) - Queue purging to remove messages (
purge_queue/4
) - Moving queues between compartments (
change_queue_compartment/4
)
Work Request Tracking
Many operations in this module are asynchronous and return a work request ID. These operations include:
- Creating queues (
create_queue/3
) - Deleting queues (
delete_queue/3
) - Purging messages (
purge_queue/4
) - Updating queue configurations (
update_queue/4
) - Moving queues between compartments (
change_queue_compartment/4
)
The module provides functions to track and monitor these asynchronous operations:
get_work_request/3
- Check operation statuslist_work_requests/2
- List all work requests in a compartmentlist_work_request_errors/3
- View operation errorslist_work_request_logs/3
- Access detailed operation logs
Summary
Functions
Moves a queue to a different compartment.
Creates a new QueueAdminClient instance.
Creates a new queue with the specified configuration.
Deletes a specified queue.
Retrieves details about a specific queue.
Retrieves the current status of an asynchronous queue operation.
Lists queues based on the provided filters.
Lists errors associated with a work request.
Lists log entries for a work request.
Lists work requests in a compartment.
Purges messages from a queue based on the specified criteria.
Returns defaults service configuration settings ExOciSdk.Queue.Types.service_settings/0
.
Updates a queue's configuration.
Types
@type t() :: %ExOciSdk.Queue.QueueAdminClient{ client: ExOciSdk.Client.t(), service_endpoint: String.t() | nil }
Queue client structure containing the base client and service configuration.
:client
- The base OCI client instance, seeExOciSdk.Client.t/0
:service_endpoint
- Optional custom service endpoint URL
Functions
@spec change_queue_compartment( t(), ExOciSdk.Queue.Types.queue_id(), ExOciSdk.Queue.Types.change_queue_compartment_input(), ExOciSdk.Queue.Types.queue_admin_default_opts() ) :: {:ok, ExOciSdk.Response.Types.response_success()} | {:error, ExOciSdk.Response.Types.response_error()}
Moves a queue to a different compartment.
Initiates an asynchronous operation to change the compartment of an existing queue.
Parameters
queue_admin_client
- Queue Admin client instancet/0
queue_id
- Target queue identifier,change_queue_compartment_input
- Change queue compartment input, seeExOciSdk.Queue.Types.change_queue_compartment_input/0
opts
- Options list, seeExOciSdk.Queue.Types.queue_admin_default_opts/0
Returns
{:ok, response}
- On success{:error, reason}
- On failure
@spec create(ExOciSdk.Client.t(), ExOciSdk.Queue.Types.queue_client_create_opts()) :: t()
Creates a new QueueAdminClient instance.
Parameters
client
- Base sdk client, seeExOciSdk.Client.t/0
opts
- Options list, seeExOciSdk.Queue.Types.queue_client_create_opts/0
@spec create_queue( t(), ExOciSdk.Queue.Types.create_queue_input(), ExOciSdk.Queue.Types.create_queue_opts() ) :: {:ok, ExOciSdk.Response.Types.response_success()} | {:error, ExOciSdk.Response.Types.response_error()}
Creates a new queue with the specified configuration.
Initiates an asynchronous operation to create a new queue in the specified compartment.
Parameters
queue_admin_client
- Queue Admin client instancet/0
queue_id
- Target queue identifiercreate_queue_input
- Create queue input, seeExOciSdk.Queue.Types.create_queue_input/0
opts
- Options list, seeExOciSdk.Queue.Types.create_queue_opts/0
Returns
{:ok, response}
- On success{:error, reason}
- On failure
@spec delete_queue( t(), ExOciSdk.Queue.Types.queue_id(), ExOciSdk.Queue.Types.queue_admin_default_opts() ) :: {:ok, ExOciSdk.Response.Types.response_success()} | {:error, ExOciSdk.Response.Types.response_error()}
Deletes a specified queue.
Initiates an asynchronous operation to delete a queue and all its messages.
Parameters
queue_admin_client
- Queue Admin client instancet/0
queue_id
- Target queue identifieropts
- Options list, seeExOciSdk.Queue.Types.queue_admin_default_opts/0
Returns
{:ok, response}
- On success{:error, reason}
- On failure
@spec get_queue( t(), ExOciSdk.Queue.Types.queue_id(), ExOciSdk.Queue.Types.queue_default_opts() ) :: {:ok, ExOciSdk.Response.Types.response_success()} | {:error, ExOciSdk.Response.Types.response_error()}
Retrieves details about a specific queue.
Returns information about the queue including its configuration, state, and metadata.
Parameters
queue_admin_client
- Queue Admin client instancet/0
queue_id
- Target queue identifieropts
- Options list, seeExOciSdk.Queue.Types.queue_default_opts/0
Returns
{:ok, response}
- On success{:error, reason}
- On failure
@spec get_work_request( t(), ExOciSdk.Queue.Types.work_request_id(), ExOciSdk.Queue.Types.queue_default_opts() ) :: {:ok, ExOciSdk.Response.Types.response_success()} | {:error, ExOciSdk.Response.Types.response_error()}
Retrieves the current status of an asynchronous queue operation.
This function polls the status of operations like:
create_queue/3
,
delete_queue/3
,
purge_queue/4
,
update_queue/4
,
change_queue_compartment/4
that are being processed asynchronously in the queue service.
Parameters
queue_admin_client
- Queue Admin client instancet/0
work_request_id
- ID of the asynchronous operation.opts
- Options list, seeExOciSdk.Queue.Types.queue_default_opts/0
Returns
{:ok, response}
- On success, returns status details{:error, reason}
- On failure
@spec list_queues(t(), ExOciSdk.Queue.Types.list_queues_opts()) :: {:ok, ExOciSdk.Response.Types.response_success()} | {:error, ExOciSdk.Response.Types.response_error()}
Lists queues based on the provided filters.
Returns a paginated list of queues that match the specified criteria. The response can be sorted and filtered by various queue attributes.
Parameters
queue_admin_client
- Queue Admin client instancet/0
opts
- Options list, seeExOciSdk.Queue.Types.list_queues_opts/0
Returns
{:ok, response}
- On success{:error, reason}
- On failure
Lists errors associated with a work request.
Retrieves a paginated list of errors that occurred during the execution of a specific work request. This helps diagnose failures in queue operations.
Parameters
queue_admin_client
- Queue Admin client instancet/0
work_request_id
- ID of the work request to get errors foropts
- Options list, seeExOciSdk.Queue.Types.list_work_requests_default_opts/0
Returns
{:ok, response}
- On success, returns status details{:error, reason}
- On failure
Lists log entries for a work request.
Retrieves a paginated list of log messages generated during the execution of a specific work request. This provides detailed progress and diagnostic information for queue operations.
Parameters
queue_admin_client
- Queue Admin client instancet/0
work_request_id
- ID of the work request to get logs foropts
- Options list, seeExOciSdk.Queue.Types.list_work_requests_default_opts/0
Returns
{:ok, response}
- On success, returns status details{:error, reason}
- On failure
@spec list_work_requests(t(), ExOciSdk.Queue.Types.list_work_requests_opts()) :: {:ok, ExOciSdk.Response.Types.response_success()} | {:error, ExOciSdk.Response.Types.response_error()}
Lists work requests in a compartment.
Retrieves a paginated list of work requests for queue operations.
Parameters
queue_admin_client
- Queue Admin client instancet/0
opts
- Options list, seeExOciSdk.Queue.Types.list_work_requests_opts/0
Returns
{:ok, response}
- On success, returns status details{:error, reason}
- On failure
@spec purge_queue( t(), ExOciSdk.Queue.Types.queue_id(), ExOciSdk.Queue.Types.purge_queue_input(), ExOciSdk.Queue.Types.queue_admin_default_opts() ) :: {:ok, ExOciSdk.Response.Types.response_success()} | {:error, ExOciSdk.Response.Types.response_error()}
Purges messages from a queue based on the specified criteria.
Initiates an asynchronous operation to remove messages from either the main queue, dead letter queue (DLQ), or both. Can optionally target specific channels.
Parameters
queue_admin_client
- Queue Admin client instancet/0
queue_id
- Target queue identifier,purge_queue_input
- Purge queue input, seeExOciSdk.Queue.Types.purge_queue_input/0
opts
- Options list, seeExOciSdk.Queue.Types.queue_admin_default_opts/0
Returns
{:ok, response}
- On success{:error, reason}
- On failure
@spec service_settings() :: ExOciSdk.Queue.Types.service_settings()
Returns defaults service configuration settings ExOciSdk.Queue.Types.service_settings/0
.
@spec update_queue( t(), ExOciSdk.Queue.Types.queue_id(), ExOciSdk.Queue.Types.update_queue_input(), ExOciSdk.Queue.Types.queue_admin_default_opts() ) :: {:ok, ExOciSdk.Response.Types.response_success()} | {:error, ExOciSdk.Response.Types.response_error()}
Updates a queue's configuration.
Initiates an asynchronous operation to modify the configuration of an existing queue.
Parameters
queue_admin_client
- Queue Admin client instancet/0
queue_id
- Target queue identifier,update_queue_input
- Update queue input, seeExOciSdk.Queue.Types.update_queue_input/0
opts
- Options list, seeExOciSdk.Queue.Types.queue_admin_default_opts/0
Returns
{:ok, response}
- On success{:error, reason}
- On failure