Source code for cloudvision.api.arista.configstatus.v1

# Copyright (c) 2026 Arista Networks, Inc.
# Use of this source code is governed by the Apache License 2.0
# that can be found in the COPYING file.

# Generated by the protocol buffer compiler.  DO NOT EDIT!
# sources: arista/configstatus.v1/configstatus.proto
# plugin: python-aristaproto
# This file has been @generated

__all__ = (
    "ErrorCode",
    "DiffOp",
    "ConfigFilterCode",
    "ConfigSyncCode",
    "ConfigSourceType",
    "ConfigType",
    "ConfigError",
    "ConfigErrors",
    "DiffEntry",
    "DiffEntries",
    "ConfigSource",
    "ConfigSources",
    "ConfigSummary",
)


from dataclasses import dataclass
from datetime import datetime
from typing import (
    List,
    Optional,
)

import aristaproto


[docs] class ErrorCode(aristaproto.Enum): """ ErrorCode indicates warnings and errors produced during computing config """ UNSPECIFIED = 0 """ERROR_CODE_UNSPECIFIED uninitialized value""" DEVICE_WARNING = 1 """ERROR_CODE_DEVICE_WARNING indicates device warning""" DEVICE_ERROR = 2 """ERROR_CODE_DEVICE_ERROR indicates device error""" UNREACHABLE_DEVICE = 3 """ERROR_CODE_UNREACHABLE_DEVICE indicates the device cannot be reached""" CONFIG_FILTER_ERROR = 4 """ ERROR_CODE_CONFIG_FILTER_ERROR indicates error from partial config management filters """ INTERNAL = 5 """ERROR_CODE_INTERNAL indicates internal errors""" PROPOSED_CONFIG_CHECK = 6 """ ERROR_CODE_PROPOSED_CONFIG_CHECK indicates an issue with the content of proposed configuration. """
[docs] class DiffOp(aristaproto.Enum): """ DiffOp is the operation to a line from one side of diff to get to another """ UNSPECIFIED = 0 """DIFF_OP_UNSPECIFIED uninitialized""" NOP = 1 """DIFF_OP_NOP indicates no change. A and B are identical at this line""" IGNORE = 2 """ DIFF_OP_IGNORE indicates a line that's ignored in either A or B. One of a_line_num or b_line_num will be -1 """ ADD = 3 """DIFF_OP_ADD is an addition of a line from A""" DELETE = 4 """DIFF_OP_DELETE is deletion of a line from B""" CHANGE = 5 """DIFF_OP_CHANGE is a modification to a line in A"""
[docs] class ConfigFilterCode(aristaproto.Enum): """ConfigFilterCode indicates if a config line matches PCM filter(s)""" UNSPECIFIED = 0 """CONFIG_FILTER_CODE_UNSPECIFIED uninitialized""" MANAGED_LINE = 1 """ CONFIG_FILTER_CODE_MANAGED_LINE indicates config line matches managed PCM filter hence is managed """ UNMANAGED_LINE = 2 """ CONFIG_FILTER_CODE_UNMANAGED_LINE indicates config line matches unmanaged PCM filter hence is not managed """
[docs] class ConfigSyncCode(aristaproto.Enum): """ConfigSyncCode indicates config synchronization status""" UNSPECIFIED = 0 """CONFIG_SYNC_CODE_UNSPECIFIED uninitialized""" IN_SYNC = 1 """ CONFIG_SYNC_CODE_IN_SYNC indicates designed config and running config are identical """ OUT_OF_SYNC = 2 """ CONFIG_SYNC_CODE_OUT_OF_SYNC indicates designed config and running config are not identical """
[docs] class ConfigSourceType(aristaproto.Enum): """ ConfigSourceType indicates the type of source for the proposed/designed configuration for the device """ UNSPECIFIED = 0 """CONFIG_SOURCE_TYPE_UNSPECIFIED uninitialized value""" NETWORK_PROVISIONING_CONFIGLET = 1 """ CONFIG_SOURCE_TYPE_NETWORK_PROVISIONING_CONFIGLET - configlet created from the network provisioning workflow. """ STUDIO = 2 """CONFIG_SOURCE_TYPE_STUDIO - config generated from a regular studio""" STUDIO_STATIC = 3 """ CONFIG_SOURCE_TYPE_STUDIO_STATIC - static config from studios framework """ HIERARCHY = 5 """CONFIG_SOURCE_TYPE_HIERARCHY - config from the hierarchy frameork"""
[docs] class ConfigType(aristaproto.Enum): """ConfigType - specifies type of config""" UNSPECIFIED = 0 """CONFIG_TYPE_UNSPECIFIED uninitialized value""" RUNNING_CONFIG = 1 """CONFIG_TYPE_RUNNING_CONFIG uninitialized value""" DESIGNED_CONFIG = 2 """CONFIG_TYPE_DESIGNED_CONFIG uninitialized value"""
[docs] @dataclass(eq=False, repr=False) class ConfigError(aristaproto.Message): """ ConfigError represents errors reported by CVP/EOS when handling device configuration """ error_code: "ErrorCode" = aristaproto.enum_field(1) """error_code - type of error.""" error_msg: Optional[str] = aristaproto.message_field(2, wraps=aristaproto.TYPE_STRING) """error_msg - details of error""" line_num: Optional[int] = aristaproto.message_field(3, wraps=aristaproto.TYPE_INT32) """line_num represents line number, if any""" configlet_name: Optional[str] = aristaproto.message_field(4, wraps=aristaproto.TYPE_STRING) """ configlet_name represents the originating configlet name. Configlet_name and line_num point to the line where config warning or config error originate. """
[docs] @dataclass(eq=False, repr=False) class ConfigErrors(aristaproto.Message): """ConfigErrors list of errors""" values: List["ConfigError"] = aristaproto.message_field(1) """values - list of errors"""
[docs] @dataclass(eq=False, repr=False) class DiffEntry(aristaproto.Message): """DiffEntry represents one entry in a Diff""" op: "DiffOp" = aristaproto.enum_field(1) """op specifies type of diff operation""" a_line_num: Optional[int] = aristaproto.message_field(2, wraps=aristaproto.TYPE_INT32) """a_line_num indicates the line number in A where the diff is applied""" b_line_num: Optional[int] = aristaproto.message_field(3, wraps=aristaproto.TYPE_INT32) """b_line_num indicates the line number in B where this diff is applied""" b_parent_line_num: Optional[int] = aristaproto.message_field(4, wraps=aristaproto.TYPE_INT32) """ b_parent_line_num represents the line number of the parent command in B """ a_line: Optional[str] = aristaproto.message_field(5, wraps=aristaproto.TYPE_STRING) """a_line is the content of config line in A""" b_line: Optional[str] = aristaproto.message_field(6, wraps=aristaproto.TYPE_STRING) """b_line is the content of config line in B""" a_filter_code: "ConfigFilterCode" = aristaproto.enum_field(7) """a_filter_code represents the config filter code for the line in A""" b_filter_code: "ConfigFilterCode" = aristaproto.enum_field(8) """b_filter_code represents the config filter code for the line in B""" a_parent_line_num: Optional[int] = aristaproto.message_field(9, wraps=aristaproto.TYPE_INT32) """ a_parent_line_num represents the line number of the parent command in A """ is_a_default_command: Optional[bool] = aristaproto.message_field( 10, wraps=aristaproto.TYPE_BOOL ) """ is_a_default_command indicates that config line in A is a default command that is generated by EOS. """
[docs] @dataclass(eq=False, repr=False) class DiffEntries(aristaproto.Message): """DiffEntries indicates potential multiple lines of config diff""" values: List["DiffEntry"] = aristaproto.message_field(1) """values - list of diff entries"""
[docs] @dataclass(eq=False, repr=False) class ConfigSource(aristaproto.Message): """ ConfigSource describes an individual source of the proposed/designed config """ source_type: "ConfigSourceType" = aristaproto.enum_field(1) """source_type - app type of the config snippet""" source_id: Optional[str] = aristaproto.message_field(2, wraps=aristaproto.TYPE_STRING) """ source_id identifier to distinguish between multiple instances of the source type source_id is : configlet name for CONFIG_SOURCE_TYPE_NETWORK_PROVISIONING_CONFIGLET studio id for CONFIG_SOURCE_TYPE_STUDIO configlet id for CONFIG_SOURCE_TYPE_STUDIO_STATIC FixtureInstance id for CONFIG_SOURCE_TYPE_HIERARCHY """
[docs] @dataclass(eq=False, repr=False) class ConfigSources(aristaproto.Message): """ConfigSources is the list of sources of the proposed/designed config""" values: List["ConfigSource"] = aristaproto.message_field(1) """values - ordered list of all the config snippets present in DC"""
[docs] @dataclass(eq=False, repr=False) class ConfigSummary(aristaproto.Message): """ConfigSummary represents device configuration summary.""" sync: "ConfigSyncCode" = aristaproto.enum_field(1) """sync - state of DC vs RC""" nop_lines: Optional[int] = aristaproto.message_field(2, wraps=aristaproto.TYPE_INT32) """nop_lines - Number of lines with code no-operation""" ignored_lines: Optional[int] = aristaproto.message_field(3, wraps=aristaproto.TYPE_INT32) """ignored_lines - Number of lines with code IGNORE""" added_lines: Optional[int] = aristaproto.message_field(4, wraps=aristaproto.TYPE_INT32) """added_lines - Number of lines with code ADD""" deleted_lines: Optional[int] = aristaproto.message_field(5, wraps=aristaproto.TYPE_INT32) """deleted_lines - Number of lines with code DELETE""" changed_lines: Optional[int] = aristaproto.message_field(6, wraps=aristaproto.TYPE_INT32) """changed_lines - Number of lines with code CHANGE""" designed_config_errors: Optional[int] = aristaproto.message_field( 7, wraps=aristaproto.TYPE_INT32 ) """designed_config_errors - Number of designed config errors""" designed_config_warnings: Optional[int] = aristaproto.message_field( 8, wraps=aristaproto.TYPE_INT32 ) """designed_config_warnings - Number of designed config warnings""" running_config_update_time: datetime = aristaproto.message_field(9) """ running_config_update_time - Timestamp at which running config is updated """ designed_config_update_time: datetime = aristaproto.message_field(10) """ designed_config_update_time - Timestamp at which designed config is updated """ running_config_uri: Optional[str] = aristaproto.message_field(11, wraps=aristaproto.TYPE_STRING) """ running_config_uri - The HTTP URI client can use to GET running config and associated errors """ designed_config_uri: Optional[str] = aristaproto.message_field( 12, wraps=aristaproto.TYPE_STRING ) """ designed_config_uri - The HTTP URI client can use to GET designed config and associated errors """ diff_uri: Optional[str] = aristaproto.message_field(13, wraps=aristaproto.TYPE_STRING) """ diff_uri - The HTTP URI client can use to GET config diff and associated errors """ digest: Optional[str] = aristaproto.message_field(14, wraps=aristaproto.TYPE_STRING) """digest (SHA-256) of the config diff."""