cloudvision.api.arista.endpointlocation.v1 package

Module contents

class cloudvision.api.arista.endpointlocation.v1.Device(identifier_list: ~cloudvision.api.arista.endpointlocation.v1.IdentifierList = <PLACEHOLDER>, device_type: ~cloudvision.api.arista.endpointlocation.v1.DeviceType = <PLACEHOLDER>, location_list: ~cloudvision.api.arista.endpointlocation.v1.LocationList = <PLACEHOLDER>, device_status: ~cloudvision.api.arista.endpointlocation.v1.DeviceStatus = <PLACEHOLDER>, device_info: ~cloudvision.api.arista.endpointlocation.v1.DeviceInfo = <PLACEHOLDER>)[source]

Bases: Message

Device holds information for a device matching a search term.

device_info: DeviceInfo = <PLACEHOLDER>

device_info holds various attributes of the device.

device_status: DeviceStatus = <PLACEHOLDER>

device_status is the network status of the device.

device_type: DeviceType = <PLACEHOLDER>

device_type is the broad category of the device.

identifier_list: IdentifierList = <PLACEHOLDER>

identifier_list holds the unique identifiers for the device.

location_list: LocationList = <PLACEHOLDER>

location_list is the list of possible locations of the device. It is ordered from most likely to least likely.

class cloudvision.api.arista.endpointlocation.v1.DeviceInfo(device_name: str | None = <PLACEHOLDER>, mobile: bool | None = <PLACEHOLDER>, tablet: bool | None = <PLACEHOLDER>, score: int | None = <PLACEHOLDER>, version: str | None = <PLACEHOLDER>, mac_vendor: str | None = <PLACEHOLDER>, classification: str | None = <PLACEHOLDER>, hierarchy: ~cloudvision.api.fmp.RepeatedString = <PLACEHOLDER>)[source]

Bases: Message

DeviceInfo holds various attributes of a device (typically an endpoint) from Fingerbank.

classification: str | None = <PLACEHOLDER>

classification is the broadest category to which device_name belongs. This is the highest level in hierarchy.

device_name: str | None = <PLACEHOLDER>

device_name is the name of the device.

hierarchy: ___fmp__.RepeatedString = <PLACEHOLDER>

hierarchy is a list of categorizations of the device from most broad to most specific. The first element is always classification and the last element is always device_name.

For example,

[“VoIP Device”, “FooInc VoIP”, “FooInc PhoneSet IP”, “FooInc PhoneSet IP Model123”]

In this hierarchy, “VoIP Device” is classification and “FooInc PhoneSet IP Model123” is device_name.

mac_vendor: str | None = <PLACEHOLDER>

mac_vendor is the enterprise that assigns the MAC address of the device.

mobile: bool | None = <PLACEHOLDER>

mobile indicates whether the device is a mobile.

score: int | None = <PLACEHOLDER>

score is a value from 0 to 100 that indicates how confident we are that the device has device_name. Fingerbank API documentation of score: https://api.fingerbank.org/api_doc/2/combinations.html

tablet: bool | None = <PLACEHOLDER>

tablet indicates whether the device is a tablet.

version: str | None = <PLACEHOLDER>

version is the version of device_name.

class cloudvision.api.arista.endpointlocation.v1.DeviceMap(values: ~typing.Dict[str, ~cloudvision.api.arista.endpointlocation.v1.Device] = <PLACEHOLDER>)[source]

Bases: Message

DeviceMap is a collection of Device.

values: Dict[str, Device] = <PLACEHOLDER>

values is a map from most specific identifier to Device. The key could be device serial number or MAC address.

class cloudvision.api.arista.endpointlocation.v1.DeviceStatus(value: int)[source]

Bases: Enum

DeviceStatus is the network status of a device.

ACTIVE = DeviceStatus.ACTIVE

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

INACTIVE = DeviceStatus.INACTIVE

DEVICE_STATUS_INACTIVE indicates a device is either not streaming its telemetry data to CloudVision or has been decommissioned from CloudVision.

