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

Download OpenAPI specification:Download

App Type object defines a application profile type from an advanced monitoring/security point of view. An App type is a set of (micro) services that interact with one another and function as an application. Services can be made members of a particular AppType set by adding label ves.io/app_type=app_type.metadata.name to services. App type object is the profile for one such application label. One can define various AI/ML features that can be enabled for a given application in this object. All services in a given namespace that are labeled with same ves.io/app_type label are assumed to be a single application. In a different namespace as two different instances of same application. app_type object is recommended per tenant and present only in shared namespace. This way AI/ML modeled developed for a given application can be shared across namespaces or deployments. app_setting object can be used to enable a app_type monitoring profile in a given namespace.

Create App Type

Create App type will create the configuration in namespace metadata.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 App type)

Create App type will create the configuration in namespace metadata.namespace

Responses

Request samples

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

Response samples

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

Replace App Type

Update the configuration by replacing the existing spec with the provided one. For read-then-write operations a resourceVersion mismatch will occur if the object was modified between the read and write.

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 App type)

Update the configuration by replacing the existing spec with the provided one. For read-then-write operations a resourceVersion mismatch will occur if the object was modified between the read and write.

Responses

Request samples

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

Response samples

Content type
application/json
{ }

List App Type

List the set of app_type in a namespace

path Parameters
namespace
required
string

namespace

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

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": [
    ]
}

Get Learnt Schema per API endpoint

Get Learnt Schema per API endpoint for a given auto discovered API endpoint for Service

path Parameters
namespace
required
string

Namespace

x-example: "shared" Namespace of the App type for current request

app_type_name
required
string

App Type

x-example: "blogging-app" App Type for current request

Request Body schema: application/json
required
api_endpoint_info_request
Array of strings (Api Endpoint Info Request)
Items Enum: "API_ENDPOINT_INFO_NONE" "API_ENDPOINT_INFO_PDF_SPARKLINES"

List of additional things that needs to be sent as part of the request

Validation Rules: ves.io.schema.rules.repeated.unique: true

app_type_name
string (App Type)

App Type for current request

Example: "blogging-app"

collapsed_url
string (Discovered API URL)

API endpoint for which PDFs are requested.

Example: "value"

method
string (Method of current API URL)

method of API endpoint for which PDFs are requested.

Example: "value"

namespace
string (Namespace)

Namespace of the App type for current request

Example: "shared"

Responses

Request samples

Content type
application/json
{
  • "api_endpoint_info_request": [
    ],
  • "app_type_name": "string",
  • "collapsed_url": "string",
  • "method": "string",
  • "namespace": "string"
}

Response samples

Content type
application/json
{
  • "api_specs": { },
  • "discovered_schema": {
    },
  • "inventory_openapi_spec": "string",
  • "pdf_info": {
    },
  • "sensitive_data": [
    ]
}

Get PDF

Get PDF of all metrics for a given auto discovered API endpoint for App type

path Parameters
namespace
required
string

Namespace

x-example: "shared" Namespace of the App type for current request

app_type_name
required
string

App Type

x-example: "blogging-app" App Type for current request

query Parameters
collapsed_url
string

x-example: "value" API endpoint for which PDFs are requested.

method
string

x-example: "value" method of API endpoint for which PDFs are requested.

Responses

Response samples

Content type
application/json
{
  • "pdf_info": {
    }
}

Get API endpoints

Get all auto discovered API endpoints for App type

path Parameters
namespace
required
string

Namespace

x-example: "shared" Namespace of the App type for current request

app_type_name
required
string

App Type

x-example: "blogging-app" App Type for current request

query Parameters
api_endpoint_info_request
Array of strings
Items Enum: "API_ENDPOINT_INFO_NONE" "API_ENDPOINT_INFO_PDF_SPARKLINES"

List of additional things that needs to be sent as part of the request

API ENDPOINT INFO NONE option is used to disable any additional info request per api endpoint response API ENDPOINT INFO PDF SPARKLINES option is used to enable pdf sparkline info along with the api endpoint response

Responses

Response samples

Content type
application/json
{
  • "apiep_list": [
    ]
}

Get Swagger Spec for App Type

Get the corresponding Swagger spec for the given app type

path Parameters
namespace
required
string

Namespace

x-example: "shared" Namespace of the App type for current request

