DigitalOcean.Firewall (digital_ocean v0.5.0)

Summary

Functions

Add droplets to a firewall.

Add rules to a firewall.

Add tags to a firewall.

Create a firewall.

Delete a firewall.

Retrieve a firewall.

Retrieve a list of firewalls.

Remove droplets from a firewall.

Remove rules from a firewall.

Remove tags from a firewall.

Update a firewall.

Functions

add_droplets(firewall_id, opts)

@spec add_droplets(String.t(), Keyword.t()) :: DigitalOcean.Operation.t()

Add droplets to a firewall.

Examples

iex> DigitalOcean.Firewall.add_droplets(
...>   "bb4b2611-3d72-467b-8602-280330ecd65c",
...>   droplet_ids: [49696269]
...> ) |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }

add_rules(firewall_id, opts)

@spec add_rules(String.t(), Keyword.t()) :: DigitalOcean.Operation.t()

Add rules to a firewall.

Examples

iex> DigitalOcean.Firewall.add_rules(
...>   "bb4b2611-3d72-467b-8602-280330ecd65c",
...>   inbound_rules: [
...>     %{
...>        protocol: "tcp",
...>        ports: "3306",
...>        sources: {
...>          droplet_ids: [49696269]
...>        }
...>     }
...>   ],
...>   outbound_rules: [
...>     %{
...>        protocol: "tcp",
...>        ports: "3306",
...>        sources: {
...>          droplet_ids: [49696269]
...>        }
...>     }
...>   ]
...> ) |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }

add_tags(firewall_id, opts)

@spec add_tags(String.t(), Keyword.t()) :: DigitalOcean.Operation.t()

Add tags to a firewall.

Examples

iex> DigitalOcean.Firewall.add_tags(
...>   "bb4b2611-3d72-467b-8602-280330ecd65c",
...>   tags: ["frontend"]
...> ) |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }

create(opts)

@spec create(Keyword.t()) :: DigitalOcean.Operation.t()

Create a firewall.

Examples

iex> DigitalOcean.Firewall.create(
...>   name: "firewall",
...>   inbound_rules: [
...>     %{
...>        protocol: "tcp",
...>        ports: "80",
...>        sources: {
...>          load_balancer_uids: ["4de7ac8b-495b-4884-9a69-1050c6793cd6"]
...>        }
...>      }
...>   ],
...>   outbound_rules: [
...>     %{
...>        protocol: "tcp",
...>        ports: "80",
...>        destinations: %{
...>          addresses: [
...>            "0.0.0.0/0",
...>            "::/0"
...>          ]
...>        }
...>      }
...>   ],
...>   droplet_ids: [8043964]
...> ) |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }

delete(firewall_id)

@spec delete(String.t()) :: DigitalOcean.Operation.t()

Delete a firewall.

Examples

iex> DigitalOcean.Firewall.delete("bb4b2611-3d72-467b-8602-280330ecd65c") |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }

get(firewall_id)

Retrieve a firewall.

Examples

iex> DigitalOcean.Firewall.get("bb4b2611-3d72-467b-8602-280330ecd65c") |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }

list(opts \\ [])

@spec list(Keyword.t()) :: DigitalOcean.Operation.t()

Retrieve a list of firewalls.

Examples

iex> DigitalOcean.Firewall.list() |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }

remove_droplets(firewall_id, opts)

@spec remove_droplets(String.t(), Keyword.t()) :: DigitalOcean.Operation.t()

Remove droplets from a firewall.

Examples

iex> DigitalOcean.Fireall.remove_droplets(
...>   "bb4b2611-3d72-467b-8602-280330ecd65c",
...>   droplet_ids: [49696269]
...> ) |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }

remove_rules(firewall_id, opts)

Remove rules from a firewall.

Examples

iex> DigitalOcean.Firewall.remove_rules(
...>   "bb4b2611-3d72-467b-8602-280330ecd65c",
...>   inbound_rules: [
...>     %{
...>        protocol: "tcp",
...>        ports: "3306",
...>        sources: {
...>          droplet_ids: [49696269]
...>        }
...>     }
...>   ],
...>   outbound_rules: [
...>     %{
...>        protocol: "tcp",
...>        ports: "3306",
...>        sources: {
...>          droplet_ids: [49696269]
...>        }
...>     }
...>   ]
...> ) |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }

remove_tags(firewall_id, opts)

@spec remove_tags(String.t(), Keyword.t()) :: DigitalOcean.Operation.t()

Remove tags from a firewall.

Examples

iex> DigitalOcean.Fireall.remove_tags(
...>   "bb4b2611-3d72-467b-8602-280330ecd65c",
...>   tags: ["frontend"]
...> ) |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }

update(firewall_id, opts)

@spec update(String.t(), Keyword.t()) :: DigitalOcean.Operation.t()

Update a firewall.

Examples

iex> DigitalOcean.Firewall.update(
...>  "bb4b2611-3d72-467b-8602-280330ecd65c",
...>   name: "firewall",
...>   inbound_rules: [
...>     %{
...>        protocol: "tcp",
...>        ports: "80",
...>        sources: {
...>          load_balancer_uids: ["4de7ac8b-495b-4884-9a69-1050c6793cd6"]
...>        }
...>      }
...>   ],
...>   outbound_rules: [
...>     %{
...>        protocol: "tcp",
...>        ports: "80",
...>        destinations: %{
...>          addresses: [
...>            "0.0.0.0/0",
...>            "::/0"
...>          ]
...>        }
...>      }
...>   ],
...>   droplet_ids: [8043964]
...> ) |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }