cloudvision.api.arista.asset_manager.v1 package

Module contents

class cloudvision.api.arista.asset_manager.v1.AccessType(value: int)[source]

Bases: Enum

AccessType represents the level of access a tenant has to a customer’s assets.

READ = AccessType.READ

ACCESS_TYPE_READ indicates read-only access.

READ_WRITE = AccessType.READ_WRITE

ACCESS_TYPE_READ_WRITE indicates read and write access.

UNSPECIFIED = AccessType.UNSPECIFIED

ACCESS_TYPE_UNSPECIFIED indicates an unknown access level.

name: str | None
value: int
class cloudvision.api.arista.asset_manager.v1.AllowedTenants(key: TenantKey = <PLACEHOLDER>, customer_info: CustomerInfo = <PLACEHOLDER>, access_type: AccessType = <PLACEHOLDER>)[source]

Bases: Message

AllowedTenants represents a list of authorized customers whose assets (devices/licenses) the tenant key has permission to view or move. Request :

{
“key”{

“tenant_id”: “tenant_1”

}

}

Response: {

“access_type”: “ACCESS_TYPE_READ_WRITE”, “customer_info”: {

“customer_id”: 1234, “customer_name”: “customer_id1”, “allowed_tenant_ids”: [

“tenant_1”, “tenant_2”, “tenant_3”

]

}

}

access_type: AccessType = <PLACEHOLDER>

access_type represents the level of access the tenant has to the customer’s assets.

customer_info: CustomerInfo = <PLACEHOLDER>

customer_info represents a customer whose assets(devices/licenses)can be managed by key tenant_id.

key: TenantKey = <PLACEHOLDER>

key is used to identify a tenant

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

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

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

    be partial.

class cloudvision.api.arista.asset_manager.v1.AllowedTenantsBatchedStreamResponse(responses: List[ForwardRef('AllowedTenantsStreamResponse')] = <PLACEHOLDER>)[source]

Bases: Message

