Cloudflare.LoadBalancer (Cloudflare v0.5.0)

Copy Markdown View Source

Load Balancers

Create Load Balancer

POST /zones/{zone_id}/load_balancers

Create a new load balancer.

Responses

200 Create Load Balancer response.

Data is at body["result"]

{
  "adaptive_routing": {
    "failover_across_pools": "*boolean*"
  },
  "country_pools": {},
  "created_on": "*string*",
  "default_pools": [
    "*string*"
  ],
  "description": "*string*",
  "enabled": "*boolean*",
  "fallback_pool": "*string*",
  "id": "*string*",
  "location_strategy": {
    "mode": "*string*",
    "prefer_ecs": "*string*"
  },
  "modified_on": "*string*",
  "name": "*string*",
  "networks": [
    "*string*"
  ],
  "pop_pools": {},
  "proxied": "*boolean*",
  "random_steering": {
    "default_weight": "*number*",
    "pool_weights": {}
  },
  "region_pools": {},
  "rules": [
    {
      "condition": "*string*",
      "disabled": "*boolean*",
      "fixed_response": {
        "content_type": "*string*",
        "location": "*string*",
        "message_body": "*string*",
        "status_code": "*integer*"
      },
      "name": "*string*",
      "overrides": {
        "adaptive_routing": null,
        "country_pools": null,
        "default_pools": null,
        "fallback_pool": null,
        "location_strategy": null,
        "pop_pools": null,
        "random_steering": null,
        "region_pools": null,
        "session_affinity": null,
        "session_affinity_attributes": null,
        "session_affinity_ttl": null,
        "steering_policy": null,
        "ttl": null
      },
      "priority": "*integer*",
      "terminates": "*boolean*"
    }
  ],
  "session_affinity": "*string*",
  "session_affinity_attributes": {
    "drain_duration": "*number*",
    "headers": [
      "*string*"
    ],
    "require_all_headers": "*boolean*",
    "samesite": "*string*",
    "secure": "*string*",
    "zero_downtime_failover": "*string*"
  },
  "session_affinity_ttl": "*number*",
  "steering_policy": "*string*",
  "ttl": "*number*",
  "zone_name": "*string*"
}
4XX Create Load Balancer response failure.
{
  "errors": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "result": {},
  "success": "*boolean*"
}

List Load Balancers

GET /zones/{zone_id}/load_balancers

List configured load balancers.

Responses

200 List Load Balancers response.

Data is at body["result"]

[
  {
    "adaptive_routing": {
      "failover_across_pools": "*boolean*"
    },
    "country_pools": {},
    "created_on": "*string*",
    "default_pools": [
      "*string*"
    ],
    "description": "*string*",
    "enabled": "*boolean*",
    "fallback_pool": "*string*",
    "id": "*string*",
    "location_strategy": {
      "mode": "*string*",
      "prefer_ecs": "*string*"
    },
    "modified_on": "*string*",
    "name": "*string*",
    "networks": [
      "*string*"
    ],
    "pop_pools": {},
    "proxied": "*boolean*",
    "random_steering": {
      "default_weight": "*number*",
      "pool_weights": {}
    },
    "region_pools": {},
    "rules": [
      {
        "condition": null,
        "disabled": null,
        "fixed_response": null,
        "name": null,
        "overrides": null,
        "priority": null,
        "terminates": null
      }
    ],
    "session_affinity": "*string*",
    "session_affinity_attributes": {
      "drain_duration": "*number*",
      "headers": [
        null
      ],
      "require_all_headers": "*boolean*",
      "samesite": "*string*",
      "secure": "*string*",
      "zero_downtime_failover": "*string*"
    },
    "session_affinity_ttl": "*number*",
    "steering_policy": "*string*",
    "ttl": "*number*",
    "zone_name": "*string*"
  }
]
4XX List Load Balancers response failure.
{
  "errors": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "result": {},
  "result_info": {
    "count": "*number*",
    "page": "*number*",
    "per_page": "*number*",
    "total_count": "*number*",
    "total_pages": "*number*"
  },
  "success": "*boolean*"
}

Update Load Balancer

PUT /zones/{zone_id}/load_balancers/{load_balancer_id}

Update a configured load balancer.

Responses

200 Update Load Balancer response.

Data is at body["result"]

