inventory.v1

Top

arista/inventory.v1/inventory.proto

Device

Device describes an onboarded device.

Field NameTypeDescription
keyDeviceKey

key uniquely identifies the device.

software_versiongoogle.protobuf.StringValue

software_version gives the currently running device software version.

model_namegoogle.protobuf.StringValue

model_name describes the hardware model of this device.

hardware_revisiongoogle.protobuf.StringValue

hardware_revision describes any revisional data to the model name.

fqdngoogle.protobuf.StringValue

fqdn gives the device’s fully qualified domain name.

hostnamegoogle.protobuf.StringValue

hostname is the hostname as reported on the device.

domain_namegoogle.protobuf.StringValue

domain_name provides the domain name on which the device is registered.

system_mac_addressgoogle.protobuf.StringValue

system_mac_address provides the MAC address of the management port.

boot_timegoogle.protobuf.Timestamp

boot_time indicates when the device was last booted.

streaming_statusStreamingStatus

streaming_status is the status of telemetry streaming for this device.

extended_attributesExtendedAttributes

extended_attributes wraps any additional, potentially non-standard, features

or attributes that the device reports.

DeviceConfiguration

DeviceConfiguration holds the device-specific configuration for a third-party device, as defined in https://github.com/aristanetworks/cloudvision-go.

Field NameTypeDescription
optionsDeviceConfiguration.OptionsEntry[…]

options is a map from device option to value.

E.g., for an SNMP device, this could be the following:

“address”: “my_snmp_hostname”,

“community”: “public”

DeviceConfiguration.OptionsEntry

Field NameTypeDescription
keystring

valuestring

DeviceDecommissioning

DeviceOnboarding describes the status of a decommissioning process.

Field NameTypeDescription
keyUUIDKey

key identifies the request for which to retrieve a decommissioning status.

statusDecommissioningStatus

status describes the decommissioning status of the device.

errorgoogle.protobuf.StringValue

error is the error that caused status to become DECOMMISSIONING_STATUS_FAILURE.

status_messagegoogle.protobuf.StringValue

status_message contains information on the status of the decommissioning attempt,

if any. This is generally an unstructured log message that is for display

purposes only (its structure and contents may change).

DeviceDecommissioningConfig

DeviceDecommissioningConfig describes a device decommissioning request. “Decommissioning” refers to the process of stopping device streaming to CloudVision and removing it from CloudVision’s inventory.

The request flow works as follows:

  1. Set on DeviceDecommissioningConfig sends a decommissioning request with a UUID that the user is responsible for generating.
  2. Once the server receives the request, it validates and records it.
  3. Then, the server processes it, initiating the decommissioning procedure and tracking the status of the decommissioning attempt.
  4. The user may do a GetOne or Subscribe on DeviceDecommissioning using the same UUID to see the status of the request.
Field NameTypeDescription
keyUUIDKey

key identifies the request to decommission the device.

device_idgoogle.protobuf.StringValue

device_id is the unique device ID that was discovered via onboarding.

DeviceKey

DeviceKey uniquely identifies a single device.

Field NameTypeDescription
device_idgoogle.protobuf.StringValue

device_id is the unique identifier of the device.

DeviceOnboarding

DeviceOnboarding describes the status of an onboarding process.

Field NameTypeDescription
keyUUIDKey

key identifies the request for which to retrieve an onboarding status.

device_idgoogle.protobuf.StringValue

device_id is the unique device ID that is discovered via onboarding.

statusOnboardingStatus

status describes the onboarding status of the device.

errorgoogle.protobuf.StringValue

error is the error that caused status to become ONBOARDING_STATUS_FAILURE.

status_messagegoogle.protobuf.StringValue

status_message contains information on the status of the onboarding attempt,

if any. This is generally an unstructured log message that is for display

purposes only (its structure and contents may change).

DeviceOnboardingConfig

DeviceOnboardingConfig describes a device onboarding request. “Onboarding” refers to the process of initiating device streaming to CloudVision and adding the streaming device to CloudVision’s inventory.

