Get desktop application:
View/edit binary Protocol Buffers messages
Capabilities allows the client to retrieve the set of capabilities that is supported by the target. This allows the target to validate the service version that is implemented and retrieve the set of models that the target supports. The models can then be specified in subsequent RPCs to restrict the set of data that is utilized. Reference: gNMI Specification Section 3.2
CapabilityRequest is sent by the client in the Capabilities RPC to request that the target reports its capabilities. Reference: gNMI Specification Section 3.2.1
Extension messages associated with the CapabilityRequest. See the gNMI extension specification for further definition.
CapabilityResponse is used by the target to report its capabilities to the client within the Capabilities RPC. Reference: gNMI Specification Section 3.2.2
Supported schema models.
Supported encodings.
Supported gNMI version.
Extension messages associated with the CapabilityResponse. See the gNMI extension specification for further definition.
Retrieve a snapshot of data from the target. A Get RPC requests that the target snapshots a subset of the data tree as specified by the paths included in the message and serializes this to be returned to the client using the specified encoding. Reference: gNMI Specification Section 3.3
GetRequest is sent when a client initiates a Get RPC. It is used to specify the set of data elements for which the target should return a snapshot of data. The use_models field specifies the set of schema modules that are to be used by the target - where use_models is not specified then the target must use all schema models that it has. Reference: gNMI Specification Section 3.3.1
Prefix used for paths.
Paths requested by the client.
The type of data being requested.
Encoding to be used.
The schema models to be used.
Extension messages associated with the GetRequest. See the gNMI extension specification for further definition.
GetResponse is used by the target to respond to a GetRequest from a client. The set of Notifications corresponds to the data values that are requested by the client in the GetRequest. Reference: gNMI Specification Section 3.3.2
Data values.
Errors that occurred in the Get.
Extension messages associated with the GetResponse. See the gNMI extension specification for further definition.
Set allows the client to modify the state of data on the target. The paths to modified along with the new values that the client wishes to set the value to. Reference: gNMI Specification Section 3.4
SetRequest is sent from a client to the target to update values in the data tree. Paths are either deleted by the client, or modified by means of being updated, or replaced. Where a replace is used, unspecified values are considered to be replaced, whereas when update is used the changes are considered to be incremental. The set of changes that are specified within a single SetRequest are considered to be a transaction. Reference: gNMI Specification Section 3.4.1
Prefix used for paths in the message.
Paths to be deleted from the data tree.
Updates specifying elements to be replaced.
Updates specifying elements to updated.
Extension messages associated with the SetRequest. See the gNMI extension specification for further definition.
SetResponse is the response to a SetRequest, sent from the target to the client. It reports the result of the modifications to the data tree that were specified by the client. Errors for this RPC should be reported using the https://github.com/googleapis/googleapis/blob/master/google/rpc/status.proto message in the RPC return. The gnmi.Error message can be used to add additional details where required. Reference: gNMI Specification Section 3.4.2
Prefix used for paths.
A set of responses specifying the result of the operations specified in the SetRequest.
The overall status of the transaction.
Timestamp of transaction (ns since epoch).
Extension messages associated with the SetResponse. See the gNMI extension specification for further definition.
Subscribe allows a client to request the target to send it values of particular paths within the data tree. These values may be streamed at a particular cadence (STREAM), sent one off on a long-lived channel (POLL), or sent as a one-off retrieval (ONCE). Reference: gNMI Specification Section 3.5
SubscribeRequest is the message sent by the client to the target when initiating a subscription to a set of paths within the data tree. The request field must be populated and the initial message must specify a SubscriptionList to initiate a subscription. The message is subsequently used to define aliases or trigger polled data to be sent by the target. Reference: gNMI Specification Section 3.5.1.1
Specify the paths within a subscription.
Trigger a polled update.
Aliases to be created.
Extension messages associated with the SubscribeRequest. See the gNMI extension specification for further definition.
SubscribeResponse is the message used by the target within a Subscribe RPC. The target includes a Notification message which is used to transmit values of the path(s) that are associated with the subscription. The same message is to indicate that the target has sent all data values once (is synchronized). Reference: gNMI Specification Section 3.5.1.4
Changed or sampled value for a path.
Indicate target has sent all values associated with the subscription at least once.
Deprecated in favour of google.golang.org/genproto/googleapis/rpc/status
Extension messages associated with the SubscribeResponse. See the gNMI extension specification for further definition.
Alias specifies a data tree path, and an associated string which defines an alias which is to be used for this path in the context of the RPC. The alias is specified as a string which is prefixed with "#" to disambiguate it from data tree element paths. Reference: gNMI Specification Section 2.4.2
Used in:
The path to be aliased.
The alias value, a string prefixed by "#".
AliasList specifies a list of aliases. It is used in a SubscribeRequest for a client to create a set of aliases that the target is to utilize. Reference: gNMI Specification Section 3.5.1.6
Used in:
The set of aliases to be created.
Decimal64 is used to encode a fixed precision decimal number. The value is expressed as a set of digits with the precision specifying the number of digits following the decimal point in the digit set.
Used in:
Set of digits.
Number of digits following the decimal point.
Encoding defines the value encoding formats that are supported by the gNMI protocol. These encodings are used by both the client (when sending Set messages to modify the state of the target) and the target when serializing data to be returned to the client (in both Subscribe and Get RPCs). Reference: gNMI Specification Section 2.3
Used in:
, , ,JSON encoded text.
Arbitrarily encoded bytes.
Encoded according to out-of-band agreed Protobuf.
ASCII text of an out-of-band agreed format.
JSON encoded text as per RFC7951.
Error message previously utilised to return errors to the client. Deprecated in favour of using the google.golang.org/genproto/googleapis/rpc/status message in the RPC response. Reference: gNMI Specification Section 2.5
Used in:
, , ,Canonical gRPC error code.
Human readable error.
Optional additional information.
Type of elements within the data tree.
Used in:
All data elements.
Config (rw) only elements.
State (ro) only elements.
Data elements marked in the schema as operational. This refers to data elements whose value relates to the state of processes or interactions running on the device.
ModelData is used to describe a set of schema modules. It can be used in a CapabilityResponse where a target reports the set of modules that it supports, and within the SubscribeRequest and GetRequest messages to specify the set of models from which data tree elements should be reported. Reference: gNMI Specification Section 3.2.3
Used in:
, ,Name of the model.
Organization publishing the model.
Semantic version of the model.
Notification is a re-usable message that is used to encode data from the target to the client. A Notification carries two types of changes to the data tree: - Deleted values (delete) - a set of paths that have been removed from the data tree. - Updated values (update) - a set of path-value pairs indicating the path whose value has changed in the data tree. Reference: gNMI Specification Section 2.1
Used in:
,Timestamp in nanoseconds since Epoch.
Prefix used for paths in the message.
An alias for the path specified in the prefix field. Reference: gNMI Specification Section 2.4.2
Data elements that have changed values.
Data elements that have been deleted.
This notification contains a set of paths that are always updated together referenced by a globally unique prefix.
Path encodes a data tree path as a series of repeated strings, with each element of the path representing a data tree node name and the associated attributes. Reference: gNMI Specification Section 2.2.2.
Used in:
, , , , , , , ,Elements of the path are no longer encoded as a string, but rather within the elem field as a PathElem message.
Label to disambiguate path.
Elements of the path.
The name of the target
PathElem encodes an element of a gNMI path, along ith any attributes (keys) that may be associated with it. Reference: gNMI Specification Section 2.2.2.
Used in:
The name of the element in the path.
Map of key (attribute) name to value.
Poll is sent within a SubscribeRequest to trigger the device to send telemetry updates for the paths that are associated with the subscription. Reference: gNMI Specification Section Section 3.5.1.4
Used in:
(message has no fields)
QOSMarking specifies the DSCP value to be set on transmitted telemetry updates from the target. Reference: gNMI Specification Section 3.5.1.2
Used in:
ScalarArray is used to encode a mixed-type array of values.
Used in:
The set of elements within the array. Each TypedValue message should specify only elements that have a field identifier of 1-7 (i.e., the values are scalar values).
Subscription is a single request within a SubscriptionList. The path specified is interpreted (along with the prefix) as the elements of the data tree that the client is subscribing to. The mode determines how the target should trigger updates to be sent. Reference: gNMI Specification Section 3.5.1.3
Used in:
The data tree path.
Subscription mode to be used.
ns between samples in SAMPLE mode.
Indicates whether values that not changed should be sent in a SAMPLE subscription.
Specifies the maximum allowable silent period in nanoseconds when suppress_redundant is in use. The target should send a value at least once in the period specified.
SubscriptionList is used within a Subscribe message to specify the list of paths that the client wishes to subscribe to. The message consists of a list of (possibly prefixed) paths, and options that relate to the subscription. Reference: gNMI Specification Section 3.5.1.2
Used in:
Prefix used for paths.
Set of subscriptions to create.
Whether target defined aliases are allowed within the subscription.
DSCP marking to be used.
Whether elements of the schema that are marked as eligible for aggregation should be aggregated or not.
The set of schemas that define the elements of the data tree that should be sent by the target.
The encoding that the target should use within the Notifications generated corresponding to the SubscriptionList.
An optional field to specify that only updates to current state should be sent to a client. If set, the initial state is not sent to the client but rather only the sync message followed by any subsequent updates to the current state. For ONCE and POLL modes, this causes the server to send only the sync message (Sec. 3.5.2.3).
Mode of the subscription.
Used in:
Values streamed by the target (Sec. 3.5.1.5.2).
Values sent once-off by the target (Sec. 3.5.1.5.1).
Values sent in response to a poll request (Sec. 3.5.1.5.3).
SubscriptionMode is the mode of the subscription, specifying how the target must return values in a subscription. Reference: gNMI Specification Section 3.5.1.3
Used in:
The target selects the relevant mode for each element.
The target sends an update on element value change.
The target samples values according to the interval.
TypedValue is used to encode a value being sent between the client and target (originated by either entity).
Used in:
,One of the fields within the val oneof is populated with the value of the update. The type of the value being included in the Update determines which field should be populated. In the case that the encoding is a particular form of the base protobuf type, a specific field is used to store the value (e.g., json_val).
String value.
Integer value.
Unsigned integer value.
Bool value.
Arbitrary byte sequence value.
Floating point value.
Decimal64 encoded value.
Mixed type scalar array value.
protobuf.Any encoded bytes.
JSON-encoded text.
JSON-encoded text per RFC7951.
Arbitrary ASCII text.
Protobuf binary encoded bytes. The message type is not included. See the specification at github.com/openconfig/reference/blob/master/rpc/gnmi/protobuf-vals.md for a complete specification.
Update is a re-usable message that is used to store a particular Path, Value pair. Reference: gNMI Specification Section 2.1
Used in:
,The path (key) for the update.
The value (value) for the update.
The explicitly typed update value.
Number of coalesced duplicates.
UpdateResult is used within the SetResponse message to communicate the result of an operation specified within a SetRequest message. Reference: gNMI Specification Section 3.4.2
Used in:
Deprecated timestamp for the UpdateResult, this field has been replaced by the timestamp within the SetResponse message, since all mutations effected by a set should be applied as a single transaction.
Path associated with the update.
Status of the update operation.
Update operation type.
The operation that was associated with the Path specified.
Used in:
The result relates to a delete of Path.
The result relates to a replace of Path.
The result relates to an update of Path.
Value encodes a data tree node's value - along with the way in which the value is encoded. This message is deprecated by gNMI 0.3.0. Reference: gNMI Specification Section 2.2.3.
Used in:
Value of the variable being transmitted.
Encoding used for the value field.