UNSPECIFIED = DeviceStatus.UNSPECIFIED

DEVICE_STATUS_UNSPECIFIED is the default unspecified device status.

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

Bases: Enum

DeviceType defines a broad set of categories for all queried devices.

ENDPOINT = DeviceType.ENDPOINT

DEVICE_TYPE_ENDPOINT indicates an endpoint that does not exist in the CloudVision inventory.

INVENTORY = DeviceType.INVENTORY

DEVICE_TYPE_INVENTORY indicates a device in the CloudVision inventory.

UNSPECIFIED = DeviceType.UNSPECIFIED

DEVICE_TYPE_UNSPECIFIED is the default unspecified device type.

WIFI_ENDPOINT = DeviceType.WIFI_ENDPOINT

DEVICE_TYPE_WIFI_ENDPOINT indicates a WiFi client/endpoint that does not exist in the CloudVision inventory. Deprecated - do not support searches for wifi endpoints anymore

name: str | None
value: int
class cloudvision.api.arista.endpointlocation.v1.EndpointLocation(key: ~cloudvision.api.arista.endpointlocation.v1.EndpointLocationKey = <PLACEHOLDER>, device_map: ~cloudvision.api.arista.endpointlocation.v1.DeviceMap = <PLACEHOLDER>)[source]

Bases: Message

EndpointLocation is the entrypoint to searching for endpoints.

device_map: DeviceMap = <PLACEHOLDER>

device_map holds the devices (and their potential locations) that match the search term.

key: EndpointLocationKey = <PLACEHOLDER>

key holds a search term used to locate an endpoint.