responses: List[AllowedTenantsStreamResponse] = <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.asset_manager.v1.AllowedTenantsRequest(key: 'TenantKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

key: TenantKey = <PLACEHOLDER>

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

Bases: Message

time: datetime = <PLACEHOLDER>

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

value: AllowedTenants = <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.asset_manager.v1.AllowedTenantsServiceBase[source]

Bases: ServiceBase

async get_all(allowed_tenants_stream_request: AllowedTenantsStreamRequest) AsyncIterator[AllowedTenantsStreamResponse][source]
async get_all_batched(allowed_tenants_batched_stream_request: AllowedTenantsBatchedStreamRequest) AsyncIterator[AllowedTenantsBatchedStreamResponse][source]
async get_meta(allowed_tenants_stream_request: AllowedTenantsStreamRequest) MetaResponse[source]
async get_one(allowed_tenants_request: AllowedTenantsRequest) AllowedTenantsResponse[source]
async get_some(allowed_tenants_some_request: AllowedTenantsSomeRequest) AsyncIterator[AllowedTenantsSomeResponse][source]
async subscribe(allowed_tenants_stream_request: AllowedTenantsStreamRequest) AsyncIterator[AllowedTenantsStreamResponse][source]
async subscribe_batched(allowed_tenants_batched_stream_request: AllowedTenantsBatchedStreamRequest) AsyncIterator[AllowedTenantsBatchedStreamResponse][source]
async subscribe_meta(allowed_tenants_stream_request: AllowedTenantsStreamRequest) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.asset_manager.v1.AllowedTenantsServiceStub(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(allowed_tenants_stream_request: AllowedTenantsStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[AllowedTenantsStreamResponse][source]
async get_all_batched(allowed_tenants_batched_stream_request: AllowedTenantsBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[AllowedTenantsBatchedStreamResponse][source]
async get_meta(allowed_tenants_stream_request: AllowedTenantsStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) MetaResponse[source]
async get_one(allowed_tenants_request: AllowedTenantsRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AllowedTenantsResponse[source]
async get_some(allowed_tenants_some_request: AllowedTenantsSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[AllowedTenantsSomeResponse][source]
async subscribe(allowed_tenants_stream_request: AllowedTenantsStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[AllowedTenantsStreamResponse][source]
async subscribe_batched(allowed_tenants_batched_stream_request: AllowedTenantsBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[AllowedTenantsBatchedStreamResponse][source]
async subscribe_meta(allowed_tenants_stream_request: AllowedTenantsStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.asset_manager.v1.AllowedTenantsSomeRequest(keys: List[ForwardRef('TenantKey')] = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

keys: List[TenantKey] = <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.asset_manager.v1.AllowedTenantsSomeResponse(value: 'AllowedTenants' = <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 AllowedTenants instance in this response.

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

Bases: Message

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

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

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

    be partial.

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

Bases: Message

time: datetime = <PLACEHOLDER>

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

type: Operation = <PLACEHOLDER>

Operation indicates how the AllowedTenants 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: AllowedTenants = <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.asset_manager.v1.AssetType(value: int)[source]

Bases: Enum

AssetType represent type of assets which can be procurred

DEVICES = AssetType.DEVICES

ASSET_TYPE_DEVICES indicate asset type of devices

DEVICES_AND_LICENSES = AssetType.DEVICES_AND_LICENSES

ASSET_TYPE_DEVICES_AND_LICENSES indicates asset type for both device and license

LICENSES = AssetType.LICENSES

ASSET_TYPE_LICENSES indicates asset type of licenses

UNSPECIFIED = AssetType.UNSPECIFIED

ASSET_TYPE_UNSPECIFIED indicates unknown asset type

name: str | None
value: int
class cloudvision.api.arista.asset_manager.v1.CustomerInfo(customer_id: int | None = <PLACEHOLDER>, customer_name: str | None = <PLACEHOLDER>, allowed_tenant_ids: RepeatedString = <PLACEHOLDER>)[source]

Bases: Message

CustomerInfo represent a specific customer. Customer refers to the entity (organization or business) that subscribes to and utilizes CloudVision services. A customer could have single or multiple tenants tailored to its specific needs, such as different departments, branches, or subsidiaries.

allowed_tenant_ids: RepeatedString = <PLACEHOLDER>

allowed_tenant_ids represents a list of tenant ids of a single customer eligible for Asset Management.

customer_id: int | None = <PLACEHOLDER>

customer_id uniquely identifies a customer.

customer_name: str | None = <PLACEHOLDER>

customer_name is the name associated with corresponding customer_id.

class cloudvision.api.arista.asset_manager.v1.DeviceKey(device_id: str | None = <PLACEHOLDER>)[source]

Bases: Message

DeviceKey uniquely identifies the device

device_id: str | None = <PLACEHOLDER>

device_id uniquely identifies the device via its serial number

class cloudvision.api.arista.asset_manager.v1.DeviceTenantAssignConfig(key: DeviceKey = <PLACEHOLDER>, source_tenant_id: str | None = <PLACEHOLDER>, destination_tenant_id: str | None = <PLACEHOLDER>, metadata: MapStringString = <PLACEHOLDER>)[source]

Bases: Message

DeviceTenantAssignConfig describes a device tenant modify request

destination_tenant_id: str | None = <PLACEHOLDER>

destination_tenant_id is the new tenant for a device

key: DeviceKey = <PLACEHOLDER>

key uniquely identifies a device

metadata: MapStringString = <PLACEHOLDER>

metadata is the additional data for request

source_tenant_id: str | None = <PLACEHOLDER>

source_tenant_id is the existing tenant for a device

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

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

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

    be partial.

class cloudvision.api.arista.asset_manager.v1.DeviceTenantAssignConfigBatchedStreamResponse(responses: List[ForwardRef('DeviceTenantAssignConfigStreamResponse')] = <PLACEHOLDER>)[source]

Bases: Message

responses: List[DeviceTenantAssignConfigStreamResponse] = <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.asset_manager.v1.DeviceTenantAssignConfigDeleteAllRequest(partial_eq_filter: List[ForwardRef('DeviceTenantAssignConfig')] = <PLACEHOLDER>)[source]

Bases: Message

partial_eq_filter: List[DeviceTenantAssignConfig] = <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.asset_manager.v1.DeviceTenantAssignConfigDeleteAllResponse(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 DeviceTenantAssignConfig instance that failed to be deleted.

time: datetime = <PLACEHOLDER>

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

type: DeleteError = <PLACEHOLDER>

This describes the class of delete error. A DeleteAllResponse is only sent when there is an error.

class cloudvision.api.arista.asset_manager.v1.DeviceTenantAssignConfigDeleteRequest(key: 'DeviceKey' = <PLACEHOLDER>)[source]

Bases: Message

key: DeviceKey = <PLACEHOLDER>

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

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

Bases: Message

key: DeviceKey = <PLACEHOLDER>

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

Bases: Message

keys: List[DeviceKey] = <PLACEHOLDER>

key contains a list of DeviceTenantAssignConfig keys to delete

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

Bases: Message

DeviceTenantAssignConfigDeleteSomeResponse is only sent when there is an error.

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

Bases: Message

key: DeviceKey = <PLACEHOLDER>

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

Bases: Message

time: datetime = <PLACEHOLDER>

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

value: DeviceTenantAssignConfig = <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.asset_manager.v1.DeviceTenantAssignConfigServiceBase[source]

Bases: ServiceBase

async delete(device_tenant_assign_config_delete_request: DeviceTenantAssignConfigDeleteRequest) DeviceTenantAssignConfigDeleteResponse[source]
async delete_all(device_tenant_assign_config_delete_all_request: DeviceTenantAssignConfigDeleteAllRequest) AsyncIterator[DeviceTenantAssignConfigDeleteAllResponse][source]
async delete_some(device_tenant_assign_config_delete_some_request: DeviceTenantAssignConfigDeleteSomeRequest) AsyncIterator[DeviceTenantAssignConfigDeleteSomeResponse][source]
async get_all(device_tenant_assign_config_stream_request: DeviceTenantAssignConfigStreamRequest) AsyncIterator[DeviceTenantAssignConfigStreamResponse][source]
async get_all_batched(device_tenant_assign_config_batched_stream_request: DeviceTenantAssignConfigBatchedStreamRequest) AsyncIterator[DeviceTenantAssignConfigBatchedStreamResponse][source]
async get_meta(device_tenant_assign_config_stream_request: DeviceTenantAssignConfigStreamRequest) MetaResponse[source]
async get_one(device_tenant_assign_config_request: DeviceTenantAssignConfigRequest) DeviceTenantAssignConfigResponse[source]
async get_some(device_tenant_assign_config_some_request: DeviceTenantAssignConfigSomeRequest) AsyncIterator[DeviceTenantAssignConfigSomeResponse][source]
async set(device_tenant_assign_config_set_request: DeviceTenantAssignConfigSetRequest) DeviceTenantAssignConfigSetResponse[source]
async set_some(device_tenant_assign_config_set_some_request: DeviceTenantAssignConfigSetSomeRequest) AsyncIterator[DeviceTenantAssignConfigSetSomeResponse][source]
async subscribe(device_tenant_assign_config_stream_request: DeviceTenantAssignConfigStreamRequest) AsyncIterator[DeviceTenantAssignConfigStreamResponse][source]
async subscribe_batched(device_tenant_assign_config_batched_stream_request: DeviceTenantAssignConfigBatchedStreamRequest) AsyncIterator[DeviceTenantAssignConfigBatchedStreamResponse][source]
async subscribe_meta(device_tenant_assign_config_stream_request: DeviceTenantAssignConfigStreamRequest) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.asset_manager.v1.DeviceTenantAssignConfigServiceStub(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_tenant_assign_config_delete_request: DeviceTenantAssignConfigDeleteRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) DeviceTenantAssignConfigDeleteResponse[source]
async delete_all(device_tenant_assign_config_delete_all_request: DeviceTenantAssignConfigDeleteAllRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DeviceTenantAssignConfigDeleteAllResponse][source]
async delete_some(device_tenant_assign_config_delete_some_request: DeviceTenantAssignConfigDeleteSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DeviceTenantAssignConfigDeleteSomeResponse][source]
async get_all(device_tenant_assign_config_stream_request: DeviceTenantAssignConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DeviceTenantAssignConfigStreamResponse][source]
async get_all_batched(device_tenant_assign_config_batched_stream_request: DeviceTenantAssignConfigBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DeviceTenantAssignConfigBatchedStreamResponse][source]
async get_meta(device_tenant_assign_config_stream_request: DeviceTenantAssignConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) MetaResponse[source]
async get_one(device_tenant_assign_config_request: DeviceTenantAssignConfigRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) DeviceTenantAssignConfigResponse[source]
async get_some(device_tenant_assign_config_some_request: DeviceTenantAssignConfigSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DeviceTenantAssignConfigSomeResponse][source]
async set(device_tenant_assign_config_set_request: DeviceTenantAssignConfigSetRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) DeviceTenantAssignConfigSetResponse[source]
async set_some(device_tenant_assign_config_set_some_request: DeviceTenantAssignConfigSetSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DeviceTenantAssignConfigSetSomeResponse][source]
async subscribe(device_tenant_assign_config_stream_request: DeviceTenantAssignConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DeviceTenantAssignConfigStreamResponse][source]
async subscribe_batched(device_tenant_assign_config_batched_stream_request: DeviceTenantAssignConfigBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DeviceTenantAssignConfigBatchedStreamResponse][source]
async subscribe_meta(device_tenant_assign_config_stream_request: DeviceTenantAssignConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.asset_manager.v1.DeviceTenantAssignConfigSetRequest(value: 'DeviceTenantAssignConfig' = <PLACEHOLDER>)[source]

Bases: Message

value: DeviceTenantAssignConfig = <PLACEHOLDER>

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

class cloudvision.api.arista.asset_manager.v1.DeviceTenantAssignConfigSetResponse(value: 'DeviceTenantAssignConfig' = <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: DeviceTenantAssignConfig = <PLACEHOLDER>

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

class cloudvision.api.arista.asset_manager.v1.DeviceTenantAssignConfigSetSomeRequest(values: List[ForwardRef('DeviceTenantAssignConfig')] = <PLACEHOLDER>)[source]

Bases: Message

values: List[DeviceTenantAssignConfig] = <PLACEHOLDER>

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

Bases: Message

error: str = <PLACEHOLDER>
key: DeviceKey = <PLACEHOLDER>
class cloudvision.api.arista.asset_manager.v1.DeviceTenantAssignConfigSomeRequest(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.asset_manager.v1.DeviceTenantAssignConfigSomeResponse(value: 'DeviceTenantAssignConfig' = <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 DeviceTenantAssignConfig instance in this response.

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

Bases: Message

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

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

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

    be partial.

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

Bases: Message

time: datetime = <PLACEHOLDER>

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

type: Operation = <PLACEHOLDER>

Operation indicates how the DeviceTenantAssignConfig 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: DeviceTenantAssignConfig = <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.asset_manager.v1.DeviceTenantAssignment(key: DeviceKey = <PLACEHOLDER>, model_name: str | None = <PLACEHOLDER>, customer_id: int | None = <PLACEHOLDER>, preferred_customer_name: str | None = <PLACEHOLDER>, tenant_id: str | None = <PLACEHOLDER>, shipping_date: datetime = <PLACEHOLDER>, sales_order_number: int | None = <PLACEHOLDER>, source: Source = <PLACEHOLDER>, updated_by_user: UserInfo = <PLACEHOLDER>)[source]

Bases: Message

DeviceTenantAssignment represents tenant/customer information for a device This api could also be used to get a list of all devices assigned to a tenant id. Example : get list of devices assigned to a tenant Request :

{
“partial_eq_filter”: [
{

“tenant_id” : “Tenant1”

}

]

}

Response :
{
“key”{

“device_id”: “JPA22270020”

}, “model_name”: “DCS-7500”, …

}, {

“key”{

“device_id”: “JPA22270022”

}, “model_name”: “DCS-7130”, …

}

customer_id: int | None = <PLACEHOLDER>

customer_id uniquely identifies a customer. Customer refers to the entity (organization or business) that subscribes to and utilizes CloudVision services. A customer could have single or multiple tenants tailored to its specific needs, such as different departments, branches, or subsidiaries.

key: DeviceKey = <PLACEHOLDER>

key is device serial to uniquely identify a device

model_name: str | None = <PLACEHOLDER>

model_name describes the hardware model of this device.

preferred_customer_name: str | None = <PLACEHOLDER>

preferred_customer_name is preffered name associated with customer id. This name is indicative and might differ from actual customer name

sales_order_number: int | None = <PLACEHOLDER>

sales_order_number is the invoice number of the entire order

shipping_date: datetime = <PLACEHOLDER>

shipping_date is the date on which the order was fulfilled

source: Source = <PLACEHOLDER>

source is the source of device data

tenant_id: str | None = <PLACEHOLDER>

tenant_id uniquely identifies a tenant. Tenant represents an organization within CloudVision dedicated to a specific segment of the customer’s operations.

updated_by_user: UserInfo = <PLACEHOLDER>

updated_by_user represents information of user who performed last device assignment.

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

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

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

    be partial.

class cloudvision.api.arista.asset_manager.v1.DeviceTenantAssignmentBatchedStreamResponse(responses: List[ForwardRef('DeviceTenantAssignmentStreamResponse')] = <PLACEHOLDER>)[source]

Bases: Message

responses: List[DeviceTenantAssignmentStreamResponse] = <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.asset_manager.v1.DeviceTenantAssignmentPageRequest(page: int = <PLACEHOLDER>, page_length: int = <PLACEHOLDER>, sort_field: 'DeviceTenantAssignmentSortableField' = <PLACEHOLDER>, sort_dir: '___fmp__.SortDirection' = <PLACEHOLDER>, partial_eq_filter: List[ForwardRef('DeviceTenantAssignment')] = <PLACEHOLDER>, time: '__time__.TimeBounds' = <PLACEHOLDER>)[source]

Bases: Message

page: int = <PLACEHOLDER>

Page is the window-index to fetch.

page_length: int = <PLACEHOLDER>
Page_length is the size of the page. Combined with page, this will return:

start = (page * page_length) end = start + page_length return sorted_table[start..end]

Page length should be consistent across requests for the same client-context

partial_eq_filter: List[DeviceTenantAssignment] = <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.

sort_dir: SortDirection = <PLACEHOLDER>

Sort_dir is the direction of the sort, ascending or descending

sort_field: DeviceTenantAssignmentSortableField = <PLACEHOLDER>

Sort_field is the field or subfield of the resource to sort by

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 GetPage, the fields start and end can be used as follows:

  • end: Returns the state of each DeviceTenantAssignment at end. * Each DeviceTenantAssignment response is fully-specified (all fields set).

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

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

    be partial.

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

Bases: Message

key: DeviceKey = <PLACEHOLDER>

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

Bases: Message

time: datetime = <PLACEHOLDER>

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

value: DeviceTenantAssignment = <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.asset_manager.v1.DeviceTenantAssignmentServiceBase[source]

Bases: ServiceBase

async get_all(device_tenant_assignment_stream_request: DeviceTenantAssignmentStreamRequest) AsyncIterator[DeviceTenantAssignmentStreamResponse][source]
async get_all_batched(device_tenant_assignment_batched_stream_request: DeviceTenantAssignmentBatchedStreamRequest) AsyncIterator[DeviceTenantAssignmentBatchedStreamResponse][source]
async get_meta(device_tenant_assignment_stream_request: DeviceTenantAssignmentStreamRequest) MetaResponse[source]
async get_one(device_tenant_assignment_request: DeviceTenantAssignmentRequest) DeviceTenantAssignmentResponse[source]
async get_page(device_tenant_assignment_page_request: DeviceTenantAssignmentPageRequest) AsyncIterator[DeviceTenantAssignmentResponse][source]
async get_some(device_tenant_assignment_some_request: DeviceTenantAssignmentSomeRequest) AsyncIterator[DeviceTenantAssignmentSomeResponse][source]
async subscribe(device_tenant_assignment_stream_request: DeviceTenantAssignmentStreamRequest) AsyncIterator[DeviceTenantAssignmentStreamResponse][source]
async subscribe_batched(device_tenant_assignment_batched_stream_request: DeviceTenantAssignmentBatchedStreamRequest) AsyncIterator[DeviceTenantAssignmentBatchedStreamResponse][source]
async subscribe_meta(device_tenant_assignment_stream_request: DeviceTenantAssignmentStreamRequest) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.asset_manager.v1.DeviceTenantAssignmentServiceStub(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_tenant_assignment_stream_request: DeviceTenantAssignmentStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DeviceTenantAssignmentStreamResponse][source]
async get_all_batched(device_tenant_assignment_batched_stream_request: DeviceTenantAssignmentBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DeviceTenantAssignmentBatchedStreamResponse][source]
async get_meta(device_tenant_assignment_stream_request: DeviceTenantAssignmentStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) MetaResponse[source]
async get_one(device_tenant_assignment_request: DeviceTenantAssignmentRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) DeviceTenantAssignmentResponse[source]
async get_page(device_tenant_assignment_page_request: DeviceTenantAssignmentPageRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DeviceTenantAssignmentResponse][source]
async get_some(device_tenant_assignment_some_request: DeviceTenantAssignmentSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DeviceTenantAssignmentSomeResponse][source]
async subscribe(device_tenant_assignment_stream_request: DeviceTenantAssignmentStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DeviceTenantAssignmentStreamResponse][source]
async subscribe_batched(device_tenant_assignment_batched_stream_request: DeviceTenantAssignmentBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[DeviceTenantAssignmentBatchedStreamResponse][source]
async subscribe_meta(device_tenant_assignment_stream_request: DeviceTenantAssignmentStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.asset_manager.v1.DeviceTenantAssignmentSomeRequest(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.asset_manager.v1.DeviceTenantAssignmentSomeResponse(value: 'DeviceTenantAssignment' = <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 DeviceTenantAssignment instance in this response.

value: DeviceTenantAssignment = <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.asset_manager.v1.DeviceTenantAssignmentSortableField(value: int)[source]

Bases: Enum

KEY_DEVICE_ID = DeviceTenantAssignmentSortableField.KEY_DEVICE_ID
MODEL_NAME = DeviceTenantAssignmentSortableField.MODEL_NAME
SALES_ORDER_NUMBER = DeviceTenantAssignmentSortableField.SALES_ORDER_NUMBER
SHIPPING_DATE = DeviceTenantAssignmentSortableField.SHIPPING_DATE
TENANT_ID = DeviceTenantAssignmentSortableField.TENANT_ID
UNSPECIFIED = DeviceTenantAssignmentSortableField.UNSPECIFIED
name: str | None
value: int
class cloudvision.api.arista.asset_manager.v1.DeviceTenantAssignmentStreamRequest(partial_eq_filter: List[ForwardRef('DeviceTenantAssignment')] = <PLACEHOLDER>, time: '__time__.TimeBounds' = <PLACEHOLDER>)[source]

Bases: Message

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

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

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

    be partial.

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

Bases: Message

time: datetime = <PLACEHOLDER>

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

type: Operation = <PLACEHOLDER>

Operation indicates how the DeviceTenantAssignment 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: DeviceTenantAssignment = <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.asset_manager.v1.LicenseTenantAssignConfig(key: PurchasedLicenseKey = <PLACEHOLDER>, source_tenant_id: str | None = <PLACEHOLDER>, destination_tenant_id: str | None = <PLACEHOLDER>, metadata: MapStringString = <PLACEHOLDER>)[source]

Bases: Message

LicenseTenantAssignConfig describes a license tenant modify request

destination_tenant_id: str | None = <PLACEHOLDER>

destination_tenant_id is the new tenant for a license

key: PurchasedLicenseKey = <PLACEHOLDER>

key is used to uniquely identify a license

metadata: MapStringString = <PLACEHOLDER>

metadata is the additional data for request

source_tenant_id: str | None = <PLACEHOLDER>

source_tenant_id is the existing tenant for a license

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

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

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

    be partial.

class cloudvision.api.arista.asset_manager.v1.LicenseTenantAssignConfigBatchedStreamResponse(responses: List[ForwardRef('LicenseTenantAssignConfigStreamResponse')] = <PLACEHOLDER>)[source]

Bases: Message

responses: List[LicenseTenantAssignConfigStreamResponse] = <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.asset_manager.v1.LicenseTenantAssignConfigDeleteAllRequest(partial_eq_filter: List[ForwardRef('LicenseTenantAssignConfig')] = <PLACEHOLDER>)[source]

Bases: Message

partial_eq_filter: List[LicenseTenantAssignConfig] = <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.asset_manager.v1.LicenseTenantAssignConfigDeleteAllResponse(type: '___fmp__.DeleteError' = <PLACEHOLDER>, error: str | None = <PLACEHOLDER>, key: '__license_v1__.PurchasedLicenseKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

error: str | None = <PLACEHOLDER>

This indicates the error message from the delete failure.

key: PurchasedLicenseKey = <PLACEHOLDER>

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

time: datetime = <PLACEHOLDER>

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

type: DeleteError = <PLACEHOLDER>

This describes the class of delete error. A DeleteAllResponse is only sent when there is an error.

class cloudvision.api.arista.asset_manager.v1.LicenseTenantAssignConfigDeleteRequest(key: '__license_v1__.PurchasedLicenseKey' = <PLACEHOLDER>)[source]

Bases: Message

key: PurchasedLicenseKey = <PLACEHOLDER>

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

class cloudvision.api.arista.asset_manager.v1.LicenseTenantAssignConfigDeleteResponse(key: '__license_v1__.PurchasedLicenseKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

key: PurchasedLicenseKey = <PLACEHOLDER>

Key echoes back the key of the deleted LicenseTenantAssignConfig 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.asset_manager.v1.LicenseTenantAssignConfigDeleteSomeRequest(keys: List[ForwardRef('__license_v1__.PurchasedLicenseKey')] = <PLACEHOLDER>)[source]

Bases: Message

keys: List[PurchasedLicenseKey] = <PLACEHOLDER>

key contains a list of LicenseTenantAssignConfig keys to delete

class cloudvision.api.arista.asset_manager.v1.LicenseTenantAssignConfigDeleteSomeResponse(key: PurchasedLicenseKey = <PLACEHOLDER>, error: str = <PLACEHOLDER>)[source]

Bases: Message

LicenseTenantAssignConfigDeleteSomeResponse is only sent when there is an error.

error: str = <PLACEHOLDER>
key: PurchasedLicenseKey = <PLACEHOLDER>
class cloudvision.api.arista.asset_manager.v1.LicenseTenantAssignConfigRequest(key: '__license_v1__.PurchasedLicenseKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

key: PurchasedLicenseKey = <PLACEHOLDER>

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

Bases: Message

time: datetime = <PLACEHOLDER>

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

value: LicenseTenantAssignConfig = <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.asset_manager.v1.LicenseTenantAssignConfigServiceBase[source]

Bases: ServiceBase

async delete(license_tenant_assign_config_delete_request: LicenseTenantAssignConfigDeleteRequest) LicenseTenantAssignConfigDeleteResponse[source]
async delete_all(license_tenant_assign_config_delete_all_request: LicenseTenantAssignConfigDeleteAllRequest) AsyncIterator[LicenseTenantAssignConfigDeleteAllResponse][source]
async delete_some(license_tenant_assign_config_delete_some_request: LicenseTenantAssignConfigDeleteSomeRequest) AsyncIterator[LicenseTenantAssignConfigDeleteSomeResponse][source]
async get_all(license_tenant_assign_config_stream_request: LicenseTenantAssignConfigStreamRequest) AsyncIterator[LicenseTenantAssignConfigStreamResponse][source]
async get_all_batched(license_tenant_assign_config_batched_stream_request: LicenseTenantAssignConfigBatchedStreamRequest) AsyncIterator[LicenseTenantAssignConfigBatchedStreamResponse][source]
async get_meta(license_tenant_assign_config_stream_request: LicenseTenantAssignConfigStreamRequest) MetaResponse[source]
async get_one(license_tenant_assign_config_request: LicenseTenantAssignConfigRequest) LicenseTenantAssignConfigResponse[source]
async get_some(license_tenant_assign_config_some_request: LicenseTenantAssignConfigSomeRequest) AsyncIterator[LicenseTenantAssignConfigSomeResponse][source]
async set(license_tenant_assign_config_set_request: LicenseTenantAssignConfigSetRequest) LicenseTenantAssignConfigSetResponse[source]
async set_some(license_tenant_assign_config_set_some_request: LicenseTenantAssignConfigSetSomeRequest) AsyncIterator[LicenseTenantAssignConfigSetSomeResponse][source]
async subscribe(license_tenant_assign_config_stream_request: LicenseTenantAssignConfigStreamRequest) AsyncIterator[LicenseTenantAssignConfigStreamResponse][source]
async subscribe_batched(license_tenant_assign_config_batched_stream_request: LicenseTenantAssignConfigBatchedStreamRequest) AsyncIterator[LicenseTenantAssignConfigBatchedStreamResponse][source]
async subscribe_meta(license_tenant_assign_config_stream_request: LicenseTenantAssignConfigStreamRequest) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.asset_manager.v1.LicenseTenantAssignConfigServiceStub(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(license_tenant_assign_config_delete_request: LicenseTenantAssignConfigDeleteRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) LicenseTenantAssignConfigDeleteResponse[source]
async delete_all(license_tenant_assign_config_delete_all_request: LicenseTenantAssignConfigDeleteAllRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[LicenseTenantAssignConfigDeleteAllResponse][source]
async delete_some(license_tenant_assign_config_delete_some_request: LicenseTenantAssignConfigDeleteSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[LicenseTenantAssignConfigDeleteSomeResponse][source]
async get_all(license_tenant_assign_config_stream_request: LicenseTenantAssignConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[LicenseTenantAssignConfigStreamResponse][source]
async get_all_batched(license_tenant_assign_config_batched_stream_request: LicenseTenantAssignConfigBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[LicenseTenantAssignConfigBatchedStreamResponse][source]
async get_meta(license_tenant_assign_config_stream_request: LicenseTenantAssignConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) MetaResponse[source]
async get_one(license_tenant_assign_config_request: LicenseTenantAssignConfigRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) LicenseTenantAssignConfigResponse[source]
async get_some(license_tenant_assign_config_some_request: LicenseTenantAssignConfigSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[LicenseTenantAssignConfigSomeResponse][source]
async set(license_tenant_assign_config_set_request: LicenseTenantAssignConfigSetRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) LicenseTenantAssignConfigSetResponse[source]
async set_some(license_tenant_assign_config_set_some_request: LicenseTenantAssignConfigSetSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[LicenseTenantAssignConfigSetSomeResponse][source]
async subscribe(license_tenant_assign_config_stream_request: LicenseTenantAssignConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[LicenseTenantAssignConfigStreamResponse][source]
async subscribe_batched(license_tenant_assign_config_batched_stream_request: LicenseTenantAssignConfigBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[LicenseTenantAssignConfigBatchedStreamResponse][source]
async subscribe_meta(license_tenant_assign_config_stream_request: LicenseTenantAssignConfigStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.asset_manager.v1.LicenseTenantAssignConfigSetRequest(value: 'LicenseTenantAssignConfig' = <PLACEHOLDER>)[source]

Bases: Message

value: LicenseTenantAssignConfig = <PLACEHOLDER>

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

class cloudvision.api.arista.asset_manager.v1.LicenseTenantAssignConfigSetResponse(value: 'LicenseTenantAssignConfig' = <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: LicenseTenantAssignConfig = <PLACEHOLDER>

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

class cloudvision.api.arista.asset_manager.v1.LicenseTenantAssignConfigSetSomeRequest(values: List[ForwardRef('LicenseTenantAssignConfig')] = <PLACEHOLDER>)[source]

Bases: Message

values: List[LicenseTenantAssignConfig] = <PLACEHOLDER>

value contains a list of LicenseTenantAssignConfig 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.asset_manager.v1.LicenseTenantAssignConfigSetSomeResponse(key: '__license_v1__.PurchasedLicenseKey' = <PLACEHOLDER>, error: str = <PLACEHOLDER>)[source]

Bases: Message

error: str = <PLACEHOLDER>
key: PurchasedLicenseKey = <PLACEHOLDER>
class cloudvision.api.arista.asset_manager.v1.LicenseTenantAssignConfigSomeRequest(keys: List[ForwardRef('__license_v1__.PurchasedLicenseKey')] = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

keys: List[PurchasedLicenseKey] = <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.asset_manager.v1.LicenseTenantAssignConfigSomeResponse(value: 'LicenseTenantAssignConfig' = <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 LicenseTenantAssignConfig instance in this response.

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

Bases: Message

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

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

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

    be partial.

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

Bases: Message

time: datetime = <PLACEHOLDER>

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

type: Operation = <PLACEHOLDER>

Operation indicates how the LicenseTenantAssignConfig 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: LicenseTenantAssignConfig = <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.asset_manager.v1.LicenseTenantAssignment(key: PurchasedLicenseKey = <PLACEHOLDER>, sku: str | None = <PLACEHOLDER>, feature: Feature = <PLACEHOLDER>, invoice_number: int | None = <PLACEHOLDER>, invoice_line_number: str | None = <PLACEHOLDER>, customer_id: int | None = <PLACEHOLDER>, preferred_customer_name: str | None = <PLACEHOLDER>, sales_order_number: int | None = <PLACEHOLDER>, start_date: datetime = <PLACEHOLDER>, end_date: datetime = <PLACEHOLDER>, tenant_id: str | None = <PLACEHOLDER>, platform_class: str | None = <PLACEHOLDER>, updated_by_user: UserInfo = <PLACEHOLDER>, assigned_device: str | None = <PLACEHOLDER>, license_bundle_uuid: str | None = <PLACEHOLDER>)[source]

Bases: Message

LicenseTenantAssignment represents tenant/customer information for a license This api could also be used to get a list of all licenses assigned to a tenant id. Example : get list of licenses assigned to a tenant Request :

{
“partial_eq_filter”: [
{

“tenant_id” : “Tenant1”

}

]

}

Response :
{
“key”{

“license_uuid”: “19898989”

}, “sku”: “LIC-FIX-4-MACSEC”, …

}, {

“key”{

“license_uuid”: “29898989”

}, “sku”: “LIC-FIX-4-MACSEC”, …

}

assigned_device: str | None = <PLACEHOLDER>

assigned_device represents the device to which the license is assigned to currently

customer_id: int | None = <PLACEHOLDER>

customer_id uniquely identifies a customer. Customer refers to the entity (organization or business) that subscribes to and utilizes CloudVision services. A customer could have single or multiple tenants tailored to its specific needs, such as different departments, branches, or subsidiaries.

end_date: datetime = <PLACEHOLDER>

end_date indicates the date when the license validity expires

feature: Feature = <PLACEHOLDER>

feature is the name of the feature for which the license was purchased.

invoice_line_number: str | None = <PLACEHOLDER>

invoice_line_number identifies a unique line in case of multiple line in an invoice

invoice_number: int | None = <PLACEHOLDER>

invoice_number represent invoice number on which order is paid

key: PurchasedLicenseKey = <PLACEHOLDER>

key is used to uniquely identify a license

license_bundle_uuid: str | None = <PLACEHOLDER>

license_bundle_uuid corresponds to the bundle id to which the license belongs to

platform_class: str | None = <PLACEHOLDER>

platform_class is the platform class of the license.

preferred_customer_name: str | None = <PLACEHOLDER>

preferred_customer_name is preferred name associated with customer id. This name is indicative and might differ from actual customer name

sales_order_number: int | None = <PLACEHOLDER>

sales_order_number is integer number for an order

sku: str | None = <PLACEHOLDER>

sku represents the name of the sku which is the combination of platform and feature name.

start_date: datetime = <PLACEHOLDER>

start_date denotes date from which license validity begins

tenant_id: str | None = <PLACEHOLDER>

tenant_id uniquely identifies a tenant. Tenant represents an organization within CloudVision dedicated to a specific segment of the customer’s operations.

updated_by_user: UserInfo = <PLACEHOLDER>

updated_by_user represents information of user who performed last license assignment.

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

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

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

    be partial.

class cloudvision.api.arista.asset_manager.v1.LicenseTenantAssignmentBatchedStreamResponse(responses: List[ForwardRef('LicenseTenantAssignmentStreamResponse')] = <PLACEHOLDER>)[source]

Bases: Message

responses: List[LicenseTenantAssignmentStreamResponse] = <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.asset_manager.v1.LicenseTenantAssignmentPageRequest(page: int = <PLACEHOLDER>, page_length: int = <PLACEHOLDER>, sort_field: 'LicenseTenantAssignmentSortableField' = <PLACEHOLDER>, sort_dir: '___fmp__.SortDirection' = <PLACEHOLDER>, partial_eq_filter: List[ForwardRef('LicenseTenantAssignment')] = <PLACEHOLDER>, time: '__time__.TimeBounds' = <PLACEHOLDER>)[source]

Bases: Message

page: int = <PLACEHOLDER>

Page is the window-index to fetch.

page_length: int = <PLACEHOLDER>
Page_length is the size of the page. Combined with page, this will return:

start = (page * page_length) end = start + page_length return sorted_table[start..end]

Page length should be consistent across requests for the same client-context

partial_eq_filter: List[LicenseTenantAssignment] = <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.

sort_dir: SortDirection = <PLACEHOLDER>

Sort_dir is the direction of the sort, ascending or descending

sort_field: LicenseTenantAssignmentSortableField = <PLACEHOLDER>

Sort_field is the field or subfield of the resource to sort by

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 GetPage, the fields start and end can be used as follows:

  • end: Returns the state of each LicenseTenantAssignment at end. * Each LicenseTenantAssignment response is fully-specified (all fields set).

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

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

    be partial.

class cloudvision.api.arista.asset_manager.v1.LicenseTenantAssignmentRequest(key: '__license_v1__.PurchasedLicenseKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

key: PurchasedLicenseKey = <PLACEHOLDER>

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

Bases: Message

time: datetime = <PLACEHOLDER>

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

value: LicenseTenantAssignment = <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.asset_manager.v1.LicenseTenantAssignmentServiceBase[source]

Bases: ServiceBase

async get_all(license_tenant_assignment_stream_request: LicenseTenantAssignmentStreamRequest) AsyncIterator[LicenseTenantAssignmentStreamResponse][source]
async get_all_batched(license_tenant_assignment_batched_stream_request: LicenseTenantAssignmentBatchedStreamRequest) AsyncIterator[LicenseTenantAssignmentBatchedStreamResponse][source]
async get_meta(license_tenant_assignment_stream_request: LicenseTenantAssignmentStreamRequest) MetaResponse[source]
async get_one(license_tenant_assignment_request: LicenseTenantAssignmentRequest) LicenseTenantAssignmentResponse[source]
async get_page(license_tenant_assignment_page_request: LicenseTenantAssignmentPageRequest) AsyncIterator[LicenseTenantAssignmentResponse][source]
async get_some(license_tenant_assignment_some_request: LicenseTenantAssignmentSomeRequest) AsyncIterator[LicenseTenantAssignmentSomeResponse][source]
async subscribe(license_tenant_assignment_stream_request: LicenseTenantAssignmentStreamRequest) AsyncIterator[LicenseTenantAssignmentStreamResponse][source]
async subscribe_batched(license_tenant_assignment_batched_stream_request: LicenseTenantAssignmentBatchedStreamRequest) AsyncIterator[LicenseTenantAssignmentBatchedStreamResponse][source]
async subscribe_meta(license_tenant_assignment_stream_request: LicenseTenantAssignmentStreamRequest) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.asset_manager.v1.LicenseTenantAssignmentServiceStub(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(license_tenant_assignment_stream_request: LicenseTenantAssignmentStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[LicenseTenantAssignmentStreamResponse][source]
async get_all_batched(license_tenant_assignment_batched_stream_request: LicenseTenantAssignmentBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[LicenseTenantAssignmentBatchedStreamResponse][source]
async get_meta(license_tenant_assignment_stream_request: LicenseTenantAssignmentStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) MetaResponse[source]
async get_one(license_tenant_assignment_request: LicenseTenantAssignmentRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) LicenseTenantAssignmentResponse[source]
async get_page(license_tenant_assignment_page_request: LicenseTenantAssignmentPageRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[LicenseTenantAssignmentResponse][source]
async get_some(license_tenant_assignment_some_request: LicenseTenantAssignmentSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[LicenseTenantAssignmentSomeResponse][source]
async subscribe(license_tenant_assignment_stream_request: LicenseTenantAssignmentStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[LicenseTenantAssignmentStreamResponse][source]
async subscribe_batched(license_tenant_assignment_batched_stream_request: LicenseTenantAssignmentBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[LicenseTenantAssignmentBatchedStreamResponse][source]
async subscribe_meta(license_tenant_assignment_stream_request: LicenseTenantAssignmentStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.asset_manager.v1.LicenseTenantAssignmentSomeRequest(keys: List[ForwardRef('__license_v1__.PurchasedLicenseKey')] = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

keys: List[PurchasedLicenseKey] = <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.asset_manager.v1.LicenseTenantAssignmentSomeResponse(value: 'LicenseTenantAssignment' = <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 LicenseTenantAssignment instance in this response.

value: LicenseTenantAssignment = <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.asset_manager.v1.LicenseTenantAssignmentSortableField(value: int)[source]

Bases: Enum

END_DATE = LicenseTenantAssignmentSortableField.END_DATE
SALES_ORDER_NUMBER = LicenseTenantAssignmentSortableField.SALES_ORDER_NUMBER
SKU = LicenseTenantAssignmentSortableField.SKU
START_DATE = LicenseTenantAssignmentSortableField.START_DATE
TENANT_ID = LicenseTenantAssignmentSortableField.TENANT_ID
UNSPECIFIED = LicenseTenantAssignmentSortableField.UNSPECIFIED
name: str | None
value: int
class cloudvision.api.arista.asset_manager.v1.LicenseTenantAssignmentStreamRequest(partial_eq_filter: List[ForwardRef('LicenseTenantAssignment')] = <PLACEHOLDER>, time: '__time__.TimeBounds' = <PLACEHOLDER>)[source]

Bases: Message

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

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

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

    be partial.

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

Bases: Message

time: datetime = <PLACEHOLDER>

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

type: Operation = <PLACEHOLDER>

Operation indicates how the LicenseTenantAssignment 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: LicenseTenantAssignment = <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.asset_manager.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: 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.asset_manager.v1.PurchaseOrder(partner_purchase_order: str | None = <PLACEHOLDER>, customer_purchase_order: str | None = <PLACEHOLDER>)[source]

Bases: Message

PurchaseOrder represents unique identifier assigned to an order, either by a business partner or customer

customer_purchase_order: str | None = <PLACEHOLDER>

customer_purchase_order represents unique identifier assigned to a purchase order (PO) by customer

partner_purchase_order: str | None = <PLACEHOLDER>

partner_purchase_order represents unique identifier assigned to a purchase order (PO) by a business partner

class cloudvision.api.arista.asset_manager.v1.SalesOrder(key: SalesOrderKey = <PLACEHOLDER>, last_invoiced_at: datetime = <PLACEHOLDER>, customer_names: RepeatedString = <PLACEHOLDER>)[source]

Bases: Message

SalesOrder represent sales order information for purchase

customer_names: RepeatedString = <PLACEHOLDER>

customer_names represents the list of customers to which the assets of the given sales order belong into

key: SalesOrderKey = <PLACEHOLDER>

key uniquely identifies a sales order

last_invoiced_at: datetime = <PLACEHOLDER>

last_invoiced_at represents the latest timestamp at which an asset (a device or a license) in the given sales order was invoiced

class cloudvision.api.arista.asset_manager.v1.SalesOrderBatchedStreamRequest(partial_eq_filter: List[ForwardRef('SalesOrder')] = <PLACEHOLDER>, filter: 'SalesOrderFilter' = <PLACEHOLDER>, time: '__time__.TimeBounds' = <PLACEHOLDER>, max_messages: int | None = <PLACEHOLDER>)[source]

Bases: Message

filter: SalesOrderFilter = <PLACEHOLDER>

For each SalesOrder in the list, all populated fields are considered ANDed together as a filtering operation. Similarly, the list itself is ORed such that any individual filter that matches a given SalesOrder is streamed to the user.

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

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

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

    be partial.

class cloudvision.api.arista.asset_manager.v1.SalesOrderBatchedStreamResponse(responses: List[ForwardRef('SalesOrderStreamResponse')] = <PLACEHOLDER>)[source]

Bases: Message

responses: List[SalesOrderStreamResponse] = <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.asset_manager.v1.SalesOrderFilter(customer_ids: RepeatedInt64 = <PLACEHOLDER>, tenant_ids: RepeatedString = <PLACEHOLDER>, device_serial: str | None = <PLACEHOLDER>, device_model: str | None = <PLACEHOLDER>, feature: Feature = <PLACEHOLDER>, asset_type: AssetType = <PLACEHOLDER>)[source]

Bases: Message

SalesOrderFilter is used to filter sales orders based on various parameters

asset_type: AssetType = <PLACEHOLDER>

asset_type denotes which type of assets are present in a sales order

customer_ids: RepeatedInt64 = <PLACEHOLDER>

customer_ids represents the customers to which different assets of a sales order are assigned

device_model: str | None = <PLACEHOLDER>

device_model corresponds to the model of a device which is present in the given sales order

device_serial: str | None = <PLACEHOLDER>

device_serial represents a device which is present in the given sales order

feature: Feature = <PLACEHOLDER>

feature is the name of the feature for which the license was purchased

tenant_ids: RepeatedString = <PLACEHOLDER>

tenant_ids represents the tenants to which different assets of a sales order are assigned

class cloudvision.api.arista.asset_manager.v1.SalesOrderKey(sales_order_number: int | None = <PLACEHOLDER>)[source]

Bases: Message

SalesOrderKey uniquely identifies a sales order

sales_order_number: int | None = <PLACEHOLDER>

sales_order_number is the invoice number of the entire order

class cloudvision.api.arista.asset_manager.v1.SalesOrderRequest(key: 'SalesOrderKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

key: SalesOrderKey = <PLACEHOLDER>

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

Bases: Message

time: datetime = <PLACEHOLDER>

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

value: SalesOrder = <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.asset_manager.v1.SalesOrderServiceBase[source]

Bases: ServiceBase

async get_all(sales_order_stream_request: SalesOrderStreamRequest) AsyncIterator[SalesOrderStreamResponse][source]
async get_all_batched(sales_order_batched_stream_request: SalesOrderBatchedStreamRequest) AsyncIterator[SalesOrderBatchedStreamResponse][source]
async get_meta(sales_order_stream_request: SalesOrderStreamRequest) MetaResponse[source]
async get_one(sales_order_request: SalesOrderRequest) SalesOrderResponse[source]
async get_some(sales_order_some_request: SalesOrderSomeRequest) AsyncIterator[SalesOrderSomeResponse][source]
async subscribe(sales_order_stream_request: SalesOrderStreamRequest) AsyncIterator[SalesOrderStreamResponse][source]
async subscribe_batched(sales_order_batched_stream_request: SalesOrderBatchedStreamRequest) AsyncIterator[SalesOrderBatchedStreamResponse][source]
async subscribe_meta(sales_order_stream_request: SalesOrderStreamRequest) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.asset_manager.v1.SalesOrderServiceStub(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(sales_order_stream_request: SalesOrderStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[SalesOrderStreamResponse][source]
async get_all_batched(sales_order_batched_stream_request: SalesOrderBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[SalesOrderBatchedStreamResponse][source]
async get_meta(sales_order_stream_request: SalesOrderStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) MetaResponse[source]
async get_one(sales_order_request: SalesOrderRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) SalesOrderResponse[source]
async get_some(sales_order_some_request: SalesOrderSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[SalesOrderSomeResponse][source]
async subscribe(sales_order_stream_request: SalesOrderStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[SalesOrderStreamResponse][source]
async subscribe_batched(sales_order_batched_stream_request: SalesOrderBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[SalesOrderBatchedStreamResponse][source]
async subscribe_meta(sales_order_stream_request: SalesOrderStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.asset_manager.v1.SalesOrderSomeRequest(keys: List[ForwardRef('SalesOrderKey')] = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

keys: List[SalesOrderKey] = <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.asset_manager.v1.SalesOrderSomeResponse(value: 'SalesOrder' = <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 SalesOrder instance in this response.

value: SalesOrder = <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.asset_manager.v1.SalesOrderStreamRequest(partial_eq_filter: List[ForwardRef('SalesOrder')] = <PLACEHOLDER>, filter: 'SalesOrderFilter' = <PLACEHOLDER>, time: '__time__.TimeBounds' = <PLACEHOLDER>)[source]

Bases: Message

filter: SalesOrderFilter = <PLACEHOLDER>

For each SalesOrder in the list, all populated fields are considered ANDed together as a filtering operation. Similarly, the list itself is ORed such that any individual filter that matches a given SalesOrder is streamed to the user.

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

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

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

    be partial.

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

Bases: Message

time: datetime = <PLACEHOLDER>

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

type: Operation = <PLACEHOLDER>

Operation indicates how the SalesOrder 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: SalesOrder = <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.asset_manager.v1.Source(value: int)[source]

Bases: Enum

Source inducates different type of actors that can do asset_manager operations.

CUSTOMER = Source.CUSTOMER

SOURCE_CUSTOMER indicates assignment was done directly by customer.

TAC = Source.TAC

SOURCE_TAC indidcates assignment was done by Arista TAC.

UNSPECIFIED = Source.UNSPECIFIED

SOURCE_UNSPECIFIED indicates an unknown source

VENDOR = Source.VENDOR

SOURCE_VENDOR indicates assignment was done by the vendor (Arista).

name: str | None
value: int
class cloudvision.api.arista.asset_manager.v1.TenantKey(tenant_id: str | None = <PLACEHOLDER>)[source]

Bases: Message

TenantKey is used to uniquely identify a tenant

tenant_id: str | None = <PLACEHOLDER>

tenant_id is unique id assigned to every tenant

class cloudvision.api.arista.asset_manager.v1.UserInfo(user_tenant: str | None = <PLACEHOLDER>, user_name: str | None = <PLACEHOLDER>)[source]

Bases: Message

UserInfo contains information about a user within a system.

user_name: str | None = <PLACEHOLDER>

user_name represents the name of the user.

user_tenant: str | None = <PLACEHOLDER>

user_tenant represents the tenant identifier associated with the user.