Skip to content

List Discovered Services.

GET
/api/discovery/namespaces/{namespace}/discovered_services
curl --request GET \
--url https://example-corp.console.ves.volterra.io/api/v1/api/production/us-east-1/namespaces/default/api/discovery/namespaces/example/discovered_services \
--header 'Authorization: <Authorization>'

List the set of discovered_service in a namespace.

Examples of this operation.

namespace
required
string

Namespace Namespace to scope the listing of discovered_service.

label_filter
string

A LabelSelectorType expression that every item in list response will satisfy.

report_fields
Array<string>

X-example: "" Extra fields to return along with summary fields.

report_status_fields
Array<string>

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

A successful response.

Media typeapplication/json
ListResponse is the collection of discovered_service

This is the output message of ‘List’ RPC.

object
errors
errors

Errors(if any) while listing items from collection.

Array<object>
ErrorType

Information about a error in API operation.

object
code
string
default: EOK
Allowed values: EOK EPERMS EBADINPUT ENOTFOUND EEXISTS EUNKNOWN ESERIALIZE EINTERNAL EPARTIAL
error_obj
object
type_url

A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one ”/” character. The last segment of the URL’s path must represent the fully qualified name of the type (as in path/google.protobuf.duration). The name should be in a canonical form (e.g., leading ”.” is not accepted).

In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme HTTP, HTTPS, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:

  • If no scheme is provided, HTTPS is assumed.
  • An HTTP GET on the URL must yield a [google.protobuf.type][] value in binary format, or produce an error.
  • Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)

Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.

Schemes other than HTTP, HTTPS (or the empty scheme) might be used with implementation specific semantics.

string
<= 1024 characters
value

Must be a valid serialized protocol buffer of the above specified type.

string format: byte
>= 3 characters <= 1024 characters
message
message

A human readable string of the error.

string
<= 1024 characters
items
items

Items represents the collection in response.

Array<object>
ListResponseItem is an individual item in a collection of discovered_service

By default a summary of discovered_service is returned in ‘List’. By setting ‘report_fields’ in the ListRequest more details of each item can be got.

object
annotations
annotations

The set of annotations present on this discovered_service.

object
description
description

The description set for this discovered_service.

string
>= 21 characters <= 1024 characters
disabled
disabled

A value of true indicates discovered_service is administratively disabled.

boolean format: boolean
get_spec
object
consul_service
object
discovery_object
object
name
name

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object’s(e.g. Route’s) name. Required: YES.

string
>= 1 characters <= 128 characters
namespace
namespace

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object’s(e.g. Route’s) namespace.

string
>= 6 characters <= 64 characters
tenant
tenant

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object’s(e.g. Route’s) tenant.

string
>= 6 characters <= 64 characters
pods
Pod List

List of pod-name to IP address mappings for the service.

Array<object>
<= 50 items
Pod info

Information about POD providing the service.

object
ip
IP Address

IP Address of the POD.

string
<= 1024 characters
pod_name
POD name

Name of the Pod.

string
<= 1024 characters
ports
Port List

List of ports along with protocol on which the service is exposed.

Array<object>
<= 50 items
Port information

Information about port and protocol on which the service is provided.

object
port
Port

Port number on which the service is exposed Required: YES.

integer format: int64
>= 1 <= 65535
protocol
Protocol

Protocol on which the service is exposed Required: YES.

string
<= 1024 characters
target_port
Target Port

Port on which the pods targeted by the service can be reached. TargetPort of Kubernetes service when its type is ClusterIP. NodePort of Kubernetes service when its type is NodePort. Required: YES.

integer format: int64
service_name
Service Name

Name of the discovered service Required: YES.

string
<= 1024 characters
http_load_balancers

List of references to HTTP Load Balancers using this service.

Array<object>
ObjectRefType

This type establishes a direct reference from one object(the referrer) to another(the referred). Such a reference is in form of tenant/namespace/name.

object
name
name

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object’s(e.g. Route’s) name. Required: YES.

string
>= 1 characters <= 128 characters
namespace
namespace

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object’s(e.g. Route’s) namespace.

string
>= 6 characters <= 64 characters
tenant
tenant

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object’s(e.g. Route’s) tenant.

string
>= 6 characters <= 64 characters
k8s_service
object
discovery_object
object
name
name

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object’s(e.g. Route’s) name. Required: YES.

string
>= 1 characters <= 128 characters
namespace
namespace

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object’s(e.g. Route’s) namespace.

string
>= 6 characters <= 64 characters
tenant
tenant

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object’s(e.g. Route’s) tenant.

