ex_azure_key_vault v0.0.2 ExAzureKeyVault.Client View Source
Client for creating or getting Azure Key Vault.
Link to this section Summary
Functions
Connects to Azure Key Vault
Creates a new secret
Returns secret value
Creates %ExAzureKeyVault.Client{}
struct with connection information
Link to this section Types
Link to this section Functions
Link to this function
connect(vault_name \\ nil, tenant_id \\ nil, client_id \\ nil, client_secret \\ nil)
View Source
Connects to Azure Key Vault.
Examples
When defining environment variables and/or adding to configuration.
$ export AZURE_CLIENT_ID="14e79d90-9abf..."
$ export AZURE_CLIENT_SECRET="14e7a11e-9abf..."
$ export AZURE_TENANT_ID="14e7a376-9abf..."
$ export AZURE_VAULT_NAME="my-vault"
# Config.exs
config :ex_azure_key_vault,
azure_client_id: {:system, "AZURE_CLIENT_ID"},
azure_client_secret: {:system, "AZURE_CLIENT_SECRET"},
azure_tenant_id: {:system, "AZURE_TENANT_ID"},
azure_vault_name: {:system, "AZURE_VAULT_NAME"}
iex> ExAzureKeyVault.Client.connect()
%ExAzureKeyVault.Client{
api_version: "2016-10-01",
bearer_token: "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
vault_name: "my-vault"
}
Passing custom parameters.
iex> ExAzureKeyVault.Client.connect("my-vault", "14e7a376-9abf...", "14e79d90-9abf...", "14e7a11e-9abf...")
%ExAzureKeyVault.Client{
api_version: "2016-10-01",
bearer_token: "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
vault_name: "my-vault"
}
Link to this function
create_secret(params, secret_name, secret_value)
View Source
create_secret(ExAzureKeyVault.Client.t(), String.t(), String.t()) :: :ok | {:error, any()}
Creates a new secret.
Examples
iex> ExAzureKeyVault.Client.create_secret(
%ExAzureKeyVault.Client{
api_version: "2016-10-01",
bearer_token: "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
vault_name: "my-vault"
}, "my-new-secret", "my-new-value")
:ok
Link to this function
get_secret(params, secret_name, secret_version \\ nil)
View Source
get_secret(ExAzureKeyVault.Client.t(), String.t(), String.t() | nil) :: {:ok, String.t()} | {:error, any()}
Returns secret value.
Examples
Ignoring secret version.
iex> ExAzureKeyVault.Client.get_secret(
%ExAzureKeyVault.Client{
api_version: "2016-10-01",
bearer_token: "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
vault_name: "my-vault"
}, "my-secret")
{:ok, "my-value"}
Passing secret version.
iex> ExAzureKeyVault.Client.get_secret(
%ExAzureKeyVault.Client{
api_version: "2016-10-01",
bearer_token: "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
vault_name: "my-vault",
}, "my-secret", "03b424a49ac3...")
{:ok, "my-other-value"}
Link to this function
new(bearer_token, vault_name, api_version \\ nil)
View Source
new(String.t(), String.t(), String.t() | nil) :: ExAzureKeyVault.Client.t()
Creates %ExAzureKeyVault.Client{}
struct with connection information.
Examples
Using default API version.
iex> ExAzureKeyVault.Client.new("Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", "my-vault")
%ExAzureKeyVault.Client{
api_version: "2016-10-01",
bearer_token: "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
vault_name: "my-vault"
}
Passing custom API version.
iex> ExAzureKeyVault.Client.new("Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", "my-vault", "2015-06-01")
%ExAzureKeyVault.Client{
api_version: "2015-06-01",
bearer_token: "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
vault_name: "my-vault"
}