Skip to content

Protocol Documentation

Table of Contents

Top

api/admin/admin.proto

ZtpAdminService

ZtpAdminService provides means for enhanced interactions with the zero-touch-provisioning subsystem.

Method Name Request Type Response Type Description

Top

api/admin/roles.proto

DeviceConfig

DeviceConfig is a set of initial configuration properties to be applied to a device.

Field Type Label Description
softwareVersion string
properties DeviceProperty repeated

DevicePipeline

DevicePipeline carries information about the P4 pipeline configuration

Field Type Label Description
pipeconf string
driver string

DeviceProperty

DeviceProperty is a path/type/value tuple

Field Type Label Description
path string
type string
value string

DeviceRoleChange

DeviceRoleChange is an event describing a change to a device role configuration.

Field Type Label Description
change DeviceRoleChange.ChangeType
config DeviceRoleConfig

DeviceRoleChangeRequest

DeviceRoleChangeRequest is a request for a change to a device role configuration

Field Type Label Description
change DeviceRoleChangeRequest.ChangeType
config DeviceRoleConfig

DeviceRoleChangeResponse

DeviceRoleChangeResponse is a response for a change to a device role configuration

Field Type Label Description
change DeviceRoleChange

DeviceRoleConfig

DeviceRoleConfig carries the template configuration associated with a device role

Field Type Label Description
role string
config DeviceConfig
pipeline DevicePipeline

DeviceRoleRequest

DeviceRoleRequest is a request for device role configuration.

Field Type Label Description
role string

DeviceRoleChange.ChangeType

Name Number Description
UPDATED 0
ADDED 1
DELETED 2

DeviceRoleChangeRequest.ChangeType

Name Number Description
UPDATE 0
ADD 1
DELETE 2

DeviceRoleService

DeviceRoleService provides means for setting up device role configurations in support of zero-touch provisioning activities.

Method Name Request Type Response Type Description
Set DeviceRoleChangeRequest DeviceRoleChangeResponse Set provides means to add, update or delete device role configuration.
Get DeviceRoleRequest DeviceRoleConfig stream Get provides means to query device role configuration.
Subscribe DeviceRoleRequest DeviceRoleChange stream Subscribe provides means to monitor changes in the device role configuration.

Scalar Value Types

.proto Type Notes C++ Type Java Type Python Type
double double double float
float float float float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long
uint32 Uses variable-length encoding. uint32 int int/long
uint64 Uses variable-length encoding. uint64 long int/long
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long
sfixed32 Always four bytes. int32 int int
sfixed64 Always eight bytes. int64 long int/long
bool bool boolean boolean
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode
bytes May contain any arbitrary sequence of bytes. string ByteString str