Skip to main content
Version: v1.0.0

softwaremanagement.v1

Version: 1.2.0

Available Services

    ReleasesService

    RepositoryConfigService

    RepositoryService

Top

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 NameTypeDescription
descriptiongoogle.protobuf.StringValue

description is the swix or rpm description

namegoogle.protobuf.StringValue

name is the name of the swix or rpm extension

versiongoogle.protobuf.StringValue

version is the version of the swix or rpm extension

releasegoogle.protobuf.StringValue

release is the value of the swix or rpm extension release

epochgoogle.protobuf.StringValue

epoch is versioning metadata in swix or rpm extensions which allows handling for

hard-to-compare version numbers

archArch

arch is the architecture of the swix or rpm extension

supported_eos_versionsfmp.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 NameTypeDescription
statusReleasesStatus

status is providing additional information about the retrieval of the software releases

returned in the message

urisfmp.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 RepositoryConfig API to add a software release to CloudVision.

ReleasesStatus

ReleasesStatus contains information about the state of the available software releases which are retrieved from Arista's Software Download site by CloudVision.

Field NameTypeDescription
levelLevel

level is the relative importance of the message field contained in the status

messagegoogle.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_actionRecommendedAction

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 NameTypeDescription
keyRepositoryKey

key is the unique identifier

uploaded_bygoogle.protobuf.StringValue

uploaded_by specifies the author of the upload

uploaded_atgoogle.protobuf.Timestamp

uploaded_at specifies the date and time of the upload

last_modified_bygoogle.protobuf.StringValue

last_modified_by is the author of the most recent metadata modification

last_modified_atgoogle.protobuf.Timestamp

last_modified_at is the date and time of the most recent metadata modification

software_statusSoftwareStatus

software_status displays status of the software that is being added to CloudVision

software_metadataSoftwareMetadata

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 NameTypeDescription
keyRepositoryKey

key is a unique identifier that must be supplied by the user to start a valid upload of

software

urigoogle.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_requiredgoogle.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 NameTypeDescription
namegoogle.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 NameTypeDescription
digest_typeDigestType

digest_type specifies the type of digest algorithm used to calculate the digest for this

image or extension

digestgoogle.protobuf.StringValue

digest is the digest value for the image or extension

sizegoogle.protobuf.UInt64Value

size is the size of the image or extension in bytes

reboot_requiredgoogle.protobuf.BoolValue

reboot_required boolean indicating if a device requires a reboot after software installation

software_typeSoftwareType

software_type determines which version field is populated - .swi image metadata appears in

swi_metadata. .swix and .rpm extensions appear in extension_metadata.

swi_metadataSwiMetadata

swi_metadata is versioning information for .swi type images

extension_metadataExtensionMetadata

extension_metadata is versioning information for extensions (.rpm and .swix)

file_server_pathgoogle.protobuf.StringValue

file_server_path is the location of the image or extension as stored in CloudVision

software_sourceSoftwareSource

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 NameTypeDescription
progressProgress

progress displays the current status of the software upload

messagegoogle.protobuf.StringValue

message describes the progress of the software upload

recommended_actionRecommendedAction

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 NameTypeDescription
versiongoogle.protobuf.StringValue

version specifies the version of the swi image

releasegoogle.protobuf.StringValue

release specifies the swi image release information

variantVariant

variant specifies the swi image variant

flavorFlavor

flavor is the swi image flavor

archArch

arch is the swi architecture

max_hardware_epochgoogle.protobuf.UInt32Value

max_hardware_epoch specifies the max hardware epoch value supported

blessedgoogle.protobuf.BoolValue

blessed indicates if the swi image is blessed

image_format_versionImageFormatVersion

image_format_version specifies the EOS image format version

embedded_terminattrExtensionMetadata

embedded_terminattr specifies the default embedded TerminAttr version pre-installed in the

EOS swi image

optimizationgoogle.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.

NameNumberDescription
ARCH_UNSPECIFIED0

ARCH_UNSPECIFIED indicates an unknown or unspecified architecture

ARCH_NO_ARCH1

ARCH_NO_ARCH indicates that the software is architecture agnostic

ARCH_I3862

ARCH_I386 indicates that the software is intended for the i386 architecture

ARCH_I6863

ARCH_I686 indicates that the software is intended for the i686 architecture

ARCH_X86_644

ARCH_X86_64 indicates that the software is intended to be run on 64-bit platforms

ARCH_AARCH645

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.

NameNumberDescription
DIGEST_TYPE_UNSPECIFIED0

DIGEST_TYPE_UNSPECIFIED indicates that the digest type is unknown

DIGEST_TYPE_SHA5121

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.

NameNumberDescription
FLAVOR_UNSPECIFIED0

FLAVOR_UNSPECIFIED indicates that the swi image flavor is unknown

FLAVOR_DEFAULT1

FLAVOR_DEFAULT is the default swi image

FLAVOR_2GB2

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_CLOUD3

FLAVOR_CLOUD is a swi image that runs in a virtualized cloud environment

FLAVOR_DPE4

FLAVOR_DPE is a swi image that provides MacSec without a license

FLAVOR_PDP5

FLAVOR_PDP is an image that defaults to support PDP but can also support CoPP

FLAVOR_2GB_PDP6

FLAVOR_2GB_PDP is a 2GB image that defaults to support PDP if available, but can support

CoPP

FLAVOR_DPE_CTNR7

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.

NameNumberDescription
IMAGE_FORMAT_VERSION_UNSPECIFIED0

IMAGE_FORMAT_VERSION_UNSPECIFIED indicates an unknown image format

IMAGE_FORMAT_VERSION_1_01

IMAGE_FORMAT_VERSION_1_0 indicates legacy swi format

IMAGE_FORMAT_VERSION_2_02

IMAGE_FORMAT_VERSION_2_0 indicates modular swi format

IMAGE_FORMAT_VERSION_3_03

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.

NameNumberDescription
LEVEL_UNSPECIFIED0

LEVEL_UNSPECIFIED is set when the message level is unknown

LEVEL_INFO1

LEVEL_INFO is set when the message contains useful, informational content. No user action is

required.

LEVEL_WARNING2

LEVEL_WARNING is set when the message contains important information for the user that

should be addressed for continued proper behavior

LEVEL_ERROR3

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.

NameNumberDescription
PROGRESS_UNSPECIFIED0

PROGRESS_UNSPECIFIED indicates that upload progress is not currently reportable

PROGRESS_INITIAL1

PROGRESS_INITIAL indicates that a software upload has begun

PROGRESS_QUEUED2

PROGRESS_QUEUED indicates that an image or extension upload is waiting in a queue

PROGRESS_LOADING3

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_VALIDATING4

PROGRESS_VALIDATING indicates that an image or extension is being validated

PROGRESS_SAVING5

PROGRESS_SAVING indicates that an image or extension is being uploaded to

CloudVision file server

PROGRESS_SUCCESS6

PROGRESS_SUCCESS indicates that an image or extension has been successfully uploaded and

validated. This is a terminal state of an upload.

PROGRESS_ERROR7

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.

NameNumberDescription
RECOMMENDED_ACTION_UNSPECIFIED0

RECOMMENDED_ACTION_UNSPECIFIED indicates that no remedial action is needed.

RECOMMENDED_ACTION_CONTACT_TAC1

RECOMMENDED_ACTION_CONTACT_TAC indicates that in order to resolve the current issue,

Arista TAC assistance is recommended.

RECOMMENDED_ACTION_ADD_TOKEN2

RECOMMENDED_ACTION_ADD_TOKEN indicates that a particular issue can be resolved by adding

the access token stored in CloudVision.

RECOMMENDED_ACTION_UPDATE_TOKEN3

RECOMMENDED_ACTION_UPDATE_TOKEN indicates that a particular issue can be resolved by updating

the access token stored in CloudVision.

RECOMMENDED_ACTION_ACCEPT_EULA4

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_RETRY5

RECOMMENDED_ACTION_RETRY indicates that a paticular issue may be resolved by

re-attempting the previous action.

SoftwareSource

SoftwareSource describes the software upload mode.

NameNumberDescription
SOFTWARE_SOURCE_UNSPECIFIED0

SOFTWARE_SOURCE_UNSPECIFIED indicates that the source is not known

SOFTWARE_SOURCE_CLOUD1

SOFTWARE_SOURCE_CLOUD indicates that the image or extension has been downloaded from

Arista's Software Download site

SOFTWARE_SOURCE_LOCAL2

SOFTWARE_SOURCE_LOCAL indicates that the image or extension file has been uploaded directly

to CloudVision by the user

SOFTWARE_SOURCE_PRELOADED3

SOFTWARE_SOURCE_PRELOADED indicates that the image or extension file has been added as part

of an upgrade of CloudVision.

SOFTWARE_SOURCE_NP_MIGRATION4

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.

NameNumberDescription
SOFTWARE_TYPE_UNSPECIFIED0

SOFTWARE_TYPE_UNSPECIFIED indicates that the type cannot or has not been determined

SOFTWARE_TYPE_SWI1

SOFTWARE_TYPE_SWI identifies an EOS swi image type. The corresponding image files will

have a .swi extension.

SOFTWARE_TYPE_TERMINATTR2

SOFTWARE_TYPE_TERMINATTR identifies a Streaming Agent extension. The corresponding

files will contain the term: "TerminAttr" (case insensitive) and a .swix extension.

SOFTWARE_TYPE_SWIX3

SOFTWARE_TYPE_SWIX identifies an extension type. The corresponding files will have a .swix

extension.

SOFTWARE_TYPE_RPM4

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.

NameNumberDescription
VARIANT_UNSPECIFIED0

VARIANT_UNSPECIFIED is used to indicate an unknown or unspecified EOS image variant

VARIANT_US1

VARIANT_US specifies a US or default version of an EOS image variant

VARIANT_INTERNATIONAL2

VARIANT_INTERNATIONAL specifies an international EOS image variant

Top

arista/softwaremanagement.v1/services.gen.proto

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.

ReleasesRequest

Field NameTypeDescription
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.

ReleasesResponse

Field NameTypeDescription
valueReleases

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

Releases instance in this response.

ReleasesStreamRequest

Field NameTypeDescription
partial_eq_filterReleases[...]

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 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 NameTypeDescription
valueReleases

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

typearista.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 NameTypeDescription
partial_eq_filterRepository[...]

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 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_messagesgoogle.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 NameTypeDescription
responsesRepositoryStreamResponse[...]

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 NameTypeDescription
partial_eq_filterRepositoryConfig[...]

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 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_messagesgoogle.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 NameTypeDescription
responsesRepositoryConfigStreamResponse[...]

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 NameTypeDescription
partial_eq_filterRepositoryConfig[...]

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 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.

keyRepositoryKey

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

timegoogle.protobuf.Timestamp

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

RepositoryConfigDeleteRequest

Field NameTypeDescription
keyRepositoryKey

Key indicates which RepositoryConfig instance to remove.

This field must always be set.

RepositoryConfigDeleteResponse

Field NameTypeDescription
keyRepositoryKey

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

RepositoryConfigDeleteSomeRequest

Field NameTypeDescription
keysRepositoryKey[...]

key contains a list of RepositoryConfig keys to delete

RepositoryConfigDeleteSomeResponse

RepositoryConfigDeleteSomeResponse is only sent when there is an error.

Field NameTypeDescription
keyRepositoryKey

errorstring

RepositoryConfigRequest

Field NameTypeDescription
keyRepositoryKey

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

RepositoryConfigResponse

Field NameTypeDescription
valueRepositoryConfig

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

RepositoryConfig instance in this response.

RepositoryConfigSetRequest

Field NameTypeDescription
valueRepositoryConfig

RepositoryConfig carries the value to set into the datastore.

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

RepositoryConfigSetResponse

Field NameTypeDescription
valueRepositoryConfig

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

RepositoryConfigSetSomeRequest

Field NameTypeDescription
valuesRepositoryConfig[...]

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 NameTypeDescription
keyRepositoryKey

errorstring

RepositoryConfigSomeRequest

Field NameTypeDescription
keysRepositoryKey[...]

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.

RepositoryConfigSomeResponse

Field NameTypeDescription
valueRepositoryConfig

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

RepositoryConfigStreamRequest

Field NameTypeDescription
partial_eq_filterRepositoryConfig[...]

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 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 NameTypeDescription
valueRepositoryConfig

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

typearista.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 NameTypeDescription
keyRepositoryKey

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

RepositoryResponse

Field NameTypeDescription
valueRepository

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

Repository instance in this response.

RepositorySomeRequest

Field NameTypeDescription
keysRepositoryKey[...]

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.

RepositorySomeResponse

Field NameTypeDescription
valueRepository

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

RepositoryStreamRequest

Field NameTypeDescription
partial_eq_filterRepository[...]

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 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 NameTypeDescription
valueRepository

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

typearista.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 NameRequest TypeResponse TypeDescription
GetOneReleasesRequestReleasesResponse

GetAllReleasesStreamRequestReleasesStreamResponse stream

SubscribeReleasesStreamRequestReleasesStreamResponse stream

SubscribeMetaReleasesStreamRequestMetaResponse stream

RepositoryConfigService

Method NameRequest TypeResponse TypeDescription
GetOneRepositoryConfigRequestRepositoryConfigResponse

GetSomeRepositoryConfigSomeRequestRepositoryConfigSomeResponse stream

GetAllRepositoryConfigStreamRequestRepositoryConfigStreamResponse stream

SubscribeRepositoryConfigStreamRequestRepositoryConfigStreamResponse stream

GetMetaRepositoryConfigStreamRequestMetaResponse

SubscribeMetaRepositoryConfigStreamRequestMetaResponse stream

SetRepositoryConfigSetRequestRepositoryConfigSetResponse

SetSomeRepositoryConfigSetSomeRequestRepositoryConfigSetSomeResponse stream

DeleteRepositoryConfigDeleteRequestRepositoryConfigDeleteResponse

DeleteSomeRepositoryConfigDeleteSomeRequestRepositoryConfigDeleteSomeResponse stream

DeleteAllRepositoryConfigDeleteAllRequestRepositoryConfigDeleteAllResponse stream

GetAllBatchedRepositoryConfigBatchedStreamRequestRepositoryConfigBatchedStreamResponse stream

SubscribeBatchedRepositoryConfigBatchedStreamRequestRepositoryConfigBatchedStreamResponse stream

RepositoryService

Method NameRequest TypeResponse TypeDescription
GetOneRepositoryRequestRepositoryResponse

GetSomeRepositorySomeRequestRepositorySomeResponse stream

GetAllRepositoryStreamRequestRepositoryStreamResponse stream

SubscribeRepositoryStreamRequestRepositoryStreamResponse stream

GetMetaRepositoryStreamRequestMetaResponse

SubscribeMetaRepositoryStreamRequestMetaResponse stream

GetAllBatchedRepositoryBatchedStreamRequestRepositoryBatchedStreamResponse stream

SubscribeBatchedRepositoryBatchedStreamRequestRepositoryBatchedStreamResponse stream