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:
MessageDevice 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:
MessageDeviceInfo 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:
MessageDeviceMap is a collection of Device.
- class cloudvision.api.arista.endpointlocation.v1.DeviceStatus(value: int)[source]
Bases:
EnumDeviceStatus 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:
EnumDeviceType 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:
MessageEndpointLocation 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:
MessageEndpointLocationKey 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:
EnumExplanation 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:
MessageExplanationList 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:
MessageIdentifier 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:
MessageIdentifierList 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:
EnumIdentifierSource 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:
MessageIdentifierSourceList 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:
EnumIdentifierType 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:
EnumLikelihood 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:
MessageLocation 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.
- 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:
MessageLocationList is a list of Location.
- class cloudvision.api.arista.endpointlocation.v1.MacType(value: int)[source]
Bases:
EnumMacType 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.