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:

Work Request Tracking

Many operations in this module are asynchronous and return a work request ID. These operations include:

The module provides functions to track and monitor these asynchronous operations:

Summary

Types

t()

Queue client structure containing the base client and service configuration.

Functions

Creates a new QueueAdminClient instance.

Creates a new queue with the specified configuration.

Retrieves details about a specific queue.

Retrieves the current status of an asynchronous queue operation.

Lists queues based on the provided filters.

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.

Types

t()

@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, see ExOciSdk.Client.t/0
  • :service_endpoint - Optional custom service endpoint URL

Functions

change_queue_compartment(queue_admin_client, queue_id, change_queue_compartment_input, opts \\ [])

Moves a queue to a different compartment.

Initiates an asynchronous operation to change the compartment of an existing queue.

Parameters

Returns

  • {:ok, response} - On success
  • {:error, reason} - On failure

create(client, opts \\ [])

Creates a new QueueAdminClient instance.

Parameters

create_queue(queue_admin_client, create_queue_input, opts \\ [])

Creates a new queue with the specified configuration.

Initiates an asynchronous operation to create a new queue in the specified compartment.

Parameters

Returns

  • {:ok, response} - On success
  • {:error, reason} - On failure

delete_queue(queue_admin_client, queue_id, opts \\ [])

Deletes a specified queue.

Initiates an asynchronous operation to delete a queue and all its messages.

Parameters

Returns

  • {:ok, response} - On success
  • {:error, reason} - On failure

get_queue(queue_admin_client, queue_id, opts \\ [])

Retrieves details about a specific queue.

Returns information about the queue including its configuration, state, and metadata.

Parameters

Returns

  • {:ok, response} - On success
  • {:error, reason} - On failure

get_work_request(queue_admin_client, work_request_id, opts \\ [])

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

Returns

  • {:ok, response} - On success, returns status details
  • {:error, reason} - On failure

list_queues(queue_admin_client, opts \\ [])

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

Returns

  • {:ok, response} - On success
  • {:error, reason} - On failure

list_work_request_errors(queue_admin_client, work_request_id, opts \\ [])

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

Returns

  • {:ok, response} - On success, returns status details
  • {:error, reason} - On failure

list_work_request_logs(queue_admin_client, work_request_id, opts \\ [])

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

Returns

  • {:ok, response} - On success, returns status details
  • {:error, reason} - On failure

list_work_requests(queue_admin_client, opts \\ [])

Lists work requests in a compartment.

Retrieves a paginated list of work requests for queue operations.

Parameters

Returns

  • {:ok, response} - On success, returns status details
  • {:error, reason} - On failure

purge_queue(queue_admin_client, queue_id, purge_queue_input, opts \\ [])

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

Returns

  • {:ok, response} - On success
  • {:error, reason} - On failure

service_settings()

@spec service_settings() :: ExOciSdk.Queue.Types.service_settings()

Returns defaults service configuration settings ExOciSdk.Queue.Types.service_settings/0.

update_queue(queue_admin_client, queue_id, update_queue_input, opts \\ [])

Updates a queue's configuration.

Initiates an asynchronous operation to modify the configuration of an existing queue.

Parameters

Returns

  • {:ok, response} - On success
  • {:error, reason} - On failure