/  Yamcs HTTP API  /  Processing  /  Batch Set Parameter Values

Batch Set Parameter ValuesΒΆ

Batch set the value of multiple parameters

URI Template

POST /api/processors/{instance}/{processor}/parameters:batchSet
{instance}

Yamcs instance name.

{processor}

Processor name.

Request Body

// Request message for `BatchSetParameterValues`.
interface BatchSetParameterValuesRequest {

  // Requests, one for each new value
  request: SetParameterValueRequest[];
}

Related Types

interface SetParameterValueRequest {

  // Parameter identifier. This takes the form of a namespace and
  // a name.
  //
  // For Yamcs-native naming only the name field is required and
  // should be the fully qualified name. The namespace is only
  // required when the name represents an alias of that parameter.
  id: NamedObjectId;

  // The new value
  value: Value;

  // The generation time of the value. If specified, must be a date
  // string in ISO 8601 format.
  generationTime: string;  // RFC 3339 timestamp

  // How long before this value is expired, in milliseconds
  expiresIn: string;  // String decimal
}

// Used by external clients to identify an item in the Mission Database
// If namespace is set, then the name is that of an alias, rather than
// the qualified name.
interface NamedObjectId {
  name: string;
  namespace: string;
}

// Union type for storing a value
interface Value {
  type: Type;
  floatValue: number;
  doubleValue: number;
  sint32Value: number;
  uint32Value: number;
  binaryValue: string;  // Base64
  stringValue: string;
  timestampValue: string;  // String decimal
  uint64Value: string;  // String decimal
  sint64Value: string;  // String decimal
  booleanValue: boolean;
  aggregateValue: AggregateValue;
  arrayValue: Value[];
}

// An aggregate value is an ordered list of (member name, member value).
// Two arrays are used in order to be able to send just the values (since
// the names will not change)
interface AggregateValue {
  name: string[];
  value: Value[];
}

enum Type {
  FLOAT = "FLOAT",
  DOUBLE = "DOUBLE",
  UINT32 = "UINT32",
  SINT32 = "SINT32",
  BINARY = "BINARY",
  STRING = "STRING",
  TIMESTAMP = "TIMESTAMP",
  UINT64 = "UINT64",
  SINT64 = "SINT64",
  BOOLEAN = "BOOLEAN",
  AGGREGATE = "AGGREGATE",
  ARRAY = "ARRAY",

  // Enumerated values have both an integer (sint64Value) and a string representation
  ENUMERATED = "ENUMERATED",
  NONE = "NONE",
}