The request flow works as follows:

  1. Set on DeviceOnboardingConfig sends an onboarding request with a UUID that the user is responsible for generating.
  2. Once the server receives the request, it validates and records it.
  3. Then, the server processes it, initiating the onboarding procedure and tracking the status of the onboarding attempt.
  4. The user may do a GetOne or Subscribe on DeviceOnboarding using the same UUID to see the status of the request.
Field NameTypeDescription
keyUUIDKey

key identifies the request to onboard the device at hostname_or_ip.

hostname_or_ipgoogle.protobuf.StringValue

hostname_or_ip is a hostname or an IP at which the device can be reached.

device_typegoogle.protobuf.StringValue

device_type describes the method by which to retrieve information for the

device. The value should be “eos” for eos devices. For third-party devices,

supported values are: “openconfig”, “snmp”, “cvp”, “mwm”, and “vCenter”.

device_configDeviceConfiguration

device_config is the configuration for a third-party device.

ExtendedAttributes

ExtendedAttributes wraps any additional, potentially non-standard, features or attributes the device reports.

Field NameTypeDescription
feature_enabledExtendedAttributes.FeatureEnabledEntry[…]

feature_enabled is a map of feature name to enabled status.

If a feature is missing from this map it can be assumed off.

ExtendedAttributes.FeatureEnabledEntry

Field NameTypeDescription
keystring

valuebool

ProvisionedDevice

ProvisionedDevice describes the provisioning status of an onboarded device if the onboarded device is configured for provisioning.

Field NameTypeDescription
keyDeviceKey

key uniquely identifies the device.

statusProvisioningStatus

status describes the onboarded device’s provisioning status.

errorgoogle.protobuf.StringValue

error is the error that caused status to become PROVISIONING_STATUS_FAILURE.

ztp_modegoogle.protobuf.BoolValue

ztp_mode indicates whether the device is in ZTP mode.

ip_addressfmp.IPAddress

ip_address is the current (post-provisioning) IP address of the device.

provisioning_group_namegoogle.protobuf.StringValue

provisioning_group_name is the name of the group (also known as a container)

to which the device belongs. Any provisioning operation performed on this

group will also be performed on this device. If the device is not yet provisioned,

this will not be set. Once it is provisioned, this will be set to “undefined_container”

which indicates that the device does not yet belong to a group. At this point,

a user may set it to an existing group.

UUIDKey

UUIDKey is a key that holds a UUID for an onboarding or decommissioning request.

Field NameTypeDescription
request_idgoogle.protobuf.StringValue

request_id should be a UUID for the request.

DecommissioningStatus

DecommissioningStatus defines the set of possible states in the decommissioning process for a device.

NameNumberDescription
DECOMMISSIONING_STATUS_UNSPECIFIED0

DECOMMISSIONING_STATUS_IN_PROGRESS1

DECOMMISSIONING_STATUS_IN_PROGRESS indicates decommissioning is in progress.

DECOMMISSIONING_STATUS_FAILURE2

DECOMMISSIONING_STATUS_FAILURE indicates decommissioning failed.

DECOMMISSIONING_STATUS_SUCCESS3

DECOMMISSIONING_STATUS_SUCCESS indicates decommissioning succeeded.

OnboardingStatus

OnboardingStatus defines the set of possible states in the onboarding process for a device.

NameNumberDescription
ONBOARDING_STATUS_UNSPECIFIED0

ONBOARDING_STATUS_IN_PROGRESS1

ONBOARDING_STATUS_IN_PROGRESS indicates onboarding is in progress.

ONBOARDING_STATUS_FAILURE2

ONBOARDING_STATUS_FAILURE indicates onboarding failed.

ONBOARDING_STATUS_SUCCESS3

ONBOARDING_STATUS_SUCCESS indicates onboarding succeeded.

ProvisioningStatus

ProvisioningStatus defines the set of possible states in the provisioning process for a device.

NameNumberDescription
PROVISIONING_STATUS_UNSPECIFIED0

PROVISIONING_STATUS_IN_PROGRESS1

PROVISIONING_STATUS_IN_PROGRESS indicates provisioning is in progress.

PROVISIONING_STATUS_FAILURE2

PROVISIONING_STATUS_FAILURE indicates provisioning failed.