string
>= 6 characters <= 64 characters
pods
Pod List

List of pod-name to IP address mappings for the service.

Array<object>
<= 50 items
Pod info

Information about POD providing the service.

object
ip
IP Address

IP Address of the POD.

string
<= 1024 characters
pod_name
POD name

Name of the Pod.

string
<= 1024 characters
ports
Port List

List of ports along with protocol on which the service is exposed.

Array<object>
<= 50 items
Port information

Information about port and protocol on which the service is provided.

object
port
Port

Port number on which the service is exposed Required: YES.

integer format: int64
>= 1 <= 65535
protocol
Protocol

Protocol on which the service is exposed Required: YES.

string
<= 1024 characters
target_port
Target Port

Port on which the pods targeted by the service can be reached. TargetPort of Kubernetes service when its type is ClusterIP. NodePort of Kubernetes service when its type is NodePort. Required: YES.

integer format: int64
service_name
Service Name

Name of the discovered service Required: YES.

string
<= 1024 characters
n1_discovered_server
object
domains
Domains

Domains configured on the Server.

Array<string>
<= 32 items
nginx_one_object_id
NGINX Instance or Config Sync Group ID

ID of the NGINX Instance or Config Sync Group Required: YES.

string
<= 256 characters
nginx_one_object_name
NGINX Instance or Config Sync Group Name

Hostname value set for Instance or Name for a Config Sync Group in NGINX One.

string
<= 1024 characters
nginx_service_discovery_ref
object
name
name

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object’s(e.g. Route’s) name. Required: YES.

string
>= 1 characters <= 128 characters
namespace
namespace

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object’s(e.g. Route’s) namespace.

string
>= 6 characters <= 64 characters
tenant
tenant

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object’s(e.g. Route’s) tenant.

string
>= 6 characters <= 64 characters
port
Port

Port number on which the Server is exposed Required: YES.

integer format: int64
>= 1 <= 65535
server_block
Server Block Name

Server Block Name Required: YES.

string
<= 256 characters
tcp_load_balancers

List of references to TCP Load Balancers using this service.

Array<object>
ObjectRefType

This type establishes a direct reference from one object(the referrer) to another(the referred). Such a reference is in form of tenant/namespace/name.

object
name
name

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object’s(e.g. Route’s) name. Required: YES.

string
>= 1 characters <= 128 characters
namespace
namespace

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object’s(e.g. Route’s) namespace.

string
>= 6 characters <= 64 characters
tenant
tenant

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object’s(e.g. Route’s) tenant.

string
>= 6 characters <= 64 characters
third_party
object
discovery_object
object
name
name

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object’s(e.g. Route’s) name. Required: YES.

string
>= 1 characters <= 128 characters
namespace
namespace

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object’s(e.g. Route’s) namespace.

string
>= 6 characters <= 64 characters
tenant
tenant

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object’s(e.g. Route’s) tenant.

string
>= 6 characters <= 64 characters
virtual_server
object
bigip_version
BIG-IP version

Version of the BIG-IP from where the service was discovered

Required: YES.

string
<= 256 characters
cbip_cluster
CBIP Cluster Name

Name of CBIP Cluster.

Required: YES.

string
<= 256 characters
discovery_object
object
name
name

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object’s(e.g. Route’s) name. Required: YES.

string
>= 1 characters <= 128 characters
namespace
namespace

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object’s(e.g. Route’s) namespace.

string
>= 6 characters <= 64 characters
tenant
tenant

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object’s(e.g. Route’s) tenant.

string
>= 6 characters <= 64 characters
enabled_state
string
default: NONE
Allowed values: NONE ENABLED DISABLED
ip_address
Virtual Server IP Address

IP address of the BIG-IP Virtual Server

Required: YES.

string
<= 1024 characters
partition
partition

Partition of virtual-server

Required: YES.

string
<= 256 characters
port
Port

Port number on which the virtual-server is exposed.

integer format: int64
>= 1 <= 65535
server_name
Server Name

Virtual Server name.

string
<= 1024 characters
status
string
default: UNSPECIFIED
Allowed values: UNSPECIFIED AVAILABLE OFFLINE UNKNOWN UNAVAILABLE DELETED
sub_path
Sub Path

BIG-IP Virtual Server sub path in relation to partition.

string
<= 1024 characters
visibility_disabled
object
visibility_enabled
object
labels
labels

The set of labels present on this discovered_service.

object
metadata
object
annotations
annotations

Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects.

object
description
description

Human readable description for the object.

