cloudvision.api.arista.softwaremanagement.v1 package
Module contents
- class cloudvision.api.arista.softwaremanagement.v1.Arch(value: int)[source]
Bases:
EnumArch is an enum used to specify the target architecture of an image or extension.
- AARCH64 = Arch.AARCH64
ARCH_AARCH64 indicates that the software is intended to be run on ARM 64-bit platforms
- I386 = Arch.I386
ARCH_I386 indicates that the software is intended for the i386 architecture
- I686 = Arch.I686
ARCH_I686 indicates that the software is intended for the i686 architecture
- MULTIARCH = Arch.MULTIARCH
ARCH_MULTIARCH indicates that the software supports all architectures
- NO_ARCH = Arch.NO_ARCH
ARCH_NO_ARCH indicates that the software is architecture agnostic
- UNSPECIFIED = Arch.UNSPECIFIED
ARCH_UNSPECIFIED indicates an unknown or unspecified architecture
- X86_64 = Arch.X86_64
ARCH_X86_64 indicates that the software is intended to be run on 64-bit platforms
- name: str | None
- value: int
- class cloudvision.api.arista.softwaremanagement.v1.ConcreteFile(name: str | None = <PLACEHOLDER>, file_server_path: str | None = <PLACEHOLDER>, size: int | None = <PLACEHOLDER>, release: str | None = <PLACEHOLDER>)[source]
Bases:
MessageConcreteFile contains the name and corresponding metadata of the file (like fileserver, file size)
- file_server_path: str | None = <PLACEHOLDER>
file_server_path is the location of the image or extension as stored in CloudVision
- name: str | None = <PLACEHOLDER>
name is the name of the concrete file
- release: str | None = <PLACEHOLDER>
release is the release version of the concrete file
- size: int | None = <PLACEHOLDER>
size is the size of the image or extension in bytes
- class cloudvision.api.arista.softwaremanagement.v1.ConcreteTypeToConcreteSwiMap(values: ~typing.Dict[str, ~cloudvision.api.arista.softwaremanagement.v1.ConcreteFile] = <PLACEHOLDER>)[source]
Bases:
MessageConcreteTypeToConcreteSwiMap indicates a map keyed by stringified concrete type (limited to i386, i686, x86_64 and aarch64, but can be extended to platform types in the future) to the concrete swi map.
- values: Dict[str, ConcreteFile] = <PLACEHOLDER>
values contains a collection of ConcreteTypeToConcreteSwiMap items.
- class cloudvision.api.arista.softwaremanagement.v1.DigestType(value: int)[source]
Bases:
EnumDigestType is the digest algorithm used as a checksum on the software file.
- SHA512 = DigestType.SHA512
DIGEST_TYPE_SHA512 indicates that the SHA512 algorithm is used to calculate the digest
- UNSPECIFIED = DigestType.UNSPECIFIED
DIGEST_TYPE_UNSPECIFIED indicates that the digest type is unknown
- name: str | None
- value: int
- class cloudvision.api.arista.softwaremanagement.v1.ExtensionMetadata(description: str | None = <PLACEHOLDER>, name: str | None = <PLACEHOLDER>, version: str | None = <PLACEHOLDER>, release: str | None = <PLACEHOLDER>, epoch: str | None = <PLACEHOLDER>, arch: ~cloudvision.api.arista.softwaremanagement.v1.Arch = <PLACEHOLDER>, supported_eos_versions: ~cloudvision.api.fmp.RepeatedString = <PLACEHOLDER>)[source]
Bases:
MessageExtensionMetadata is versioning metadata describing extensions (.swix and .rpm).
- description: str | None = <PLACEHOLDER>
description is the swix or rpm description
- epoch: str | None = <PLACEHOLDER>
epoch is versioning metadata in swix or rpm extensions which allows handling for hard-to-compare version numbers
- name: str | None = <PLACEHOLDER>
name is the name of the swix or rpm extension
- release: str | None = <PLACEHOLDER>
release is the value of the swix or rpm extension release
- supported_eos_versions: ___fmp__.RepeatedString = <PLACEHOLDER>
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
- version: str | None = <PLACEHOLDER>
version is the version of the swix or rpm extension
- class cloudvision.api.arista.softwaremanagement.v1.Flavor(value: int)[source]
Bases:
EnumFlavor is an enum containing the possible .swi flavor types.
- CLOUD = Flavor.CLOUD
FLAVOR_CLOUD is a swi image that runs in a virtualized cloud environment
- DEFAULT = Flavor.DEFAULT
FLAVOR_DEFAULT is the default swi image
- DPE = Flavor.DPE
FLAVOR_DPE is a swi image that provides MacSec without a license
- DPE_CTNR = Flavor.DPE_CTNR
FLAVOR_DPE_CTNR is a swi image that provides MacSec without a license and natively supports running containers on EOS
- PDP = Flavor.PDP
FLAVOR_PDP is an image that defaults to support PDP but can also support CoPP
- UNSPECIFIED = Flavor.UNSPECIFIED
FLAVOR_UNSPECIFIED indicates that the swi image flavor is unknown
- name: str | None
- value: int
- class cloudvision.api.arista.softwaremanagement.v1.ImageFormatVersion(value: int)[source]
Bases:
EnumImageFormatVersion is an enum defining the image format versions of a SWI image.
- UNSPECIFIED = ImageFormatVersion.UNSPECIFIED
IMAGE_FORMAT_VERSION_UNSPECIFIED indicates an unknown image format
- name: str | None
- value: int
- class cloudvision.api.arista.softwaremanagement.v1.Level(value: int)[source]
Bases:
EnumLevel specifies relative importance of the information returned in the message field of the software releases status.
- ERROR = Level.ERROR
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.
- INFO = Level.INFO
LEVEL_INFO is set when the message contains useful, informational content. No user action is required.
- UNSPECIFIED = Level.UNSPECIFIED
LEVEL_UNSPECIFIED is set when the message level is unknown
- WARNING = Level.WARNING
LEVEL_WARNING is set when the message contains important information for the user that should be addressed for continued proper behavior
- name: str | None
- value: int
- class cloudvision.api.arista.softwaremanagement.v1.MetaResponse(time: datetime.datetime = <PLACEHOLDER>, type: '__subscriptions__.Operation' = <PLACEHOLDER>, count: int | None = <PLACEHOLDER>)[source]
Bases:
Message- count: int | None = <PLACEHOLDER>
Count is the number of items present under the conditions of the request.
- time: datetime = <PLACEHOLDER>
Time holds the timestamp of the last item included in the metadata calculation.
- type: __subscriptions__.Operation = <PLACEHOLDER>
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.
- class cloudvision.api.arista.softwaremanagement.v1.Progress(value: int)[source]
Bases:
EnumProgress is used by the Repository service to describe the stages of the software upload and verification process.
- ERROR = Progress.ERROR
PROGRESS_ERROR indicates that an image or extension failed at either the upload or validation phase. This is a terminal state of an upload.
- INITIAL = Progress.INITIAL
PROGRESS_INITIAL indicates that a software upload has begun
- LOADING = Progress.LOADING
PROGRESS_LOADING indicates that an image or extension is currently being retrieved from Arista’s Software Download site or CloudVision file server for processing
- QUEUED = Progress.QUEUED
PROGRESS_QUEUED indicates that an image or extension upload is waiting in a queue
- SAVING = Progress.SAVING
PROGRESS_SAVING indicates that an image or extension is being uploaded to CloudVision file server
- SUCCESS = Progress.SUCCESS
PROGRESS_SUCCESS indicates that an image or extension has been successfully uploaded and validated. This is a terminal state of an upload.
- UNSPECIFIED = Progress.UNSPECIFIED
PROGRESS_UNSPECIFIED indicates that upload progress is not currently reportable
- VALIDATING = Progress.VALIDATING
PROGRESS_VALIDATING indicates that an image or extension is being validated
- name: str | None
- value: int
- class cloudvision.api.arista.softwaremanagement.v1.RecommendedAction(value: int)[source]
Bases:
EnumRecommendedAction is an enum containing all of the possible steps a user can take to address problems encountered while performing software management-related actions.
- ACCEPT_EULA = RecommendedAction.ACCEPT_EULA
RECOMMENDED_ACTION_ACCEPT_EULA indicates that a particular issue can be resolved by accepting the EULA agreement available at the Arista Software Download site.
- ADD_TOKEN = RecommendedAction.ADD_TOKEN
RECOMMENDED_ACTION_ADD_TOKEN indicates that a particular issue can be resolved by adding the access token stored in CloudVision.
- CONTACT_TAC = RecommendedAction.CONTACT_TAC
RECOMMENDED_ACTION_CONTACT_TAC indicates that in order to resolve the current issue, Arista TAC assistance is recommended.
- RETRY = RecommendedAction.RETRY
RECOMMENDED_ACTION_RETRY indicates that a paticular issue may be resolved by re-attempting the previous action.
- UNSPECIFIED = RecommendedAction.UNSPECIFIED
RECOMMENDED_ACTION_UNSPECIFIED indicates that no remedial action is needed.
- UPDATE_TOKEN = RecommendedAction.UPDATE_TOKEN
RECOMMENDED_ACTION_UPDATE_TOKEN indicates that a particular issue can be resolved by updating the access token stored in CloudVision.
- name: str | None
- value: int
- class cloudvision.api.arista.softwaremanagement.v1.Releases(status: ~cloudvision.api.arista.softwaremanagement.v1.ReleasesStatus = <PLACEHOLDER>, uris: ~cloudvision.api.fmp.RepeatedString = <PLACEHOLDER>)[source]
Bases:
MessageReleases 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.
- status: ReleasesStatus = <PLACEHOLDER>
status is providing additional information about the retrieval of the software releases returned in the message
- uris: ___fmp__.RepeatedString = <PLACEHOLDER>
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.
- class cloudvision.api.arista.softwaremanagement.v1.ReleasesRequest(time: datetime.datetime = <PLACEHOLDER>)[source]
Bases:
Message- time: datetime = <PLACEHOLDER>
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.
- class cloudvision.api.arista.softwaremanagement.v1.ReleasesResponse(value: 'Releases' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]
Bases:
Message- time: datetime = <PLACEHOLDER>
Time carries the (UTC) timestamp of the last-modification of the Releases instance in this response.
- class cloudvision.api.arista.softwaremanagement.v1.ReleasesServiceBase[source]
Bases:
ServiceBase- async get_all(releases_stream_request: ReleasesStreamRequest) AsyncIterator[ReleasesStreamResponse][source]
- async get_one(releases_request: ReleasesRequest) ReleasesResponse[source]
- async subscribe(releases_stream_request: ReleasesStreamRequest) AsyncIterator[ReleasesStreamResponse][source]
- async subscribe_meta(releases_stream_request: ReleasesStreamRequest) AsyncIterator[MetaResponse][source]
- class cloudvision.api.arista.softwaremanagement.v1.ReleasesServiceStub(channel: Channel, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: Mapping[str, str | bytes] | Collection[Tuple[str, str | bytes]] | None = None)[source]
Bases:
ServiceStub- async get_all(releases_stream_request: ReleasesStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[ReleasesStreamResponse][source]
- async get_one(releases_request: ReleasesRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) ReleasesResponse[source]
- async subscribe(releases_stream_request: ReleasesStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[ReleasesStreamResponse][source]
- async subscribe_meta(releases_stream_request: ReleasesStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[MetaResponse][source]
- class cloudvision.api.arista.softwaremanagement.v1.ReleasesStatus(level: ~cloudvision.api.arista.softwaremanagement.v1.Level = <PLACEHOLDER>, message: str | None = <PLACEHOLDER>, recommended_action: ~cloudvision.api.arista.softwaremanagement.v1.RecommendedAction = <PLACEHOLDER>)[source]
Bases:
MessageReleasesStatus contains information about the state of the available software releases which are retrieved from Arista’s Software Download site by CloudVision.
- level: Level = <PLACEHOLDER>
level is the relative importance of the message field contained in the status
- message: str | None = <PLACEHOLDER>
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 = <PLACEHOLDER>
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.
- class cloudvision.api.arista.softwaremanagement.v1.ReleasesStreamRequest(partial_eq_filter: List[ForwardRef('Releases')] = <PLACEHOLDER>, time: '__time__.TimeBounds' = <PLACEHOLDER>)[source]
Bases:
Message- partial_eq_filter: List[Releases] = <PLACEHOLDER>
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: __time__.TimeBounds = <PLACEHOLDER>
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.
- class cloudvision.api.arista.softwaremanagement.v1.ReleasesStreamResponse(value: 'Releases' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>, type: '__subscriptions__.Operation' = <PLACEHOLDER>)[source]
Bases:
Message- time: datetime = <PLACEHOLDER>
Time holds the timestamp of this Releases’s last modification.
- type: __subscriptions__.Operation = <PLACEHOLDER>
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.
- class cloudvision.api.arista.softwaremanagement.v1.Repository(key: ~cloudvision.api.arista.softwaremanagement.v1.RepositoryKey = <PLACEHOLDER>, uploaded_by: str | None = <PLACEHOLDER>, uploaded_at: ~datetime.datetime = <PLACEHOLDER>, last_modified_by: str | None = <PLACEHOLDER>, last_modified_at: ~datetime.datetime = <PLACEHOLDER>, software_status: ~cloudvision.api.arista.softwaremanagement.v1.SoftwareStatus = <PLACEHOLDER>, software_metadata: ~cloudvision.api.arista.softwaremanagement.v1.SoftwareMetadata = <PLACEHOLDER>)[source]
Bases:
MessageRepository 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.
- key: RepositoryKey = <PLACEHOLDER>
key is the unique identifier
- last_modified_at: datetime = <PLACEHOLDER>
last_modified_at is the date and time of the most recent metadata modification
- last_modified_by: str | None = <PLACEHOLDER>
last_modified_by is the author of the most recent metadata modification
- software_metadata: SoftwareMetadata = <PLACEHOLDER>
software_metadata displays details about available software
- software_status: SoftwareStatus = <PLACEHOLDER>
software_status displays status of the software that is being added to CloudVision
- uploaded_at: datetime = <PLACEHOLDER>
uploaded_at specifies the date and time of the upload
- uploaded_by: str | None = <PLACEHOLDER>
uploaded_by specifies the author of the upload
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryBatchedStreamRequest(partial_eq_filter: List[ForwardRef('Repository')] = <PLACEHOLDER>, time: '__time__.TimeBounds' = <PLACEHOLDER>, max_messages: int | None = <PLACEHOLDER>)[source]
Bases:
Message- max_messages: int | None = <PLACEHOLDER>
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.
- partial_eq_filter: List[Repository] = <PLACEHOLDER>
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: __time__.TimeBounds = <PLACEHOLDER>
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.
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryBatchedStreamResponse(responses: List[ForwardRef('RepositoryStreamResponse')] = <PLACEHOLDER>)[source]
Bases:
Message- responses: List[RepositoryStreamResponse] = <PLACEHOLDER>
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).
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryConfig(key: ~cloudvision.api.arista.softwaremanagement.v1.RepositoryKey = <PLACEHOLDER>, uri: str | None = <PLACEHOLDER>, reboot_required: bool | None = <PLACEHOLDER>)[source]
Bases:
MessageRepositoryConfig 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”
},
},
}
- key: RepositoryKey = <PLACEHOLDER>
key is a unique identifier that must be supplied by the user to start a valid upload of software
- reboot_required: bool | None = <PLACEHOLDER>
reboot_required is a Boolean indicating if a device requires a reboot after software installation. .swi images always require a reboot.
- uri: str | None = <PLACEHOLDER>
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.
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryConfigBatchedStreamRequest(partial_eq_filter: List[ForwardRef('RepositoryConfig')] = <PLACEHOLDER>, time: '__time__.TimeBounds' = <PLACEHOLDER>, max_messages: int | None = <PLACEHOLDER>)[source]
Bases:
Message- max_messages: int | None = <PLACEHOLDER>
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.
- partial_eq_filter: List[RepositoryConfig] = <PLACEHOLDER>
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: __time__.TimeBounds = <PLACEHOLDER>
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.
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryConfigBatchedStreamResponse(responses: List[ForwardRef('RepositoryConfigStreamResponse')] = <PLACEHOLDER>)[source]
Bases:
Message- responses: List[RepositoryConfigStreamResponse] = <PLACEHOLDER>
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).
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryConfigDeleteAllRequest(partial_eq_filter: List[ForwardRef('RepositoryConfig')] = <PLACEHOLDER>)[source]
Bases:
Message- partial_eq_filter: List[RepositoryConfig] = <PLACEHOLDER>
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.
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryConfigDeleteAllResponse(type: '___fmp__.DeleteError' = <PLACEHOLDER>, error: str | None = <PLACEHOLDER>, key: 'RepositoryKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]
Bases:
Message- error: str | None = <PLACEHOLDER>
This indicates the error message from the delete failure.
- key: RepositoryKey = <PLACEHOLDER>
This is the key of the RepositoryConfig instance that failed to be deleted.
- time: datetime = <PLACEHOLDER>
Time indicates the (UTC) timestamp when the key was being deleted.
- type: ___fmp__.DeleteError = <PLACEHOLDER>
This describes the class of delete error. A DeleteAllResponse is only sent when there is an error.
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryConfigDeleteRequest(key: 'RepositoryKey' = <PLACEHOLDER>)[source]
Bases:
Message- key: RepositoryKey = <PLACEHOLDER>
Key indicates which RepositoryConfig instance to remove. This field must always be set.
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryConfigDeleteResponse(key: 'RepositoryKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]
Bases:
Message- key: RepositoryKey = <PLACEHOLDER>
Key echoes back the key of the deleted RepositoryConfig instance.
- time: datetime = <PLACEHOLDER>
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.
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryConfigDeleteSomeRequest(keys: List[ForwardRef('RepositoryKey')] = <PLACEHOLDER>)[source]
Bases:
Message- keys: List[RepositoryKey] = <PLACEHOLDER>
key contains a list of RepositoryConfig keys to delete
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryConfigDeleteSomeResponse(key: ~cloudvision.api.arista.softwaremanagement.v1.RepositoryKey = <PLACEHOLDER>, error: str = <PLACEHOLDER>)[source]
Bases:
MessageRepositoryConfigDeleteSomeResponse is only sent when there is an error.
- error: str = <PLACEHOLDER>
- key: RepositoryKey = <PLACEHOLDER>
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryConfigRequest(key: 'RepositoryKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]
Bases:
Message- key: RepositoryKey = <PLACEHOLDER>
Key uniquely identifies a RepositoryConfig instance to retrieve. This value must be populated.
- time: datetime = <PLACEHOLDER>
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.
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryConfigResponse(value: 'RepositoryConfig' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]
Bases:
Message- time: datetime = <PLACEHOLDER>
Time carries the (UTC) timestamp of the last-modification of the RepositoryConfig instance in this response.
- value: RepositoryConfig = <PLACEHOLDER>
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.
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryConfigServiceBase[source]
Bases:
ServiceBase- async delete(repository_config_delete_request: RepositoryConfigDeleteRequest) RepositoryConfigDeleteResponse[source]
- async delete_all(repository_config_delete_all_request: RepositoryConfigDeleteAllRequest) AsyncIterator[RepositoryConfigDeleteAllResponse][source]
- async delete_some(repository_config_delete_some_request: RepositoryConfigDeleteSomeRequest) AsyncIterator[RepositoryConfigDeleteSomeResponse][source]
- async get_all(repository_config_stream_request: RepositoryConfigStreamRequest) AsyncIterator[RepositoryConfigStreamResponse][source]
- async get_all_batched(repository_config_batched_stream_request: RepositoryConfigBatchedStreamRequest) AsyncIterator[RepositoryConfigBatchedStreamResponse][source]
- async get_meta(repository_config_stream_request: RepositoryConfigStreamRequest) MetaResponse[source]
- async get_one(repository_config_request: RepositoryConfigRequest) RepositoryConfigResponse[source]
- async get_some(repository_config_some_request: RepositoryConfigSomeRequest) AsyncIterator[RepositoryConfigSomeResponse][source]
- async set(repository_config_set_request: RepositoryConfigSetRequest) RepositoryConfigSetResponse[source]
- async set_some(repository_config_set_some_request: RepositoryConfigSetSomeRequest) AsyncIterator[RepositoryConfigSetSomeResponse][source]
- async subscribe(repository_config_stream_request: RepositoryConfigStreamRequest) AsyncIterator[RepositoryConfigStreamResponse][source]
- async subscribe_batched(repository_config_batched_stream_request: RepositoryConfigBatchedStreamRequest) AsyncIterator[RepositoryConfigBatchedStreamResponse][source]
- async subscribe_meta(repository_config_stream_request: RepositoryConfigStreamRequest) AsyncIterator[MetaResponse][source]
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryConfigServiceStub(channel: Channel, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: Mapping[str, str | bytes] | Collection[Tuple[str, str | bytes]] | None = None)[source]
Bases:
ServiceStub- async delete(repository_config_delete_request: RepositoryConfigDeleteRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) RepositoryConfigDeleteResponse[source]
- async delete_all(repository_config_delete_all_request: RepositoryConfigDeleteAllRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[RepositoryConfigDeleteAllResponse][source]
- async delete_some(repository_config_delete_some_request: RepositoryConfigDeleteSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[RepositoryConfigDeleteSomeResponse][source]
- async get_all(repository_config_stream_request: RepositoryConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[RepositoryConfigStreamResponse][source]
- async get_all_batched(repository_config_batched_stream_request: RepositoryConfigBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[RepositoryConfigBatchedStreamResponse][source]
- async get_meta(repository_config_stream_request: RepositoryConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) MetaResponse[source]
- async get_one(repository_config_request: RepositoryConfigRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) RepositoryConfigResponse[source]
- async get_some(repository_config_some_request: RepositoryConfigSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[RepositoryConfigSomeResponse][source]
- async set(repository_config_set_request: RepositoryConfigSetRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) RepositoryConfigSetResponse[source]
- async set_some(repository_config_set_some_request: RepositoryConfigSetSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[RepositoryConfigSetSomeResponse][source]
- async subscribe(repository_config_stream_request: RepositoryConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[RepositoryConfigStreamResponse][source]
- async subscribe_batched(repository_config_batched_stream_request: RepositoryConfigBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[RepositoryConfigBatchedStreamResponse][source]
- async subscribe_meta(repository_config_stream_request: RepositoryConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[MetaResponse][source]
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryConfigSetRequest(value: 'RepositoryConfig' = <PLACEHOLDER>)[source]
Bases:
Message- value: RepositoryConfig = <PLACEHOLDER>
RepositoryConfig carries the value to set into the datastore. See the documentation on the RepositoryConfig struct for which fields are required.
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryConfigSetResponse(value: 'RepositoryConfig' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]
Bases:
Message- time: datetime = <PLACEHOLDER>
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.
- value: RepositoryConfig = <PLACEHOLDER>
Value carries all the values given in the RepositoryConfigSetRequest as well as any server-generated values.
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryConfigSetSomeRequest(values: List[ForwardRef('RepositoryConfig')] = <PLACEHOLDER>)[source]
Bases:
Message- values: List[RepositoryConfig] = <PLACEHOLDER>
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.
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryConfigSetSomeResponse(key: 'RepositoryKey' = <PLACEHOLDER>, error: str = <PLACEHOLDER>)[source]
Bases:
Message- error: str = <PLACEHOLDER>
- key: RepositoryKey = <PLACEHOLDER>
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryConfigSomeRequest(keys: List[ForwardRef('RepositoryKey')] = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]
Bases:
Message- keys: List[RepositoryKey] = <PLACEHOLDER>
- time: datetime = <PLACEHOLDER>
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.
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryConfigSomeResponse(value: 'RepositoryConfig' = <PLACEHOLDER>, error: str | None = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]
Bases:
Message- error: str | None = <PLACEHOLDER>
Error is an optional field. It should be filled when there is an error in the GetSome process.
- time: datetime = <PLACEHOLDER>
- value: RepositoryConfig = <PLACEHOLDER>
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.
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryConfigStreamRequest(partial_eq_filter: List[ForwardRef('RepositoryConfig')] = <PLACEHOLDER>, time: '__time__.TimeBounds' = <PLACEHOLDER>)[source]
Bases:
Message- partial_eq_filter: List[RepositoryConfig] = <PLACEHOLDER>
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: __time__.TimeBounds = <PLACEHOLDER>
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.
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryConfigStreamResponse(value: 'RepositoryConfig' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>, type: '__subscriptions__.Operation' = <PLACEHOLDER>)[source]
Bases:
Message- time: datetime = <PLACEHOLDER>
Time holds the timestamp of this RepositoryConfig’s last modification.
- type: __subscriptions__.Operation = <PLACEHOLDER>
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.
- value: RepositoryConfig = <PLACEHOLDER>
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.
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryKey(name: str | None = <PLACEHOLDER>)[source]
Bases:
MessageRepositoryKey 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).
- name: str | None = <PLACEHOLDER>
name is a unique identifier that will be used to identify the image or extension in CloudVision
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryRequest(key: 'RepositoryKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]
Bases:
Message- key: RepositoryKey = <PLACEHOLDER>
Key uniquely identifies a Repository instance to retrieve. This value must be populated.
- time: datetime = <PLACEHOLDER>
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.
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryResponse(value: 'Repository' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]
Bases:
Message- time: datetime = <PLACEHOLDER>
Time carries the (UTC) timestamp of the last-modification of the Repository instance in this response.
- value: Repository = <PLACEHOLDER>
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.
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryServiceBase[source]
Bases:
ServiceBase- async get_all(repository_stream_request: RepositoryStreamRequest) AsyncIterator[RepositoryStreamResponse][source]
- async get_all_batched(repository_batched_stream_request: RepositoryBatchedStreamRequest) AsyncIterator[RepositoryBatchedStreamResponse][source]
- async get_meta(repository_stream_request: RepositoryStreamRequest) MetaResponse[source]
- async get_one(repository_request: RepositoryRequest) RepositoryResponse[source]
- async get_some(repository_some_request: RepositorySomeRequest) AsyncIterator[RepositorySomeResponse][source]
- async subscribe(repository_stream_request: RepositoryStreamRequest) AsyncIterator[RepositoryStreamResponse][source]
- async subscribe_batched(repository_batched_stream_request: RepositoryBatchedStreamRequest) AsyncIterator[RepositoryBatchedStreamResponse][source]
- async subscribe_meta(repository_stream_request: RepositoryStreamRequest) AsyncIterator[MetaResponse][source]
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryServiceStub(channel: Channel, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: Mapping[str, str | bytes] | Collection[Tuple[str, str | bytes]] | None = None)[source]
Bases:
ServiceStub- async get_all(repository_stream_request: RepositoryStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[RepositoryStreamResponse][source]
- async get_all_batched(repository_batched_stream_request: RepositoryBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[RepositoryBatchedStreamResponse][source]
- async get_meta(repository_stream_request: RepositoryStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) MetaResponse[source]
- async get_one(repository_request: RepositoryRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) RepositoryResponse[source]
- async get_some(repository_some_request: RepositorySomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[RepositorySomeResponse][source]
- async subscribe(repository_stream_request: RepositoryStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[RepositoryStreamResponse][source]
- async subscribe_batched(repository_batched_stream_request: RepositoryBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[RepositoryBatchedStreamResponse][source]
- async subscribe_meta(repository_stream_request: RepositoryStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[MetaResponse][source]
- class cloudvision.api.arista.softwaremanagement.v1.RepositorySomeRequest(keys: List[ForwardRef('RepositoryKey')] = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]
Bases:
Message- keys: List[RepositoryKey] = <PLACEHOLDER>
- time: datetime = <PLACEHOLDER>
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.
- class cloudvision.api.arista.softwaremanagement.v1.RepositorySomeResponse(value: 'Repository' = <PLACEHOLDER>, error: str | None = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]
Bases:
Message- error: str | None = <PLACEHOLDER>
Error is an optional field. It should be filled when there is an error in the GetSome process.
- time: datetime = <PLACEHOLDER>
- value: Repository = <PLACEHOLDER>
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.
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryStreamRequest(partial_eq_filter: List[ForwardRef('Repository')] = <PLACEHOLDER>, time: '__time__.TimeBounds' = <PLACEHOLDER>)[source]
Bases:
Message- partial_eq_filter: List[Repository] = <PLACEHOLDER>
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: __time__.TimeBounds = <PLACEHOLDER>
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.
- class cloudvision.api.arista.softwaremanagement.v1.RepositoryStreamResponse(value: 'Repository' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>, type: '__subscriptions__.Operation' = <PLACEHOLDER>)[source]
Bases:
Message- time: datetime = <PLACEHOLDER>
Time holds the timestamp of this Repository’s last modification.
- type: __subscriptions__.Operation = <PLACEHOLDER>
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.
- value: Repository = <PLACEHOLDER>
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.
- class cloudvision.api.arista.softwaremanagement.v1.SoftwareMetadata(digest_type: ~cloudvision.api.arista.softwaremanagement.v1.DigestType = <PLACEHOLDER>, digest: str | None = <PLACEHOLDER>, size: int | None = <PLACEHOLDER>, reboot_required: bool | None = <PLACEHOLDER>, software_type: ~cloudvision.api.arista.softwaremanagement.v1.SoftwareType = <PLACEHOLDER>, swi_metadata: ~cloudvision.api.arista.softwaremanagement.v1.SwiMetadata = <PLACEHOLDER>, extension_metadata: ~cloudvision.api.arista.softwaremanagement.v1.ExtensionMetadata = <PLACEHOLDER>, file_server_path: str | None = <PLACEHOLDER>, software_source: ~cloudvision.api.arista.softwaremanagement.v1.SoftwareSource = <PLACEHOLDER>)[source]
Bases:
MessageSoftwareMetadata is the detailed metadata describing software files.
- digest: str | None = <PLACEHOLDER>
digest is the digest value for the image or extension
- digest_type: DigestType = <PLACEHOLDER>
digest_type specifies the type of digest algorithm used to calculate the digest for this image or extension
- extension_metadata: ExtensionMetadata = <PLACEHOLDER>
extension_metadata is versioning information for extensions (.rpm and .swix)
- file_server_path: str | None = <PLACEHOLDER>
file_server_path is the location of the image or extension as stored in CloudVision
- reboot_required: bool | None = <PLACEHOLDER>
reboot_required boolean indicating if a device requires a reboot after software installation
- size: int | None = <PLACEHOLDER>
size is the size of the image or extension in bytes
- software_source: SoftwareSource = <PLACEHOLDER>
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
- software_type: SoftwareType = <PLACEHOLDER>
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 = <PLACEHOLDER>
swi_metadata is versioning information for .swi type images
- class cloudvision.api.arista.softwaremanagement.v1.SoftwareSource(value: int)[source]
Bases:
EnumSoftwareSource describes the software upload mode.
- CLOUD = SoftwareSource.CLOUD
SOFTWARE_SOURCE_CLOUD indicates that the image or extension has been downloaded from Arista’s Software Download site
- LOCAL = SoftwareSource.LOCAL
SOFTWARE_SOURCE_LOCAL indicates that the image or extension file has been uploaded directly to CloudVision by the user
- NP_MIGRATION = SoftwareSource.NP_MIGRATION
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.
- PRELOADED = SoftwareSource.PRELOADED
SOFTWARE_SOURCE_PRELOADED indicates that the image or extension file has been added as part of an upgrade of CloudVision.
- UNSPECIFIED = SoftwareSource.UNSPECIFIED
SOFTWARE_SOURCE_UNSPECIFIED indicates that the source is not known
- name: str | None
- value: int
- class cloudvision.api.arista.softwaremanagement.v1.SoftwareStatus(progress: ~cloudvision.api.arista.softwaremanagement.v1.Progress = <PLACEHOLDER>, message: str | None = <PLACEHOLDER>, recommended_action: ~cloudvision.api.arista.softwaremanagement.v1.RecommendedAction = <PLACEHOLDER>)[source]
Bases:
MessageSoftwareStatus contains a progress field and a description explaining the progress during software upload.
- message: str | None = <PLACEHOLDER>
message describes the progress of the software upload
- recommended_action: RecommendedAction = <PLACEHOLDER>
recommended_action expresses a particular user-actionable step that can be carried out to ensure the proper operation of CloudVision while managing software.
- class cloudvision.api.arista.softwaremanagement.v1.SoftwareType(value: int)[source]
Bases:
EnumSoftwareType 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.
- RPM = SoftwareType.RPM
SOFTWARE_TYPE_RPM identifies an RPM file. The corresponding files will have a .rpm extension.
- SWI = SoftwareType.SWI
SOFTWARE_TYPE_SWI identifies an EOS swi image type. The corresponding image files will have a .swi extension.
- SWIX = SoftwareType.SWIX
SOFTWARE_TYPE_SWIX identifies an extension type. The corresponding files will have a .swix extension.
- TERMINATTR = SoftwareType.TERMINATTR
SOFTWARE_TYPE_TERMINATTR identifies a Streaming Agent extension. The corresponding files will contain the term: “TerminAttr” (case insensitive) and a .swix extension.
- UNSPECIFIED = SoftwareType.UNSPECIFIED
SOFTWARE_TYPE_UNSPECIFIED indicates that the type cannot or has not been determined
- name: str | None
- value: int
- class cloudvision.api.arista.softwaremanagement.v1.SwiMetadata(version: str | None = <PLACEHOLDER>, release: str | None = <PLACEHOLDER>, variant: ~cloudvision.api.arista.softwaremanagement.v1.Variant = <PLACEHOLDER>, flavor: ~cloudvision.api.arista.softwaremanagement.v1.Flavor = <PLACEHOLDER>, arch: ~cloudvision.api.arista.softwaremanagement.v1.Arch = <PLACEHOLDER>, max_hardware_epoch: int | None = <PLACEHOLDER>, blessed: bool | None = <PLACEHOLDER>, image_format_version: ~cloudvision.api.arista.softwaremanagement.v1.ImageFormatVersion = <PLACEHOLDER>, embedded_terminattr: ~cloudvision.api.arista.softwaremanagement.v1.ExtensionMetadata = <PLACEHOLDER>, optimization: str | None = <PLACEHOLDER>, concrete_type_to_concrete_swi_map: ~cloudvision.api.arista.softwaremanagement.v1.ConcreteTypeToConcreteSwiMap = <PLACEHOLDER>)[source]
Bases:
MessageSwiMetadata is versioning metadata describing .swi type images.
- blessed: bool | None = <PLACEHOLDER>
blessed indicates if the swi image is blessed
- concrete_type_to_concrete_swi_map: ConcreteTypeToConcreteSwiMap = <PLACEHOLDER>
concrete_type_to_concrete_swi_map indicates a map to the concrete swi metadata
- embedded_terminattr: ExtensionMetadata = <PLACEHOLDER>
embedded_terminattr specifies the default embedded TerminAttr version pre-installed in the EOS swi image
- image_format_version: ImageFormatVersion = <PLACEHOLDER>
image_format_version specifies the EOS image format version
- max_hardware_epoch: int | None = <PLACEHOLDER>
max_hardware_epoch specifies the max hardware epoch value supported
- optimization: str | None = <PLACEHOLDER>
optimization specifies any adaptations made to the image for specific products or use-cases
- release: str | None = <PLACEHOLDER>
release specifies the swi image release information
- version: str | None = <PLACEHOLDER>
version specifies the version of the swi image
- class cloudvision.api.arista.softwaremanagement.v1.Variant(value: int)[source]
Bases:
EnumVariant is an enum containing the possible .swi variant types.
- INTERNATIONAL = Variant.INTERNATIONAL
VARIANT_INTERNATIONAL specifies an international EOS image variant
- UNSPECIFIED = Variant.UNSPECIFIED
VARIANT_UNSPECIFIED is used to indicate an unknown or unspecified EOS image variant
- US = Variant.US
VARIANT_US specifies a US or default version of an EOS image variant
- name: str | None
- value: int