PROVISIONING_STATUS_SUCCESS3

PROVISIONING_STATUS_SUCCESS indicates provisioning succeeded.

StreamingStatus

StreamingStatus defines the status of telemetry streaming for a device.

NameNumberDescription
STREAMING_STATUS_UNSPECIFIED0

STREAMING_STATUS_INACTIVE1

STREAMING_STATUS_INACTIVE indicates the device is not streaming telemetry.

STREAMING_STATUS_ACTIVE2

STREAMING_STATUS_ACTIVE indicates the device is streaming telemetry.

Top

arista/inventory.v1/services.gen.proto

DeviceDecommissioningConfigDeleteRequest

Field NameTypeDescription
keyUUIDKey

Key indicates which DeviceDecommissioningConfig instance to remove.

This field must always be set.

DeviceDecommissioningConfigDeleteResponse

Field NameTypeDescription
keyUUIDKey

Key echoes back the key of the deleted DeviceDecommissioningConfig instance.

timegoogle.protobuf.Timestamp

Time indicates the (UTC) timestamp at which the system recognizes the

deletion. The only guarantees made about this timestamp are:

- it is after the time the request was received

- a time-ranged query with StartTime==DeletedAt will not include this instance.

DeviceDecommissioningConfigRequest

Field NameTypeDescription
keyUUIDKey

Key uniquely identifies a DeviceDecommissioningConfig instance to retrieve.

This value must be populated.

timegoogle.protobuf.Timestamp

Time indicates the time for which you are interested in the data.

If no time is given, the server will use the time at which it makes the request.

DeviceDecommissioningConfigResponse

Field NameTypeDescription
valueDeviceDecommissioningConfig

Value is the value requested.

This structure will be fully-populated as it exists in the datastore. If

optional fields were not given at creation, these fields will be empty or

set to default values.

timegoogle.protobuf.Timestamp

Time carries the (UTC) timestamp of the last-modification of the

DeviceDecommissioningConfig instance in this response.

DeviceDecommissioningConfigSetRequest

Field NameTypeDescription
valueDeviceDecommissioningConfig

DeviceDecommissioningConfig carries the value to set into the datastore.

See the documentation on the DeviceDecommissioningConfig struct for which fields are required.

DeviceDecommissioningConfigSetResponse

Field NameTypeDescription
valueDeviceDecommissioningConfig

Value carries all the values given in the DeviceDecommissioningConfigSetRequest as well

as any server-generated values.

timegoogle.protobuf.Timestamp

Time indicates the (UTC) timestamp at which the system recognizes the

creation. The only guarantees made about this timestamp are:

- it is after the time the request was received

- a time-ranged query with StartTime==CreatedAt will include this instance.

DeviceDecommissioningConfigStreamRequest

Field NameTypeDescription
partial_eq_filterDeviceDecommissioningConfig[…]

PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

This requires all provided fields to be equal to the response.

While transparent to users, this field also allows services to optimize internal

subscriptions if filter(s) are sufficiently specific.

timearista.time.TimeBounds

TimeRange allows limiting response data to within a specified time window.

If this field is populated, at least one of the two time fields are required.

This field is not allowed in the Subscribe RPC.

DeviceDecommissioningConfigStreamResponse

Field NameTypeDescription
valueDeviceDecommissioningConfig

Value is a value deemed relevant to the initiating request.

This structure will always have its key-field populated. Which other fields are

populated, and why, depends on the value of Operation and what triggered this notification.

timegoogle.protobuf.Timestamp

Time holds the timestamp of this DeviceDecommissioningConfig’s last modification.

typearista.subscriptions.Operation

Operation indicates how the DeviceDecommissioningConfig value in this response should be considered.

Under non-subscribe requests, this value should always be INITIAL. In a subscription,

once all initial data is streamed and the client begins to receive modification updates,

you should not see INITIAL again.

DeviceDecommissioningRequest

Field NameTypeDescription
keyUUIDKey

Key uniquely identifies a DeviceDecommissioning instance to retrieve.

This value must be populated.

timegoogle.protobuf.Timestamp

Time indicates the time for which you are interested in the data.

