Cloud Failover (CF) Extension (2.0.2)

Download OpenAPI specification:Download

F5 Cloud Failover (CFE) is an iControl LX Extension delivered as a TMOS-independent RPM file. Installing the CFE Extension on BIG-IP enables you to declaratively configure BIG-IP devices for automatic failover in cloud environments by POSTing a single JSON declaration to CF’s declarative REST API endpoint.

Authentication

BasicAuth

Security scheme type: HTTP
HTTP Authorization Scheme basic

Information

List extension information

Authorizations:

Responses

200

Information Response

400

Bad Request Error

default

Unexpected Error

get /info
https://192.0.2.1:443/mgmt/shared/cloud-failover/info

Response samples

Content type
application/json; charset=UTF-8
Copy
Expand all Collapse all
{
  • "version": "2.1.0",
  • "release": "1",
  • "schemaCurrent": "2.1.0",
  • "schemaMinimum": "1.0.0"
}

List associated cloud objects

Authorizations:

Responses

200

Inspect Response

400

Bad Request Error

default

Unexpected Error

get /inspect
https://192.0.2.1:443/mgmt/shared/cloud-failover/inspect

Response samples

Content type
application/json; charset=UTF-8
Copy
Expand all Collapse all
{
  • "instance": "123",
  • "addresses":
    [
    ],
  • "routes":
    [
    ],
  • "hostName": "failover1.local",
  • "deviceStatus": "active",
  • "trafficGroup":
    [
    ]
}

Configuration

List configuration

Authorizations:

Responses

200

Configuration Response

400

Bad Request Error

default

Unexpected Error

get /declare
https://192.0.2.1:443/mgmt/shared/cloud-failover/declare

Response samples

Content type
application/json; charset=UTF-8
Example
Copy
Expand all Collapse all
{
  • "message": "success",
  • "declaration":
    {
    }
}

Update configuration

Authorizations:
Request Body schema: application/json
class
string
Default: "Cloud_Failover"
environment
string
Enum: "azure" "aws" "gcp"
schemaVersion
string
externalStorage
object or object
failoverAddresses
object
failoverRoutes
object
controls
object

Responses

200

Configuration response

400

Bad Request Error

default

Unexpected Error

post /declare
https://192.0.2.1:443/mgmt/shared/cloud-failover/declare

Request samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "class": "Cloud_Failover",
  • "schemaVersion": "1.0.0",
  • "environment": "aws",
  • "externalStorage":
    {
    },
  • "failoverAddresses":
    {
    },
  • "failoverRoutes":
    {
    },
  • "controls":
    {
    }
}

Response samples

Content type
application/json; charset=UTF-8
Example
Copy
Expand all Collapse all
{
  • "message": "success",
  • "declaration":
    {
    }
}

Trigger

Trigger failover

Primarily supported action is dry-run, which returns objects and resources that are updated if failover is triggered. WARNING: Do not use the execute action, it is for use by BIG-IP only.

Authorizations:
Request Body schema: application/json
action
string

Responses

200

Configuration response

400

Bad Request Error

500

Failover task failed

default

Unexpected Error

post /trigger
https://192.0.2.1:443/mgmt/shared/cloud-failover/trigger

Request samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "action": "dry-run"
}

Response samples

Content type
application/json; charset=UTF-8
Example
Copy
Expand all Collapse all
{
  • "addresses": { },
  • "routes": { }
}

Show triggered failover task status

Authorizations:

Responses

200

Successful failover task

202

Failover task is running

400

Bad Request Error

500

Failed failover task

default

Unexpected Error

get /trigger
https://192.0.2.1:443/mgmt/shared/cloud-failover/trigger

Response samples

Content type
application/json; charset=UTF-8
Copy
Expand all Collapse all
{
  • "taskState": "SUCCEEDED",
  • "message": "Failover Completed Successfully",
  • "timestamp": "2019-09-25T23:44:44.381Z",
  • "instance": "failover0.local",
  • "failoverOperations":
    {
    },
  • "code": "200"
}

Reset

Reset failover state file

Authorizations:
Request Body schema: application/json
resetStateFile
boolean

Responses

200

Reset State Response

400

Bad Request Error

default

Unexpected Error

post /reset
https://192.0.2.1:443/mgmt/shared/cloud-failover/reset

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "resetStateFile": true
}

Response samples

Content type
application/json; charset=UTF-8
Copy
Expand all Collapse all
{
  • "message": "string"
}