{
  "adaptive_routing": {
    "failover_across_pools": "*boolean*"
  },
  "country_pools": {},
  "created_on": "*string*",
  "default_pools": [
    "*string*"
  ],
  "description": "*string*",
  "enabled": "*boolean*",
  "fallback_pool": "*string*",
  "id": "*string*",
  "location_strategy": {
    "mode": "*string*",
    "prefer_ecs": "*string*"
  },
  "modified_on": "*string*",
  "name": "*string*",
  "networks": [
    "*string*"
  ],
  "pop_pools": {},
  "proxied": "*boolean*",
  "random_steering": {
    "default_weight": "*number*",
    "pool_weights": {}
  },
  "region_pools": {},
  "rules": [
    {
      "condition": "*string*",
      "disabled": "*boolean*",
      "fixed_response": {
        "content_type": "*string*",
        "location": "*string*",
        "message_body": "*string*",
        "status_code": "*integer*"
      },
      "name": "*string*",
      "overrides": {
        "adaptive_routing": null,
        "country_pools": null,
        "default_pools": null,
        "fallback_pool": null,
        "location_strategy": null,
        "pop_pools": null,
        "random_steering": null,
        "region_pools": null,
        "session_affinity": null,
        "session_affinity_attributes": null,
        "session_affinity_ttl": null,
        "steering_policy": null,
        "ttl": null
      },
      "priority": "*integer*",
      "terminates": "*boolean*"
    }
  ],
  "session_affinity": "*string*",
  "session_affinity_attributes": {
    "drain_duration": "*number*",
    "headers": [
      "*string*"
    ],
    "require_all_headers": "*boolean*",
    "samesite": "*string*",
    "secure": "*string*",
    "zero_downtime_failover": "*string*"
  },
  "session_affinity_ttl": "*number*",
  "steering_policy": "*string*",
  "ttl": "*number*",
  "zone_name": "*string*"
}
4XX Update Load Balancer response failure.
{
  "errors": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "result": {},
  "success": "*boolean*"
}

Patch Load Balancer

PATCH /zones/{zone_id}/load_balancers/{load_balancer_id}

Apply changes to an existing load balancer, overwriting the supplied properties.

Responses

200 Patch Load Balancer response.

Data is at body["result"]

{
  "adaptive_routing": {
    "failover_across_pools": "*boolean*"
  },
  "country_pools": {},
  "created_on": "*string*",
  "default_pools": [
    "*string*"
  ],
  "description": "*string*",
  "enabled": "*boolean*",
  "fallback_pool": "*string*",
  "id": "*string*",
  "location_strategy": {
    "mode": "*string*",
    "prefer_ecs": "*string*"
  },
  "modified_on": "*string*",
  "name": "*string*",
  "networks": [
    "*string*"
  ],
  "pop_pools": {},
  "proxied": "*boolean*",
  "random_steering": {
    "default_weight": "*number*",
    "pool_weights": {}
  },
  "region_pools": {},
  "rules": [
    {
      "condition": "*string*",
      "disabled": "*boolean*",
      "fixed_response": {
        "content_type": "*string*",
        "location": "*string*",
        "message_body": "*string*",
        "status_code": "*integer*"
      },
      "name": "*string*",
      "overrides": {
        "adaptive_routing": null,
        "country_pools": null,
        "default_pools": null,
        "fallback_pool": null,
        "location_strategy": null,
        "pop_pools": null,
        "random_steering": null,
        "region_pools": null,
        "session_affinity": null,
        "session_affinity_attributes": null,
        "session_affinity_ttl": null,
        "steering_policy": null,
        "ttl": null
      },
      "priority": "*integer*",
      "terminates": "*boolean*"
    }
  ],
  "session_affinity": "*string*",
  "session_affinity_attributes": {
    "drain_duration": "*number*",
    "headers": [
      "*string*"
    ],
    "require_all_headers": "*boolean*",
    "samesite": "*string*",
    "secure": "*string*",
    "zero_downtime_failover": "*string*"
  },
  "session_affinity_ttl": "*number*",
  "steering_policy": "*string*",
  "ttl": "*number*",
  "zone_name": "*string*"
}
4XX Patch Load Balancer response failure.
{
  "errors": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "result": {},
  "success": "*boolean*"
}

Load Balancer Details