If no time is given, the server will use the time at which it makes the request.

DeviceDecommissioningResponse

Field NameTypeDescription
valueDeviceDecommissioning

Value is the value requested.

This structure will be fully-populated as it exists in the datastore. If

optional fields were not given at creation, these fields will be empty or

set to default values.

timegoogle.protobuf.Timestamp

Time carries the (UTC) timestamp of the last-modification of the

DeviceDecommissioning instance in this response.

DeviceDecommissioningStreamRequest

Field NameTypeDescription
partial_eq_filterDeviceDecommissioning[…]

PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

This requires all provided fields to be equal to the response.

While transparent to users, this field also allows services to optimize internal

subscriptions if filter(s) are sufficiently specific.

timearista.time.TimeBounds

TimeRange allows limiting response data to within a specified time window.

If this field is populated, at least one of the two time fields are required.

This field is not allowed in the Subscribe RPC.

DeviceDecommissioningStreamResponse

Field NameTypeDescription
valueDeviceDecommissioning

Value is a value deemed relevant to the initiating request.

This structure will always have its key-field populated. Which other fields are

populated, and why, depends on the value of Operation and what triggered this notification.

timegoogle.protobuf.Timestamp

Time holds the timestamp of this DeviceDecommissioning’s last modification.

typearista.subscriptions.Operation

Operation indicates how the DeviceDecommissioning value in this response should be considered.

Under non-subscribe requests, this value should always be INITIAL. In a subscription,

once all initial data is streamed and the client begins to receive modification updates,

you should not see INITIAL again.

DeviceOnboardingConfigDeleteRequest

Field NameTypeDescription
keyUUIDKey

Key indicates which DeviceOnboardingConfig instance to remove.

This field must always be set.

DeviceOnboardingConfigDeleteResponse

Field NameTypeDescription
keyUUIDKey

Key echoes back the key of the deleted DeviceOnboardingConfig instance.

timegoogle.protobuf.Timestamp

Time indicates the (UTC) timestamp at which the system recognizes the

deletion. The only guarantees made about this timestamp are:

- it is after the time the request was received

- a time-ranged query with StartTime==DeletedAt will not include this instance.

DeviceOnboardingConfigRequest

Field NameTypeDescription
keyUUIDKey

Key uniquely identifies a DeviceOnboardingConfig instance to retrieve.

This value must be populated.

timegoogle.protobuf.Timestamp

Time indicates the time for which you are interested in the data.

If no time is given, the server will use the time at which it makes the request.

DeviceOnboardingConfigResponse

Field NameTypeDescription
valueDeviceOnboardingConfig

Value is the value requested.

This structure will be fully-populated as it exists in the datastore. If

optional fields were not given at creation, these fields will be empty or

set to default values.

timegoogle.protobuf.Timestamp

Time carries the (UTC) timestamp of the last-modification of the

DeviceOnboardingConfig instance in this response.

DeviceOnboardingConfigSetRequest

Field NameTypeDescription
valueDeviceOnboardingConfig

DeviceOnboardingConfig carries the value to set into the datastore.

See the documentation on the DeviceOnboardingConfig struct for which fields are required.

DeviceOnboardingConfigSetResponse

Field NameTypeDescription
valueDeviceOnboardingConfig

Value carries all the values given in the DeviceOnboardingConfigSetRequest as well

as any server-generated values.

timegoogle.protobuf.Timestamp

Time indicates the (UTC) timestamp at which the system recognizes the

creation. The only guarantees made about this timestamp are:

- it is after the time the request was received

- a time-ranged query with StartTime==CreatedAt will include this instance.

DeviceOnboardingConfigStreamRequest

Field NameTypeDescription
partial_eq_filterDeviceOnboardingConfig[…]

PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

This requires all provided fields to be equal to the response.

While transparent to users, this field also allows services to optimize internal

subscriptions if filter(s) are sufficiently specific.

timearista.time.TimeBounds

TimeRange allows limiting response data to within a specified time window.

If this field is populated, at least one of the two time fields are required.

This field is not allowed in the Subscribe RPC.

DeviceOnboardingConfigStreamResponse

Field NameTypeDescription
valueDeviceOnboardingConfig

