logging.v1
Available Services
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 Name | Type | Description |
|---|---|---|
| key | LoggingKey | key uniquely identifies a standalone log or a series of logs for a single execution. |
| log | google.protobuf.StringValue | log contains the actual log contents. |
| file | google.protobuf.StringValue | file contains the file name of the script being executed, if relevant. |
| line | google.protobuf.Int64Value | line contains the line number of the log in the script being executed, if relevant. |
| audit | LoggingAudit | audit contains additional audit information added by the service when the log was written. |
| tags | fmp.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 Name | Type | Description |
|---|---|---|
| added_by | google.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 Name | Type | Description |
|---|---|---|
| key | LoggingKey | key uniquely identifies a standalone log or a series of logs for a single execution. |
| log | google.protobuf.StringValue | log contains the actual log contents. |
| file | google.protobuf.StringValue | file contains the file name of the script being executed, if relevant. |
| line | google.protobuf.Int64Value | line contains the line number of the log in the script being executed, if relevant. |
| tags | fmp.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 Name | Type | Description |
|---|---|---|
| id | google.protobuf.StringValue | id is a unique identifier provided by the client. |
| category | LoggingCategory | category is the category of the log. |
| level | LoggingLevel | level is the verbosity level of the log. |
LoggingCategory
LoggingCategory describes the possible categories of logging.
| Name | Number | Description |
|---|---|---|
| LOGGING_CATEGORY_UNSPECIFIED | 0 | LOGGING_CATEGORY_UNSPECIFIED is an unspecified category. Disallowed for writes. |
| LOGGING_CATEGORY_CHANGECONTROL | 1 | LOGGING_CATEGORY_CHANGECONTROL is used for actions executed as part of a change control. |
| LOGGING_CATEGORY_ACTION_EXEC | 2 | LOGGING_CATEGORY_ACTION_EXEC is used for actions executed via autofill actions, build hooks, or the standalone execution feature. |
| LOGGING_CATEGORY_STUDIO_TEMPLATE | 3 | LOGGING_CATEGORY_STUDIO_TEMPLATE is used for studio template rendering executions. |
LoggingLevel
LoggingLevel describes the different verbosity levels of logging.
| Name | Number | Description |
|---|---|---|
| LOGGING_LEVEL_UNSPECIFIED | 0 | LOGGING_LEVEL_UNSPECIFIED is an unspecified level. Disallowed for writes, but setting this in a GetAll filter returns all logging levels. |
| LOGGING_LEVEL_TRACE | 1 | LOGGING_LEVEL_TRACE is equivalent to a trace verbosity log call. |
| LOGGING_LEVEL_DEBUG | 2 | LOGGING_LEVEL_DEBUG is equivalent to a debug verbosity log call. |
| LOGGING_LEVEL_INFO | 3 | LOGGING_LEVEL_INFO is equivalent to an info verbosity log call. |
| LOGGING_LEVEL_WARNING | 4 | LOGGING_LEVEL_WARNING is equivalent to a warning verbosity log call. |
| LOGGING_LEVEL_ERROR | 5 | LOGGING_LEVEL_ERROR is equivalent to an error verbosity log call. |
| LOGGING_LEVEL_CRITICAL | 6 | LOGGING_LEVEL_CRITICAL is equivalent to a critical verbosity log call. |
arista/logging.v1/services.gen.proto
LoggingConfigDeleteAllRequest
| Field Name | Type | Description |
|---|---|---|
| partial_eq_filter | LoggingConfig[...] | 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 Name | Type | Description |
|---|---|---|
| type | fmp.DeleteError | This describes the class of delete error. A DeleteAllResponse is only sent when there is an error. |
| error | google.protobuf.StringValue | This indicates the error message from the delete failure. |
| key | LoggingKey | This is the key of the LoggingConfig instance that failed to be deleted. |
| time | google.protobuf.Timestamp | Time indicates the (UTC) timestamp when the key was being deleted. |
LoggingConfigDeleteRequest
| Field Name | Type | Description |
|---|---|---|
| key | LoggingKey | Key indicates which LoggingConfig instance to remove. This field must always be set. |
LoggingConfigDeleteResponse
| Field Name | Type | Description |
|---|---|---|
| key | LoggingKey | Key echoes back the key of the deleted LoggingConfig instance. |
| time | google.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 Name | Type | Description |
|---|---|---|
| keys | LoggingKey[...] | key contains a list of LoggingConfig keys to delete |
LoggingConfigDeleteSomeResponse
LoggingConfigDeleteSomeResponse is only sent when there is an error.
| Field Name | Type | Description |
|---|---|---|
| key | LoggingKey | |
| error | string |
LoggingConfigRequest
| Field Name | Type | Description |
|---|---|---|
| key | LoggingKey | Key uniquely identifies a LoggingConfig instance to retrieve. This value must be populated. |
| time | google.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 Name | Type | Description |
|---|---|---|
| value | LoggingConfig | 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. |
| time | google.protobuf.Timestamp | Time carries the (UTC) timestamp of the last-modification of the LoggingConfig instance in this response. |
LoggingConfigSetRequest
| Field Name | Type | Description |
|---|---|---|
| value | LoggingConfig | LoggingConfig carries the value to set into the datastore. See the documentation on the LoggingConfig struct for which fields are required. |
LoggingConfigSetResponse
| Field Name | Type | Description |
|---|---|---|
| value | LoggingConfig | Value carries all the values given in the LoggingConfigSetRequest as well as any server-generated values. |
| time | google.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 Name | Type | Description |
|---|---|---|
| values | LoggingConfig[...] | 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 Name | Type | Description |
|---|---|---|
| key | LoggingKey | |
| error | string |
LoggingConfigSomeRequest
| Field Name | Type | Description |
|---|---|---|
| keys | LoggingKey[...] | |
| time | google.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 Name | Type | Description |
|---|---|---|
| value | LoggingConfig | 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. |
| error | google.protobuf.StringValue | Error is an optional field. It should be filled when there is an error in the GetSome process. |
| time | google.protobuf.Timestamp | Time carries the (UTC) timestamp of the last-modification of the LoggingConfig instance in this response. |
LoggingConfigStreamRequest
| Field Name | Type | Description |
|---|---|---|
| partial_eq_filter | LoggingConfig[...] | 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. |
| time | arista.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 Name | Type | Description |
|---|---|---|
| value | LoggingConfig | 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. |
| time | google.protobuf.Timestamp | Time holds the timestamp of this LoggingConfig's last modification. |
| type | arista.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 Name | Type | Description |
|---|---|---|
| key | LoggingKey | Key uniquely identifies a Logging instance to retrieve. This value must be populated. |
| time | google.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 Name | Type | Description |
|---|---|---|
| value | Logging | 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. |
| time | google.protobuf.Timestamp | Time carries the (UTC) timestamp of the last-modification of the Logging instance in this response. |
LoggingSomeRequest
| Field Name | Type | Description |
|---|---|---|
| keys | LoggingKey[...] | |
| time | google.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 Name | Type | Description |
|---|---|---|
| value | Logging | 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. |
| error | google.protobuf.StringValue | Error is an optional field. It should be filled when there is an error in the GetSome process. |
| time | google.protobuf.Timestamp | Time carries the (UTC) timestamp of the last-modification of the Logging instance in this response. |
LoggingStreamRequest
| Field Name | Type | Description |
|---|---|---|
| partial_eq_filter | Logging[...] | 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. |
| time | arista.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 Name | Type | Description |
|---|---|---|
| value | Logging | 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. |
| time | google.protobuf.Timestamp | Time holds the timestamp of this Logging's last modification. |
| type | arista.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 Name | Type | Description |
|---|---|---|
| time | google.protobuf.Timestamp | Time holds the timestamp of the last item included in the metadata calculation. |
| type | arista.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. |
| count | google.protobuf.UInt32Value | Count is the number of items present under the conditions of the request. |
LoggingConfigService
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| GetOne | LoggingConfigRequest | LoggingConfigResponse | |
| GetSome | LoggingConfigSomeRequest | LoggingConfigSomeResponse stream | |
| GetAll | LoggingConfigStreamRequest | LoggingConfigStreamResponse stream | |
| Subscribe | LoggingConfigStreamRequest | LoggingConfigStreamResponse stream | |
| GetMeta | LoggingConfigStreamRequest | MetaResponse | |
| SubscribeMeta | LoggingConfigStreamRequest | MetaResponse stream | |
| Set | LoggingConfigSetRequest | LoggingConfigSetResponse | |
| SetSome | LoggingConfigSetSomeRequest | LoggingConfigSetSomeResponse stream | |
| Delete | LoggingConfigDeleteRequest | LoggingConfigDeleteResponse | |
| DeleteSome | LoggingConfigDeleteSomeRequest | LoggingConfigDeleteSomeResponse stream | |
| DeleteAll | LoggingConfigDeleteAllRequest | LoggingConfigDeleteAllResponse stream |
LoggingService
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| GetOne | LoggingRequest | LoggingResponse | |
| GetSome | LoggingSomeRequest | LoggingSomeResponse stream | |
| GetAll | LoggingStreamRequest | LoggingStreamResponse stream | |
| Subscribe | LoggingStreamRequest | LoggingStreamResponse stream | |
| GetMeta | LoggingStreamRequest | MetaResponse | |
| SubscribeMeta | LoggingStreamRequest | MetaResponse stream |