View Source ExOciSdk.Queue.Types (ex_oci_sdk v0.1.0)

Defines types used by the Queue Client.

Summary

Types

Filter string for querying specific channels.

Unique identifier for a channel within a queue.

Structure for deleting multiple messages from a queue.

Options for retrieving messages from a queue.

Options for retrieving queue statistics.

Options for listing channels in a queue.

Message map containing the actual content and associated metadata.

Metadata map associated with a message, including channel information and custom properties.

Receipt identifier for a message. Used in operations that manipulate existing messages.

Request identifier used for tracing and debugging purposes.

Map for putting multiple messages into a queue.

Options for creating a new queue client.

Default options available for most queue operations.

Unique identifier for a queue.

Default Queue service settings

Map for updating a single message's visibility timeout.

Structure for updating visibility timeout for multiple messages.

Types

channel_filter()

@type channel_filter() :: String.t()

Filter string for querying specific channels.

channel_id()

@type channel_id() :: String.t()

Unique identifier for a channel within a queue.

delete_messages_input()

@type delete_messages_input() :: %{entries: [%{receipt: message_receipt()}]}

Structure for deleting multiple messages from a queue.

get_messages_opts()

@type get_messages_opts() :: [
  opc_request_id: opc_request_id(),
  visibility_in_seconds: pos_integer(),
  timeout_in_seconds: pos_integer(),
  limit: pos_integer(),
  channel_filter: channel_filter()
]

Options for retrieving messages from a queue.

  • :opc_request_id - Custom request identifier
  • :visibility_in_seconds - Duration the message remains invisible to other consumers
  • :timeout_in_seconds - How long to wait for messages if queue is empty
  • :limit - Maximum number of messages to retrieve
  • :channel_filter - Filter for specific channels

get_stats_opts()

@type get_stats_opts() :: [
  opc_request_id: opc_request_id(),
  channel_filter: channel_filter()
]

Options for retrieving queue statistics.

  • :opc_request_id - Custom request identifier
  • :channel_filter - Filter for specific channels

list_channels_opts()

@type list_channels_opts() :: [
  opc_request_id: opc_request_id(),
  limit: pos_integer(),
  page: pos_integer(),
  channel_filter: channel_filter()
]

Options for listing channels in a queue.

  • :opc_request_id - Custom request identifier
  • :limit - Maximum number of channels to retrieve
  • :page - Page number for pagination
  • :channel_filter - Filter for specific channels

message()

@type message() :: %{content: String.t(), metadata: message_metadata()}

Message map containing the actual content and associated metadata.

message_metadata()

@type message_metadata() :: %{
  channel_id: channel_id(),
  custom_properties: %{required(String.t()) => String.t()}
}

Metadata map associated with a message, including channel information and custom properties.

message_receipt()

@type message_receipt() :: String.t()

Receipt identifier for a message. Used in operations that manipulate existing messages.

opc_request_id()

@type opc_request_id() :: String.t()

Request identifier used for tracing and debugging purposes.

put_messages_input()

@type put_messages_input() :: %{messages: [message()]}

Map for putting multiple messages into a queue.

queue_client_create_opts()

@type queue_client_create_opts() :: [{:service_endpoint, String.t()}]

Options for creating a new queue client.

  • :service_endpoint - Custom service endpoint URL

queue_client_default_opts()

@type queue_client_default_opts() :: [{:opc_request_id, opc_request_id()}]

Default options available for most queue operations.

  • :opc_request_id - Custom request identifier for tracing

queue_id()

@type queue_id() :: String.t()

Unique identifier for a queue.

service_settings()

@type service_settings() :: %{
  service_endpoint: String.t(),
  content_type: String.t(),
  accept: String.t()
}

Default Queue service settings

  • :service_endpoint - Default OCI service endpoint
  • :content_type - Default content type for requests
  • :accept - Default accept header for requests

update_message_input()

@type update_message_input() :: %{visibility_in_seconds: pos_integer()}

Map for updating a single message's visibility timeout.

update_messages_input()

@type update_messages_input() :: %{
  entries: [%{receipt: message_receipt(), visibility_in_seconds: pos_integer()}]
}

Structure for updating visibility timeout for multiple messages.