Value is a value deemed relevant to the initiating request.

This structure will always have its key-field populated. Which other fields are

populated, and why, depends on the value of Operation and what triggered this notification.

timegoogle.protobuf.Timestamp

Time holds the timestamp of this DeviceOnboardingConfig’s last modification.

typearista.subscriptions.Operation

Operation indicates how the DeviceOnboardingConfig value in this response should be considered.

Under non-subscribe requests, this value should always be INITIAL. In a subscription,

once all initial data is streamed and the client begins to receive modification updates,

you should not see INITIAL again.

DeviceOnboardingRequest

Field NameTypeDescription
keyUUIDKey

Key uniquely identifies a DeviceOnboarding instance to retrieve.

This value must be populated.

timegoogle.protobuf.Timestamp

Time indicates the time for which you are interested in the data.

If no time is given, the server will use the time at which it makes the request.

DeviceOnboardingResponse

Field NameTypeDescription
valueDeviceOnboarding

Value is the value requested.

This structure will be fully-populated as it exists in the datastore. If

optional fields were not given at creation, these fields will be empty or

set to default values.

timegoogle.protobuf.Timestamp

Time carries the (UTC) timestamp of the last-modification of the

DeviceOnboarding instance in this response.

DeviceOnboardingStreamRequest

Field NameTypeDescription
partial_eq_filterDeviceOnboarding[…]

PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

This requires all provided fields to be equal to the response.

While transparent to users, this field also allows services to optimize internal

subscriptions if filter(s) are sufficiently specific.

timearista.time.TimeBounds

TimeRange allows limiting response data to within a specified time window.

If this field is populated, at least one of the two time fields are required.

This field is not allowed in the Subscribe RPC.

DeviceOnboardingStreamResponse

Field NameTypeDescription
valueDeviceOnboarding

Value is a value deemed relevant to the initiating request.

This structure will always have its key-field populated. Which other fields are

populated, and why, depends on the value of Operation and what triggered this notification.

timegoogle.protobuf.Timestamp

Time holds the timestamp of this DeviceOnboarding’s last modification.

typearista.subscriptions.Operation

Operation indicates how the DeviceOnboarding value in this response should be considered.

Under non-subscribe requests, this value should always be INITIAL. In a subscription,

once all initial data is streamed and the client begins to receive modification updates,

you should not see INITIAL again.

DeviceRequest

Field NameTypeDescription
keyDeviceKey

Key uniquely identifies a Device instance to retrieve.

This value must be populated.

timegoogle.protobuf.Timestamp

Time indicates the time for which you are interested in the data.

If no time is given, the server will use the time at which it makes the request.

DeviceResponse

Field NameTypeDescription
valueDevice

Value is the value requested.

This structure will be fully-populated as it exists in the datastore. If

optional fields were not given at creation, these fields will be empty or

set to default values.

timegoogle.protobuf.Timestamp

Time carries the (UTC) timestamp of the last-modification of the

Device instance in this response.

DeviceStreamRequest

Field NameTypeDescription
partial_eq_filterDevice[…]

PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

This requires all provided fields to be equal to the response.

While transparent to users, this field also allows services to optimize internal

subscriptions if filter(s) are sufficiently specific.

timearista.time.TimeBounds

TimeRange allows limiting response data to within a specified time window.

If this field is populated, at least one of the two time fields are required.

This field is not allowed in the Subscribe RPC.

DeviceStreamResponse

Field NameTypeDescription
valueDevice

Value is a value deemed relevant to the initiating request.

This structure will always have its key-field populated. Which other fields are

populated, and why, depends on the value of Operation and what triggered this notification.

timegoogle.protobuf.Timestamp

Time holds the timestamp of this Device’s last modification.

typearista.subscriptions.Operation

Operation indicates how the Device value in this response should be considered.

Under non-subscribe requests, this value should always be INITIAL. In a subscription,

once all initial data is streamed and the client begins to receive modification updates,

you should not see INITIAL again.

ProvisionedDeviceRequest

Field NameTypeDescription
keyDeviceKey

Key uniquely identifies a ProvisionedDevice instance to retrieve.

