Yamcs HTTP API
- Activities
- Alarms
- Audit
- Buckets
- Clearance
- Commands
- COP-1
- Database
- Events
- File Transfer
- IAM
- Indexes
- Instances
- Links
- MDB Override
- MDB
- Packets
- Parameter Archive
- Parameter Lists
- Parameter Values
- Processing
- Queues
- Replication
- RocksDB
- Server
- Services
- Sessions
- Stream Archive
- Table
- Time Correlation
- Time
- Timeline
Related
Yamcs Release Notes
Yamcs Server Manual
Source Code Documentation
Download this Document
Subscribe LinksΒΆ
Receive link updates
WebSocket
This method requires to upgrade an HTTP connection to WebSocket. See details on how Yamcs uses WebSocket.
Use the message type links
.
Input Type
interface SubscribeLinksRequest {
// Yamcs instance name
instance: string;
}
Output Type
interface LinkEvent {
// Detail for all links
links: LinkInfo[];
}
Related Types
interface LinkInfo {
// Yamcs instance name
instance: string;
// Link name
name: string;
// Java class name
type: string;
// Configuration
spec: string;
// Whether this link is currently disabled.
disabled: boolean;
status: string;
// Counter of inbound (received) data.
// The unit of this is specific to each link.
dataInCount: string; // String decimal
// Counter of outbound (transmitted) data.
// The unit of this is specific to each link.
dataOutCount: string; // String decimal
// Short status information
detailedStatus: string;
//if this is a sublink of an aggregated data link, this is the name of the parent
parentName: string;
// Custom actions
actions: ActionInfo[];
// Custom info fields
extra: {[key: string]: any};
// System parameters generated by this link
parameters: string[];
}
interface ActionInfo {
// Action identifier
id: string;
// Label describing an action
label: string;
// Action style, one of ``PUSH_BUTTON`` or ``CHECK_BOX``
style: string;
// Whether this action is currently enabled
enabled: boolean;
// Whether this action is currently checked
checked: boolean;
// Specification of action options (if any)
spec: SpecInfo;
}
// Specifies the valid structure of a configuration map
interface SpecInfo {
// Options for this specification
options: OptionInfo[];
// If true, any option is allowed
allowUnknownKeys: boolean;
// Constraints on a groups of options. For each group at least one
// of the keys must be specified.
requiredOneOf: OptionGroupInfo[];
// Constraints on a group of options. For each group, all keys must
// be specified, or none at all.
requireTogether: OptionGroupInfo[];
// Conditional constraints on a group of options
whenConditions: WhenConditionInfo[];
}
interface OptionInfo {
// Name of this option, unique within a spec
name: string;
// Type of this option
type: OptionType;
// UI-friendly label for this option
title: string;
// Default value when the option is not specified
default: Value;
// Whether this options must be specified
required: boolean;
// Hint that this option should be excluded from any
// document generation
hidden: boolean;
// Hint that value for this option should not be
// logged
secret: boolean;
// Which version of this software this option was added.
// Can be the Yamcs version, or the version of a plugin.
versionAdded: string;
// Deprecation message for this option
deprecationMessage: string;
// Description, each list entry represents a paragraph
description: string[];
// When the type is ``LIST`` or ``LIST_OR_ELEMENT``, this indicates the type
// of each element of that list
elementType: OptionType;
// When the type or elementType is ``MAP``, this specifies
// the options with that map
spec: SpecInfo;
// Allowed values for this option
choices: Value[];
// When the type is ``MAP``, this property determines whether default values
// are generated even when a value for that option was not provided.
applySpecDefaults: boolean;
// Additional names that can be used for this option
aliases: string[];
}
// `Value` represents a dynamically typed value which can be either
// null, a number, a string, a boolean, a recursive struct value, or a
// list of values. A producer of value is expected to set one of that
// variants, absence of any variant indicates an error.
//
// The JSON representation for `Value` is JSON value.
interface Value {
// Represents a null value.
nullValue: NullValue;
// Represents a double value.
numberValue: number;
// Represents a string value.
stringValue: string;
// Represents a boolean value.
boolValue: boolean;
// Represents a structured value.
structValue: {[key: string]: any};
// Represents a repeated `Value`.
listValue: ListValue;
}
// `ListValue` is a wrapper around a repeated field of values.
//
// The JSON representation for `ListValue` is JSON array.
interface ListValue {
// Repeated field of dynamically typed values.
values: Value[];
}
interface OptionGroupInfo {
// Option keys
keys: string[];
}
interface WhenConditionInfo {
// Option key for checking the condition
key: string;
// Value to compare with
value: Value;
// Option keys that must be specified, if the condition is satisfied
requiredKeys: string[];
}
enum OptionType {
ANY = "ANY",
BOOLEAN = "BOOLEAN",
INTEGER = "INTEGER",
FLOAT = "FLOAT",
LIST = "LIST",
LIST_OR_ELEMENT = "LIST_OR_ELEMENT",
MAP = "MAP",
STRING = "STRING",
}
enum NullValue {
// Null value.
NULL_VALUE = "NULL_VALUE",
}