string
>= 21 characters <= 1200 characters
disable
disable

A value of true will administratively disable the object.

boolean format: boolean
labels
labels

Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the user. Values specified here will be used by selector expression.

object
name
name

This is the name of configuration object. It has to be unique within the namespace. It can only be specified during create API and cannot be changed during replace API. The value of name has to follow DNS-1035 format. Required: YES.

string
>= 6 characters <= 1024 characters
namespace
namespace

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 ""

string
>= 6 characters <= 1024 characters
name
name

The name of this discovered_service.

string
>= 6 characters <= 1024 characters
namespace
namespace

The namespace this item belongs to.

string
>= 6 characters <= 1024 characters
owner_view
object
kind
kind

Kind of the view object.

string
>= 12 characters <= 1024 characters
name
name

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object’s(e.g. Route’s) name.

string
>= 6 characters <= 1024 characters
namespace
namespace

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object’s(e.g. Route’s) namespace.

string
>= 6 characters <= 1024 characters
uid
uid

UID of the view object.

string format: uuid
>= 36 characters <= 1024 characters
system_metadata
object
creation_timestamp
creation_timestamp

CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.

string format: date-time
<= 1024 characters
creator_class
creator_class

A value identifying the class of the user or service which created this configuration object.

string
<= 1024 characters
creator_id
creator_id

A value identifying the exact user or service that created this configuration object.

string
<= 1024 characters
deletion_timestamp
deletion_timestamp

DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.

Populated by the system when a graceful deletion is requested. Read-only.

string format: date-time
<= 1024 characters
finalizers
finalizers

Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed.

Array<string>
initializers
object
pending
pending

Pending is a list of initializers that must execute in order before this object is initialized. When the last pending initializer is removed, and no failing result is set, the initializers struct will be set to nil and the object is considered as initialized and visible to all clients.

Array<object>
InitializerType

Initializer is information about an initializer that has not yet completed.

object
name
name

Name of the service that is responsible for initializing this object.

string
>= 6 characters <= 1024 characters
result
object
code
code

Suggested HTTP return code for this status, 0 if not set.

integer format: int32
reason
reason

A human-readable description of why this operation is in the “Failure” status. If this value is empty there is no information available.

string
>= 27 characters <= 1024 characters
status
status

Status of the operation. One of: “Success” or “Failure”.

string
>= 17 characters <= 1024 characters
labels
labels

Map of string keys and values that can be used to organize and categorize (scope and select) objects as chosen by the operator or software. Values here can be interpreted by software(backend or frontend) to enable certain behavior e.g. Things marked as soft-deleted(restorable).

object
modification_timestamp
modification_timestamp

ModificationTimestamp is a timestamp representing the server time when this object was last modified.

string format: date-time
<= 1024 characters
object_index
object_index

Unique index for the object. Some objects need a unique integer index to be allocated for each object type. This field will be populated for all objects that need it and will be zero otherwise.

integer format: int64
owner_view
object
kind
kind

Kind of the view object.

string
>= 12 characters <= 1024 characters
name
name

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object’s(e.g. Route’s) name.

string
>= 6 characters <= 1024 characters
namespace
namespace

When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object’s(e.g. Route’s) namespace.

string
>= 6 characters <= 1024 characters
uid
uid

UID of the view object.

string format: uuid
>= 36 characters <= 1024 characters
tenant
tenant

Tenant to which this configuration object belongs to. The value for this is found from presented credentials.

string
>= 6 characters <= 1024 characters
uid
uid

Uid is the unique in time and space value for this object. It is generated by the server on successful creation of an object and is not allowed to change on Replace API. The value of is taken from uid field of ObjectMetaType, if provided.

string format: uuid
>= 36 characters <= 1024 characters
tenant
tenant

The tenant this item belongs to.

string
>= 6 characters <= 1024 characters
uid
uid

The unique uid of this discovered_service.

string format: uuid
>= 36 characters <= 1024 characters
Example
{
"errors": [
{
"code": "EOK"
}
],
"items": [
{
"get_spec": {
"virtual_server": {
"enabled_state": "NONE",
"status": "UNSPECIFIED"
}
}
}
]
}

Returned when operation is not authorized.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when there is no permission to access resource.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when resource is not found.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when operation on resource is conflicting with current value.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when operation has been rejected as it is happening too frequently.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when server encountered an error in processing API.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when service is unavailable temporarily.

Media typeapplication/json
string format: string
Examplegenerated
example

Returned when server timed out processing request.

Media typeapplication/json
string format: string
Examplegenerated
example