This value must be populated.

timegoogle.protobuf.Timestamp

Time indicates the time for which you are interested in the data.

If no time is given, the server will use the time at which it makes the request.

ProvisionedDeviceResponse

Field NameTypeDescription
valueProvisionedDevice

Value is the value requested.

This structure will be fully-populated as it exists in the datastore. If

optional fields were not given at creation, these fields will be empty or

set to default values.

timegoogle.protobuf.Timestamp

Time carries the (UTC) timestamp of the last-modification of the

ProvisionedDevice instance in this response.

ProvisionedDeviceStreamRequest

Field NameTypeDescription
partial_eq_filterProvisionedDevice[…]

PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

This requires all provided fields to be equal to the response.

While transparent to users, this field also allows services to optimize internal

subscriptions if filter(s) are sufficiently specific.

timearista.time.TimeBounds

TimeRange allows limiting response data to within a specified time window.

If this field is populated, at least one of the two time fields are required.

This field is not allowed in the Subscribe RPC.

ProvisionedDeviceStreamResponse

Field NameTypeDescription
valueProvisionedDevice

Value is a value deemed relevant to the initiating request.

This structure will always have its key-field populated. Which other fields are

populated, and why, depends on the value of Operation and what triggered this notification.

timegoogle.protobuf.Timestamp

Time holds the timestamp of this ProvisionedDevice’s last modification.

typearista.subscriptions.Operation

Operation indicates how the ProvisionedDevice value in this response should be considered.

Under non-subscribe requests, this value should always be INITIAL. In a subscription,

once all initial data is streamed and the client begins to receive modification updates,

you should not see INITIAL again.

DeviceDecommissioningConfigService

Method NameRequest TypeResponse TypeDescription
GetOneDeviceDecommissioningConfigRequestDeviceDecommissioningConfigResponse

GetAllDeviceDecommissioningConfigStreamRequestDeviceDecommissioningConfigStreamResponse stream

SubscribeDeviceDecommissioningConfigStreamRequestDeviceDecommissioningConfigStreamResponse stream

SetDeviceDecommissioningConfigSetRequestDeviceDecommissioningConfigSetResponse

DeleteDeviceDecommissioningConfigDeleteRequestDeviceDecommissioningConfigDeleteResponse

DeviceDecommissioningService

Method NameRequest TypeResponse TypeDescription
GetOneDeviceDecommissioningRequestDeviceDecommissioningResponse

GetAllDeviceDecommissioningStreamRequestDeviceDecommissioningStreamResponse stream

SubscribeDeviceDecommissioningStreamRequestDeviceDecommissioningStreamResponse stream

DeviceOnboardingConfigService

Method NameRequest TypeResponse TypeDescription
GetOneDeviceOnboardingConfigRequestDeviceOnboardingConfigResponse

GetAllDeviceOnboardingConfigStreamRequestDeviceOnboardingConfigStreamResponse stream

SubscribeDeviceOnboardingConfigStreamRequestDeviceOnboardingConfigStreamResponse stream

SetDeviceOnboardingConfigSetRequestDeviceOnboardingConfigSetResponse

DeleteDeviceOnboardingConfigDeleteRequestDeviceOnboardingConfigDeleteResponse

DeviceOnboardingService

Method NameRequest TypeResponse TypeDescription
GetOneDeviceOnboardingRequestDeviceOnboardingResponse

GetAllDeviceOnboardingStreamRequestDeviceOnboardingStreamResponse stream

SubscribeDeviceOnboardingStreamRequestDeviceOnboardingStreamResponse stream

DeviceService

Method NameRequest TypeResponse TypeDescription
GetOneDeviceRequestDeviceResponse

GetAllDeviceStreamRequestDeviceStreamResponse stream

SubscribeDeviceStreamRequestDeviceStreamResponse stream

ProvisionedDeviceService

Method NameRequest TypeResponse TypeDescription
GetOneProvisionedDeviceRequestProvisionedDeviceResponse

GetAllProvisionedDeviceStreamRequestProvisionedDeviceStreamResponse stream

SubscribeProvisionedDeviceStreamRequestProvisionedDeviceStreamResponse stream