Skip to main content
Version: v1.0.0

logging.v1

Version: 1.1.0

Available Services

    LoggingConfigService

    LoggingService

Top

arista/logging.v1/logging.proto

Logging

Logging is used to retrieve non-audit related logs produced by such services as change controls, studio builds, python autofill actions, etc.

Field NameTypeDescription
keyLoggingKey

key uniquely identifies a standalone log or a series of logs for a single execution.

loggoogle.protobuf.StringValue

log contains the actual log contents.

filegoogle.protobuf.StringValue

file contains the file name of the script being executed, if relevant.

linegoogle.protobuf.Int64Value

line contains the line number of the log in the script being executed, if relevant.

auditLoggingAudit

audit contains additional audit information added by the service when the log was

written.

tagsfmp.MapStringString

tags is a map of tag values that was set on write and can be used in queries

to filter the logs. Some executions will automatically populate some tags. E.g.

change control logs will populate a "changeControlId" and "stageId" tag.

LoggingAudit

LoggingAudit contains audit information about the given log. It's added by the logging rAPI and only accessible in the state model.

Field NameTypeDescription
added_bygoogle.protobuf.StringValue

added_by contains the name of the user who added the log.

LoggingConfig

LoggingConfig is used to write non-audit related logs produced by such services as change controls, studio builds, python autofill actions, etc. by providing a key related to the current execution, the log, and optional metadata such as file name, line number and tags.

Field NameTypeDescription
keyLoggingKey

key uniquely identifies a standalone log or a series of logs for a single execution.

loggoogle.protobuf.StringValue

log contains the actual log contents.

filegoogle.protobuf.StringValue

file contains the file name of the script being executed, if relevant.

linegoogle.protobuf.Int64Value

line contains the line number of the log in the script being executed, if relevant.

tagsfmp.MapStringString

tags is a map of tag values that can be set on write and can be used in queries

to filter the logs. Some executions will automatically populate some tags. E.g.

change control logs will populate a "changeControlId" and "stageId" tag.

LoggingKey

LoggingKey uniquely identifies a log via its id, its category and level. All log lines for executions of change controls, studios, etc. are written under the same key.

Field NameTypeDescription
idgoogle.protobuf.StringValue

id is a unique identifier provided by the client.

categoryLoggingCategory

category is the category of the log.

levelLoggingLevel

level is the verbosity level of the log.

LoggingCategory

LoggingCategory describes the possible categories of logging.

NameNumberDescription
LOGGING_CATEGORY_UNSPECIFIED0

LOGGING_CATEGORY_UNSPECIFIED is an unspecified category. Disallowed for writes.

LOGGING_CATEGORY_CHANGECONTROL1

LOGGING_CATEGORY_CHANGECONTROL is used for actions executed as part of a change control.

LOGGING_CATEGORY_ACTION_EXEC2

LOGGING_CATEGORY_ACTION_EXEC is used for actions executed via autofill actions, build hooks,

or the standalone execution feature.

LOGGING_CATEGORY_STUDIO_TEMPLATE3

LOGGING_CATEGORY_STUDIO_TEMPLATE is used for studio template rendering executions.

LoggingLevel

LoggingLevel describes the different verbosity levels of logging.

NameNumberDescription
LOGGING_LEVEL_UNSPECIFIED0

LOGGING_LEVEL_UNSPECIFIED is an unspecified level. Disallowed for writes,

but setting this in a GetAll filter returns all logging levels.

LOGGING_LEVEL_TRACE1

LOGGING_LEVEL_TRACE is equivalent to a trace verbosity log call.

LOGGING_LEVEL_DEBUG2

LOGGING_LEVEL_DEBUG is equivalent to a debug verbosity log call.

LOGGING_LEVEL_INFO3

LOGGING_LEVEL_INFO is equivalent to an info verbosity log call.

LOGGING_LEVEL_WARNING4

LOGGING_LEVEL_WARNING is equivalent to a warning verbosity log call.

LOGGING_LEVEL_ERROR5

LOGGING_LEVEL_ERROR is equivalent to an error verbosity log call.

LOGGING_LEVEL_CRITICAL6

LOGGING_LEVEL_CRITICAL is equivalent to a critical verbosity log call.

Top

arista/logging.v1/services.gen.proto

LoggingConfigDeleteAllRequest

Field NameTypeDescription
partial_eq_filterLoggingConfig[...]

PartialEqFilter provides a way to server-side filter a DeleteAll.

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

A filtered DeleteAll will use GetAll with filter to find things to delete.

LoggingConfigDeleteAllResponse

Field NameTypeDescription
typefmp.DeleteError

This describes the class of delete error.

A DeleteAllResponse is only sent when there is an error.

errorgoogle.protobuf.StringValue

This indicates the error message from the delete failure.

keyLoggingKey

This is the key of the LoggingConfig instance that failed to be deleted.

timegoogle.protobuf.Timestamp

Time indicates the (UTC) timestamp when the key was being deleted.

LoggingConfigDeleteRequest

Field NameTypeDescription
keyLoggingKey

Key indicates which LoggingConfig instance to remove.

This field must always be set.

LoggingConfigDeleteResponse

Field NameTypeDescription
keyLoggingKey

Key echoes back the key of the deleted LoggingConfig 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.

LoggingConfigDeleteSomeRequest

Field NameTypeDescription
keysLoggingKey[...]