GET /zones/{zone_id}/load_balancers/{load_balancer_id}

Fetch a single configured load balancer.

Responses

200 Load Balancer Details response.

Data is at body["result"]

{
  "adaptive_routing": {
    "failover_across_pools": "*boolean*"
  },
  "country_pools": {},
  "created_on": "*string*",
  "default_pools": [
    "*string*"
  ],
  "description": "*string*",
  "enabled": "*boolean*",
  "fallback_pool": "*string*",
  "id": "*string*",
  "location_strategy": {
    "mode": "*string*",
    "prefer_ecs": "*string*"
  },
  "modified_on": "*string*",
  "name": "*string*",
  "networks": [
    "*string*"
  ],
  "pop_pools": {},
  "proxied": "*boolean*",
  "random_steering": {
    "default_weight": "*number*",
    "pool_weights": {}
  },
  "region_pools": {},
  "rules": [
    {
      "condition": "*string*",
      "disabled": "*boolean*",
      "fixed_response": {
        "content_type": "*string*",
        "location": "*string*",
        "message_body": "*string*",
        "status_code": "*integer*"
      },
      "name": "*string*",
      "overrides": {
        "adaptive_routing": null,
        "country_pools": null,
        "default_pools": null,
        "fallback_pool": null,
        "location_strategy": null,
        "pop_pools": null,
        "random_steering": null,
        "region_pools": null,
        "session_affinity": null,
        "session_affinity_attributes": null,
        "session_affinity_ttl": null,
        "steering_policy": null,
        "ttl": null
      },
      "priority": "*integer*",
      "terminates": "*boolean*"
    }
  ],
  "session_affinity": "*string*",
  "session_affinity_attributes": {
    "drain_duration": "*number*",
    "headers": [
      "*string*"
    ],
    "require_all_headers": "*boolean*",
    "samesite": "*string*",
    "secure": "*string*",
    "zero_downtime_failover": "*string*"
  },
  "session_affinity_ttl": "*number*",
  "steering_policy": "*string*",
  "ttl": "*number*",
  "zone_name": "*string*"
}
4XX Load Balancer Details response failure.
{
  "errors": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "result": {},
  "success": "*boolean*"
}

Delete Load Balancer

DELETE /zones/{zone_id}/load_balancers/{load_balancer_id}

Delete a configured load balancer.

Responses

200 Delete Load Balancer response.

Data is at body["result"]

{
  "id": "*string*"
}
4XX Delete Load Balancer response failure.
{
  "errors": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "result": {},
  "success": "*boolean*"
}

Summary

Functions

client(opts \\ [])

create(body, opts \\ [])

@spec create(
  body :: Restlax.Resource.action_body(),
  opts :: Restlax.Resource.action_options()
) ::
  {:ok, map()} | {:error, term()}

create!(body, opts \\ [])

@spec create!(
  body :: Restlax.Resource.action_body(),
  opts :: Restlax.Resource.action_options()
) ::
  map() | no_return()

delete(id, opts \\ [])

@spec delete(id :: term(), opts :: Restlax.Resource.action_options()) ::
  {:ok, map()} | {:error, term()}

delete!(id, opts \\ [])

@spec delete!(id :: term(), opts :: Restlax.Resource.action_options()) ::
  map() | no_return()

index(opts \\ [])

@spec index(opts :: Restlax.Resource.action_options()) ::
  {:ok, map()} | {:error, term()}

index!(opts \\ [])

@spec index!(opts :: Restlax.Resource.action_options()) :: map() | no_return()

path_for(id, opts \\ [])

@spec path_for(term(), [{:action, String.t()}]) :: String.t()

show(id, opts \\ [])

@spec show(id :: term(), opts :: Restlax.Resource.action_options()) ::
  {:ok, map()} | {:error, term()}

show!(id, opts \\ [])

@spec show!(id :: term(), opts :: Restlax.Resource.action_options()) ::
  map() | no_return()

update(id, body, opts \\ [])

@spec update(
  id :: term(),
  body :: Restlax.Resource.action_body(),
  opts :: Restlax.Resource.action_options()
) :: {:ok, map()} | {:error, term()}

update!(id, body, opts \\ [])

@spec update!(
  id :: term(),
  body :: Restlax.Resource.action_body(),
  opts :: Restlax.Resource.action_options()
) :: map() | no_return()