cloudvision.api.arista.studio_topology.v1 package

Module contents

class cloudvision.api.arista.studio_topology.v1.Decommission(key: ~cloudvision.api.arista.studio_topology.v1.DeviceKey = <PLACEHOLDER>, created_at: ~datetime.datetime = <PLACEHOLDER>, created_by: str | None = <PLACEHOLDER>, last_modified_at: ~datetime.datetime = <PLACEHOLDER>, last_modified_by: str | None = <PLACEHOLDER>, status: ~cloudvision.api.arista.studio_topology.v1.DecommissionStatus = <PLACEHOLDER>, error: str | None = <PLACEHOLDER>)[source]

Bases: Message

Decommission is the resource that holds the decommissioning state of a device.

created_at: datetime = <PLACEHOLDER>

created_at is the time at which decommissioning was first initiated.

created_by: str | None = <PLACEHOLDER>

created_by is the name of the user who first initiated decommissioning.

error: str | None = <PLACEHOLDER>

error indicates if there is a failure in decommissioning.

key: DeviceKey = <PLACEHOLDER>

key uniquely identifies the device in a given workspace.

last_modified_at: datetime = <PLACEHOLDER>

last_modified_at is the time at which the decommissioning was last modified.

last_modified_by: str | None = <PLACEHOLDER>

last_modified_by is the name of the user that last modified the status.

status: DecommissionStatus = <PLACEHOLDER>

status is the status of the decommissioning operation.