class cloudvision.api.arista.endpointlocation.v1.EndpointLocationBatchedStreamRequest(partial_eq_filter: List[ForwardRef('EndpointLocation')] = <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[EndpointLocation] = <PLACEHOLDER>

PartialEqFilter provides a way to server-side filter a GetAll/Subscribe. This requires all provided fields to be equal to the response.

While transparent to users, this field also allows services to optimize internal subscriptions if filter(s) are sufficiently specific.

time: __time__.TimeBounds = <PLACEHOLDER>

TimeRange allows limiting response data to within a specified time window. If this field is populated, at least one of the two time fields are required.

For GetAll, the fields start and end can be used as follows:

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

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

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

    be partial.

This field is not allowed in the Subscribe RPC.

class cloudvision.api.arista.endpointlocation.v1.EndpointLocationBatchedStreamResponse(responses: List[ForwardRef('EndpointLocationStreamResponse')] = <PLACEHOLDER>)[source]

Bases: Message

responses: List[EndpointLocationStreamResponse] = <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.endpointlocation.v1.EndpointLocationKey(search_term: str | None = <PLACEHOLDER>)[source]

Bases: Message

EndpointLocationKey holds a search term used to locate an endpoint.

search_term: str | None = <PLACEHOLDER>

search_term is used to match against identifiers on devices. This could be a MAC/IP address, hostname, etc.

class cloudvision.api.arista.endpointlocation.v1.EndpointLocationRequest(key: 'EndpointLocationKey' = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

key: EndpointLocationKey = <PLACEHOLDER>

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

Bases: Message

time: datetime = <PLACEHOLDER>

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

value: EndpointLocation = <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.endpointlocation.v1.EndpointLocationServiceBase[source]

Bases: ServiceBase

async get_all(endpoint_location_stream_request: EndpointLocationStreamRequest) AsyncIterator[EndpointLocationStreamResponse][source]
async get_all_batched(endpoint_location_batched_stream_request: EndpointLocationBatchedStreamRequest) AsyncIterator[EndpointLocationBatchedStreamResponse][source]
async get_meta(endpoint_location_stream_request: EndpointLocationStreamRequest) MetaResponse[source]
async get_one(endpoint_location_request: EndpointLocationRequest) EndpointLocationResponse[source]
async get_some(endpoint_location_some_request: EndpointLocationSomeRequest) AsyncIterator[EndpointLocationSomeResponse][source]
async subscribe(endpoint_location_stream_request: EndpointLocationStreamRequest) AsyncIterator[EndpointLocationStreamResponse][source]
async subscribe_batched(endpoint_location_batched_stream_request: EndpointLocationBatchedStreamRequest) AsyncIterator[EndpointLocationBatchedStreamResponse][source]
async subscribe_meta(endpoint_location_stream_request: EndpointLocationStreamRequest) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.endpointlocation.v1.EndpointLocationServiceStub(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(endpoint_location_stream_request: EndpointLocationStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[EndpointLocationStreamResponse][source]
async get_all_batched(endpoint_location_batched_stream_request: EndpointLocationBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[EndpointLocationBatchedStreamResponse][source]
async get_meta(endpoint_location_stream_request: EndpointLocationStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) MetaResponse[source]
async get_one(endpoint_location_request: EndpointLocationRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) EndpointLocationResponse[source]
async get_some(endpoint_location_some_request: EndpointLocationSomeRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[EndpointLocationSomeResponse][source]
async subscribe(endpoint_location_stream_request: EndpointLocationStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[EndpointLocationStreamResponse][source]
async subscribe_batched(endpoint_location_batched_stream_request: EndpointLocationBatchedStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[EndpointLocationBatchedStreamResponse][source]
async subscribe_meta(endpoint_location_stream_request: EndpointLocationStreamRequest, *, timeout: float | None = None, deadline: Deadline | None = None, metadata: MetadataLike | None = None) AsyncIterator[MetaResponse][source]
class cloudvision.api.arista.endpointlocation.v1.EndpointLocationSomeRequest(keys: List[ForwardRef('EndpointLocationKey')] = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

keys: List[EndpointLocationKey] = <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.endpointlocation.v1.EndpointLocationSomeResponse(value: 'EndpointLocation' = <PLACEHOLDER>, error: str | None = <PLACEHOLDER>, time: datetime.datetime = <PLACEHOLDER>)[source]

Bases: Message

error: str | None = <PLACEHOLDER>

Error is an optional field. It should be filled when there is an error in the GetSome process.

time: datetime = <PLACEHOLDER>
value: EndpointLocation = <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.endpointlocation.v1.EndpointLocationStreamRequest(partial_eq_filter: List[ForwardRef('EndpointLocation')] = <PLACEHOLDER>, time: '__time__.TimeBounds' = <PLACEHOLDER>)[source]

Bases: Message

partial_eq_filter: List[EndpointLocation] = <PLACEHOLDER>

PartialEqFilter provides a way to server-side filter a GetAll/Subscribe. This requires all provided fields to be equal to the response.

While transparent to users, this field also allows services to optimize internal subscriptions if filter(s) are sufficiently specific.

time: __time__.TimeBounds = <PLACEHOLDER>

TimeRange allows limiting response data to within a specified time window. If this field is populated, at least one of the two time fields are required.

For GetAll, the fields start and end can be used as follows:

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

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

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

    be partial.

This field is not allowed in the Subscribe RPC.

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

Bases: Message

time: datetime = <PLACEHOLDER>

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

type: __subscriptions__.Operation = <PLACEHOLDER>

Operation indicates how the EndpointLocation 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: EndpointLocation = <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.endpointlocation.v1.Explanation(value: int)[source]

Bases: Enum

Explanation defines the set of reasons for why a location has a certain likelihood. Some explanations apply to queried endpoints while others apply to queried devices in the CloudVision device inventory.

ACCESS_PORT = Explanation.ACCESS_PORT

EXPLANATION_ACCESS_PORT indicates that a location is an access port.

DIRECT_CONNECTION = Explanation.DIRECT_CONNECTION

EXPLANATION_DIRECT_CONNECTION indicates a direct connection to the queried endpoint device discovered via LLDP.

DIRECT_CONNECTION_INVENTORY_DEVICE = Explanation.DIRECT_CONNECTION_INVENTORY_DEVICE

EXPLANATION_DIRECT_CONNECTION_INVENTORY_DEVICE indicates a direct connection to the queried inventory device discovered via LLDP.

INVENTORY_CONNECTION = Explanation.INVENTORY_CONNECTION

EXPLANATION_INVENTORY_CONNECTION indicates that all of a location’s known connections are to devices in the inventory.

NON_INVENTORY_CONNECTION = Explanation.NON_INVENTORY_CONNECTION

EXPLANATION_NON_INVENTORY_CONNECTION indicates a direct connection to at least one non-inventory device (likely discovered via LLDP).

NO_CONNECTION = Explanation.NO_CONNECTION

EXPLANATION_NO_CONNECTION indicates that a location has no direct connection to any known device.

NO_CONNECTION_INVENTORY_DEVICE = Explanation.NO_CONNECTION_INVENTORY_DEVICE

EXPLANATION_NO_CONNECTION_INVENTORY_DEVICE indicates that a location has no direct connection to any known device (for queried inventory devices).

OTHER_CONNECTION_INVENTORY_DEVICE = Explanation.OTHER_CONNECTION_INVENTORY_DEVICE

EXPLANATION_OTHER_CONNECTION_INVENTORY_DEVICE indicates that a location only has connections to other devices besides the queried inventory device.

OWN_PORT_INVENTORY_DEVICE = Explanation.OWN_PORT_INVENTORY_DEVICE

EXPLANATION_OWN_PORT_INVENTORY_DEVICE indicates a location on the queried inventory device itself.

UNSPECIFIED = Explanation.UNSPECIFIED

EXPLANATION_UNSPECIFIED is the default unspecified explanation.

VIRTUAL = Explanation.VIRTUAL

EXPLANATION_VIRTUAL indicates that a location contains a virtual interface.

WIRELESS_CONNECTION = Explanation.WIRELESS_CONNECTION

EXPLANATION_WIRELESS_CONNECTION indicates a direct connection from a wireless access point in the device inventory to a wireless client.

name: str | None
value: int
class cloudvision.api.arista.endpointlocation.v1.ExplanationList(values: ~typing.List[~cloudvision.api.arista.endpointlocation.v1.Explanation] = <PLACEHOLDER>)[source]

Bases: Message

ExplanationList is a list of Explanation.

values: List[Explanation] = <PLACEHOLDER>

values is a list of unique Explanation. Currently, this will always contain one value, but in the future it may contain more.

class cloudvision.api.arista.endpointlocation.v1.Identifier(type: ~cloudvision.api.arista.endpointlocation.v1.IdentifierType = <PLACEHOLDER>, value: str | None = <PLACEHOLDER>, source_list: ~cloudvision.api.arista.endpointlocation.v1.IdentifierSourceList = <PLACEHOLDER>)[source]

Bases: Message

Identifier holds device identification information.

source_list: IdentifierSourceList = <PLACEHOLDER>

source_list is the set of sources where this identifier was discovered.

type: IdentifierType = <PLACEHOLDER>

type is the identifier type corresponding to value.

value: str | None = <PLACEHOLDER>

value is the string representation of the identifier. Its interpretation depends on type.

class cloudvision.api.arista.endpointlocation.v1.IdentifierList(values: ~typing.List[~cloudvision.api.arista.endpointlocation.v1.Identifier] = <PLACEHOLDER>)[source]

Bases: Message

IdentifierList is a list of Identifier.

values: List[Identifier] = <PLACEHOLDER>

values is an unordered list of Identifier where each Identifier has a unique type and value combination.

class cloudvision.api.arista.endpointlocation.v1.IdentifierSource(value: int)[source]

Bases: Enum

IdentifierSource defines the set of network protocols and other information sources where an identifier was found.

ARP = IdentifierSource.ARP

IDENTIFIER_SOURCE_ARP indicates ARP (IPv4).

DEVICE_INVENTORY = IdentifierSource.DEVICE_INVENTORY

IDENTIFIER_SOURCE_DEVICE_INVENTORY indicates that an endpoint is in the CloudVision inventory.

DHCP = IdentifierSource.DHCP

IDENTIFIER_SOURCE_DHCP indicates DHCP.

FDB = IdentifierSource.FDB

IDENTIFIER_SOURCE_FDB indicates a forwarding table.

LLDP = IdentifierSource.LLDP

IDENTIFIER_SOURCE_LLDP indicates LLDP.

NEIGHBOR = IdentifierSource.NEIGHBOR

IDENTIFIER_SOURCE_NEIGHBOR indicates NDP (IPv6).

UNSPECIFIED = IdentifierSource.UNSPECIFIED

IDENTIFIER_SOURCE_UNSPECIFIED is the default unspecified identifier source.

WIFI = IdentifierSource.WIFI

IDENTIFIER_SOURCE_WIFI indicates a WiFi endpoint that was learned through a wireless manager. Deprecated - do not support searches for wifi endpoints anymore

name: str | None
value: int
class cloudvision.api.arista.endpointlocation.v1.IdentifierSourceList(values: ~typing.List[~cloudvision.api.arista.endpointlocation.v1.IdentifierSource] = <PLACEHOLDER>)[source]

Bases: Message

IdentifierSourceList is a list of IdentifierSource.

values: List[IdentifierSource] = <PLACEHOLDER>

values is an unordered list of unique IdentifierSource.

class cloudvision.api.arista.endpointlocation.v1.IdentifierType(value: int)[source]

Bases: Enum

IdentifierType defines the set of ways for identifying endpoints.

HOSTNAME = IdentifierType.HOSTNAME

IDENTIFIER_TYPE_HOSTNAME indicates a hostname identifier.

INVENTORY_DEVICE_ID = IdentifierType.INVENTORY_DEVICE_ID

IDENTIFIER_TYPE_INVENTORY_DEVICE_ID indicates an inventory device identifier.

IPV4_ADDR = IdentifierType.IPV4_ADDR

IDENTIFIER_TYPE_IPV4_ADDR indicates an IPv4 address identifier.

IPV6_ADDR = IdentifierType.IPV6_ADDR

IDENTIFIER_TYPE_IPV6_ADDR indicates an IPv6 address identifier.

MAC_ADDR = IdentifierType.MAC_ADDR

IDENTIFIER_TYPE_MAC_ADDR indicates a MAC address identifier.

OTHER = IdentifierType.OTHER

IDENTIFIER_TYPE_OTHER is used for an unknown identifier.

PRIMARY_MANAGEMENT_IP = IdentifierType.PRIMARY_MANAGEMENT_IP

IDENTIFIER_TYPE_PRIMARY_MANAGEMENT_IP indicates a primary management IP identifier.

UNSPECIFIED = IdentifierType.UNSPECIFIED

IDENTIFIER_TYPE_UNSPECIFIED is the default unspecified identifier.

USERNAME = IdentifierType.USERNAME

IDENTIFIER_TYPE_USERNAME indicates a username identifier. Deprecated - do not return usernames of wifi endpoints anymore

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

Bases: Enum

Likelihood indicates a level of confidence.

LESS_LIKELY = Likelihood.LESS_LIKELY

LIKELIHOOD_LESS_LIKELY indicates low confidence.

LIKELY = Likelihood.LIKELY

LIKELIHOOD_LIKELY indicates high confidence.

SOMEWHAT_LIKELY = Likelihood.SOMEWHAT_LIKELY

LIKELIHOOD_SOMEWHAT_LIKELY indicates medium confidence.

UNSPECIFIED = Likelihood.UNSPECIFIED

LIKELIHOOD_UNSPECIFIED is the default unspecified likelihood.

VERY_LIKELY = Likelihood.VERY_LIKELY

LIKELIHOOD_VERY_LIKELY indicates very high confidence.

name: str | None
value: int
class cloudvision.api.arista.endpointlocation.v1.Location(device_id: str | None = <PLACEHOLDER>, device_status: ~cloudvision.api.arista.endpointlocation.v1.DeviceStatus = <PLACEHOLDER>, interface: str | None = <PLACEHOLDER>, vlan_id: int | None = <PLACEHOLDER>, learned_time: ~datetime.datetime = <PLACEHOLDER>, mac_type: ~cloudvision.api.arista.endpointlocation.v1.MacType = <PLACEHOLDER>, likelihood: ~cloudvision.api.arista.endpointlocation.v1.Likelihood = <PLACEHOLDER>, explanation_list: ~cloudvision.api.arista.endpointlocation.v1.ExplanationList = <PLACEHOLDER>, identifier_list: ~cloudvision.api.arista.endpointlocation.v1.IdentifierList = <PLACEHOLDER>)[source]

Bases: Message

Location is a port (device_id, interface, vlan_id) on which at least one identifier has been discovered.

device_id: str | None = <PLACEHOLDER>

device_id identifies the device of the port.

device_status: DeviceStatus = <PLACEHOLDER>

device_status is the status of the device identified by device_id.

explanation_list: ExplanationList = <PLACEHOLDER>

explanation_list holds the reasons that the port was assigned likelihood.

identifier_list: IdentifierList = <PLACEHOLDER>

identifier_list holds the discovered identifiers of the port.

interface: str | None = <PLACEHOLDER>

interface is the interface of the port.

learned_time: datetime = <PLACEHOLDER>

learned_time is when the port learned its identifiers.

likelihood: Likelihood = <PLACEHOLDER>

likelihood is the probability level that the port is directly connected to the queried endpoint.

mac_type: MacType = <PLACEHOLDER>

mac_type is how the port learned its MAC address identifier.

vlan_id: int | None = <PLACEHOLDER>

vlan_id identifies the VLAN of the port.

class cloudvision.api.arista.endpointlocation.v1.LocationList(values: ~typing.List[~cloudvision.api.arista.endpointlocation.v1.Location] = <PLACEHOLDER>)[source]

Bases: Message

LocationList is a list of Location.

values: List[Location] = <PLACEHOLDER>

values is a list of unique Location.

class cloudvision.api.arista.endpointlocation.v1.MacType(value: int)[source]

Bases: Enum

MacType describes how the MAC address was learned on the port location.

AUTHENTICATED = MacType.AUTHENTICATED

MAC_TYPE_AUTHENTICATED indicates a MAC authenticated via 802.1X.

CONFIGURED_DYNAMIC = MacType.CONFIGURED_DYNAMIC

MAC_TYPE_CONFIGURED_DYNAMIC indicates a configured dynamic MAC.

CONFIGURED_REMOTE = MacType.CONFIGURED_REMOTE

MAC_TYPE_CONFIGURED_REMOTE indicates a MAC configured behind a VxLAN VTEP.

CONFIGURED_ROUTER = MacType.CONFIGURED_ROUTER

MAC_TYPE_CONFIGURED_ROUTER indicates a configured MAC used in routing.

CONFIGURED_SECURE = MacType.CONFIGURED_SECURE

Protect mode enabled

Type:

MAC_TYPE_CONFIGURED_SECURE indicates a MAC configured on an interface with Port Security

CONFIGURED_STATIC = MacType.CONFIGURED_STATIC

MAC_TYPE_CONFIGURED_STATIC indicates a statically configured MAC.

EVPN_CONFIGURED_REMOTE = MacType.EVPN_CONFIGURED_REMOTE

MAC_TYPE_EVPN_CONFIGURED_REMOTE indicates an EVPN configured remote MAC.

EVPN_DYNAMIC_REMOTE = MacType.EVPN_DYNAMIC_REMOTE

MAC_TYPE_EVPN_DYNAMIC_REMOTE indicates an EVPN dynamic remote MAC.

EVPN_INTF_DYNAMIC = MacType.EVPN_INTF_DYNAMIC

MAC_TYPE_EVPN_INTF_DYNAMIC indicates a MAC advertised by EVPN when a dynamic MAC is learned on ESI (Ethernet Segment Identifier).

EVPN_INTF_STATIC = MacType.EVPN_INTF_STATIC

MAC_TYPE_EVPN_INTF_STATIC indicates a MAC configured on EVPN ESI.

LEARNED_DYNAMIC = MacType.LEARNED_DYNAMIC

MAC_TYPE_LEARNED_DYNAMIC indicates a MAC that is dynamically learned in hardware.

LEARNED_REMOTE = MacType.LEARNED_REMOTE

MAC_TYPE_LEARNED_REMOTE indicates a MAC learned remotely behind a VxLAN VTEP.

LEARNED_SECURE = MacType.LEARNED_SECURE

MAC_TYPE_LEARNED_SECURE indicates a MAC that is learned in hardware on a port-security protect interface.

OTHER = MacType.OTHER

MAC_TYPE_OTHER is used for capturing future MAC types.

PEER_AUTHENTICATED = MacType.PEER_AUTHENTICATED

MAC_TYPE_PEER_AUTHENTICATED indicates a MAC authenticated by 802.1X and learned on an MLAG peer.

PEER_CONFIGURED_REMOTE = MacType.PEER_CONFIGURED_REMOTE

MAC_TYPE_PEER_CONFIGURED_REMOTE indicates an MLAG peer configured remote MAC.

PEER_DYNAMIC = MacType.PEER_DYNAMIC

MAC_TYPE_PEER_DYNAMIC indicates a dynamically learned MAC discovered via an MLAG peer.

PEER_EVPN_REMOTE = MacType.PEER_EVPN_REMOTE

MAC_TYPE_PEER_EVPN_REMOTE indicates an MLAG peer EVPN remote MAC.

PEER_LEARNED_REMOTE = MacType.PEER_LEARNED_REMOTE

MAC_TYPE_PEER_LEARNED_REMOTE indicates a remote MAC learned on a peer VTEP.

PEER_RECEIVED_REMOTE = MacType.PEER_RECEIVED_REMOTE

MAC_TYPE_PEER_RECEIVED_REMOTE indicates a remote MAC received from a VxLAN controller by the MLAG peer.

PEER_ROUTER = MacType.PEER_ROUTER

MAC_TYPE_PEER_ROUTER indicates an MLAG peer specific router MAC.

PEER_SECURE = MacType.PEER_SECURE

MAC_TYPE_PEER_SECURE indicates a secure MAC learned from an MLAG peer.

PEER_STATIC = MacType.PEER_STATIC

MAC_TYPE_PEER_STATIC indicates a statically configured MAC discovered via an MLAG peer.

PENDING_SECURE = MacType.PENDING_SECURE

MAC_TYPE_PENDING_SECURE indicates a secure MAC in a pending state.

RECEIVED_REMOTE = MacType.RECEIVED_REMOTE

MAC_TYPE_RECEIVED_REMOTE indicates a MAC received from a VxLAN controller.

SOFTWARE_LEARNED_DYNAMIC = MacType.SOFTWARE_LEARNED_DYNAMIC

MAC_TYPE_SOFTWARE_LEARNED_DYNAMIC indicates a MAC learned behind VTEP in software in the case of a VxLAN remote MAC.

UNSPECIFIED = MacType.UNSPECIFIED

MAC_TYPE_UNSPECIFIED is the default unspecified MAC type.

name: str | None
value: int
class cloudvision.api.arista.endpointlocation.v1.MetaResponse(time: datetime.datetime = <PLACEHOLDER>, type: '__subscriptions__.Operation' = <PLACEHOLDER>, count: int | None = <PLACEHOLDER>)[source]

Bases: Message

count: int | None = <PLACEHOLDER>

Count is the number of items present under the conditions of the request.

time: datetime = <PLACEHOLDER>

Time holds the timestamp of the last item included in the metadata calculation.

type: __subscriptions__.Operation = <PLACEHOLDER>

Operation indicates how the value in this response should be considered. Under non-subscribe requests, this value should always be INITIAL. In a subscription, once all initial data is streamed and the client begins to receive modification updates, you should not see INITIAL again.