F5 Distributed Cloud Services API for ves.io.schema.dc_cluster_group

Download OpenAPI specification:Download

A DC Cluster Group represents a collection of sites that can directly communicate with each other using the underlay network.

Create DC Cluster Group

Create DC Cluster group in given namespace

path Parameters
metadata.namespace
required
string

namespace

x-example: "staging" This defines the workspace within which each the configuration object is to be created. Must be a DNS_LABEL format. For a namespace object itself, namespace value will be ""

Request Body schema: application/json
required
object (ObjectCreateMetaType)

ObjectCreateMetaType is metadata that can be specified in Create request of an object.

object (Create DC Cluster group)

Create DC Cluster group in given namespace

Responses

Request samples

Content type
application/json
{
  • "metadata": {
    },
  • "spec": {
    }
}

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "spec": {
    },
  • "system_metadata": {
    }
}

Replace DC Cluster Group

Replace given DC Cluster Group in given namespace

path Parameters
metadata.namespace
required
string

namespace

x-example: "staging" This defines the workspace within which each the configuration object is to be created. Must be a DNS_LABEL format. For a namespace object itself, namespace value will be ""

metadata.name
required
string

name

x-example: "acmecorp-web" The configuration object to be replaced will be looked up by name

Request Body schema: application/json
required
object (ObjectReplaceMetaType)

ObjectReplaceMetaType is metadata that can be specified in Replace request of an object.

object (Replace DC Cluster Group)

Replace given DC Cluster Group in given namespace

Responses

Request samples

Content type
application/json
{
  • "metadata": {
    },
  • "spec": {
    }
}

Response samples

Content type
application/json
{ }

List DC Cluster Group

List the set of dc_cluster_group in a namespace

path Parameters
namespace
required
string

namespace

x-example: "ns1" Namespace to scope the listing of dc_cluster_group

query Parameters
label_filter
string

x-example: "env in (staging, testing), tier in (web, db)" A LabelSelectorType expression that every item in list response will satisfy

report_fields
Array of strings

x-example: "" Extra fields to return along with summary fields

report_status_fields
Array of strings

x-example: "" Extra status fields to return along with summary fields

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "items": [
    ]
}

Metrics

DC Cluster Group metrics

path Parameters
namespace
required
string

Namespace

x-example: "system" Only system namespace is supported.

Request Body schema: application/json
required
end_time
string (End time)

end time of metric collection from which data will be considered to build graph. Format: unix_timestamp|rfc 3339

Optional: If not specified, then the end_time will be evaluated to start_time+10m If start_time is not specified, then the end_time will be evaluated to

Example: "1570197600"

Validation Rules: ves.io.schema.rules.string.query_time: true

field_selector
Array of strings (Field Selector) [ 1 .. 8 ] items
Items Enum: "TX_THROUGHPUT_BYTES" "TX_THROUGHPUT_PACKETS"

Select fields to be returned in the response. One or more fields in {TX_THROUGHPUT_BYTES, TX_THROUGHPUT_PACKETS} can be specified.

Required: YES

Validation Rules: ves.io.schema.rules.message.required: true ves.io.schema.rules.repeated.max_items: 8 ves.io.schema.rules.repeated.min_items: 1 ves.io.schema.rules.repeated.unique: true

filter
string (Label Filter)

filter is used to specify the list of matchers syntax for filter := {[]} :=

Optional: If not specified, metric will be aggregated based on the group_by labels.

Example: "{DC_CLUSTER_GROUP=\"cluster-1\"}"

group_by
Array of strings (Group by)
Items Enum: "DC_CLUSTER_GROUP" "SRC_SITE" "DST_SITE"

Aggregate data by zero or more labels {DC_CLUSTER_GROUP, SRC_SITE, DST_SITE}

namespace
string (Namespace)

Only system namespace is supported.

Example: "system"

range
string (Range)

range decides how far to go back in time to fetch values for each step. For example, if the range is 5m, then for step t1, query will be evaluated for t1-5m and for t2, query will be evaluated for t2-5m and so on. Format: [0-9][smhd], where s - seconds, m - minutes, h - hours, d - days

Note: For non-timeseries query, i.e., for step=end_time-start_time, range should be set to end_time-start_time

Optional: If not specified, range is set to 5m

Example: "10m"

Validation Rules: ves.io.schema.rules.string.time_interval: true

start_time
string (Start time)

start time of metric collection from which data will be considered to build graph. Format: unix_timestamp|rfc 3339

Optional: If not specified, then the start_time will be evaluated to end_time-10m If end_time is not specified, then the start_time will be evaluated to -10m

Example: "1570194000"

Validation Rules: ves.io.schema.rules.string.query_time: true

step
string (Step)

step is the resolution width, which determines the number of the data points [x-axis (time)] to be returned in the response. The timestamps in the response will be t1=start_time, t2=t1+step, ... tn=tn-1+step, where tn <= end_time. Format: [0-9][smhd], where s - seconds, m - minutes, h - hours, d - days

Optional: If not specified, then step size is evaluated to <end_time - start_time>

Example: "5m"

Validation Rules: ves.io.schema.rules.string.query_step: true

Responses

Request samples

Content type
application/json
{
  • "end_time": "string",
  • "field_selector": [
    ],
  • "filter": "string",
  • "group_by": [
    ],
  • "namespace": "string",
  • "range": "string",
  • "start_time": "string",
  • "step": "string"
}

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "step": "string"
}

Get DC Cluster Group

Gets DC Cluster Group in given namespace

path Parameters
namespace
required
string

namespace

x-example: "ns1" The namespace in which the configuration object is present

name
required
string

name

x-example: "name" The name of the configuration object to be fetched

query Parameters
response_format
string
Default: "GET_RSP_FORMAT_DEFAULT"
Enum: "GET_RSP_FORMAT_DEFAULT" "GET_RSP_FORMAT_FOR_CREATE" "GET_RSP_FORMAT_FOR_REPLACE" "GET_RSP_FORMAT_STATUS" "GET_RSP_FORMAT_READ" "GET_RSP_FORMAT_REFERRING_OBJECTS" "GET_RSP_FORMAT_BROKEN_REFERENCES"

The format in which the configuration object is to be fetched. This could be for example - in GetSpec form for the contents of object - in CreateRequest form to create a new similar object - to ReplaceRequest form to replace changeable values

Default format of returned resource Response should be in CreateRequest format Response should be in ReplaceRequest format Response should be in StatusObject(s) format Response should be in format of GetSpecType Response should have other objects referring to this object Response should have deleted and disabled objects referrred by this object

Responses

Response samples

Content type
application/json
{
  • "create_form": {
    },
  • "deleted_referred_objects": [
    ],
  • "disabled_referred_objects": [
    ],
  • "metadata": {
    },
  • "referring_objects": [
    ],
  • "replace_form": {
    },
  • "spec": {
    },
  • "status": [
    ],
  • "system_metadata": {
    }
}

Delete DC Cluster Group

Delete the specified dc_cluster_group

path Parameters
namespace
required
string

namespace

x-example: "ns1" Namespace in which the configuration object is present

name
required
string

name

x-example: "name" Name of the configuration object

Request Body schema: application/json
required
fail_if_referred
boolean <boolean> (fail_if_referred)

Fail the delete operation if this object is being referred by other objects

name
string (name)

Name of the configuration object

Example: "name"

namespace
string (namespace)

Namespace in which the configuration object is present

Example: "ns1"

Responses

Request samples

Content type
application/json
{
  • "fail_if_referred": true,
  • "name": "string",
  • "namespace": "string"
}

Response samples

Content type
application/json
null