app_type_name
required
string

App Type

x-example: "blogging-app" App Type for current request

Responses

Response samples

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

Remove Override

remove override for dynamic component for API endpoints discovered for this App type

path Parameters
namespace
required
string

Namespace

x-example: "shared" Namespace of the App type for current request

app_type_name
required
string

App Type

x-example: "blogging-app" App Type for current request

Request Body schema: application/json
required
app_type_name
string (App Type)

App Type for current request

Example: "blogging-app"

namespace
string (Namespace)

Namespace of the App type for current request

Example: "shared"

Responses

Request samples

Content type
application/json
{
  • "app_type_name": "string",
  • "namespace": "string"
}

Response samples

Content type
application/json
{
  • "status": true,
  • "status_msg": "string"
}

Add Override

Add override for dynamic component for API endpoints discovered for this App type

path Parameters
namespace
required
string

Namespace

x-example: "shared" Namespace of the App type for current request

app_type_name
required
string

App Type

x-example: "blogging-app" App Type for current request

Request Body schema: application/json
required
app_type_name
string (App Type)

App Type for current request

Example: "blogging-app"

namespace
string (Namespace)

Namespace of the App type for current request

Example: "shared"

object (Override automatic collapse)

Rule to override a given automatic dynamic identifier used to expand or collapse API URL

Responses

Request samples

Content type
application/json
{
  • "app_type_name": "string",
  • "namespace": "string",
  • "override_info": {
    }
}

Response samples

Content type
application/json
{
  • "status": true,
  • "status_msg": "string"
}

Get Override

Get all override for API endpoints configured for this App type

path Parameters
namespace
required
string

Namespace

x-example: "shared" Namespace of the App type for current request

app_type_name
required
string

App Type

x-example: "blogging-app" App Type for current request

Responses

Response samples

Content type
application/json
{
  • "override_list": [
    ]
}

Get Service API Endpoint PDF

Get PDF of all metrics for a given auto discovered API endpoint for Service

path Parameters
namespace
required
string

Namespace

x-example: "shared" Namespace of the App type for current request

app_type_name
required
string

App Type

x-example: "blogging-app" App Type for current request

service_name
required
string

Service

x-example: "N:public or S:productpage" Identifies the destination service

Request Body schema: application/json
required
app_type_name
string (App Type)

App Type for current request

Example: "blogging-app"

collapsed_url
string (Discovered API URL)

API endpoint for which PDFs are requested.

Example: "value"

method
string (Method of current API URL)

method of API endpoint for which PDFs are requested.

Example: "value"

namespace
string (Namespace)

Namespace of the App type for current request

Example: "shared"

service_name
string (Service)

Identifies the destination service

Example: "N:public or S:productpage"

Responses

Request samples

Content type
application/json
{
  • "app_type_name": "string",
  • "collapsed_url": "string",
  • "method": "string",
  • "namespace": "string",
  • "service_name": "string"
}

Response samples

Content type
application/json
{
  • "pdf_info": {
    }
}

Get Service API Endpoints

Get all autodiscovered API endpoints for Service

path Parameters
namespace
required
string

Namespace

x-example: "shared" Namespace of the App type for current request

app_type_name
required
string

App Type

x-example: "blogging-app" App Type for current request

service_name
required
string

Service

x-example: "N:public or S:productpage" Identifies the destination service

Request Body schema: application/json
required
api_endpoint_info_request
Array of strings (Api Endpoint Info Request)
Items Enum: "API_ENDPOINT_INFO_NONE" "API_ENDPOINT_INFO_PDF_SPARKLINES"

List of additional things that needs to be sent as part of the request

Validation Rules: ves.io.schema.rules.repeated.unique: true

app_type_name
string (App Type)

App Type for current request

Example: "blogging-app"

namespace
string (Namespace)

Namespace of the App type for current request

Example: "shared"

service_name
string (Service)

Identifies the destination service

Example: "N:public or S:productpage"

Responses

Request samples

Content type
application/json
{
  • "api_endpoint_info_request": [
    ],
  • "app_type_name": "string",
  • "namespace": "string",
  • "service_name": "string"
}

Response samples

Content type
application/json
{
  • "apiep_list": [
    ]
}

Get App Type

Get App type will read the configuration from namespace metadata.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 App Type

Delete the specified app_type

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