DigitalOcean.LoadBalancer (digital_ocean v0.3.0)
Link to this section Summary
Functions
Add droplets to a load balancer.
Add forwarding rules to a load balancer.
Create a load balancer.
Delete a load balancer.
Retrieve a load balancer.
Retrieve a list of load balancers.
Remove droplets from a load balancer.
Remove forwarding rules from a load b balancer.
Update a load balancer.
Link to this section Functions
Link to this function
add_droplets(load_balancer_id, opts)
Specs
add_droplets(String.t(), Keyword.t()) :: DigitalOcean.Operation.t()
Add droplets to a load balancer.
Examples
iex> DigitalOcean.LoadBalancer.add_droplets(
...> "4de7ac8b-495b-4884-9a69-1050c6793cd6",
...> droplet_ids: [
...> 3164446,
...> 3164447
...> ]
...> ) |> DigitalOcean.request()
{ :ok, %DigitalOcean.Operation{} }
Link to this function
add_forwarding_rules(load_balancer_id, opts)
Specs
add_forwarding_rules(String.t(), Keyword.t()) :: DigitalOcean.Operation.t()
Add forwarding rules to a load balancer.
Examples
iex> DigitalOcean.LoadBalancer.add_forwarding_rules(
...> "4de7ac8b-495b-4884-9a69-1050c6793cd6",
...> forwarding_rules: [
...> %{
...> entry_protocol: "tcp",
...> entry_port: 3306,
...> target_protocol: "tcp",
...> target_port: 3306
...> }
...> ]
...> ) |> DigitalOcean.request()
{ :ok, %DigitalOcean.Operation{} }
Link to this function
create(opts)
Specs
create(Keyword.t()) :: DigitalOcean.Operation.t()
Create a load balancer.
Examples
iex> DigitalOcean.LoadBalancer.create(
...> name: "example-lb-01",
...> region: "nyc3",
...> forwarding_rules: [
...> %{
...> entry_protocol: "http",
...> entry_port: 80,
...> target_port: 80,
...> certificate_id: "",
...> tls_passthrough: false
...> }
...> ],
...> health_check: %{
...> protocol: "http",
...> port: 80,
...> path: "/",
...> check_interval_seconds: 10,
...> response_timeout_seconds: 5,
...> healthy_threshold: 5,
...> unhealthy_threshold: 3
...> },
...> sticky_sessions: %{
...> type: "none"
...> },
...> droplet_ids: [
...> 3164444,
...> 3164445
...> ]
...> ) |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
Link to this function
delete(load_balancer_id)
Specs
delete(String.t()) :: DigitalOcean.Operation.t()
Delete a load balancer.
Examples
iex> DigitalOcean.LoadBalancer.delete("4de7ac8b-495b-4884-9a69-1050c6793cd6") |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
Link to this function
get(load_balancer_id)
Specs
get(String.t()) :: DigitalOcean.Operation.t()
Retrieve a load balancer.
Examples
iex> DigitalOcean.LoadBalancer.get("4de7ac8b-495b-4884-9a69-1050c6793cd6") |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
Link to this function
list(opts \\ [])
Specs
list(Keyword.t()) :: DigitalOcean.Operation.t()
Retrieve a list of load balancers.
Examples
iex> DigitalOcean.LoadBalancer.list() |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
Link to this function
remove_droplets(load_balancer_id, opts)
Specs
remove_droplets(String.t(), Keyword.t()) :: DigitalOcean.Operation.t()
Remove droplets from a load balancer.
Examples
iex> DigitalOcean.LoadBalancer.remove_droplets(
...> "4de7ac8b-495b-4884-9a69-1050c6793cd6",
...> droplet_ids: [
...> 3164446,
...> 3164447
...> ]
...> ) |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }
Link to this function
remove_forwarding_rules(load_balancer_id, opts)
Specs
remove_forwarding_rules(String.t(), Keyword.t()) :: DigitalOcean.Operation.t()
Remove forwarding rules from a load b balancer.
Examples
iex> DigitalOcean.LoadBalancer.remove_forwarding_rules(
...> "4de7ac8b-495b-4884-9a69-1050c6793cd6",
...> forwarding_rules: [
...> %{
...> entry_protocol: "tcp",
...> entry_port: 3306,
...> target_protocol: "tcp",
...> target_port: 3306
...> }
...> ]
...> ) |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response() }
Link to this function
update(load_balancer_id, opts)
Specs
update(String.t(), Keyword.t()) :: DigitalOcean.Operation.t()
Update a load balancer.
Examples
iex> DigitalOcean.LoadBalancer.update(
...> "4de7ac8b-495b-4884-9a69-1050c6793cd6"
...> name: "example-lb-01",
...> region: "nyc3",
...> algorithm: "least_connections",
...> forwarding_rules: [
...> %{
...> entry_protocol: "http",
...> entry_port: 80,
...> target_protocol: "http",
...> target_port: 80
...> }
...> ],
...> health_check: %{
...> protocol: "http",
...> port: 80,
...> path: "/",
...> check_interval_seconds: 10,
...> response_timeout_seconds: 5,
...> healthy_threshold: 5,
...> unhealthy_threshold: 3
...> },
...> sticky_sessions: %{
...> type: "cookies",
...> cookie_name: "DO_LB",
...> cookie_ttl_seconds: 300
...> },
...> droplet_ids: [
...> 3164444,
...> 3164445
...> ]
...> ) |> DigitalOcean.request()
{ :ok, %DigitalOcean.Response{} }