softwaremanagement.v1
Available Services
- arista/softwaremanagement.v1/softwaremanagement.proto
- arista/softwaremanagement.v1/services.gen.proto
arista/softwaremanagement.v1/softwaremanagement.proto
EOS images, Streaming Agent, and other extensions in CloudVision are managed using this resource API. Images and extensions can be added, deleted and updated.
New software is added to CloudVision either by uploading files directly from your computer using the Software Upload REST API or by downloading them from Arista's Software Download site using this resource API. To upload software using the Software Upload REST API in CloudVision, navigate to Settings > Developer Tools > REST API Explorer > softwareRepository.
No matter how the image or extension is added, you can use the resource API to update or delete it.
ExtensionMetadata
ExtensionMetadata is versioning metadata describing extensions (.swix and .rpm).
Field Name | Type | Description |
---|---|---|
description | google.protobuf.StringValue | description is the swix or rpm description |
name | google.protobuf.StringValue | name is the name of the swix or rpm extension |
version | google.protobuf.StringValue | version is the version of the swix or rpm extension |
release | google.protobuf.StringValue | release is the value of the swix or rpm extension release |
epoch | google.protobuf.StringValue | epoch is versioning metadata in swix or rpm extensions which allows handling for hard-to-compare version numbers |
arch | Arch | arch is the architecture of the swix or rpm extension |
supported_eos_versions | fmp.RepeatedString | supported_eos_versions is a list which contains EOS versions supported by the extension. An empty list indicates there are no known restrictions on the EOS versions supported by the extension |
Releases
Releases is the entire set of software releases available from the Arista's Software Download site. Once downloaded, a software release can be deployed to devices managed by CloudVision.
Field Name | Type | Description |
---|---|---|
status | ReleasesStatus | status is providing additional information about the retrieval of the software releases returned in the message |
uris | fmp.RepeatedString | uris are the URI paths specifying the location of the available software releases that can be downloaded from the Arista's Software Download site. These URIs are used by the |
ReleasesStatus
ReleasesStatus contains information about the state of the available software releases which are retrieved from Arista's Software Download site by CloudVision.
Field Name | Type | Description |
---|---|---|
level | Level | level is the relative importance of the message field contained in the status |
message | google.protobuf.StringValue | message is populated with a string which will provide more information regarding the latest interaction with the Arista's Software Download site while pulling the set of available software releases |
recommended_action | RecommendedAction | recommended_action expresses a particular user-actionable step that can be carried out to ensure the proper operation of CloudVision while interacting with Arista's Software Download site to obtain the set of available software releases. |
Repository
Repository is the state model that displays metadata for software images and extensions.
Repository
objects are created when new software is added via a Set
request issued to the RepositoryConfig
resource or when using the Software Upload REST API.
The key
uniquely identifies the software state and is identical to the key used to create it
via the call to Set
.
Field Name | Type | Description |
---|---|---|
key | RepositoryKey | key is the unique identifier |
uploaded_by | google.protobuf.StringValue | uploaded_by specifies the author of the upload |
uploaded_at | google.protobuf.Timestamp | uploaded_at specifies the date and time of the upload |
last_modified_by | google.protobuf.StringValue | last_modified_by is the author of the most recent metadata modification |
last_modified_at | google.protobuf.Timestamp | last_modified_at is the date and time of the most recent metadata modification |
software_status | SoftwareStatus | software_status displays status of the software that is being added to CloudVision |
software_metadata | SoftwareMetadata | software_metadata displays details about available software |
RepositoryConfig
RepositoryConfig objects are used to add, delete, and update images or extensions in CloudVision.
The Set
method is used to add and modify software stored in CloudVision.
The Delete
method is used to remove software.
Adding Software to CloudVision:
When a Set
is made, the software identified by the URI will be downloaded from Arista's
Software Download site and stored in CloudVision. The status of the software will be reflected
by a corresponding Repository
entry identified by the same RepositoryKey
.
Here is an example where a .swi EOS image is added to CloudVision:
{
"value": {
"key": {
"name": "EOS64-4.30.0.1F.swi"
},
"uri": "/support/download/EOS-USA/Active Releases/4.30/EOS-4.30.0.1F/EOS64-4.30.0.1F.swi",
"rebootRequired": true
},
}
The following is an example of a configuration that will add the AristaAppForSplunk-2.0.1-4.27.swix extension to CloudVision:
{
"value": {
"key": {
"name": "AristaAppForSplunk-2.0.1-4.27.swix"
},
"uri": "/support/download/Extensions/Splunk/AristaAppForSplunk-2.0.1-4.27.swix",
"rebootRequired": false
},
}
Updating Existing Software:
Repository
metadata objects can be updated by using the config Set
method and
specifying the field or fields to be modified. Currently, reboot_required
is the only field
that can be modified after software has been added to CloudVision. All other fields must match
the existing configuration, or can be omitted.
NOTE: The reboot_required
field must be true
for .swi images.
In this example, we update the reboot_required
field changing it from false
to true
while leaving out the uri field:
{
"value": {
"key": {
"name": "AristaAppForSplunk-2.0.1-4.27.swix"
},
"rebootRequired": true
},
}
Deleting Software:
Repository
objects can be deleted using the RepositoryConfig
Delete
method.
A Delete
request will specify the key
which uniquely identifies the image or extension in
CloudVision. For example, a delete request will look like the following:
{
"value": {
"key": {
"name": "AristaAppForSplunk-2.0.1-4.27.swix"
},
},
}
Field Name | Type | Description |
---|---|---|
key | RepositoryKey | key is a unique identifier that must be supplied by the user to start a valid upload of software |
uri | google.protobuf.StringValue | uri value depends on the origin of the software. If you are downloading an image or extension file from Arista's Software Download site, use the site identifier. If you are uploading software from your computer using the Software Upload REST API, this field will be populated with the CloudVision file server identifier. |
reboot_required | google.protobuf.BoolValue | reboot_required is a Boolean indicating if a device requires a reboot after software installation. .swi images always require a reboot. |
RepositoryKey
RepositoryKey is the key used by the Repository
state and config models to uniquely
identify an image or extension.
The name
field must contain the file suffix. Valid file types include .swi, .swix and .rpm
files. Streaming Agent files must also contain the term: TerminAttr
(case insensitive).
Field Name | Type | Description |
---|---|---|
name | google.protobuf.StringValue | name is a unique identifier that will be used to identify the image or extension in CloudVision |
SoftwareMetadata
SoftwareMetadata is the detailed metadata describing software files.
Field Name | Type | Description |
---|---|---|
digest_type | DigestType | digest_type specifies the type of digest algorithm used to calculate the digest for this image or extension |
digest | google.protobuf.StringValue | digest is the digest value for the image or extension |
size | google.protobuf.UInt64Value | size is the size of the image or extension in bytes |
reboot_required | google.protobuf.BoolValue | reboot_required boolean indicating if a device requires a reboot after software installation |
software_type | SoftwareType | software_type determines which version field is populated - .swi image metadata appears in swi_metadata. .swix and .rpm extensions appear in extension_metadata. |
swi_metadata | SwiMetadata | swi_metadata is versioning information for .swi type images |
extension_metadata | ExtensionMetadata | extension_metadata is versioning information for extensions (.rpm and .swix) |
file_server_path | google.protobuf.StringValue | file_server_path is the location of the image or extension as stored in CloudVision |
software_source | SoftwareSource | software_source indicates if the software being processed has been downloaded from Arista's Software Download site or uploaded to CloudVision from a user's local computer |
SoftwareStatus
SoftwareStatus contains a progress field and a description explaining the progress during software upload.
Field Name | Type | Description |
---|---|---|
progress | Progress | progress displays the current status of the software upload |
message | google.protobuf.StringValue | message describes the progress of the software upload |
recommended_action | RecommendedAction | recommended_action expresses a particular user-actionable step that can be carried out to ensure the proper operation of CloudVision while managing software. |
SwiMetadata
SwiMetadata is versioning metadata describing .swi type images.
Field Name | Type | Description |
---|---|---|
version | google.protobuf.StringValue | version specifies the version of the swi image |
release | google.protobuf.StringValue | release specifies the swi image release information |
variant | Variant | variant specifies the swi image variant |
flavor | Flavor | flavor is the swi image flavor |
arch | Arch | arch is the swi architecture |
max_hardware_epoch | google.protobuf.UInt32Value | max_hardware_epoch specifies the max hardware epoch value supported |
blessed | google.protobuf.BoolValue | blessed indicates if the swi image is blessed |
image_format_version | ImageFormatVersion | image_format_version specifies the EOS image format version |
embedded_terminattr | ExtensionMetadata | embedded_terminattr specifies the default embedded TerminAttr version pre-installed in the EOS swi image |
optimization | google.protobuf.StringValue | optimization specifies any adaptations made to the image for specific products or use-cases |
Arch
Arch is an enum used to specify the target architecture of an image or extension.
Name | Number | Description |
---|---|---|
ARCH_UNSPECIFIED | 0 | ARCH_UNSPECIFIED indicates an unknown or unspecified architecture |
ARCH_NO_ARCH | 1 | ARCH_NO_ARCH indicates that the software is architecture agnostic |
ARCH_I386 | 2 | ARCH_I386 indicates that the software is intended for the i386 architecture |
ARCH_I686 | 3 | ARCH_I686 indicates that the software is intended for the i686 architecture |
ARCH_X86_64 | 4 | ARCH_X86_64 indicates that the software is intended to be run on 64-bit platforms |
ARCH_AARCH64 | 5 | ARCH_AARCH64 indicates that the software is intended to be run on ARM 64-bit platforms |
DigestType
DigestType is the digest algorithm used as a checksum on the software file.
Name | Number | Description |
---|---|---|
DIGEST_TYPE_UNSPECIFIED | 0 | DIGEST_TYPE_UNSPECIFIED indicates that the digest type is unknown |
DIGEST_TYPE_SHA512 | 1 | DIGEST_TYPE_SHA512 indicates that the SHA512 algorithm is used to calculate the digest |
Flavor
Flavor is an enum containing the possible .swi flavor types.
Name | Number | Description |
---|---|---|
FLAVOR_UNSPECIFIED | 0 | FLAVOR_UNSPECIFIED indicates that the swi image flavor is unknown |
FLAVOR_DEFAULT | 1 | FLAVOR_DEFAULT is the default swi image |
FLAVOR_2GB | 2 | FLAVOR_2GB is an obsolete image supporting a reduced-size 2GB image version that runs only on older models of devices with two gigabytes of flash memory |
FLAVOR_CLOUD | 3 | FLAVOR_CLOUD is a swi image that runs in a virtualized cloud environment |
FLAVOR_DPE | 4 | FLAVOR_DPE is a swi image that provides MacSec without a license |
FLAVOR_PDP | 5 | FLAVOR_PDP is an image that defaults to support PDP but can also support CoPP |
FLAVOR_2GB_PDP | 6 | FLAVOR_2GB_PDP is a 2GB image that defaults to support PDP if available, but can support CoPP |
FLAVOR_DPE_CTNR | 7 | FLAVOR_DPE_CTNR is a swi image that provides MacSec without a license and natively supports running containers on EOS |
ImageFormatVersion
ImageFormatVersion is an enum defining the image format versions of a SWI image.
Name | Number | Description |
---|---|---|
IMAGE_FORMAT_VERSION_UNSPECIFIED | 0 | IMAGE_FORMAT_VERSION_UNSPECIFIED indicates an unknown image format |
IMAGE_FORMAT_VERSION_1_0 | 1 | IMAGE_FORMAT_VERSION_1_0 indicates legacy swi format |
IMAGE_FORMAT_VERSION_2_0 | 2 | IMAGE_FORMAT_VERSION_2_0 indicates modular swi format |
IMAGE_FORMAT_VERSION_3_0 | 3 | IMAGE_FORMAT_VERSION_3_0 indicates optimised modular swi format |
Level
Level specifies relative importance of the information returned in the message field of the software releases status.
Name | Number | Description |
---|---|---|
LEVEL_UNSPECIFIED | 0 | LEVEL_UNSPECIFIED is set when the message level is unknown |
LEVEL_INFO | 1 | LEVEL_INFO is set when the message contains useful, informational content. No user action is required. |
LEVEL_WARNING | 2 | LEVEL_WARNING is set when the message contains important information for the user that should be addressed for continued proper behavior |
LEVEL_ERROR | 3 | LEVEL_ERROR is set when the message contains information alerting the user to an error condition that occurred while retrieving the set of software releases. Remedial user action may be required to clear this condition. |
Progress
Progress is used by the Repository service to describe the stages of the software upload and verification process.
Name | Number | Description |
---|---|---|
PROGRESS_UNSPECIFIED | 0 | PROGRESS_UNSPECIFIED indicates that upload progress is not currently reportable |
PROGRESS_INITIAL | 1 | PROGRESS_INITIAL indicates that a software upload has begun |
PROGRESS_QUEUED | 2 | PROGRESS_QUEUED indicates that an image or extension upload is waiting in a queue |
PROGRESS_LOADING | 3 | PROGRESS_LOADING indicates that an image or extension is currently being retrieved from Arista's Software Download site or CloudVision file server for processing |
PROGRESS_VALIDATING | 4 | PROGRESS_VALIDATING indicates that an image or extension is being validated |
PROGRESS_SAVING | 5 | PROGRESS_SAVING indicates that an image or extension is being uploaded to CloudVision file server |
PROGRESS_SUCCESS | 6 | PROGRESS_SUCCESS indicates that an image or extension has been successfully uploaded and validated. This is a terminal state of an upload. |
PROGRESS_ERROR | 7 | PROGRESS_ERROR indicates that an image or extension failed at either the upload or validation phase. This is a terminal state of an upload. |
RecommendedAction
RecommendedAction is an enum containing all of the possible steps a user can take to address problems encountered while performing software management-related actions.
Name | Number | Description |
---|---|---|
RECOMMENDED_ACTION_UNSPECIFIED | 0 | RECOMMENDED_ACTION_UNSPECIFIED indicates that no remedial action is needed. |
RECOMMENDED_ACTION_CONTACT_TAC | 1 | RECOMMENDED_ACTION_CONTACT_TAC indicates that in order to resolve the current issue, Arista TAC assistance is recommended. |
RECOMMENDED_ACTION_ADD_TOKEN | 2 | RECOMMENDED_ACTION_ADD_TOKEN indicates that a particular issue can be resolved by adding the access token stored in CloudVision. |
RECOMMENDED_ACTION_UPDATE_TOKEN | 3 | RECOMMENDED_ACTION_UPDATE_TOKEN indicates that a particular issue can be resolved by updating the access token stored in CloudVision. |
RECOMMENDED_ACTION_ACCEPT_EULA | 4 | RECOMMENDED_ACTION_ACCEPT_EULA indicates that a particular issue can be resolved by accepting the EULA agreement available at the Arista Software Download site. |
RECOMMENDED_ACTION_RETRY | 5 | RECOMMENDED_ACTION_RETRY indicates that a paticular issue may be resolved by re-attempting the previous action. |
SoftwareSource
SoftwareSource describes the software upload mode.
Name | Number | Description |
---|---|---|
SOFTWARE_SOURCE_UNSPECIFIED | 0 | SOFTWARE_SOURCE_UNSPECIFIED indicates that the source is not known |
SOFTWARE_SOURCE_CLOUD | 1 | SOFTWARE_SOURCE_CLOUD indicates that the image or extension has been downloaded from Arista's Software Download site |
SOFTWARE_SOURCE_LOCAL | 2 | SOFTWARE_SOURCE_LOCAL indicates that the image or extension file has been uploaded directly to CloudVision by the user |
SOFTWARE_SOURCE_PRELOADED | 3 | SOFTWARE_SOURCE_PRELOADED indicates that the image or extension file has been added as part of an upgrade of CloudVision. |
SOFTWARE_SOURCE_NP_MIGRATION | 4 | SOFTWARE_SOURCE_NP_MIGRATION indicates that the image or extension file has been internally transferred from Network Provisioning to Software Management Studio as part of the migration process. |
SoftwareType
SoftwareType is an enum containing the possible Software types. SOFTWARE_TYPE_TERMINATTR
,
which corresponds to an EOS Streaming Agent, is first-classed due to it's importance to
CloudVision.
Name | Number | Description |
---|---|---|
SOFTWARE_TYPE_UNSPECIFIED | 0 | SOFTWARE_TYPE_UNSPECIFIED indicates that the type cannot or has not been determined |
SOFTWARE_TYPE_SWI | 1 | SOFTWARE_TYPE_SWI identifies an EOS swi image type. The corresponding image files will have a .swi extension. |
SOFTWARE_TYPE_TERMINATTR | 2 | SOFTWARE_TYPE_TERMINATTR identifies a Streaming Agent extension. The corresponding files will contain the term: "TerminAttr" (case insensitive) and a .swix extension. |
SOFTWARE_TYPE_SWIX | 3 | SOFTWARE_TYPE_SWIX identifies an extension type. The corresponding files will have a .swix extension. |
SOFTWARE_TYPE_RPM | 4 | SOFTWARE_TYPE_RPM identifies an RPM file. The corresponding files will have a .rpm extension. |
Variant
Variant is an enum containing the possible .swi variant types.
Name | Number | Description |
---|---|---|
VARIANT_UNSPECIFIED | 0 | VARIANT_UNSPECIFIED is used to indicate an unknown or unspecified EOS image variant |
VARIANT_US | 1 | VARIANT_US specifies a US or default version of an EOS image variant |
VARIANT_INTERNATIONAL | 2 | VARIANT_INTERNATIONAL specifies an international EOS image variant |
arista/softwaremanagement.v1/services.gen.proto
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. |
ReleasesRequest
Field Name | Type | Description |
---|---|---|
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. |
ReleasesResponse
Field Name | Type | Description |
---|---|---|
value | Releases | 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 Releases instance in this response. |
ReleasesStreamRequest
Field Name | Type | Description |
---|---|---|
partial_eq_filter | Releases[...] | 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 Releases at end. * Each Releases response is fully-specified (all fields set). * start: Returns the state of each Releases at start, followed by updates until now. * Each Releases response at start is fully-specified, but updates may be partial. * start and end: Returns the state of each Releases at start, followed by updates until end. * Each Releases response at start is fully-specified, but updates until end may be partial. This field is not allowed in the Subscribe RPC. |
ReleasesStreamResponse
Field Name | Type | Description |
---|---|---|
value | Releases | 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 Releases's last modification. |
type | arista.subscriptions.Operation | Operation indicates how the Releases 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. |
RepositoryBatchedStreamRequest
Field Name | Type | Description |
---|---|---|
partial_eq_filter | Repository[...] | 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 Repository at end. * Each Repository response is fully-specified (all fields set). * start: Returns the state of each Repository at start, followed by updates until now. * Each Repository response at start is fully-specified, but updates may be partial. * start and end: Returns the state of each Repository at start, followed by updates until end. * Each Repository response at start is fully-specified, but updates until end may be partial. This field is not allowed in the Subscribe RPC. |
max_messages | google.protobuf.UInt32Value | MaxMessages limits the maximum number of messages that can be contained in one batch. MaxMessages is required to be at least 1. The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT) INTERNAL_BATCH_LIMIT is set based on the maximum message size. |
RepositoryBatchedStreamResponse
Field Name | Type | Description |
---|---|---|
responses | RepositoryStreamResponse[...] | Values are the values deemed relevant to the initiating request. The length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT). |
RepositoryConfigBatchedStreamRequest
Field Name | Type | Description |
---|---|---|
partial_eq_filter | RepositoryConfig[...] | 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 RepositoryConfig at end. * Each RepositoryConfig response is fully-specified (all fields set). * start: Returns the state of each RepositoryConfig at start, followed by updates until now. * Each RepositoryConfig response at start is fully-specified, but updates may be partial. * start and end: Returns the state of each RepositoryConfig at start, followed by updates until end. * Each RepositoryConfig response at start is fully-specified, but updates until end may be partial. This field is not allowed in the Subscribe RPC. |
max_messages | google.protobuf.UInt32Value | MaxMessages limits the maximum number of messages that can be contained in one batch. MaxMessages is required to be at least 1. The maximum number of messages in a batch is min(max_messages, INTERNAL_BATCH_LIMIT) INTERNAL_BATCH_LIMIT is set based on the maximum message size. |
RepositoryConfigBatchedStreamResponse
Field Name | Type | Description |
---|---|---|
responses | RepositoryConfigStreamResponse[...] | Values are the values deemed relevant to the initiating request. The length of this structure is guaranteed to be between (inclusive) 1 and min(req.max_messages, INTERNAL_BATCH_LIMIT). |
RepositoryConfigDeleteAllRequest
Field Name | Type | Description |
---|---|---|
partial_eq_filter | RepositoryConfig[...] | 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. |
RepositoryConfigDeleteAllResponse
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 | RepositoryKey | This is the key of the RepositoryConfig instance that failed to be deleted. |
time | google.protobuf.Timestamp | Time indicates the (UTC) timestamp when the key was being deleted. |
RepositoryConfigDeleteRequest
Field Name | Type | Description |
---|---|---|
key | RepositoryKey | Key indicates which RepositoryConfig instance to remove. This field must always be set. |
RepositoryConfigDeleteResponse
Field Name | Type | Description |
---|---|---|
key | RepositoryKey | Key echoes back the key of the deleted RepositoryConfig 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. |
RepositoryConfigDeleteSomeRequest
Field Name | Type | Description |
---|---|---|
keys | RepositoryKey[...] | key contains a list of RepositoryConfig keys to delete |
RepositoryConfigDeleteSomeResponse
RepositoryConfigDeleteSomeResponse is only sent when there is an error.
Field Name | Type | Description |
---|---|---|
key | RepositoryKey | |
error | string |
RepositoryConfigRequest
Field Name | Type | Description |
---|---|---|
key | RepositoryKey | Key uniquely identifies a RepositoryConfig 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. |
RepositoryConfigResponse
Field Name | Type | Description |
---|---|---|
value | RepositoryConfig | 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 RepositoryConfig instance in this response. |
RepositoryConfigSetRequest
Field Name | Type | Description |
---|---|---|
value | RepositoryConfig | RepositoryConfig carries the value to set into the datastore. See the documentation on the RepositoryConfig struct for which fields are required. |
RepositoryConfigSetResponse
Field Name | Type | Description |
---|---|---|
value | RepositoryConfig | Value carries all the values given in the RepositoryConfigSetRequest 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. |
RepositoryConfigSetSomeRequest
Field Name | Type | Description |
---|---|---|
values | RepositoryConfig[...] | value contains a list of RepositoryConfig 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. |
RepositoryConfigSetSomeResponse
Field Name | Type | Description |
---|---|---|
key | RepositoryKey | |
error | string |
RepositoryConfigSomeRequest
Field Name | Type | Description |
---|---|---|
keys | RepositoryKey[...] | |
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. |
RepositoryConfigSomeResponse
Field Name | Type | Description |
---|---|---|
value | RepositoryConfig | 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 |
RepositoryConfigStreamRequest
Field Name | Type | Description |
---|---|---|
partial_eq_filter | RepositoryConfig[...] | 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 RepositoryConfig at end. * Each RepositoryConfig response is fully-specified (all fields set). * start: Returns the state of each RepositoryConfig at start, followed by updates until now. * Each RepositoryConfig response at start is fully-specified, but updates may be partial. * start and end: Returns the state of each RepositoryConfig at start, followed by updates until end. * Each RepositoryConfig response at start is fully-specified, but updates until end may be partial. This field is not allowed in the Subscribe RPC. |
RepositoryConfigStreamResponse
Field Name | Type | Description |
---|---|---|
value | RepositoryConfig | 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 RepositoryConfig's last modification. |
type | arista.subscriptions.Operation | Operation indicates how the RepositoryConfig 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. |
RepositoryRequest
Field Name | Type | Description |
---|---|---|
key | RepositoryKey | Key uniquely identifies a Repository 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. |
RepositoryResponse
Field Name | Type | Description |
---|---|---|
value | Repository | 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 Repository instance in this response. |
RepositorySomeRequest
Field Name | Type | Description |
---|---|---|
keys | RepositoryKey[...] | |
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. |
RepositorySomeResponse
Field Name | Type | Description |
---|---|---|
value | Repository | 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 |
RepositoryStreamRequest
Field Name | Type | Description |
---|---|---|
partial_eq_filter | Repository[...] | 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 Repository at end. * Each Repository response is fully-specified (all fields set). * start: Returns the state of each Repository at start, followed by updates until now. * Each Repository response at start is fully-specified, but updates may be partial. * start and end: Returns the state of each Repository at start, followed by updates until end. * Each Repository response at start is fully-specified, but updates until end may be partial. This field is not allowed in the Subscribe RPC. |
RepositoryStreamResponse
Field Name | Type | Description |
---|---|---|
value | Repository | 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 Repository's last modification. |
type | arista.subscriptions.Operation | Operation indicates how the Repository 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. |
ReleasesService
Method Name | Request Type | Response Type | Description |
---|---|---|---|
GetOne | ReleasesRequest | ReleasesResponse | |
GetAll | ReleasesStreamRequest | ReleasesStreamResponse stream | |
Subscribe | ReleasesStreamRequest | ReleasesStreamResponse stream | |
SubscribeMeta | ReleasesStreamRequest | MetaResponse stream |
RepositoryConfigService
Method Name | Request Type | Response Type | Description |
---|---|---|---|
GetOne | RepositoryConfigRequest | RepositoryConfigResponse | |
GetSome | RepositoryConfigSomeRequest | RepositoryConfigSomeResponse stream | |
GetAll | RepositoryConfigStreamRequest | RepositoryConfigStreamResponse stream | |
Subscribe | RepositoryConfigStreamRequest | RepositoryConfigStreamResponse stream | |
GetMeta | RepositoryConfigStreamRequest | MetaResponse | |
SubscribeMeta | RepositoryConfigStreamRequest | MetaResponse stream | |
Set | RepositoryConfigSetRequest | RepositoryConfigSetResponse | |
SetSome | RepositoryConfigSetSomeRequest | RepositoryConfigSetSomeResponse stream | |
Delete | RepositoryConfigDeleteRequest | RepositoryConfigDeleteResponse | |
DeleteSome | RepositoryConfigDeleteSomeRequest | RepositoryConfigDeleteSomeResponse stream | |
DeleteAll | RepositoryConfigDeleteAllRequest | RepositoryConfigDeleteAllResponse stream | |
GetAllBatched | RepositoryConfigBatchedStreamRequest | RepositoryConfigBatchedStreamResponse stream | |
SubscribeBatched | RepositoryConfigBatchedStreamRequest | RepositoryConfigBatchedStreamResponse stream |
RepositoryService
Method Name | Request Type | Response Type | Description |
---|---|---|---|
GetOne | RepositoryRequest | RepositoryResponse | |
GetSome | RepositorySomeRequest | RepositorySomeResponse stream | |
GetAll | RepositoryStreamRequest | RepositoryStreamResponse stream | |
Subscribe | RepositoryStreamRequest | RepositoryStreamResponse stream | |
GetMeta | RepositoryStreamRequest | MetaResponse | |
SubscribeMeta | RepositoryStreamRequest | MetaResponse stream | |
GetAllBatched | RepositoryBatchedStreamRequest | RepositoryBatchedStreamResponse stream | |
SubscribeBatched | RepositoryBatchedStreamRequest | RepositoryBatchedStreamResponse stream |