ExRabbitMQAdmin (ex_rabbitmq_admin v0.1.4)

View Source

Default module for the RabbitMQ admin client.

Configuration

This module uses the ExRabbitMQAdmin.Client macro, and can be configured in config.exs.

# config.ex
config :ex_rabbitmq_admin, ExRabbitMQAdmin,
  base_url: "https://rabbitmq.example.com:15672",
  username: "guest",
  password: "guest"

Examples

  • Create a client, add basic auth by reading default values from config and list all virtual hosts running in the RabbitMQ cluster.

    iex> ExRabbitMQAdmin.client()
         |> ExRabbitMQAdmin.add_basic_auth_middleware()
         |> ExRabbitMQAdmin.Vhost.list_vhosts()
    {:ok, %Tesla.Env{status: 200, body: [...]}}

Summary

Functions

Adds Tesla.Middleware.BasicAuth middleware to given Tesla.Client middlewares. Uses username and password from keyword opts, or if omitted, read credentials from config.exs.

Get the name of the RabbitMQ cluster.

Get a list of extensions to the management plugin.

Get various bits of infroamtion about the RabbitMQ cluster.

Get details of the currently authenticated user.

Functions

add_basic_auth_middleware(client)

Returns a Tesla.Client with Tesla.Middleware.BasicAuth middleware configured.

add_basic_auth_middleware(client, opts)

@spec add_basic_auth_middleware(client :: Tesla.Client.t(), opts :: Keyword.t()) ::
  Tesla.Client.t()

add_bearer_auth_middleware(client, opts)

@spec add_bearer_auth_middleware(client :: Tesla.Client.t(), opts :: Keyword.t()) ::
  Tesla.Client.t()

Returns a Tesla.Client with Tesla.Middleware.BearerAuth middleware configured.

add_query_middleware(client, params)

@spec add_query_middleware(client :: Tesla.Client.t(), params :: Keyword.t()) ::
  Tesla.Client.t()

Returns a Tesla.Client with Tesla.Middleware.Query middleware configured.

add_query_middleware(client, param, value)

basic_auth_middleware(client)

Adds Tesla.Middleware.BasicAuth middleware to given Tesla.Client middlewares. Uses username and password from keyword opts, or if omitted, read credentials from config.exs.

basic_auth_middleware(client, opts)

@spec basic_auth_middleware(client :: Tesla.Client.t(), opts :: Keyword.t()) :: [
  {Tesla.Middleware.BasicAuth, Keyword.t()}
]

bearer_auth_middleware(client, opts)

@spec bearer_auth_middleware(client :: Tesla.Client.t(), opts :: Keyword.t()) :: [
  {Tesla.Middleware.BearerAuth, Keyword.t()}
]

Adds Tesla.Middleware.BearerAuth middleware to given Tesla.Client middlewares.

client()

Returns a Tesla.Client with Tesla.Middleware.BaseUrl, Tesla.Middleware.Logger and Tesla.Middleware.JSON middleware configured.

client(opts)

@spec client(opts :: Keyword.t()) :: Tesla.Client.t()

cluster_name(client)

@spec cluster_name(client :: Tesla.Client.t()) ::
  {:ok, Tesla.Env.t()} | {:error, term()}

Get the name of the RabbitMQ cluster.

extensions(client)

@spec extensions(client :: Tesla.Client.t()) ::
  {:ok, Tesla.Env.t()} | {:error, term()}

Get a list of extensions to the management plugin.

overview(client)

@spec overview(client :: Tesla.Client.t()) :: {:ok, Tesla.Env.t()} | {:error, term()}

Get various bits of infroamtion about the RabbitMQ cluster.

query_middleware(client, params)

@spec query_middleware(client :: Tesla.Client.t(), params :: Keyword.t()) :: [
  {Tesla.Middleware.Query, Keyword.t()}
]

Adds Tesla.Middleware.Query middleware to given Tesla.Client middlewares.

whoami(client)

@spec whoami(client :: Tesla.Client.t()) :: {:ok, Tesla.Env.t()} | {:error, term()}

Get details of the currently authenticated user.