air_sdk.endpoints.links#
Stub file for links endpoint type hints.
Classes#
Properties/labels of a link. |
|
Link model representing a network link. |
|
API client for link endpoints. |
Module Contents#
- class air_sdk.endpoints.links.Link[source]#
Bases:
air_sdk.bc.BaseCompatMixin,air_sdk.air_model.AirModelLink model representing a network link.
- id#
Unique identifier for the link
- created#
Timestamp when the link was created
- modified#
Timestamp when the link was last modified
- interfaces#
The two interfaces connected by this link
- labels#
Optional labels/properties of the link (e.g. cable_length)
- created: datetime.datetime#
- modified: datetime.datetime#
- interfaces: list[air_sdk.endpoints.interfaces.Interface]#
- labels: LinksLabels | None#
- classmethod get_model_api() type[LinkEndpointAPI][source]#
Returns the respective AirModelAPI type for this model.
- property model_api: LinkEndpointAPI#
- class air_sdk.endpoints.links.LinkEndpointAPI( )[source]#
Bases:
air_sdk.air_model.BaseEndpointAPI[Link]API client for link endpoints.
- create(
- *,
- interfaces: list[air_sdk.endpoints.interfaces.Interface | air_sdk.air_model.PrimaryKey],
- labels: LinksLabels | None = ...,
Create a new link between interfaces.
- Parameters:
interfaces – The two interfaces to connect
labels – Optional labels/properties of the link (e.g. cable_length)
- Returns:
The created link
Example
>>> link = api.links.create(interfaces=[interface1, interface2]) >>> link = api.links.create( ... interfaces=[interface1, interface2], ... labels={'cable_length': '5m'}, ... )
- list(
- *,
- interface: air_sdk.endpoints.interfaces.Interface | air_sdk.air_model.PrimaryKey = ...,
- limit: int = ...,
- node: air_sdk.endpoints.nodes.Node | air_sdk.air_model.PrimaryKey = ...,
- offset: int = ...,
- search: str = ...,
- ordering: str = ...,
- simulation: air_sdk.endpoints.simulations.Simulation | air_sdk.air_model.PrimaryKey = ...,
List all links.
- Parameters:
interface – Filter by specific interface
limit – Number of results to return per page
node – Filter by specific node
offset – The initial index from which to return the results
ordering – Order objects by field. Prefix with “-” for desc order
search – Search by interface name or node name of all interfaces in a case-insensitive manner
simulation – Filter by specific simulation
- Returns:
Iterator of Link instances
Example
>>> # List all links >>> for link in api.links.list(): ... print(link.id)
>>> # Filter by interface >>> for link in api.links.list(interface=interface1): ... print(link.id)
>>> # Order by creation date descending >>> for link in api.links.list(ordering='-created'): ... print(link.id)
>>> # Search by node name >>> for link in api.links.list(search='node-name'): ... print(link.interfaces[0].node.name, link.interfaces[1].node.name)