Yamcs HTTP API
      
    
    
Methods
- 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
 - Sdls
 - Server
 - Services
 - Sessions
 - Stream Archive
 - Table
 - Time Correlation
 - Time
 - Timeline
 
        
        Related
      
      
        
          
        
          
            Yamcs Server Manual
          
        
          
            Yamcs Release Notes
          
        
        
          
            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",
}