key contains a list of LoggingConfig keys to delete

LoggingConfigDeleteSomeResponse

LoggingConfigDeleteSomeResponse is only sent when there is an error.

Field NameTypeDescription
keyLoggingKey

errorstring

LoggingConfigRequest

Field NameTypeDescription
keyLoggingKey

Key uniquely identifies a LoggingConfig 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.

LoggingConfigResponse

Field NameTypeDescription
valueLoggingConfig

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

LoggingConfig instance in this response.

LoggingConfigSetRequest

Field NameTypeDescription
valueLoggingConfig

LoggingConfig carries the value to set into the datastore.

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

LoggingConfigSetResponse

Field NameTypeDescription
valueLoggingConfig

Value carries all the values given in the LoggingConfigSetRequest 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.

LoggingConfigSetSomeRequest

Field NameTypeDescription
valuesLoggingConfig[...]

value contains a list of LoggingConfig values to write.

It is possible to provide more values than can fit within either:

- the maxiumum send size of the client

- the maximum receive size of the server

If this error occurs you must reduce the number of values sent.

See gRPC "maximum message size" documentation for more information.

LoggingConfigSetSomeResponse

Field NameTypeDescription
keyLoggingKey

errorstring

LoggingConfigSomeRequest

Field NameTypeDescription
keysLoggingKey[...]

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.

LoggingConfigSomeResponse

Field NameTypeDescription
valueLoggingConfig

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.

errorgoogle.protobuf.StringValue

Error is an optional field.

It should be filled when there is an error in the GetSome process.

timegoogle.protobuf.Timestamp

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

LoggingConfig instance in this response.

LoggingConfigStreamRequest

Field NameTypeDescription
partial_eq_filterLoggingConfig[...]

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.

For GetAll, the fields start and end can be used as follows:

* end: Returns the state of each LoggingConfig at end.

* Each LoggingConfig response is fully-specified (all fields set).

* start: Returns the state of each LoggingConfig at start, followed by updates until now.

* Each LoggingConfig response at start is fully-specified, but updates may be partial.

* start and end: Returns the state of each LoggingConfig at start, followed by updates

until end.

* Each LoggingConfig response at start is fully-specified, but updates until end may

be partial.

LoggingConfigStreamResponse

Field NameTypeDescription
valueLoggingConfig

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 LoggingConfig's last modification.

typearista.subscriptions.Operation

Operation indicates how the LoggingConfig 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.

LoggingRequest

Field NameTypeDescription
keyLoggingKey

Key uniquely identifies a Logging 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.

LoggingResponse

Field NameTypeDescription
valueLogging

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

Logging instance in this response.

LoggingSomeRequest

Field NameTypeDescription
keysLoggingKey[...]

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.

LoggingSomeResponse

Field NameTypeDescription
valueLogging

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.

errorgoogle.protobuf.StringValue

Error is an optional field.

It should be filled when there is an error in the GetSome process.

timegoogle.protobuf.Timestamp

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

Logging instance in this response.

LoggingStreamRequest

Field NameTypeDescription
partial_eq_filterLogging[...]

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.

For GetAll, the fields start and end can be used as follows:

* end: Returns the state of each Logging at end.

* Each Logging response is fully-specified (all fields set).

* start: Returns the state of each Logging at start, followed by updates until now.

* Each Logging response at start is fully-specified, but updates may be partial.

* start and end: Returns the state of each Logging at start, followed by updates

until end.

* Each Logging response at start is fully-specified, but updates until end may

be partial.

LoggingStreamResponse

Field NameTypeDescription
valueLogging

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 Logging's last modification.

typearista.subscriptions.Operation

Operation indicates how the Logging 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.

MetaResponse

Field NameTypeDescription
timegoogle.protobuf.Timestamp

Time holds the timestamp of the last item included in the metadata calculation.

typearista.subscriptions.Operation

Operation indicates how the 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.

countgoogle.protobuf.UInt32Value

Count is the number of items present under the conditions of the request.

LoggingConfigService

Method NameRequest TypeResponse TypeDescription
GetOneLoggingConfigRequestLoggingConfigResponse

GetSomeLoggingConfigSomeRequestLoggingConfigSomeResponse stream

GetAllLoggingConfigStreamRequestLoggingConfigStreamResponse stream

SubscribeLoggingConfigStreamRequestLoggingConfigStreamResponse stream

GetMetaLoggingConfigStreamRequestMetaResponse

SubscribeMetaLoggingConfigStreamRequestMetaResponse stream

SetLoggingConfigSetRequestLoggingConfigSetResponse

SetSomeLoggingConfigSetSomeRequestLoggingConfigSetSomeResponse stream

DeleteLoggingConfigDeleteRequestLoggingConfigDeleteResponse

DeleteSomeLoggingConfigDeleteSomeRequestLoggingConfigDeleteSomeResponse stream

DeleteAllLoggingConfigDeleteAllRequestLoggingConfigDeleteAllResponse stream

LoggingService

Method NameRequest TypeResponse TypeDescription
GetOneLoggingRequestLoggingResponse

GetSomeLoggingSomeRequestLoggingSomeResponse stream

GetAllLoggingStreamRequestLoggingStreamResponse stream

SubscribeLoggingStreamRequestLoggingStreamResponse stream

GetMetaLoggingStreamRequestMetaResponse

SubscribeMetaLoggingStreamRequestMetaResponse stream