class cloudvision.api.arista.studio_topology.v1.DecommissionBatchedStreamRequest(partial_eq_filter: List[ForwardRef('Decommission')] = <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[Decommission] = <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 Decommission at end. * Each Decommission response is fully-specified (all fields set).

  • start: Returns the state of each Decommission at start, followed by updates until now. * Each Decommission response at start is fully-specified, but updates may be partial.

  • start and end: Returns the state of each Decommission at start, followed by updates until end. * Each Decommission response at start is fully-specified, but updates until end may

    be partial.

class cloudvision.api.arista.studio_topology.v1.DecommissionBatchedStreamResponse(responses: List[ForwardRef('DecommissionStreamResponse')] = <PLACEHOLDER>)[source]

Bases: Message

responses: List[DecommissionStreamResponse] = <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.studio_topology.v1.DecommissionConfig(key: ~cloudvision.api.arista.studio_topology.v1.DeviceKey = <PLACEHOLDER>)[source]

Bases: Message

DecommissionConfig is the resource for decommissioning the device from the studio.

key: DeviceKey = <PLACEHOLDER>

key uniquely identifies the device for a given workspace.

class cloudvision.api.arista.studio_topology.v1.DecommissionConfigBatchedStreamRequest(partial_eq_filter: List[ForwardRef('DecommissionConfig')] = <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[DecommissionConfig] = <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 DecommissionConfig at end. * Each DecommissionConfig response is fully-specified (all fields set).

  • start: Returns the state of each DecommissionConfig at start, followed by updates until now. * Each DecommissionConfig response at start is fully-specified, but updates may be partial.

  • start and end: Returns the state of each DecommissionConfig at start, followed by updates until end. * Each DecommissionConfig response at start is fully-specified, but updates until end may

    be partial.

class cloudvision.api.arista.studio_topology.v1.DecommissionConfigBatchedStreamResponse(responses: List[ForwardRef('DecommissionConfigStreamResponse')] = <PLACEHOLDER>)[source]

Bases: Message

responses: List[DecommissionConfigStreamResponse] = <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.studio_topology.v1.DecommissionConfigDeleteAllRequest(partial_eq_filter: List[ForwardRef('DecommissionConfig')] = <PLACEHOLDER>)[source]

Bases: Message

partial_eq_filter: List[DecommissionConfig] = <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.studio_topology.v1.DecommissionConfigDeleteAllResponse(type: '___fmp__.DeleteError' = <PLACEHOLDER>, error: str | None = <PLACEHOLDER>, key: 'DeviceKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

error: str | None = <PLACEHOLDER>

This indicates the error message from the delete failure.

key: DeviceKey = <PLACEHOLDER>

This is the key of the DecommissionConfig 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.studio_topology.v1.DecommissionConfigDeleteRequest(key: 'DeviceKey' = <PLACEHOLDER>)[source]

Bases: Message

key: DeviceKey = <PLACEHOLDER>

Key indicates which DecommissionConfig instance to remove. This field must always be set.

class cloudvision.api.arista.studio_topology.v1.DecommissionConfigDeleteResponse(key: 'DeviceKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

key: DeviceKey = <PLACEHOLDER>

Key echoes back the key of the deleted DecommissionConfig 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.studio_topology.v1.DecommissionConfigDeleteSomeRequest(keys: List[ForwardRef('DeviceKey')] = <PLACEHOLDER>)[source]

Bases: Message

keys: List[DeviceKey] = <PLACEHOLDER>

key contains a list of DecommissionConfig keys to delete

class cloudvision.api.arista.studio_topology.v1.DecommissionConfigDeleteSomeResponse(key: ~cloudvision.api.arista.studio_topology.v1.DeviceKey = <PLACEHOLDER>, error: str = <PLACEHOLDER>)[source]

Bases: Message

DecommissionConfigDeleteSomeResponse is only sent when there is an error.

error: str = <PLACEHOLDER>
key: DeviceKey = <PLACEHOLDER>
class cloudvision.api.arista.studio_topology.v1.DecommissionConfigRequest(key: 'DeviceKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

key: DeviceKey = <PLACEHOLDER>

Key uniquely identifies a DecommissionConfig 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.studio_topology.v1.DecommissionConfigResponse(value: 'DecommissionConfig' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

time: datetime = <PLACEHOLDER>

Time carries the (UTC) timestamp of the last-modification of the DecommissionConfig instance in this response.

value: DecommissionConfig = <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.studio_topology.v1.DecommissionConfigServiceBase[source]

Bases: ServiceBase

async delete(decommission_config_delete_request: DecommissionConfigDeleteRequest) DecommissionConfigDeleteResponse[source]
async delete_all(decommission_config_delete_all_request: DecommissionConfigDeleteAllRequest) AsyncIterator[DecommissionConfigDeleteAllResponse][source]
async delete_some(decommission_config_delete_some_request: DecommissionConfigDeleteSomeRequest) AsyncIterator[DecommissionConfigDeleteSomeResponse][source]
async get_all(decommission_config_stream_request: DecommissionConfigStreamRequest) AsyncIterator[DecommissionConfigStreamResponse][source]
async get_all_batched(decommission_config_batched_stream_request: DecommissionConfigBatchedStreamRequest) AsyncIterator[DecommissionConfigBatchedStreamResponse][source]
async get_meta(decommission_config_stream_request: DecommissionConfigStreamRequest) MetaResponse[source]
async get_one(decommission_config_request: DecommissionConfigRequest) DecommissionConfigResponse[source]
async get_some(decommission_config_some_request: DecommissionConfigSomeRequest) AsyncIterator[DecommissionConfigSomeResponse][source]
async set(decommission_config_set_request: DecommissionConfigSetRequest) DecommissionConfigSetResponse[source]
async set_some(decommission_config_set_some_request: DecommissionConfigSetSomeRequest) AsyncIterator[DecommissionConfigSetSomeResponse][source]
async subscribe(decommission_config_stream_request: DecommissionConfigStreamRequest) AsyncIterator[DecommissionConfigStreamResponse][source]
async subscribe_batched(decommission_config_batched_stream_request: DecommissionConfigBatchedStreamRequest) AsyncIterator[DecommissionConfigBatchedStreamResponse][source]
async subscribe_meta(decommission_config_stream_request: DecommissionConfigStreamRequest) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.studio_topology.v1.DecommissionConfigServiceStub(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(decommission_config_delete_request: DecommissionConfigDeleteRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) DecommissionConfigDeleteResponse[source]
async delete_all(decommission_config_delete_all_request: DecommissionConfigDeleteAllRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DecommissionConfigDeleteAllResponse][source]
async delete_some(decommission_config_delete_some_request: DecommissionConfigDeleteSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DecommissionConfigDeleteSomeResponse][source]
async get_all(decommission_config_stream_request: DecommissionConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DecommissionConfigStreamResponse][source]
async get_all_batched(decommission_config_batched_stream_request: DecommissionConfigBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DecommissionConfigBatchedStreamResponse][source]
async get_meta(decommission_config_stream_request: DecommissionConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) MetaResponse[source]
async get_one(decommission_config_request: DecommissionConfigRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) DecommissionConfigResponse[source]
async get_some(decommission_config_some_request: DecommissionConfigSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DecommissionConfigSomeResponse][source]
async set(decommission_config_set_request: DecommissionConfigSetRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) DecommissionConfigSetResponse[source]
async set_some(decommission_config_set_some_request: DecommissionConfigSetSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DecommissionConfigSetSomeResponse][source]
async subscribe(decommission_config_stream_request: DecommissionConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DecommissionConfigStreamResponse][source]
async subscribe_batched(decommission_config_batched_stream_request: DecommissionConfigBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DecommissionConfigBatchedStreamResponse][source]
async subscribe_meta(decommission_config_stream_request: DecommissionConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.studio_topology.v1.DecommissionConfigSetRequest(value: 'DecommissionConfig' = <PLACEHOLDER>)[source]

Bases: Message

value: DecommissionConfig = <PLACEHOLDER>

DecommissionConfig carries the value to set into the datastore. See the documentation on the DecommissionConfig struct for which fields are required.

class cloudvision.api.arista.studio_topology.v1.DecommissionConfigSetResponse(value: 'DecommissionConfig' = <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: DecommissionConfig = <PLACEHOLDER>

Value carries all the values given in the DecommissionConfigSetRequest as well as any server-generated values.

class cloudvision.api.arista.studio_topology.v1.DecommissionConfigSetSomeRequest(values: List[ForwardRef('DecommissionConfig')] = <PLACEHOLDER>)[source]

Bases: Message

values: List[DecommissionConfig] = <PLACEHOLDER>

value contains a list of DecommissionConfig 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.studio_topology.v1.DecommissionConfigSetSomeResponse(key: 'DeviceKey' = <PLACEHOLDER>, error: str = <PLACEHOLDER>)[source]

Bases: Message

error: str = <PLACEHOLDER>
key: DeviceKey = <PLACEHOLDER>
class cloudvision.api.arista.studio_topology.v1.DecommissionConfigSomeRequest(keys: List[ForwardRef('DeviceKey')] = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

keys: List[DeviceKey] = <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.studio_topology.v1.DecommissionConfigSomeResponse(value: 'DecommissionConfig' = <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>

Time carries the (UTC) timestamp of the last-modification of the DecommissionConfig instance in this response.

value: DecommissionConfig = <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.studio_topology.v1.DecommissionConfigStreamRequest(partial_eq_filter: List[ForwardRef('DecommissionConfig')] = <PLACEHOLDER>, time: '__time__.TimeBounds' = <PLACEHOLDER>)[source]

Bases: Message

partial_eq_filter: List[DecommissionConfig] = <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 DecommissionConfig at end. * Each DecommissionConfig response is fully-specified (all fields set).

  • start: Returns the state of each DecommissionConfig at start, followed by updates until now. * Each DecommissionConfig response at start is fully-specified, but updates may be partial.

  • start and end: Returns the state of each DecommissionConfig at start, followed by updates until end. * Each DecommissionConfig response at start is fully-specified, but updates until end may

    be partial.

class cloudvision.api.arista.studio_topology.v1.DecommissionConfigStreamResponse(value: 'DecommissionConfig' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>, type: '__subscriptions__.Operation' = <PLACEHOLDER>)[source]

Bases: Message

time: datetime = <PLACEHOLDER>

Time holds the timestamp of this DecommissionConfig’s last modification.

type: __subscriptions__.Operation = <PLACEHOLDER>

Operation indicates how the DecommissionConfig 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: DecommissionConfig = <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.studio_topology.v1.DecommissionRequest(key: 'DeviceKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

key: DeviceKey = <PLACEHOLDER>

Key uniquely identifies a Decommission 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.studio_topology.v1.DecommissionResponse(value: 'Decommission' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

time: datetime = <PLACEHOLDER>

Time carries the (UTC) timestamp of the last-modification of the Decommission instance in this response.

value: Decommission = <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.studio_topology.v1.DecommissionServiceBase[source]

Bases: ServiceBase

async get_all(decommission_stream_request: DecommissionStreamRequest) AsyncIterator[DecommissionStreamResponse][source]
async get_all_batched(decommission_batched_stream_request: DecommissionBatchedStreamRequest) AsyncIterator[DecommissionBatchedStreamResponse][source]
async get_meta(decommission_stream_request: DecommissionStreamRequest) MetaResponse[source]
async get_one(decommission_request: DecommissionRequest) DecommissionResponse[source]
async get_some(decommission_some_request: DecommissionSomeRequest) AsyncIterator[DecommissionSomeResponse][source]
async subscribe(decommission_stream_request: DecommissionStreamRequest) AsyncIterator[DecommissionStreamResponse][source]
async subscribe_batched(decommission_batched_stream_request: DecommissionBatchedStreamRequest) AsyncIterator[DecommissionBatchedStreamResponse][source]
async subscribe_meta(decommission_stream_request: DecommissionStreamRequest) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.studio_topology.v1.DecommissionServiceStub(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(decommission_stream_request: DecommissionStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DecommissionStreamResponse][source]
async get_all_batched(decommission_batched_stream_request: DecommissionBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DecommissionBatchedStreamResponse][source]
async get_meta(decommission_stream_request: DecommissionStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) MetaResponse[source]
async get_one(decommission_request: DecommissionRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) DecommissionResponse[source]
async get_some(decommission_some_request: DecommissionSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DecommissionSomeResponse][source]
async subscribe(decommission_stream_request: DecommissionStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DecommissionStreamResponse][source]
async subscribe_batched(decommission_batched_stream_request: DecommissionBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DecommissionBatchedStreamResponse][source]
async subscribe_meta(decommission_stream_request: DecommissionStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.studio_topology.v1.DecommissionSomeRequest(keys: List[ForwardRef('DeviceKey')] = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

keys: List[DeviceKey] = <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.studio_topology.v1.DecommissionSomeResponse(value: 'Decommission' = <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>

Time carries the (UTC) timestamp of the last-modification of the Decommission instance in this response.

value: Decommission = <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.studio_topology.v1.DecommissionStatus(value: int)[source]

Bases: Enum

DecommissionStatus enumerates the status of decommissioning a device.

FAILURE = DecommissionStatus.FAILURE

DECOMMISSION_STATUS_FAILURE indicates an error with decommissioning the device.

SUCCESS = DecommissionStatus.SUCCESS

DECOMMISSION_STATUS_SUCCESS indicates that the device was successfully decommissioned.

UNSPECIFIED = DecommissionStatus.UNSPECIFIED

DECOMMISSION_STATUS_UNSPECIFIED indicates that the device was decommissioned with an unspecified state.

name: str | None
value: int
class cloudvision.api.arista.studio_topology.v1.DecommissionStreamRequest(partial_eq_filter: List[ForwardRef('Decommission')] = <PLACEHOLDER>, time: '__time__.TimeBounds' = <PLACEHOLDER>)[source]

Bases: Message

partial_eq_filter: List[Decommission] = <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 Decommission at end. * Each Decommission response is fully-specified (all fields set).

  • start: Returns the state of each Decommission at start, followed by updates until now. * Each Decommission response at start is fully-specified, but updates may be partial.

  • start and end: Returns the state of each Decommission at start, followed by updates until end. * Each Decommission response at start is fully-specified, but updates until end may

    be partial.

class cloudvision.api.arista.studio_topology.v1.DecommissionStreamResponse(value: 'Decommission' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>, type: '__subscriptions__.Operation' = <PLACEHOLDER>)[source]

Bases: Message

time: datetime = <PLACEHOLDER>

Time holds the timestamp of this Decommission’s last modification.

type: __subscriptions__.Operation = <PLACEHOLDER>

Operation indicates how the Decommission 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: Decommission = <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.studio_topology.v1.DeviceInfo(device_id: str | None = <PLACEHOLDER>, model_name: str | None = <PLACEHOLDER>, mac_address: ~cloudvision.api.fmp.MacAddress = <PLACEHOLDER>, hostname: str | None = <PLACEHOLDER>, match_any_device: bool | None = <PLACEHOLDER>, expected_serial_numbers: ~cloudvision.api.fmp.RepeatedString = <PLACEHOLDER>)[source]

Bases: Message

DeviceInfo contains device properties.

device_id: str | None = <PLACEHOLDER>

device_id identifies the device uniquely.

expected_serial_numbers: ___fmp__.RepeatedString = <PLACEHOLDER>

expected_serial_numbers indicates a list of possible serial numbers which can be expected for this device. The expected device entry specified by the device_id field above will be matched with only one of the serial numbers in this list. Should be populated only for an expected device and when match_any_device is set to false.

hostname: str | None = <PLACEHOLDER>

hostname indicates the hostname of the device.

mac_address: ___fmp__.MacAddress = <PLACEHOLDER>

mac_address indicates the MAC address of the device.

match_any_device: bool | None = <PLACEHOLDER>

match_any_device is an indicator to match any online device with the device identified by the device_id field above. An online device is any EOS device which is streaming to CVP and has not been provisioned yet. This argument is used only if the device is an expected device and not relevant to other devices. For an expected device, the device_id fields holds an temporary UUID. Hence, the match has to occur based on the combination of expected_serial_numbers and match_any_device fields and not the device_id field. This field is mandatory for an expected device. If this field is true, expected_serial_numbers should be empty. If this field is false, expected_serial_numbers should be provided.

model_name: str | None = <PLACEHOLDER>

model_name indicates the model of the device.

class cloudvision.api.arista.studio_topology.v1.DeviceInputConfig(key: ~cloudvision.api.arista.studio_topology.v1.DeviceKey = <PLACEHOLDER>, device_info: ~cloudvision.api.arista.studio_topology.v1.DeviceInfo = <PLACEHOLDER>, remove: bool | None = <PLACEHOLDER>, is_expected_device: bool | None = <PLACEHOLDER>)[source]

Bases: Message

DeviceInputConfig is the desired topology input for a device.

device_info: DeviceInfo = <PLACEHOLDER>

device_info contains device properties.

is_expected_device: bool | None = <PLACEHOLDER>

is_expected_device specifies if this is an expected device.

key: DeviceKey = <PLACEHOLDER>

key uniquely identifies the device ID for a given workspace.

remove: bool | None = <PLACEHOLDER>

remove if set to true will remove the device from mainline post workspace merge.

class cloudvision.api.arista.studio_topology.v1.DeviceInputConfigBatchedStreamRequest(partial_eq_filter: List[ForwardRef('DeviceInputConfig')] = <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[DeviceInputConfig] = <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 DeviceInputConfig at end. * Each DeviceInputConfig response is fully-specified (all fields set).

  • start: Returns the state of each DeviceInputConfig at start, followed by updates until now. * Each DeviceInputConfig response at start is fully-specified, but updates may be partial.

  • start and end: Returns the state of each DeviceInputConfig at start, followed by updates until end. * Each DeviceInputConfig response at start is fully-specified, but updates until end may

    be partial.

class cloudvision.api.arista.studio_topology.v1.DeviceInputConfigBatchedStreamResponse(responses: List[ForwardRef('DeviceInputConfigStreamResponse')] = <PLACEHOLDER>)[source]

Bases: Message

responses: List[DeviceInputConfigStreamResponse] = <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.studio_topology.v1.DeviceInputConfigDeleteAllRequest(partial_eq_filter: List[ForwardRef('DeviceInputConfig')] = <PLACEHOLDER>)[source]

Bases: Message

partial_eq_filter: List[DeviceInputConfig] = <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.studio_topology.v1.DeviceInputConfigDeleteAllResponse(type: '___fmp__.DeleteError' = <PLACEHOLDER>, error: str | None = <PLACEHOLDER>, key: 'DeviceKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

error: str | None = <PLACEHOLDER>

This indicates the error message from the delete failure.

key: DeviceKey = <PLACEHOLDER>

This is the key of the DeviceInputConfig 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.studio_topology.v1.DeviceInputConfigDeleteRequest(key: 'DeviceKey' = <PLACEHOLDER>)[source]

Bases: Message

key: DeviceKey = <PLACEHOLDER>

Key indicates which DeviceInputConfig instance to remove. This field must always be set.

class cloudvision.api.arista.studio_topology.v1.DeviceInputConfigDeleteResponse(key: 'DeviceKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

key: DeviceKey = <PLACEHOLDER>

Key echoes back the key of the deleted DeviceInputConfig 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.studio_topology.v1.DeviceInputConfigDeleteSomeRequest(keys: List[ForwardRef('DeviceKey')] = <PLACEHOLDER>)[source]

Bases: Message

keys: List[DeviceKey] = <PLACEHOLDER>

key contains a list of DeviceInputConfig keys to delete

class cloudvision.api.arista.studio_topology.v1.DeviceInputConfigDeleteSomeResponse(key: ~cloudvision.api.arista.studio_topology.v1.DeviceKey = <PLACEHOLDER>, error: str = <PLACEHOLDER>)[source]

Bases: Message

DeviceInputConfigDeleteSomeResponse is only sent when there is an error.

error: str = <PLACEHOLDER>
key: DeviceKey = <PLACEHOLDER>
class cloudvision.api.arista.studio_topology.v1.DeviceInputConfigRequest(key: 'DeviceKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

key: DeviceKey = <PLACEHOLDER>

Key uniquely identifies a DeviceInputConfig 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.studio_topology.v1.DeviceInputConfigResponse(value: 'DeviceInputConfig' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

time: datetime = <PLACEHOLDER>

Time carries the (UTC) timestamp of the last-modification of the DeviceInputConfig instance in this response.

value: DeviceInputConfig = <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.studio_topology.v1.DeviceInputConfigServiceBase[source]

Bases: ServiceBase

async delete(device_input_config_delete_request: DeviceInputConfigDeleteRequest) DeviceInputConfigDeleteResponse[source]
async delete_all(device_input_config_delete_all_request: DeviceInputConfigDeleteAllRequest) AsyncIterator[DeviceInputConfigDeleteAllResponse][source]
async delete_some(device_input_config_delete_some_request: DeviceInputConfigDeleteSomeRequest) AsyncIterator[DeviceInputConfigDeleteSomeResponse][source]
async get_all(device_input_config_stream_request: DeviceInputConfigStreamRequest) AsyncIterator[DeviceInputConfigStreamResponse][source]
async get_all_batched(device_input_config_batched_stream_request: DeviceInputConfigBatchedStreamRequest) AsyncIterator[DeviceInputConfigBatchedStreamResponse][source]
async get_meta(device_input_config_stream_request: DeviceInputConfigStreamRequest) MetaResponse[source]
async get_one(device_input_config_request: DeviceInputConfigRequest) DeviceInputConfigResponse[source]
async get_some(device_input_config_some_request: DeviceInputConfigSomeRequest) AsyncIterator[DeviceInputConfigSomeResponse][source]
async set(device_input_config_set_request: DeviceInputConfigSetRequest) DeviceInputConfigSetResponse[source]
async set_some(device_input_config_set_some_request: DeviceInputConfigSetSomeRequest) AsyncIterator[DeviceInputConfigSetSomeResponse][source]
async subscribe(device_input_config_stream_request: DeviceInputConfigStreamRequest) AsyncIterator[DeviceInputConfigStreamResponse][source]
async subscribe_batched(device_input_config_batched_stream_request: DeviceInputConfigBatchedStreamRequest) AsyncIterator[DeviceInputConfigBatchedStreamResponse][source]
async subscribe_meta(device_input_config_stream_request: DeviceInputConfigStreamRequest) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.studio_topology.v1.DeviceInputConfigServiceStub(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(device_input_config_delete_request: DeviceInputConfigDeleteRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) DeviceInputConfigDeleteResponse[source]
async delete_all(device_input_config_delete_all_request: DeviceInputConfigDeleteAllRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DeviceInputConfigDeleteAllResponse][source]
async delete_some(device_input_config_delete_some_request: DeviceInputConfigDeleteSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DeviceInputConfigDeleteSomeResponse][source]
async get_all(device_input_config_stream_request: DeviceInputConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DeviceInputConfigStreamResponse][source]
async get_all_batched(device_input_config_batched_stream_request: DeviceInputConfigBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DeviceInputConfigBatchedStreamResponse][source]
async get_meta(device_input_config_stream_request: DeviceInputConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) MetaResponse[source]
async get_one(device_input_config_request: DeviceInputConfigRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) DeviceInputConfigResponse[source]
async get_some(device_input_config_some_request: DeviceInputConfigSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DeviceInputConfigSomeResponse][source]
async set(device_input_config_set_request: DeviceInputConfigSetRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) DeviceInputConfigSetResponse[source]
async set_some(device_input_config_set_some_request: DeviceInputConfigSetSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DeviceInputConfigSetSomeResponse][source]
async subscribe(device_input_config_stream_request: DeviceInputConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DeviceInputConfigStreamResponse][source]
async subscribe_batched(device_input_config_batched_stream_request: DeviceInputConfigBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DeviceInputConfigBatchedStreamResponse][source]
async subscribe_meta(device_input_config_stream_request: DeviceInputConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.studio_topology.v1.DeviceInputConfigSetRequest(value: 'DeviceInputConfig' = <PLACEHOLDER>)[source]

Bases: Message

value: DeviceInputConfig = <PLACEHOLDER>

DeviceInputConfig carries the value to set into the datastore. See the documentation on the DeviceInputConfig struct for which fields are required.

class cloudvision.api.arista.studio_topology.v1.DeviceInputConfigSetResponse(value: 'DeviceInputConfig' = <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: DeviceInputConfig = <PLACEHOLDER>

Value carries all the values given in the DeviceInputConfigSetRequest as well as any server-generated values.

class cloudvision.api.arista.studio_topology.v1.DeviceInputConfigSetSomeRequest(values: List[ForwardRef('DeviceInputConfig')] = <PLACEHOLDER>)[source]

Bases: Message

values: List[DeviceInputConfig] = <PLACEHOLDER>

value contains a list of DeviceInputConfig 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.studio_topology.v1.DeviceInputConfigSetSomeResponse(key: 'DeviceKey' = <PLACEHOLDER>, error: str = <PLACEHOLDER>)[source]

Bases: Message

error: str = <PLACEHOLDER>
key: DeviceKey = <PLACEHOLDER>
class cloudvision.api.arista.studio_topology.v1.DeviceInputConfigSomeRequest(keys: List[ForwardRef('DeviceKey')] = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

keys: List[DeviceKey] = <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.studio_topology.v1.DeviceInputConfigSomeResponse(value: 'DeviceInputConfig' = <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>

Time carries the (UTC) timestamp of the last-modification of the DeviceInputConfig instance in this response.

value: DeviceInputConfig = <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.studio_topology.v1.DeviceInputConfigStreamRequest(partial_eq_filter: List[ForwardRef('DeviceInputConfig')] = <PLACEHOLDER>, time: '__time__.TimeBounds' = <PLACEHOLDER>)[source]

Bases: Message

partial_eq_filter: List[DeviceInputConfig] = <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 DeviceInputConfig at end. * Each DeviceInputConfig response is fully-specified (all fields set).

  • start: Returns the state of each DeviceInputConfig at start, followed by updates until now. * Each DeviceInputConfig response at start is fully-specified, but updates may be partial.

  • start and end: Returns the state of each DeviceInputConfig at start, followed by updates until end. * Each DeviceInputConfig response at start is fully-specified, but updates until end may

    be partial.

class cloudvision.api.arista.studio_topology.v1.DeviceInputConfigStreamResponse(value: 'DeviceInputConfig' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>, type: '__subscriptions__.Operation' = <PLACEHOLDER>)[source]

Bases: Message

time: datetime = <PLACEHOLDER>

Time holds the timestamp of this DeviceInputConfig’s last modification.

type: __subscriptions__.Operation = <PLACEHOLDER>

Operation indicates how the DeviceInputConfig 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: DeviceInputConfig = <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.studio_topology.v1.DeviceKey(workspace_id: str | None = <PLACEHOLDER>, device_id: str | None = <PLACEHOLDER>)[source]

Bases: Message

DeviceKey uniquely identifies the device for a workspace.

device_id: str | None = <PLACEHOLDER>

device_id identifies the device uniquely.

workspace_id: str | None = <PLACEHOLDER>

workspace_id identifies the workspace uniquely.

class cloudvision.api.arista.studio_topology.v1.DeviceState(key: ~cloudvision.api.arista.studio_topology.v1.DeviceKey = <PLACEHOLDER>, device_info: ~cloudvision.api.arista.studio_topology.v1.DeviceInfo = <PLACEHOLDER>, interface_infos: ~cloudvision.api.arista.studio_topology.v1.InterfaceInfos = <PLACEHOLDER>, device_status: ~cloudvision.api.arista.studio_topology.v1.DeviceStatus = <PLACEHOLDER>)[source]

Bases: Message

DeviceState is the state of a device written by InterfaceInputConfig, DeviceInputConfig and UpdateConfig resources.

device_info: DeviceInfo = <PLACEHOLDER>

device_info contains device properties.

device_status: DeviceStatus = <PLACEHOLDER>

device_status contains the status of the device.

interface_infos: InterfaceInfos = <PLACEHOLDER>

interface_infos contains interface properties of all the interfaces belonging to the device.

key: DeviceKey = <PLACEHOLDER>

key uniquely identifies the device for a given workspace.

class cloudvision.api.arista.studio_topology.v1.DeviceStateBatchedStreamRequest(partial_eq_filter: List[ForwardRef('DeviceState')] = <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[DeviceState] = <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 DeviceState at end. * Each DeviceState response is fully-specified (all fields set).

  • start: Returns the state of each DeviceState at start, followed by updates until now. * Each DeviceState response at start is fully-specified, but updates may be partial.

  • start and end: Returns the state of each DeviceState at start, followed by updates until end. * Each DeviceState response at start is fully-specified, but updates until end may

    be partial.

class cloudvision.api.arista.studio_topology.v1.DeviceStateBatchedStreamResponse(responses: List[ForwardRef('DeviceStateStreamResponse')] = <PLACEHOLDER>)[source]

Bases: Message

responses: List[DeviceStateStreamResponse] = <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.studio_topology.v1.DeviceStateRequest(key: 'DeviceKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

key: DeviceKey = <PLACEHOLDER>

Key uniquely identifies a DeviceState 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.studio_topology.v1.DeviceStateResponse(value: 'DeviceState' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

time: datetime = <PLACEHOLDER>

Time carries the (UTC) timestamp of the last-modification of the DeviceState instance in this response.

value: DeviceState = <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.studio_topology.v1.DeviceStateServiceBase[source]

Bases: ServiceBase

async get_all(device_state_stream_request: DeviceStateStreamRequest) AsyncIterator[DeviceStateStreamResponse][source]
async get_all_batched(device_state_batched_stream_request: DeviceStateBatchedStreamRequest) AsyncIterator[DeviceStateBatchedStreamResponse][source]
async get_meta(device_state_stream_request: DeviceStateStreamRequest) MetaResponse[source]
async get_one(device_state_request: DeviceStateRequest) DeviceStateResponse[source]
async get_some(device_state_some_request: DeviceStateSomeRequest) AsyncIterator[DeviceStateSomeResponse][source]
async subscribe(device_state_stream_request: DeviceStateStreamRequest) AsyncIterator[DeviceStateStreamResponse][source]
async subscribe_batched(device_state_batched_stream_request: DeviceStateBatchedStreamRequest) AsyncIterator[DeviceStateBatchedStreamResponse][source]
async subscribe_meta(device_state_stream_request: DeviceStateStreamRequest) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.studio_topology.v1.DeviceStateServiceStub(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(device_state_stream_request: DeviceStateStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DeviceStateStreamResponse][source]
async get_all_batched(device_state_batched_stream_request: DeviceStateBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DeviceStateBatchedStreamResponse][source]
async get_meta(device_state_stream_request: DeviceStateStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) MetaResponse[source]
async get_one(device_state_request: DeviceStateRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) DeviceStateResponse[source]
async get_some(device_state_some_request: DeviceStateSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DeviceStateSomeResponse][source]
async subscribe(device_state_stream_request: DeviceStateStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DeviceStateStreamResponse][source]
async subscribe_batched(device_state_batched_stream_request: DeviceStateBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DeviceStateBatchedStreamResponse][source]
async subscribe_meta(device_state_stream_request: DeviceStateStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.studio_topology.v1.DeviceStateSomeRequest(keys: List[ForwardRef('DeviceKey')] = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

keys: List[DeviceKey] = <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.studio_topology.v1.DeviceStateSomeResponse(value: 'DeviceState' = <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>

Time carries the (UTC) timestamp of the last-modification of the DeviceState instance in this response.

value: DeviceState = <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.studio_topology.v1.DeviceStateStreamRequest(partial_eq_filter: List[ForwardRef('DeviceState')] = <PLACEHOLDER>, time: '__time__.TimeBounds' = <PLACEHOLDER>)[source]

Bases: Message

partial_eq_filter: List[DeviceState] = <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 DeviceState at end. * Each DeviceState response is fully-specified (all fields set).

  • start: Returns the state of each DeviceState at start, followed by updates until now. * Each DeviceState response at start is fully-specified, but updates may be partial.

  • start and end: Returns the state of each DeviceState at start, followed by updates until end. * Each DeviceState response at start is fully-specified, but updates until end may

    be partial.

class cloudvision.api.arista.studio_topology.v1.DeviceStateStreamResponse(value: 'DeviceState' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>, type: '__subscriptions__.Operation' = <PLACEHOLDER>)[source]

Bases: Message

time: datetime = <PLACEHOLDER>

Time holds the timestamp of this DeviceState’s last modification.

type: __subscriptions__.Operation = <PLACEHOLDER>

Operation indicates how the DeviceState 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: DeviceState = <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.studio_topology.v1.DeviceStatus(value: int)[source]

Bases: Enum

DeviceStatus defines the set of statuses that apply to a device.

ACTIVE = DeviceStatus.ACTIVE

DEVICE_STATUS_ACTIVE indicates a device is streaming its telemetry data to CloudVision.

EXPECTED = DeviceStatus.EXPECTED

DEVICE_STATUS_EXPECTED indicates a device has not yet streamed its telemetry data to CloudVision.

INACTIVE = DeviceStatus.INACTIVE

DEVICE_STATUS_INACTIVE indicates a device is not streaming its telemetry data to CloudVision.

UNSPECIFIED = DeviceStatus.UNSPECIFIED

DEVICE_STATUS_UNSPECIFIED is the default unspecified device status.

name: str | None
value: int
class cloudvision.api.arista.studio_topology.v1.Element(value: int)[source]

Bases: Enum

Element defines the fundamental types of elements in topology.

CONNECTION = Element.CONNECTION

ELEMENT_CONNECTION indicates a connection.

DEVICE = Element.DEVICE

ELEMENT_DEVICE indicates a device.

INTERFACE = Element.INTERFACE

ELEMENT_INTERFACE indicates an interface.

UNSPECIFIED = Element.UNSPECIFIED

ELEMENT_UNSPECIFIED indicates an unspecified element type.

name: str | None
value: int
class cloudvision.api.arista.studio_topology.v1.InterfaceInfo(name: str | None = <PLACEHOLDER>, neighbor_device_id: str | None = <PLACEHOLDER>, neighbor_interface_name: str | None = <PLACEHOLDER>, non_provisioned: bool | None = <PLACEHOLDER>)[source]

Bases: Message

InterfaceInfo contains interface properties.

name: str | None = <PLACEHOLDER>

name is the name of an interface.

neighbor_device_id: str | None = <PLACEHOLDER>

neighbor_device_id indicates the device ID of the neighbor to which this interface is connected. For an expected device, this would be a device_id (temporary UUID in case the neighbour is also an expected device) of a known device resource to the studios or lldp sysname in case of a non Arista device like third party external router.

neighbor_interface_name: str | None = <PLACEHOLDER>

neighbor_interface_name indicates the interface on the neighbor to which this interface is connected. For expected devices having the neighbour as a non Arista device, this field does not need to be populated.

non_provisioned: bool | None = <PLACEHOLDER>

non_provisioned indicates if the interface is connected to a non-provisioned device, ie, a device which is not part of the I&T studio and cannot be provisioned by CloudVision.

class cloudvision.api.arista.studio_topology.v1.InterfaceInfos(values: ~typing.List[~cloudvision.api.arista.studio_topology.v1.InterfaceInfo] = <PLACEHOLDER>)[source]

Bases: Message

InterfaceInfos is a list of InterfaceInfo.

values: List[InterfaceInfo] = <PLACEHOLDER>

values is a list of InterfaceInfo.

class cloudvision.api.arista.studio_topology.v1.InterfaceInputConfig(key: ~cloudvision.api.arista.studio_topology.v1.InterfaceInputKey = <PLACEHOLDER>, interface_info: ~cloudvision.api.arista.studio_topology.v1.InterfaceInfo = <PLACEHOLDER>, remove: bool | None = <PLACEHOLDER>)[source]

Bases: Message

InterfaceInputConfig is the resource for manually adding an interface in I&T studios.

interface_info: InterfaceInfo = <PLACEHOLDER>

interface_info contains interface properties.

key: InterfaceInputKey = <PLACEHOLDER>

key uniquely identifies the interface for a given workspace.

remove: bool | None = <PLACEHOLDER>

remove if set to true will remove the interface from mainline post workspace merge.

class cloudvision.api.arista.studio_topology.v1.InterfaceInputConfigBatchedStreamRequest(partial_eq_filter: List[ForwardRef('InterfaceInputConfig')] = <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[InterfaceInputConfig] = <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 InterfaceInputConfig at end. * Each InterfaceInputConfig response is fully-specified (all fields set).

  • start: Returns the state of each InterfaceInputConfig at start, followed by updates until now. * Each InterfaceInputConfig response at start is fully-specified, but updates may be partial.

  • start and end: Returns the state of each InterfaceInputConfig at start, followed by updates until end. * Each InterfaceInputConfig response at start is fully-specified, but updates until end may

    be partial.

class cloudvision.api.arista.studio_topology.v1.InterfaceInputConfigBatchedStreamResponse(responses: List[ForwardRef('InterfaceInputConfigStreamResponse')] = <PLACEHOLDER>)[source]

Bases: Message

responses: List[InterfaceInputConfigStreamResponse] = <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.studio_topology.v1.InterfaceInputConfigDeleteAllRequest(partial_eq_filter: List[ForwardRef('InterfaceInputConfig')] = <PLACEHOLDER>)[source]

Bases: Message

partial_eq_filter: List[InterfaceInputConfig] = <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.studio_topology.v1.InterfaceInputConfigDeleteAllResponse(type: '___fmp__.DeleteError' = <PLACEHOLDER>, error: str | None = <PLACEHOLDER>, key: 'InterfaceInputKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

error: str | None = <PLACEHOLDER>

This indicates the error message from the delete failure.

key: InterfaceInputKey = <PLACEHOLDER>

This is the key of the InterfaceInputConfig 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.studio_topology.v1.InterfaceInputConfigDeleteRequest(key: 'InterfaceInputKey' = <PLACEHOLDER>)[source]

Bases: Message

key: InterfaceInputKey = <PLACEHOLDER>

Key indicates which InterfaceInputConfig instance to remove. This field must always be set.

class cloudvision.api.arista.studio_topology.v1.InterfaceInputConfigDeleteResponse(key: 'InterfaceInputKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

key: InterfaceInputKey = <PLACEHOLDER>

Key echoes back the key of the deleted InterfaceInputConfig 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.studio_topology.v1.InterfaceInputConfigDeleteSomeRequest(keys: List[ForwardRef('InterfaceInputKey')] = <PLACEHOLDER>)[source]

Bases: Message

keys: List[InterfaceInputKey] = <PLACEHOLDER>

key contains a list of InterfaceInputConfig keys to delete

class cloudvision.api.arista.studio_topology.v1.InterfaceInputConfigDeleteSomeResponse(key: ~cloudvision.api.arista.studio_topology.v1.InterfaceInputKey = <PLACEHOLDER>, error: str = <PLACEHOLDER>)[source]

Bases: Message

InterfaceInputConfigDeleteSomeResponse is only sent when there is an error.

error: str = <PLACEHOLDER>
key: InterfaceInputKey = <PLACEHOLDER>
class cloudvision.api.arista.studio_topology.v1.InterfaceInputConfigRequest(key: 'InterfaceInputKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

key: InterfaceInputKey = <PLACEHOLDER>

Key uniquely identifies a InterfaceInputConfig 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.studio_topology.v1.InterfaceInputConfigResponse(value: 'InterfaceInputConfig' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

time: datetime = <PLACEHOLDER>

Time carries the (UTC) timestamp of the last-modification of the InterfaceInputConfig instance in this response.

value: InterfaceInputConfig = <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.studio_topology.v1.InterfaceInputConfigServiceBase[source]

Bases: ServiceBase

async delete(interface_input_config_delete_request: InterfaceInputConfigDeleteRequest) InterfaceInputConfigDeleteResponse[source]
async delete_all(interface_input_config_delete_all_request: InterfaceInputConfigDeleteAllRequest) AsyncIterator[InterfaceInputConfigDeleteAllResponse][source]
async delete_some(interface_input_config_delete_some_request: InterfaceInputConfigDeleteSomeRequest) AsyncIterator[InterfaceInputConfigDeleteSomeResponse][source]
async get_all(interface_input_config_stream_request: InterfaceInputConfigStreamRequest) AsyncIterator[InterfaceInputConfigStreamResponse][source]
async get_all_batched(interface_input_config_batched_stream_request: InterfaceInputConfigBatchedStreamRequest) AsyncIterator[InterfaceInputConfigBatchedStreamResponse][source]
async get_meta(interface_input_config_stream_request: InterfaceInputConfigStreamRequest) MetaResponse[source]
async get_one(interface_input_config_request: InterfaceInputConfigRequest) InterfaceInputConfigResponse[source]
async get_some(interface_input_config_some_request: InterfaceInputConfigSomeRequest) AsyncIterator[InterfaceInputConfigSomeResponse][source]
async set(interface_input_config_set_request: InterfaceInputConfigSetRequest) InterfaceInputConfigSetResponse[source]
async set_some(interface_input_config_set_some_request: InterfaceInputConfigSetSomeRequest) AsyncIterator[InterfaceInputConfigSetSomeResponse][source]
async subscribe(interface_input_config_stream_request: InterfaceInputConfigStreamRequest) AsyncIterator[InterfaceInputConfigStreamResponse][source]
async subscribe_batched(interface_input_config_batched_stream_request: InterfaceInputConfigBatchedStreamRequest) AsyncIterator[InterfaceInputConfigBatchedStreamResponse][source]
async subscribe_meta(interface_input_config_stream_request: InterfaceInputConfigStreamRequest) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.studio_topology.v1.InterfaceInputConfigServiceStub(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(interface_input_config_delete_request: InterfaceInputConfigDeleteRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) InterfaceInputConfigDeleteResponse[source]
async delete_all(interface_input_config_delete_all_request: InterfaceInputConfigDeleteAllRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[InterfaceInputConfigDeleteAllResponse][source]
async delete_some(interface_input_config_delete_some_request: InterfaceInputConfigDeleteSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[InterfaceInputConfigDeleteSomeResponse][source]
async get_all(interface_input_config_stream_request: InterfaceInputConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[InterfaceInputConfigStreamResponse][source]
async get_all_batched(interface_input_config_batched_stream_request: InterfaceInputConfigBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[InterfaceInputConfigBatchedStreamResponse][source]
async get_meta(interface_input_config_stream_request: InterfaceInputConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) MetaResponse[source]
async get_one(interface_input_config_request: InterfaceInputConfigRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) InterfaceInputConfigResponse[source]
async get_some(interface_input_config_some_request: InterfaceInputConfigSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[InterfaceInputConfigSomeResponse][source]
async set(interface_input_config_set_request: InterfaceInputConfigSetRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) InterfaceInputConfigSetResponse[source]
async set_some(interface_input_config_set_some_request: InterfaceInputConfigSetSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[InterfaceInputConfigSetSomeResponse][source]
async subscribe(interface_input_config_stream_request: InterfaceInputConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[InterfaceInputConfigStreamResponse][source]
async subscribe_batched(interface_input_config_batched_stream_request: InterfaceInputConfigBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[InterfaceInputConfigBatchedStreamResponse][source]
async subscribe_meta(interface_input_config_stream_request: InterfaceInputConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.studio_topology.v1.InterfaceInputConfigSetRequest(value: 'InterfaceInputConfig' = <PLACEHOLDER>)[source]

Bases: Message

value: InterfaceInputConfig = <PLACEHOLDER>

InterfaceInputConfig carries the value to set into the datastore. See the documentation on the InterfaceInputConfig struct for which fields are required.

class cloudvision.api.arista.studio_topology.v1.InterfaceInputConfigSetResponse(value: 'InterfaceInputConfig' = <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: InterfaceInputConfig = <PLACEHOLDER>

Value carries all the values given in the InterfaceInputConfigSetRequest as well as any server-generated values.

class cloudvision.api.arista.studio_topology.v1.InterfaceInputConfigSetSomeRequest(values: List[ForwardRef('InterfaceInputConfig')] = <PLACEHOLDER>)[source]

Bases: Message

values: List[InterfaceInputConfig] = <PLACEHOLDER>

value contains a list of InterfaceInputConfig 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.studio_topology.v1.InterfaceInputConfigSetSomeResponse(key: 'InterfaceInputKey' = <PLACEHOLDER>, error: str = <PLACEHOLDER>)[source]

Bases: Message

error: str = <PLACEHOLDER>
key: InterfaceInputKey = <PLACEHOLDER>
class cloudvision.api.arista.studio_topology.v1.InterfaceInputConfigSomeRequest(keys: List[ForwardRef('InterfaceInputKey')] = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

keys: List[InterfaceInputKey] = <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.studio_topology.v1.InterfaceInputConfigSomeResponse(value: 'InterfaceInputConfig' = <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>

Time carries the (UTC) timestamp of the last-modification of the InterfaceInputConfig instance in this response.

value: InterfaceInputConfig = <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.studio_topology.v1.InterfaceInputConfigStreamRequest(partial_eq_filter: List[ForwardRef('InterfaceInputConfig')] = <PLACEHOLDER>, time: '__time__.TimeBounds' = <PLACEHOLDER>)[source]

Bases: Message

partial_eq_filter: List[InterfaceInputConfig] = <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 InterfaceInputConfig at end. * Each InterfaceInputConfig response is fully-specified (all fields set).

  • start: Returns the state of each InterfaceInputConfig at start, followed by updates until now. * Each InterfaceInputConfig response at start is fully-specified, but updates may be partial.

  • start and end: Returns the state of each InterfaceInputConfig at start, followed by updates until end. * Each InterfaceInputConfig response at start is fully-specified, but updates until end may

    be partial.

class cloudvision.api.arista.studio_topology.v1.InterfaceInputConfigStreamResponse(value: 'InterfaceInputConfig' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>, type: '__subscriptions__.Operation' = <PLACEHOLDER>)[source]

Bases: Message

time: datetime = <PLACEHOLDER>

Time holds the timestamp of this InterfaceInputConfig’s last modification.

type: __subscriptions__.Operation = <PLACEHOLDER>

Operation indicates how the InterfaceInputConfig 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: InterfaceInputConfig = <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.studio_topology.v1.InterfaceInputKey(workspace_id: str | None = <PLACEHOLDER>, device_id: str | None = <PLACEHOLDER>, interface_id: str | None = <PLACEHOLDER>)[source]

Bases: Message

InterfaceInputKey is the set of inputs that uniquely identify the interface for a workspace.

device_id: str | None = <PLACEHOLDER>

device_id identifies the device uniquely.

interface_id: str | None = <PLACEHOLDER>

interface_id along with device_id identifies the interface uniquely.

workspace_id: str | None = <PLACEHOLDER>

workspace_id identifies the workspace uniquely.

class cloudvision.api.arista.studio_topology.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.studio_topology.v1.Operation(value: int)[source]

Bases: Enum

Operation defines the operations that may be performed on the topology.

ADDED = Operation.ADDED

OPERATION_ADDED indicates addition of an Element.

MODIFIED = Operation.MODIFIED

OPERATION_MODIFIED indicates modification of an Element.

REMOVED = Operation.REMOVED

OPERATION_REMOVED indicates removal of an Element.

UNSPECIFIED = Operation.UNSPECIFIED

OPERATION_UNSPECIFIED indicates an unspecified operation.

name: str | None
value: int
class cloudvision.api.arista.studio_topology.v1.Replace(key: ~cloudvision.api.arista.studio_topology.v1.DeviceKey = <PLACEHOLDER>, replacement_device_id: str | None = <PLACEHOLDER>, created_at: ~datetime.datetime = <PLACEHOLDER>, created_by: str | None = <PLACEHOLDER>, last_modified_at: ~datetime.datetime = <PLACEHOLDER>, last_modified_by: str | None = <PLACEHOLDER>, status: ~cloudvision.api.arista.studio_topology.v1.ReplaceStatus = <PLACEHOLDER>, error: str | None = <PLACEHOLDER>)[source]

Bases: Message

Replace is the resource that holds the status of the replace operation.

created_at: datetime = <PLACEHOLDER>

created_at is the time at which the status was first set.

created_by: str | None = <PLACEHOLDER>

created_by is the name of the user that first set the status.

error: str | None = <PLACEHOLDER>

error provides the reason if there is a failure in replace.

key: DeviceKey = <PLACEHOLDER>

key uniquely identifies the original device for a given workspace.

last_modified_at: datetime = <PLACEHOLDER>

last_modified_at is the time at which the status was last modified.

last_modified_by: str | None = <PLACEHOLDER>

last_modified_by is the name of the user that last modified the status.

replacement_device_id: str | None = <PLACEHOLDER>

replacement_device_id is the device to replace the original device with.

status: ReplaceStatus = <PLACEHOLDER>

status indicates the status of the replace operation.

class cloudvision.api.arista.studio_topology.v1.ReplaceBatchedStreamRequest(partial_eq_filter: List[ForwardRef('Replace')] = <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[Replace] = <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 Replace at end. * Each Replace response is fully-specified (all fields set).

  • start: Returns the state of each Replace at start, followed by updates until now. * Each Replace response at start is fully-specified, but updates may be partial.

  • start and end: Returns the state of each Replace at start, followed by updates until end. * Each Replace response at start is fully-specified, but updates until end may

    be partial.

class cloudvision.api.arista.studio_topology.v1.ReplaceBatchedStreamResponse(responses: List[ForwardRef('ReplaceStreamResponse')] = <PLACEHOLDER>)[source]

Bases: Message

responses: List[ReplaceStreamResponse] = <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.studio_topology.v1.ReplaceConfig(key: ~cloudvision.api.arista.studio_topology.v1.DeviceKey = <PLACEHOLDER>, replacement_device_id: str | None = <PLACEHOLDER>)[source]

Bases: Message

ReplaceConfig is the resource for replacing a device with another device in Studios.

key: DeviceKey = <PLACEHOLDER>

key uniquely identifies the original device to be replaced in a given workspace.

replacement_device_id: str | None = <PLACEHOLDER>

replacement_device_id is the device to replace the original device with. All references to the original device in Studios and tags will be replaced with this device.

class cloudvision.api.arista.studio_topology.v1.ReplaceConfigBatchedStreamRequest(partial_eq_filter: List[ForwardRef('ReplaceConfig')] = <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[ReplaceConfig] = <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 ReplaceConfig at end. * Each ReplaceConfig response is fully-specified (all fields set).

  • start: Returns the state of each ReplaceConfig at start, followed by updates until now. * Each ReplaceConfig response at start is fully-specified, but updates may be partial.

  • start and end: Returns the state of each ReplaceConfig at start, followed by updates until end. * Each ReplaceConfig response at start is fully-specified, but updates until end may

    be partial.

class cloudvision.api.arista.studio_topology.v1.ReplaceConfigBatchedStreamResponse(responses: List[ForwardRef('ReplaceConfigStreamResponse')] = <PLACEHOLDER>)[source]

Bases: Message

responses: List[ReplaceConfigStreamResponse] = <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.studio_topology.v1.ReplaceConfigDeleteAllRequest(partial_eq_filter: List[ForwardRef('ReplaceConfig')] = <PLACEHOLDER>)[source]

Bases: Message

partial_eq_filter: List[ReplaceConfig] = <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.studio_topology.v1.ReplaceConfigDeleteAllResponse(type: '___fmp__.DeleteError' = <PLACEHOLDER>, error: str | None = <PLACEHOLDER>, key: 'DeviceKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

error: str | None = <PLACEHOLDER>

This indicates the error message from the delete failure.

key: DeviceKey = <PLACEHOLDER>

This is the key of the ReplaceConfig 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.studio_topology.v1.ReplaceConfigDeleteRequest(key: 'DeviceKey' = <PLACEHOLDER>)[source]

Bases: Message

key: DeviceKey = <PLACEHOLDER>

Key indicates which ReplaceConfig instance to remove. This field must always be set.

class cloudvision.api.arista.studio_topology.v1.ReplaceConfigDeleteResponse(key: 'DeviceKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

key: DeviceKey = <PLACEHOLDER>

Key echoes back the key of the deleted ReplaceConfig 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.studio_topology.v1.ReplaceConfigDeleteSomeRequest(keys: List[ForwardRef('DeviceKey')] = <PLACEHOLDER>)[source]

Bases: Message

keys: List[DeviceKey] = <PLACEHOLDER>

key contains a list of ReplaceConfig keys to delete

class cloudvision.api.arista.studio_topology.v1.ReplaceConfigDeleteSomeResponse(key: ~cloudvision.api.arista.studio_topology.v1.DeviceKey = <PLACEHOLDER>, error: str = <PLACEHOLDER>)[source]

Bases: Message

ReplaceConfigDeleteSomeResponse is only sent when there is an error.

error: str = <PLACEHOLDER>
key: DeviceKey = <PLACEHOLDER>
class cloudvision.api.arista.studio_topology.v1.ReplaceConfigRequest(key: 'DeviceKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

key: DeviceKey = <PLACEHOLDER>

Key uniquely identifies a ReplaceConfig 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.studio_topology.v1.ReplaceConfigResponse(value: 'ReplaceConfig' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

time: datetime = <PLACEHOLDER>

Time carries the (UTC) timestamp of the last-modification of the ReplaceConfig instance in this response.

value: ReplaceConfig = <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.studio_topology.v1.ReplaceConfigServiceBase[source]

Bases: ServiceBase

async delete(replace_config_delete_request: ReplaceConfigDeleteRequest) ReplaceConfigDeleteResponse[source]
async delete_all(replace_config_delete_all_request: ReplaceConfigDeleteAllRequest) AsyncIterator[ReplaceConfigDeleteAllResponse][source]
async delete_some(replace_config_delete_some_request: ReplaceConfigDeleteSomeRequest) AsyncIterator[ReplaceConfigDeleteSomeResponse][source]
async get_all(replace_config_stream_request: ReplaceConfigStreamRequest) AsyncIterator[ReplaceConfigStreamResponse][source]
async get_all_batched(replace_config_batched_stream_request: ReplaceConfigBatchedStreamRequest) AsyncIterator[ReplaceConfigBatchedStreamResponse][source]
async get_meta(replace_config_stream_request: ReplaceConfigStreamRequest) MetaResponse[source]
async get_one(replace_config_request: ReplaceConfigRequest) ReplaceConfigResponse[source]
async get_some(replace_config_some_request: ReplaceConfigSomeRequest) AsyncIterator[ReplaceConfigSomeResponse][source]
async set(replace_config_set_request: ReplaceConfigSetRequest) ReplaceConfigSetResponse[source]
async set_some(replace_config_set_some_request: ReplaceConfigSetSomeRequest) AsyncIterator[ReplaceConfigSetSomeResponse][source]
async subscribe(replace_config_stream_request: ReplaceConfigStreamRequest) AsyncIterator[ReplaceConfigStreamResponse][source]
async subscribe_batched(replace_config_batched_stream_request: ReplaceConfigBatchedStreamRequest) AsyncIterator[ReplaceConfigBatchedStreamResponse][source]
async subscribe_meta(replace_config_stream_request: ReplaceConfigStreamRequest) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.studio_topology.v1.ReplaceConfigServiceStub(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(replace_config_delete_request: ReplaceConfigDeleteRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) ReplaceConfigDeleteResponse[source]
async delete_all(replace_config_delete_all_request: ReplaceConfigDeleteAllRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[ReplaceConfigDeleteAllResponse][source]
async delete_some(replace_config_delete_some_request: ReplaceConfigDeleteSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[ReplaceConfigDeleteSomeResponse][source]
async get_all(replace_config_stream_request: ReplaceConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[ReplaceConfigStreamResponse][source]
async get_all_batched(replace_config_batched_stream_request: ReplaceConfigBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[ReplaceConfigBatchedStreamResponse][source]
async get_meta(replace_config_stream_request: ReplaceConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) MetaResponse[source]
async get_one(replace_config_request: ReplaceConfigRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) ReplaceConfigResponse[source]
async get_some(replace_config_some_request: ReplaceConfigSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[ReplaceConfigSomeResponse][source]
async set(replace_config_set_request: ReplaceConfigSetRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) ReplaceConfigSetResponse[source]
async set_some(replace_config_set_some_request: ReplaceConfigSetSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[ReplaceConfigSetSomeResponse][source]
async subscribe(replace_config_stream_request: ReplaceConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[ReplaceConfigStreamResponse][source]
async subscribe_batched(replace_config_batched_stream_request: ReplaceConfigBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[ReplaceConfigBatchedStreamResponse][source]
async subscribe_meta(replace_config_stream_request: ReplaceConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.studio_topology.v1.ReplaceConfigSetRequest(value: 'ReplaceConfig' = <PLACEHOLDER>)[source]

Bases: Message

value: ReplaceConfig = <PLACEHOLDER>

ReplaceConfig carries the value to set into the datastore. See the documentation on the ReplaceConfig struct for which fields are required.

class cloudvision.api.arista.studio_topology.v1.ReplaceConfigSetResponse(value: 'ReplaceConfig' = <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: ReplaceConfig = <PLACEHOLDER>

Value carries all the values given in the ReplaceConfigSetRequest as well as any server-generated values.

class cloudvision.api.arista.studio_topology.v1.ReplaceConfigSetSomeRequest(values: List[ForwardRef('ReplaceConfig')] = <PLACEHOLDER>)[source]

Bases: Message

values: List[ReplaceConfig] = <PLACEHOLDER>

value contains a list of ReplaceConfig 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.studio_topology.v1.ReplaceConfigSetSomeResponse(key: 'DeviceKey' = <PLACEHOLDER>, error: str = <PLACEHOLDER>)[source]

Bases: Message

error: str = <PLACEHOLDER>
key: DeviceKey = <PLACEHOLDER>
class cloudvision.api.arista.studio_topology.v1.ReplaceConfigSomeRequest(keys: List[ForwardRef('DeviceKey')] = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

keys: List[DeviceKey] = <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.studio_topology.v1.ReplaceConfigSomeResponse(value: 'ReplaceConfig' = <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>

Time carries the (UTC) timestamp of the last-modification of the ReplaceConfig instance in this response.

value: ReplaceConfig = <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.studio_topology.v1.ReplaceConfigStreamRequest(partial_eq_filter: List[ForwardRef('ReplaceConfig')] = <PLACEHOLDER>, time: '__time__.TimeBounds' = <PLACEHOLDER>)[source]

Bases: Message

partial_eq_filter: List[ReplaceConfig] = <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 ReplaceConfig at end. * Each ReplaceConfig response is fully-specified (all fields set).

  • start: Returns the state of each ReplaceConfig at start, followed by updates until now. * Each ReplaceConfig response at start is fully-specified, but updates may be partial.

  • start and end: Returns the state of each ReplaceConfig at start, followed by updates until end. * Each ReplaceConfig response at start is fully-specified, but updates until end may

    be partial.

class cloudvision.api.arista.studio_topology.v1.ReplaceConfigStreamResponse(value: 'ReplaceConfig' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>, type: '__subscriptions__.Operation' = <PLACEHOLDER>)[source]

Bases: Message

time: datetime = <PLACEHOLDER>

Time holds the timestamp of this ReplaceConfig’s last modification.

type: __subscriptions__.Operation = <PLACEHOLDER>

Operation indicates how the ReplaceConfig 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: ReplaceConfig = <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.studio_topology.v1.ReplaceRequest(key: 'DeviceKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

key: DeviceKey = <PLACEHOLDER>

Key uniquely identifies a Replace 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.studio_topology.v1.ReplaceResponse(value: 'Replace' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

time: datetime = <PLACEHOLDER>

Time carries the (UTC) timestamp of the last-modification of the Replace instance in this response.

value: Replace = <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.studio_topology.v1.ReplaceServiceBase[source]

Bases: ServiceBase

async get_all(replace_stream_request: ReplaceStreamRequest) AsyncIterator[ReplaceStreamResponse][source]
async get_all_batched(replace_batched_stream_request: ReplaceBatchedStreamRequest) AsyncIterator[ReplaceBatchedStreamResponse][source]
async get_meta(replace_stream_request: ReplaceStreamRequest) MetaResponse[source]
async get_one(replace_request: ReplaceRequest) ReplaceResponse[source]
async get_some(replace_some_request: ReplaceSomeRequest) AsyncIterator[ReplaceSomeResponse][source]
async subscribe(replace_stream_request: ReplaceStreamRequest) AsyncIterator[ReplaceStreamResponse][source]
async subscribe_batched(replace_batched_stream_request: ReplaceBatchedStreamRequest) AsyncIterator[ReplaceBatchedStreamResponse][source]
async subscribe_meta(replace_stream_request: ReplaceStreamRequest) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.studio_topology.v1.ReplaceServiceStub(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(replace_stream_request: ReplaceStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[ReplaceStreamResponse][source]
async get_all_batched(replace_batched_stream_request: ReplaceBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[ReplaceBatchedStreamResponse][source]
async get_meta(replace_stream_request: ReplaceStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) MetaResponse[source]
async get_one(replace_request: ReplaceRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) ReplaceResponse[source]
async get_some(replace_some_request: ReplaceSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[ReplaceSomeResponse][source]
async subscribe(replace_stream_request: ReplaceStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[ReplaceStreamResponse][source]
async subscribe_batched(replace_batched_stream_request: ReplaceBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[ReplaceBatchedStreamResponse][source]
async subscribe_meta(replace_stream_request: ReplaceStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.studio_topology.v1.ReplaceSomeRequest(keys: List[ForwardRef('DeviceKey')] = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

keys: List[DeviceKey] = <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.studio_topology.v1.ReplaceSomeResponse(value: 'Replace' = <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>

Time carries the (UTC) timestamp of the last-modification of the Replace instance in this response.

value: Replace = <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.studio_topology.v1.ReplaceStatus(value: int)[source]

Bases: Enum

ReplaceStatus enumerates the status of the device.

FAILURE = ReplaceStatus.FAILURE

REPLACE_STATUS_FAILURE indicates an error with replace.

SUCCESS = ReplaceStatus.SUCCESS

REPLACE_STATUS_SUCCESS indicates that the device was successfully replaced.

UNSPECIFIED = ReplaceStatus.UNSPECIFIED

REPLACE_STATUS_UNSPECIFIED indicates that the device was replaced with an unspecified state.

name: str | None
value: int
class cloudvision.api.arista.studio_topology.v1.ReplaceStreamRequest(partial_eq_filter: List[ForwardRef('Replace')] = <PLACEHOLDER>, time: '__time__.TimeBounds' = <PLACEHOLDER>)[source]

Bases: Message

partial_eq_filter: List[Replace] = <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 Replace at end. * Each Replace response is fully-specified (all fields set).

  • start: Returns the state of each Replace at start, followed by updates until now. * Each Replace response at start is fully-specified, but updates may be partial.

  • start and end: Returns the state of each Replace at start, followed by updates until end. * Each Replace response at start is fully-specified, but updates until end may

    be partial.

class cloudvision.api.arista.studio_topology.v1.ReplaceStreamResponse(value: 'Replace' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>, type: '__subscriptions__.Operation' = <PLACEHOLDER>)[source]

Bases: Message

time: datetime = <PLACEHOLDER>

Time holds the timestamp of this Replace’s last modification.

type: __subscriptions__.Operation = <PLACEHOLDER>

Operation indicates how the Replace 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: Replace = <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.studio_topology.v1.RevertConfig(key: ~cloudvision.api.arista.workspace.v1.WorkspaceKey = <PLACEHOLDER>)[source]

Bases: Message

RevertConfig is the model provided to revert a workspace.

key: __workspace_v1__.WorkspaceKey = <PLACEHOLDER>

key uniquely identifies the workspace.

class cloudvision.api.arista.studio_topology.v1.RevertConfigBatchedStreamRequest(partial_eq_filter: List[ForwardRef('RevertConfig')] = <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[RevertConfig] = <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 RevertConfig at end. * Each RevertConfig response is fully-specified (all fields set).

  • start: Returns the state of each RevertConfig at start, followed by updates until now. * Each RevertConfig response at start is fully-specified, but updates may be partial.

  • start and end: Returns the state of each RevertConfig at start, followed by updates until end. * Each RevertConfig response at start is fully-specified, but updates until end may

    be partial.

class cloudvision.api.arista.studio_topology.v1.RevertConfigBatchedStreamResponse(responses: List[ForwardRef('RevertConfigStreamResponse')] = <PLACEHOLDER>)[source]

Bases: Message

responses: List[RevertConfigStreamResponse] = <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.studio_topology.v1.RevertConfigDeleteAllRequest(partial_eq_filter: List[ForwardRef('RevertConfig')] = <PLACEHOLDER>)[source]

Bases: Message

partial_eq_filter: List[RevertConfig] = <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.studio_topology.v1.RevertConfigDeleteAllResponse(type: '___fmp__.DeleteError' = <PLACEHOLDER>, error: str | None = <PLACEHOLDER>, key: '__workspace_v1__.WorkspaceKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

error: str | None = <PLACEHOLDER>

This indicates the error message from the delete failure.

key: __workspace_v1__.WorkspaceKey = <PLACEHOLDER>

This is the key of the RevertConfig 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.studio_topology.v1.RevertConfigDeleteRequest(key: '__workspace_v1__.WorkspaceKey' = <PLACEHOLDER>)[source]

Bases: Message

key: __workspace_v1__.WorkspaceKey = <PLACEHOLDER>

Key indicates which RevertConfig instance to remove. This field must always be set.

class cloudvision.api.arista.studio_topology.v1.RevertConfigDeleteResponse(key: '__workspace_v1__.WorkspaceKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

key: __workspace_v1__.WorkspaceKey = <PLACEHOLDER>

Key echoes back the key of the deleted RevertConfig 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.studio_topology.v1.RevertConfigDeleteSomeRequest(keys: List[ForwardRef('__workspace_v1__.WorkspaceKey')] = <PLACEHOLDER>)[source]

Bases: Message

keys: List[__workspace_v1__.WorkspaceKey] = <PLACEHOLDER>

key contains a list of RevertConfig keys to delete

class cloudvision.api.arista.studio_topology.v1.RevertConfigDeleteSomeResponse(key: ~cloudvision.api.arista.workspace.v1.WorkspaceKey = <PLACEHOLDER>, error: str = <PLACEHOLDER>)[source]

Bases: Message

RevertConfigDeleteSomeResponse is only sent when there is an error.

error: str = <PLACEHOLDER>
key: __workspace_v1__.WorkspaceKey = <PLACEHOLDER>
class cloudvision.api.arista.studio_topology.v1.RevertConfigRequest(key: '__workspace_v1__.WorkspaceKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

key: __workspace_v1__.WorkspaceKey = <PLACEHOLDER>

Key uniquely identifies a RevertConfig 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.studio_topology.v1.RevertConfigResponse(value: 'RevertConfig' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

time: datetime = <PLACEHOLDER>

Time carries the (UTC) timestamp of the last-modification of the RevertConfig instance in this response.

value: RevertConfig = <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.studio_topology.v1.RevertConfigServiceBase[source]

Bases: ServiceBase

async delete(revert_config_delete_request: RevertConfigDeleteRequest) RevertConfigDeleteResponse[source]
async delete_all(revert_config_delete_all_request: RevertConfigDeleteAllRequest) AsyncIterator[RevertConfigDeleteAllResponse][source]
async delete_some(revert_config_delete_some_request: RevertConfigDeleteSomeRequest) AsyncIterator[RevertConfigDeleteSomeResponse][source]
async get_all(revert_config_stream_request: RevertConfigStreamRequest) AsyncIterator[RevertConfigStreamResponse][source]
async get_all_batched(revert_config_batched_stream_request: RevertConfigBatchedStreamRequest) AsyncIterator[RevertConfigBatchedStreamResponse][source]
async get_meta(revert_config_stream_request: RevertConfigStreamRequest) MetaResponse[source]
async get_one(revert_config_request: RevertConfigRequest) RevertConfigResponse[source]
async get_some(revert_config_some_request: RevertConfigSomeRequest) AsyncIterator[RevertConfigSomeResponse][source]
async set(revert_config_set_request: RevertConfigSetRequest) RevertConfigSetResponse[source]
async set_some(revert_config_set_some_request: RevertConfigSetSomeRequest) AsyncIterator[RevertConfigSetSomeResponse][source]
async subscribe(revert_config_stream_request: RevertConfigStreamRequest) AsyncIterator[RevertConfigStreamResponse][source]
async subscribe_batched(revert_config_batched_stream_request: RevertConfigBatchedStreamRequest) AsyncIterator[RevertConfigBatchedStreamResponse][source]
async subscribe_meta(revert_config_stream_request: RevertConfigStreamRequest) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.studio_topology.v1.RevertConfigServiceStub(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(revert_config_delete_request: RevertConfigDeleteRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) RevertConfigDeleteResponse[source]
async delete_all(revert_config_delete_all_request: RevertConfigDeleteAllRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[RevertConfigDeleteAllResponse][source]
async delete_some(revert_config_delete_some_request: RevertConfigDeleteSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[RevertConfigDeleteSomeResponse][source]
async get_all(revert_config_stream_request: RevertConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[RevertConfigStreamResponse][source]
async get_all_batched(revert_config_batched_stream_request: RevertConfigBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[RevertConfigBatchedStreamResponse][source]
async get_meta(revert_config_stream_request: RevertConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) MetaResponse[source]
async get_one(revert_config_request: RevertConfigRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) RevertConfigResponse[source]
async get_some(revert_config_some_request: RevertConfigSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[RevertConfigSomeResponse][source]
async set(revert_config_set_request: RevertConfigSetRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) RevertConfigSetResponse[source]
async set_some(revert_config_set_some_request: RevertConfigSetSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[RevertConfigSetSomeResponse][source]
async subscribe(revert_config_stream_request: RevertConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[RevertConfigStreamResponse][source]
async subscribe_batched(revert_config_batched_stream_request: RevertConfigBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[RevertConfigBatchedStreamResponse][source]
async subscribe_meta(revert_config_stream_request: RevertConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.studio_topology.v1.RevertConfigSetRequest(value: 'RevertConfig' = <PLACEHOLDER>)[source]

Bases: Message

value: RevertConfig = <PLACEHOLDER>

RevertConfig carries the value to set into the datastore. See the documentation on the RevertConfig struct for which fields are required.

class cloudvision.api.arista.studio_topology.v1.RevertConfigSetResponse(value: 'RevertConfig' = <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: RevertConfig = <PLACEHOLDER>

Value carries all the values given in the RevertConfigSetRequest as well as any server-generated values.

class cloudvision.api.arista.studio_topology.v1.RevertConfigSetSomeRequest(values: List[ForwardRef('RevertConfig')] = <PLACEHOLDER>)[source]

Bases: Message

values: List[RevertConfig] = <PLACEHOLDER>

value contains a list of RevertConfig 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.studio_topology.v1.RevertConfigSetSomeResponse(key: '__workspace_v1__.WorkspaceKey' = <PLACEHOLDER>, error: str = <PLACEHOLDER>)[source]

Bases: Message

error: str = <PLACEHOLDER>
key: __workspace_v1__.WorkspaceKey = <PLACEHOLDER>
class cloudvision.api.arista.studio_topology.v1.RevertConfigSomeRequest(keys: List[ForwardRef('__workspace_v1__.WorkspaceKey')] = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

keys: List[__workspace_v1__.WorkspaceKey] = <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.studio_topology.v1.RevertConfigSomeResponse(value: 'RevertConfig' = <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>

Time carries the (UTC) timestamp of the last-modification of the RevertConfig instance in this response.

value: RevertConfig = <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.studio_topology.v1.RevertConfigStreamRequest(partial_eq_filter: List[ForwardRef('RevertConfig')] = <PLACEHOLDER>, time: '__time__.TimeBounds' = <PLACEHOLDER>)[source]

Bases: Message

partial_eq_filter: List[RevertConfig] = <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 RevertConfig at end. * Each RevertConfig response is fully-specified (all fields set).

  • start: Returns the state of each RevertConfig at start, followed by updates until now. * Each RevertConfig response at start is fully-specified, but updates may be partial.

  • start and end: Returns the state of each RevertConfig at start, followed by updates until end. * Each RevertConfig response at start is fully-specified, but updates until end may

    be partial.

class cloudvision.api.arista.studio_topology.v1.RevertConfigStreamResponse(value: 'RevertConfig' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>, type: '__subscriptions__.Operation' = <PLACEHOLDER>)[source]

Bases: Message

time: datetime = <PLACEHOLDER>

Time holds the timestamp of this RevertConfig’s last modification.

type: __subscriptions__.Operation = <PLACEHOLDER>

Operation indicates how the RevertConfig 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: RevertConfig = <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.studio_topology.v1.Update(key: ~cloudvision.api.arista.studio_topology.v1.UpdateKey = <PLACEHOLDER>, element: ~cloudvision.api.arista.studio_topology.v1.Element = <PLACEHOLDER>, operation: ~cloudvision.api.arista.studio_topology.v1.Operation = <PLACEHOLDER>, status: ~cloudvision.api.arista.studio_topology.v1.UpdateStatus = <PLACEHOLDER>, description: str | None = <PLACEHOLDER>, device_id: str | None = <PLACEHOLDER>)[source]

Bases: Message

Update represents an update on to the workspace.

description: str | None = <PLACEHOLDER>

description describes the topology update in short.

device_id: str | None = <PLACEHOLDER>

device_id indicates the device associated with the update.

element: Element = <PLACEHOLDER>

element indicates the type of a network element.

key: UpdateKey = <PLACEHOLDER>

key uniquely identifies the update.

operation: Operation = <PLACEHOLDER>

operation indicates the type of operation on the topology update.

status: UpdateStatus = <PLACEHOLDER>

status indicates the status of the topology update.

class cloudvision.api.arista.studio_topology.v1.UpdateBatchedStreamRequest(partial_eq_filter: List[ForwardRef('Update')] = <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[Update] = <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 Update at end. * Each Update response is fully-specified (all fields set).

  • start: Returns the state of each Update at start, followed by updates until now. * Each Update response at start is fully-specified, but updates may be partial.

  • start and end: Returns the state of each Update at start, followed by updates until end. * Each Update response at start is fully-specified, but updates until end may

    be partial.

class cloudvision.api.arista.studio_topology.v1.UpdateBatchedStreamResponse(responses: List[ForwardRef('UpdateStreamResponse')] = <PLACEHOLDER>)[source]

Bases: Message

responses: List[UpdateStreamResponse] = <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.studio_topology.v1.UpdateConfig(key: ~cloudvision.api.arista.studio_topology.v1.UpdateKey = <PLACEHOLDER>, status: ~cloudvision.api.arista.studio_topology.v1.UpdateStatus = <PLACEHOLDER>, remove: bool | None = <PLACEHOLDER>)[source]

Bases: Message

UpdateConfig contains the acceptance status of an Update.

key: UpdateKey = <PLACEHOLDER>

key uniquely identifies the update.

remove: bool | None = <PLACEHOLDER>

remove if set to true will remove the update key from mainline post workspace merge. This can only be set true for ignored keys since we don’t carry accepted keys to mainline post workspace merge.

status: UpdateStatus = <PLACEHOLDER>

status indicates the status of the topology update.

class cloudvision.api.arista.studio_topology.v1.UpdateConfigBatchedStreamRequest(partial_eq_filter: List[ForwardRef('UpdateConfig')] = <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[UpdateConfig] = <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 UpdateConfig at end. * Each UpdateConfig response is fully-specified (all fields set).

  • start: Returns the state of each UpdateConfig at start, followed by updates until now. * Each UpdateConfig response at start is fully-specified, but updates may be partial.

  • start and end: Returns the state of each UpdateConfig at start, followed by updates until end. * Each UpdateConfig response at start is fully-specified, but updates until end may

    be partial.

class cloudvision.api.arista.studio_topology.v1.UpdateConfigBatchedStreamResponse(responses: List[ForwardRef('UpdateConfigStreamResponse')] = <PLACEHOLDER>)[source]

Bases: Message

responses: List[UpdateConfigStreamResponse] = <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.studio_topology.v1.UpdateConfigDeleteAllRequest(partial_eq_filter: List[ForwardRef('UpdateConfig')] = <PLACEHOLDER>)[source]

Bases: Message

partial_eq_filter: List[UpdateConfig] = <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.studio_topology.v1.UpdateConfigDeleteAllResponse(type: '___fmp__.DeleteError' = <PLACEHOLDER>, error: str | None = <PLACEHOLDER>, key: 'UpdateKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

error: str | None = <PLACEHOLDER>

This indicates the error message from the delete failure.

key: UpdateKey = <PLACEHOLDER>

This is the key of the UpdateConfig 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.studio_topology.v1.UpdateConfigDeleteRequest(key: 'UpdateKey' = <PLACEHOLDER>)[source]

Bases: Message

key: UpdateKey = <PLACEHOLDER>

Key indicates which UpdateConfig instance to remove. This field must always be set.

class cloudvision.api.arista.studio_topology.v1.UpdateConfigDeleteResponse(key: 'UpdateKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

key: UpdateKey = <PLACEHOLDER>

Key echoes back the key of the deleted UpdateConfig 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.studio_topology.v1.UpdateConfigDeleteSomeRequest(keys: List[ForwardRef('UpdateKey')] = <PLACEHOLDER>)[source]

Bases: Message

keys: List[UpdateKey] = <PLACEHOLDER>

key contains a list of UpdateConfig keys to delete

class cloudvision.api.arista.studio_topology.v1.UpdateConfigDeleteSomeResponse(key: ~cloudvision.api.arista.studio_topology.v1.UpdateKey = <PLACEHOLDER>, error: str = <PLACEHOLDER>)[source]

Bases: Message

UpdateConfigDeleteSomeResponse is only sent when there is an error.

error: str = <PLACEHOLDER>
key: UpdateKey = <PLACEHOLDER>
class cloudvision.api.arista.studio_topology.v1.UpdateConfigRequest(key: 'UpdateKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

key: UpdateKey = <PLACEHOLDER>

Key uniquely identifies a UpdateConfig 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.studio_topology.v1.UpdateConfigResponse(value: 'UpdateConfig' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

time: datetime = <PLACEHOLDER>

Time carries the (UTC) timestamp of the last-modification of the UpdateConfig instance in this response.

value: UpdateConfig = <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.studio_topology.v1.UpdateConfigServiceBase[source]

Bases: ServiceBase

async delete(update_config_delete_request: UpdateConfigDeleteRequest) UpdateConfigDeleteResponse[source]
async delete_all(update_config_delete_all_request: UpdateConfigDeleteAllRequest) AsyncIterator[UpdateConfigDeleteAllResponse][source]
async delete_some(update_config_delete_some_request: UpdateConfigDeleteSomeRequest) AsyncIterator[UpdateConfigDeleteSomeResponse][source]
async get_all(update_config_stream_request: UpdateConfigStreamRequest) AsyncIterator[UpdateConfigStreamResponse][source]
async get_all_batched(update_config_batched_stream_request: UpdateConfigBatchedStreamRequest) AsyncIterator[UpdateConfigBatchedStreamResponse][source]
async get_meta(update_config_stream_request: UpdateConfigStreamRequest) MetaResponse[source]
async get_one(update_config_request: UpdateConfigRequest) UpdateConfigResponse[source]
async get_some(update_config_some_request: UpdateConfigSomeRequest) AsyncIterator[UpdateConfigSomeResponse][source]
async set(update_config_set_request: UpdateConfigSetRequest) UpdateConfigSetResponse[source]
async set_some(update_config_set_some_request: UpdateConfigSetSomeRequest) AsyncIterator[UpdateConfigSetSomeResponse][source]
async subscribe(update_config_stream_request: UpdateConfigStreamRequest) AsyncIterator[UpdateConfigStreamResponse][source]
async subscribe_batched(update_config_batched_stream_request: UpdateConfigBatchedStreamRequest) AsyncIterator[UpdateConfigBatchedStreamResponse][source]
async subscribe_meta(update_config_stream_request: UpdateConfigStreamRequest) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.studio_topology.v1.UpdateConfigServiceStub(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(update_config_delete_request: UpdateConfigDeleteRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) UpdateConfigDeleteResponse[source]
async delete_all(update_config_delete_all_request: UpdateConfigDeleteAllRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[UpdateConfigDeleteAllResponse][source]
async delete_some(update_config_delete_some_request: UpdateConfigDeleteSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[UpdateConfigDeleteSomeResponse][source]
async get_all(update_config_stream_request: UpdateConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[UpdateConfigStreamResponse][source]
async get_all_batched(update_config_batched_stream_request: UpdateConfigBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[UpdateConfigBatchedStreamResponse][source]
async get_meta(update_config_stream_request: UpdateConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) MetaResponse[source]
async get_one(update_config_request: UpdateConfigRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) UpdateConfigResponse[source]
async get_some(update_config_some_request: UpdateConfigSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[UpdateConfigSomeResponse][source]
async set(update_config_set_request: UpdateConfigSetRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) UpdateConfigSetResponse[source]
async set_some(update_config_set_some_request: UpdateConfigSetSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[UpdateConfigSetSomeResponse][source]
async subscribe(update_config_stream_request: UpdateConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[UpdateConfigStreamResponse][source]
async subscribe_batched(update_config_batched_stream_request: UpdateConfigBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[UpdateConfigBatchedStreamResponse][source]
async subscribe_meta(update_config_stream_request: UpdateConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.studio_topology.v1.UpdateConfigSetRequest(value: 'UpdateConfig' = <PLACEHOLDER>)[source]

Bases: Message

value: UpdateConfig = <PLACEHOLDER>

UpdateConfig carries the value to set into the datastore. See the documentation on the UpdateConfig struct for which fields are required.

class cloudvision.api.arista.studio_topology.v1.UpdateConfigSetResponse(value: 'UpdateConfig' = <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: UpdateConfig = <PLACEHOLDER>

Value carries all the values given in the UpdateConfigSetRequest as well as any server-generated values.

class cloudvision.api.arista.studio_topology.v1.UpdateConfigSetSomeRequest(values: List[ForwardRef('UpdateConfig')] = <PLACEHOLDER>)[source]

Bases: Message

values: List[UpdateConfig] = <PLACEHOLDER>

value contains a list of UpdateConfig 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.studio_topology.v1.UpdateConfigSetSomeResponse(key: 'UpdateKey' = <PLACEHOLDER>, error: str = <PLACEHOLDER>)[source]

Bases: Message

error: str = <PLACEHOLDER>
key: UpdateKey = <PLACEHOLDER>
class cloudvision.api.arista.studio_topology.v1.UpdateConfigSomeRequest(keys: List[ForwardRef('UpdateKey')] = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

keys: List[UpdateKey] = <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.studio_topology.v1.UpdateConfigSomeResponse(value: 'UpdateConfig' = <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>

Time carries the (UTC) timestamp of the last-modification of the UpdateConfig instance in this response.

value: UpdateConfig = <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.studio_topology.v1.UpdateConfigStreamRequest(partial_eq_filter: List[ForwardRef('UpdateConfig')] = <PLACEHOLDER>, time: '__time__.TimeBounds' = <PLACEHOLDER>)[source]

Bases: Message

partial_eq_filter: List[UpdateConfig] = <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 UpdateConfig at end. * Each UpdateConfig response is fully-specified (all fields set).

  • start: Returns the state of each UpdateConfig at start, followed by updates until now. * Each UpdateConfig response at start is fully-specified, but updates may be partial.

  • start and end: Returns the state of each UpdateConfig at start, followed by updates until end. * Each UpdateConfig response at start is fully-specified, but updates until end may

    be partial.

class cloudvision.api.arista.studio_topology.v1.UpdateConfigStreamResponse(value: 'UpdateConfig' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>, type: '__subscriptions__.Operation' = <PLACEHOLDER>)[source]

Bases: Message

time: datetime = <PLACEHOLDER>

Time holds the timestamp of this UpdateConfig’s last modification.

type: __subscriptions__.Operation = <PLACEHOLDER>

Operation indicates how the UpdateConfig 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: UpdateConfig = <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.studio_topology.v1.UpdateKey(workspace_id: str | None = <PLACEHOLDER>, update_id: str | None = <PLACEHOLDER>)[source]

Bases: Message

UpdateKey uniquely identifies a workspace topology update.

update_id: str | None = <PLACEHOLDER>

update_id identifies the update uniquely.

workspace_id: str | None = <PLACEHOLDER>

workspace_id identifies the workspace uniquely.

class cloudvision.api.arista.studio_topology.v1.UpdateRequest(key: 'UpdateKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

key: UpdateKey = <PLACEHOLDER>

Key uniquely identifies a Update 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.studio_topology.v1.UpdateResponse(value: 'Update' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

time: datetime = <PLACEHOLDER>

Time carries the (UTC) timestamp of the last-modification of the Update instance in this response.

value: Update = <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.studio_topology.v1.UpdateServiceBase[source]

Bases: ServiceBase

async get_all(update_stream_request: UpdateStreamRequest) AsyncIterator[UpdateStreamResponse][source]
async get_all_batched(update_batched_stream_request: UpdateBatchedStreamRequest) AsyncIterator[UpdateBatchedStreamResponse][source]
async get_meta(update_stream_request: UpdateStreamRequest) MetaResponse[source]
async get_one(update_request: UpdateRequest) UpdateResponse[source]
async get_some(update_some_request: UpdateSomeRequest) AsyncIterator[UpdateSomeResponse][source]
async subscribe(update_stream_request: UpdateStreamRequest) AsyncIterator[UpdateStreamResponse][source]
async subscribe_batched(update_batched_stream_request: UpdateBatchedStreamRequest) AsyncIterator[UpdateBatchedStreamResponse][source]
async subscribe_meta(update_stream_request: UpdateStreamRequest) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.studio_topology.v1.UpdateServiceStub(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(update_stream_request: UpdateStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[UpdateStreamResponse][source]
async get_all_batched(update_batched_stream_request: UpdateBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[UpdateBatchedStreamResponse][source]
async get_meta(update_stream_request: UpdateStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) MetaResponse[source]
async get_one(update_request: UpdateRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) UpdateResponse[source]
async get_some(update_some_request: UpdateSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[UpdateSomeResponse][source]
async subscribe(update_stream_request: UpdateStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[UpdateStreamResponse][source]
async subscribe_batched(update_batched_stream_request: UpdateBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[UpdateBatchedStreamResponse][source]
async subscribe_meta(update_stream_request: UpdateStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.studio_topology.v1.UpdateSomeRequest(keys: List[ForwardRef('UpdateKey')] = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

keys: List[UpdateKey] = <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.studio_topology.v1.UpdateSomeResponse(value: 'Update' = <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>

Time carries the (UTC) timestamp of the last-modification of the Update instance in this response.

value: Update = <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.studio_topology.v1.UpdateStatus(value: int)[source]

Bases: Enum

UpdateStatus defines the set of statuses that apply to individual topology updates.

ACCEPTED = UpdateStatus.ACCEPTED

UPDATE_STATUS_ACCEPTED indicates the update is accepted.

IGNORED = UpdateStatus.IGNORED

UPDATE_STATUS_IGNORED indicates the update is ignored.

NEW = UpdateStatus.NEW

UPDATE_STATUS_NEW indicates the update is new.

UNSPECIFIED = UpdateStatus.UNSPECIFIED

UPDATE_STATUS_UNSPECIFIED indicates an unspecified update status.

name: str | None
value: int
class cloudvision.api.arista.studio_topology.v1.UpdateStreamRequest(partial_eq_filter: List[ForwardRef('Update')] = <PLACEHOLDER>, time: '__time__.TimeBounds' = <PLACEHOLDER>)[source]

Bases: Message

partial_eq_filter: List[Update] = <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 Update at end. * Each Update response is fully-specified (all fields set).

  • start: Returns the state of each Update at start, followed by updates until now. * Each Update response at start is fully-specified, but updates may be partial.

  • start and end: Returns the state of each Update at start, followed by updates until end. * Each Update response at start is fully-specified, but updates until end may

    be partial.

class cloudvision.api.arista.studio_topology.v1.UpdateStreamResponse(value: 'Update' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>, type: '__subscriptions__.Operation' = <PLACEHOLDER>)[source]

Bases: Message

time: datetime = <PLACEHOLDER>

Time holds the timestamp of this Update’s last modification.

type: __subscriptions__.Operation = <PLACEHOLDER>

Operation indicates how the Update 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: Update = <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.studio_topology.v1.UpdateSyncConfig(key: ~cloudvision.api.arista.workspace.v1.WorkspaceKey = <PLACEHOLDER>, sync_time: ~datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

UpdateSyncConfig model represents a point in time all updates are to be accepted.

key: __workspace_v1__.WorkspaceKey = <PLACEHOLDER>

key uniquely identifies the workspace.

sync_time: datetime = <PLACEHOLDER>

sync_time indicates the desired synchronization time with the live topology. If the sync_time indicated in the config takes effect without error, it will appear in the state model, and then all updates that occurred up to and including the timestamp in the state model will be accepted.

class cloudvision.api.arista.studio_topology.v1.UpdateSyncConfigBatchedStreamRequest(partial_eq_filter: List[ForwardRef('UpdateSyncConfig')] = <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[UpdateSyncConfig] = <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 UpdateSyncConfig at end. * Each UpdateSyncConfig response is fully-specified (all fields set).

  • start: Returns the state of each UpdateSyncConfig at start, followed by updates until now. * Each UpdateSyncConfig response at start is fully-specified, but updates may be partial.

  • start and end: Returns the state of each UpdateSyncConfig at start, followed by updates until end. * Each UpdateSyncConfig response at start is fully-specified, but updates until end may

    be partial.

class cloudvision.api.arista.studio_topology.v1.UpdateSyncConfigBatchedStreamResponse(responses: List[ForwardRef('UpdateSyncConfigStreamResponse')] = <PLACEHOLDER>)[source]

Bases: Message

responses: List[UpdateSyncConfigStreamResponse] = <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.studio_topology.v1.UpdateSyncConfigDeleteAllRequest(partial_eq_filter: List[ForwardRef('UpdateSyncConfig')] = <PLACEHOLDER>)[source]

Bases: Message

partial_eq_filter: List[UpdateSyncConfig] = <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.studio_topology.v1.UpdateSyncConfigDeleteAllResponse(type: '___fmp__.DeleteError' = <PLACEHOLDER>, error: str | None = <PLACEHOLDER>, key: '__workspace_v1__.WorkspaceKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

error: str | None = <PLACEHOLDER>

This indicates the error message from the delete failure.

key: __workspace_v1__.WorkspaceKey = <PLACEHOLDER>

This is the key of the UpdateSyncConfig 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.studio_topology.v1.UpdateSyncConfigDeleteRequest(key: '__workspace_v1__.WorkspaceKey' = <PLACEHOLDER>)[source]

Bases: Message

key: __workspace_v1__.WorkspaceKey = <PLACEHOLDER>

Key indicates which UpdateSyncConfig instance to remove. This field must always be set.

class cloudvision.api.arista.studio_topology.v1.UpdateSyncConfigDeleteResponse(key: '__workspace_v1__.WorkspaceKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

key: __workspace_v1__.WorkspaceKey = <PLACEHOLDER>

Key echoes back the key of the deleted UpdateSyncConfig 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.studio_topology.v1.UpdateSyncConfigDeleteSomeRequest(keys: List[ForwardRef('__workspace_v1__.WorkspaceKey')] = <PLACEHOLDER>)[source]

Bases: Message

keys: List[__workspace_v1__.WorkspaceKey] = <PLACEHOLDER>

key contains a list of UpdateSyncConfig keys to delete

class cloudvision.api.arista.studio_topology.v1.UpdateSyncConfigDeleteSomeResponse(key: ~cloudvision.api.arista.workspace.v1.WorkspaceKey = <PLACEHOLDER>, error: str = <PLACEHOLDER>)[source]

Bases: Message

UpdateSyncConfigDeleteSomeResponse is only sent when there is an error.

error: str = <PLACEHOLDER>
key: __workspace_v1__.WorkspaceKey = <PLACEHOLDER>
class cloudvision.api.arista.studio_topology.v1.UpdateSyncConfigRequest(key: '__workspace_v1__.WorkspaceKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

key: __workspace_v1__.WorkspaceKey = <PLACEHOLDER>

Key uniquely identifies a UpdateSyncConfig 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.studio_topology.v1.UpdateSyncConfigResponse(value: 'UpdateSyncConfig' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

time: datetime = <PLACEHOLDER>

Time carries the (UTC) timestamp of the last-modification of the UpdateSyncConfig instance in this response.

value: UpdateSyncConfig = <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.studio_topology.v1.UpdateSyncConfigServiceBase[source]

Bases: ServiceBase

async delete(update_sync_config_delete_request: UpdateSyncConfigDeleteRequest) UpdateSyncConfigDeleteResponse[source]
async delete_all(update_sync_config_delete_all_request: UpdateSyncConfigDeleteAllRequest) AsyncIterator[UpdateSyncConfigDeleteAllResponse][source]
async delete_some(update_sync_config_delete_some_request: UpdateSyncConfigDeleteSomeRequest) AsyncIterator[UpdateSyncConfigDeleteSomeResponse][source]
async get_all(update_sync_config_stream_request: UpdateSyncConfigStreamRequest) AsyncIterator[UpdateSyncConfigStreamResponse][source]
async get_all_batched(update_sync_config_batched_stream_request: UpdateSyncConfigBatchedStreamRequest) AsyncIterator[UpdateSyncConfigBatchedStreamResponse][source]
async get_meta(update_sync_config_stream_request: UpdateSyncConfigStreamRequest) MetaResponse[source]
async get_one(update_sync_config_request: UpdateSyncConfigRequest) UpdateSyncConfigResponse[source]
async get_some(update_sync_config_some_request: UpdateSyncConfigSomeRequest) AsyncIterator[UpdateSyncConfigSomeResponse][source]
async set(update_sync_config_set_request: UpdateSyncConfigSetRequest) UpdateSyncConfigSetResponse[source]
async set_some(update_sync_config_set_some_request: UpdateSyncConfigSetSomeRequest) AsyncIterator[UpdateSyncConfigSetSomeResponse][source]
async subscribe(update_sync_config_stream_request: UpdateSyncConfigStreamRequest) AsyncIterator[UpdateSyncConfigStreamResponse][source]
async subscribe_batched(update_sync_config_batched_stream_request: UpdateSyncConfigBatchedStreamRequest) AsyncIterator[UpdateSyncConfigBatchedStreamResponse][source]
async subscribe_meta(update_sync_config_stream_request: UpdateSyncConfigStreamRequest) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.studio_topology.v1.UpdateSyncConfigServiceStub(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(update_sync_config_delete_request: UpdateSyncConfigDeleteRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) UpdateSyncConfigDeleteResponse[source]
async delete_all(update_sync_config_delete_all_request: UpdateSyncConfigDeleteAllRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[UpdateSyncConfigDeleteAllResponse][source]
async delete_some(update_sync_config_delete_some_request: UpdateSyncConfigDeleteSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[UpdateSyncConfigDeleteSomeResponse][source]
async get_all(update_sync_config_stream_request: UpdateSyncConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[UpdateSyncConfigStreamResponse][source]
async get_all_batched(update_sync_config_batched_stream_request: UpdateSyncConfigBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[UpdateSyncConfigBatchedStreamResponse][source]
async get_meta(update_sync_config_stream_request: UpdateSyncConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) MetaResponse[source]
async get_one(update_sync_config_request: UpdateSyncConfigRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) UpdateSyncConfigResponse[source]
async get_some(update_sync_config_some_request: UpdateSyncConfigSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[UpdateSyncConfigSomeResponse][source]
async set(update_sync_config_set_request: UpdateSyncConfigSetRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) UpdateSyncConfigSetResponse[source]
async set_some(update_sync_config_set_some_request: UpdateSyncConfigSetSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[UpdateSyncConfigSetSomeResponse][source]
async subscribe(update_sync_config_stream_request: UpdateSyncConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[UpdateSyncConfigStreamResponse][source]
async subscribe_batched(update_sync_config_batched_stream_request: UpdateSyncConfigBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[UpdateSyncConfigBatchedStreamResponse][source]
async subscribe_meta(update_sync_config_stream_request: UpdateSyncConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.studio_topology.v1.UpdateSyncConfigSetRequest(value: 'UpdateSyncConfig' = <PLACEHOLDER>)[source]

Bases: Message

value: UpdateSyncConfig = <PLACEHOLDER>

UpdateSyncConfig carries the value to set into the datastore. See the documentation on the UpdateSyncConfig struct for which fields are required.

class cloudvision.api.arista.studio_topology.v1.UpdateSyncConfigSetResponse(value: 'UpdateSyncConfig' = <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: UpdateSyncConfig = <PLACEHOLDER>

Value carries all the values given in the UpdateSyncConfigSetRequest as well as any server-generated values.

class cloudvision.api.arista.studio_topology.v1.UpdateSyncConfigSetSomeRequest(values: List[ForwardRef('UpdateSyncConfig')] = <PLACEHOLDER>)[source]

Bases: Message

values: List[UpdateSyncConfig] = <PLACEHOLDER>

value contains a list of UpdateSyncConfig 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.studio_topology.v1.UpdateSyncConfigSetSomeResponse(key: '__workspace_v1__.WorkspaceKey' = <PLACEHOLDER>, error: str = <PLACEHOLDER>)[source]

Bases: Message

error: str = <PLACEHOLDER>
key: __workspace_v1__.WorkspaceKey = <PLACEHOLDER>
class cloudvision.api.arista.studio_topology.v1.UpdateSyncConfigSomeRequest(keys: List[ForwardRef('__workspace_v1__.WorkspaceKey')] = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

keys: List[__workspace_v1__.WorkspaceKey] = <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.studio_topology.v1.UpdateSyncConfigSomeResponse(value: 'UpdateSyncConfig' = <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>

Time carries the (UTC) timestamp of the last-modification of the UpdateSyncConfig instance in this response.

value: UpdateSyncConfig = <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.studio_topology.v1.UpdateSyncConfigStreamRequest(partial_eq_filter: List[ForwardRef('UpdateSyncConfig')] = <PLACEHOLDER>, time: '__time__.TimeBounds' = <PLACEHOLDER>)[source]

Bases: Message

partial_eq_filter: List[UpdateSyncConfig] = <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 UpdateSyncConfig at end. * Each UpdateSyncConfig response is fully-specified (all fields set).

  • start: Returns the state of each UpdateSyncConfig at start, followed by updates until now. * Each UpdateSyncConfig response at start is fully-specified, but updates may be partial.

  • start and end: Returns the state of each UpdateSyncConfig at start, followed by updates until end. * Each UpdateSyncConfig response at start is fully-specified, but updates until end may

    be partial.

class cloudvision.api.arista.studio_topology.v1.UpdateSyncConfigStreamResponse(value: 'UpdateSyncConfig' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>, type: '__subscriptions__.Operation' = <PLACEHOLDER>)[source]

Bases: Message

time: datetime = <PLACEHOLDER>

Time holds the timestamp of this UpdateSyncConfig’s last modification.

type: __subscriptions__.Operation = <PLACEHOLDER>

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