DigitalOcean.Database (digital_ocean v0.5.0)
Summary
Functions
Create a new database cluster or create a database cluster from a backup.
Create a PostgreSQL connection pool for a database cluster.
Create a database for a database cluster.
Create a read-only replica.
Create a user for a database.
Delete a database cluster.
Delete a PostgreSQL connection pool.
Delete a database from a database cluster.
Delete a read-only database replica.
Delete a user from a database.
Retrieve details about a specific database cluster.
Retrieve details about a specific PostgreSQL connection pool.
Retrieve details about a specific database.
Retrieve details about a Redis eviction policy.
Retrieve details about a specific read-only database replica.
Retrieve the SQL mode for a MySQL database cluster.
Retrieve details about a specific user for a database.
Retrieve a list of database clusters.
Retrieve a list of backups for a database cluster.
Retrieve a list fo connection pools for a PostgreSQL database cluster.
Retrieve a list of databases for a database cluster.
Retrieve a list of firewall rules for a database cluster.
Retrieve a list of read-only database replicas.
Retrieve a list of users for a database.
Migrate a database cluster to a different region.
Reset the MySQL authentication method for a database user.
Resize a database cluster.
Update the eviction policy for a Redis database cluster.
Update firewall rules for a database cluster.
Update the automatic maintenance window for a database cluster.
Update the SQL mode for a MySQL database cluster.
Functions
@spec create(Keyword.t()) :: DigitalOcean.Operation.t()
Create a new database cluster or create a database cluster from a backup.
Example creating a database cluster
iex> DigitalOcean.Database.create(
...> name: "backend",
...> region: "nyc3",
...> engine: "pg",
...> size: "db-s-2vcpu-4gb",
...> num_nodes: 2
...> ) |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }Example creating a database cluster from a backup
iex> DigitalOcean.Database.create(
...> name: "backend",
...> region: "nyc3",
...> engine: "pg",
...> size: "db-s-2vcpu-4gb",
...> num_nodes: 2,
...> backup_restore: %{
...> database_name: "backend",
...> backup_created_at: "2019-01-31T19:25:22Z"
...> },
...> ) |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec create_connection_pool(String.t(), Keyword.t()) :: DigitalOcean.Operation.t()
Create a PostgreSQL connection pool for a database cluster.
Examples
iex> DigitalOcean.Database.create_connection_pool(
...> "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30",
...> name: "backend-pool",
...> mode: "transaction",
...> size: 10,
...> db: "default_db",
...> user: "doadmin"
...> ) |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec create_db(String.t(), Keyword.t()) :: DigitalOcean.Operation.t()
Create a database for a database cluster.
Examples
iex> DigitalOcean.Database.create_db(
...> "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30",
...> name: "alpha"
...> ) |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec create_replica(String.t(), Keyword.t()) :: DigitalOcean.Operation.t()
Create a read-only replica.
Examples
iex> DigitalOcean.Database.create_replica(
...> "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30",
...> name: "read-nyc3-01",
...> size: "db-s-2vcpu-4gb"
...> ) |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec create_user(String.t(), Keyword.t()) :: DigitalOcean.Operation.t()
Create a user for a database.
Examples
iex> DigitalOcean.Database.create_user(
...> "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30",
...> name: "app-01"
...> ) |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec delete(String.t()) :: DigitalOcean.Operation.t()
Delete a database cluster.
Examples
iex> DigitalOcean.Database.delete("9cc10173-e9ea-4176-9dbc-a4cee4c4ff30") |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec delete_connection_pool(String.t(), String.t()) :: DigitalOcean.Operation.t()
Delete a PostgreSQL connection pool.
Examples
iex> DigitalOcean.Database.delete_connection_pool("9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "backend-pool") |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec delete_db(String.t(), String.t()) :: DigitalOcean.Operation.t()
Delete a database from a database cluster.
Examples
iex> DigitalOcean.Database.delete_db("9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "alpha") |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec delete_replica(String.t(), String.t()) :: DigitalOcean.Operation.t()
Delete a read-only database replica.
Examples
iex> DigitalOcean.Database.delete_replica("9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "read-nyc3-01") |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec delete_user(String.t(), String.t()) :: DigitalOcean.Operation.t()
Delete a user from a database.
Examples
iex> DigitalOcean.Database.delete_user("9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "app-01") |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec get(String.t()) :: DigitalOcean.Operation.t()
Retrieve details about a specific database cluster.
Examples
iex> DigitalOcean.Database.get("9cc10173-e9ea-4176-9dbc-a4cee4c4ff30") |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec get_connection_pool(String.t(), String.t()) :: DigitalOcean.Operation.t()
Retrieve details about a specific PostgreSQL connection pool.
Examples
iex> DigitalOcean.Database.get_connection_pool("9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "backend-pool") |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec get_db(String.t(), String.t()) :: DigitalOcean.Operation.t()
Retrieve details about a specific database.
Examples
iex> DigitalOcean.Database.get("9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "alpha") |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec get_eviction_policy(String.t()) :: DigitalOcean.Operation.t()
Retrieve details about a Redis eviction policy.
Examples
iex> DigitalOcean.Database.get_eviction_policy("9cdb64e5-61e4-4b30-b711-11ef66d84558") |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec get_replica(String.t(), String.t()) :: DigitalOcean.Operation.t()
Retrieve details about a specific read-only database replica.
Examples
iex> DigitalOcean.Database.get_replica("9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "read-nyc3-01") |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec get_sql_mode(String.t()) :: DigitalOcean.Operation.t()
Retrieve the SQL mode for a MySQL database cluster.
Example
iex> DigitalOcean.Database.get_sql_mode("9cdb64e5-61e4-4b30-b711-11ef66d84558") |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec get_user(String.t(), String.t()) :: DigitalOcean.Operation.t()
Retrieve details about a specific user for a database.
Examples
iex> DigitalOcean.Database.get_user("9cc10173-e9ea-4176-9dbc-a4cee4c4ff30", "app-01") |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec list(Keyword.t()) :: DigitalOcean.Operation.t()
Retrieve a list of database clusters.
Examples
iex> DigitalOcean.Database.list() |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec list_backups(String.t(), Keyword.t()) :: DigitalOcean.Operation.t()
Retrieve a list of backups for a database cluster.
Examples
iex> DigitalOcean.Database.list_backups("9cc10173-e9ea-4176-9dbc-a4cee4c4ff30") |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec list_connection_pools(String.t(), Keyword.t()) :: DigitalOcean.Operation.t()
Retrieve a list fo connection pools for a PostgreSQL database cluster.
Examples
iex> DigitalOcean.Database.list_connection_pools("9cc10173-e9ea-4176-9dbc-a4cee4c4ff30") |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec list_dbs(String.t(), Keyword.t()) :: DigitalOcean.Operation.t()
Retrieve a list of databases for a database cluster.
Examples
iex> DigitalOcean.Database.list_dbs("9cc10173-e9ea-4176-9dbc-a4cee4c4ff30") |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec list_firewall_rules(String.t(), Keyword.t()) :: DigitalOcean.Operation.t()
Retrieve a list of firewall rules for a database cluster.
Examples
iex> DigitalOcean.Database.list_firewall_rules("9cc10173-e9ea-4176-9dbc-a4cee4c4ff30") |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec list_replicas(String.t(), Keyword.t()) :: DigitalOcean.Operation.t()
Retrieve a list of read-only database replicas.
Example
iex> DigitalOcean.Database.list_replicas("9cc10173-e9ea-4176-9dbc-a4cee4c4ff30") |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec list_users(String.t(), Keyword.t()) :: DigitalOcean.Operation.t()
Retrieve a list of users for a database.
Examples
iex> DigitalOcean.Database.list_users("9cc10173-e9ea-4176-9dbc-a4cee4c4ff30") |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec migrate_to_region(String.t(), Keyword.t()) :: DigitalOcean.Operation.t()
Migrate a database cluster to a different region.
Examples
iex> DigitalOcean.Database.migrate_to_region(
...> "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30",
...> region: "lon1"
...> ) |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec reset_user_authentication_method(String.t(), String.t(), Keyword.t()) :: DigitalOcean.Operation.t()
Reset the MySQL authentication method for a database user.
Examples
iex> DigitalOcean.Database.reset_user_authentication_method(
...> "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30",
...> "app-01",
...> mysql_settings: %{ auth_plugin: "caching_sha2_password" }
...> ) |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec resize(String.t(), Keyword.t()) :: DigitalOcean.Operation.t()
Resize a database cluster.
Examples
iex> DigitalOcean.Database.resize(
...> "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30",
...> size: "db-s-4vcpu-8gb",
...> num_nodes: 3
...> ) |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec update_eviction_policy(String.t(), Keyword.t()) :: DigitalOcean.Operation.t()
Update the eviction policy for a Redis database cluster.
Examples
iex> DigitalOcean.Database.update_eviction_policy(
...> "9cdb64e5-61e4-4b30-b711-11ef66d84558",
...> eviction_policy: "allkeys_lru"
...> ) |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec update_firewall_rules(String.t(), Keyword.t()) :: DigitalOcean.Operation.t()
Update firewall rules for a database cluster.
Examples
iex> DigitalOcean.Database.update_firewall_rules(
...> "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30",
...> rules: [
...> %{
...> type: "ip_addr",
...> value: "192.168.1.1"
...> }
...> ]
...> ) |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec update_maintenance_window(String.t(), Keyword.t()) :: DigitalOcean.Operation.t()
Update the automatic maintenance window for a database cluster.
Examples
iex> DigitalOcean.Database.update_maintenance_window(
...> "9cc10173-e9ea-4176-9dbc-a4cee4c4ff30",
...> day: "tuesday",
...> hour: "14:00"
...> ) |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
@spec update_sql_mode(String.t(), Keyword.t()) :: DigitalOcean.Operation.t()
Update the SQL mode for a MySQL database cluster.
Examples
iex> DigitalOcean.Database.update_sql_mode(
...> "9cdb64e5-61e4-4b30-b711-11ef66d84558",
...> sql_mode: "ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE"
...> ) |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }