air_sdk.endpoints.interfaces#
Stub file for interfaces endpoint type hints.
Classes#
Interface model representing a network interface. |
|
API client for interface endpoints. |
Module Contents#
- class air_sdk.endpoints.interfaces.Interface[source]#
Bases:
air_sdk.air_model.AirModelInterface model representing a network interface.
- id#
Unique identifier for the interface
- name#
Human-readable name of the interface
- created#
Timestamp when the interface was created
- modified#
Timestamp when the interface was last modified
- node#
Node that the interface is related to
- interface_type#
Type of the interface
- mac_address#
MAC address of the interface
- connection#
Interface that the interface is connected to
- outbound#
Whether the interface is outbound
- attributes#
Attributes of the interface
- created: datetime.datetime#
- modified: datetime.datetime#
- attributes: InterfaceAttributes | None#
- classmethod get_model_api() type[InterfaceEndpointAPI][source]#
Returns the respective AirModelAPI type for this model.
- property model_api: InterfaceEndpointAPI#
- update(
- *,
- name: str | dataclasses._MISSING_TYPE = ...,
- interface_type: Literal['DATA_PLANE_INTF', 'PCIE_INTF', 'OOB_INTF'] | dataclasses._MISSING_TYPE = ...,
- outbound: bool | dataclasses._MISSING_TYPE = ...,
- attributes: InterfaceAttributes | None | dataclasses._MISSING_TYPE = ...,
Update the interface’s properties.
- Parameters:
name – New name for the interface
interface_type – New type for the interface
outbound – New outbound status for the interface
attributes – New attributes for the interface
Example
>>> interface.update(name='New Name')
- connect(
- *,
- target: Interface | air_sdk.air_model.PrimaryKey,
Connect the interface to another interface.
- Parameters:
target – Interface or primary key of the interface to connect to
Example
>>> interface.connect(interface) >>> interface.connect('interface-id')
- disconnect() Interface[source]#
Disconnect the interface from its connection.
Example
>>> interface.disconnect()
- property services: air_sdk.endpoints.services.ServiceEndpointAPI#
Query for the related services of the interface.
- Returns:
ServiceEndpointAPI instance filtered for this interface’s services
Example
>>> for service in interface.services.list(): ... print(f'{service.name}: {service.worker_fqdn}:{service.worker_port}') >>> >>> # Create service on this interface >>> service = interface.services.create( ... name='SSH', node_port=22, service_type='ssh' ... )
- class air_sdk.endpoints.interfaces.InterfaceEndpointAPI(
- api: air_sdk.AirApi,
- default_filters: dict[str, Any] | None = None,
Bases:
air_sdk.air_model.BaseEndpointAPI[Interface]API client for interface endpoints.
- create(
- *,
- name: str,
- node: air_sdk.endpoints.nodes.Node | air_sdk.air_model.PrimaryKey,
- interface_type: Literal['DATA_PLANE_INTF', 'PCIE_INTF', 'OOB_INTF'] | dataclasses._MISSING_TYPE = ...,
- mac_address: str | dataclasses._MISSING_TYPE = ...,
- outbound: bool | dataclasses._MISSING_TYPE = ...,
- attributes: InterfaceAttributes | None | dataclasses._MISSING_TYPE = ...,
Create a new interface.
- Parameters:
name – Name of the interface
node – Node to create the interface on
- Returns:
The created Interface instance
Example
>>> interface = api.interfaces.create(name='eth0', node=node) >>> interface = node.interfaces.create(name='eth0', node=node.id)
- list(
- *,
- interface_type: Literal['DATA_PLANE_INTF', 'PCIE_INTF', 'OOB_INTF'] | dataclasses._MISSING_TYPE = ...,
- mac_address: str | dataclasses._MISSING_TYPE = ...,
- name: str | dataclasses._MISSING_TYPE = ...,
- node: air_sdk.endpoints.nodes.Node | air_sdk.air_model.PrimaryKey | dataclasses._MISSING_TYPE = ...,
- outbound: bool | dataclasses._MISSING_TYPE = ...,
- simulation: str | dataclasses._MISSING_TYPE = ...,
- limit: int | dataclasses._MISSING_TYPE = ...,
- offset: int | dataclasses._MISSING_TYPE = ...,
- search: str | dataclasses._MISSING_TYPE = ...,
- ordering: str | dataclasses._MISSING_TYPE = ...,
List all interfaces with optional filtering.
- Parameters:
interface_type – Filter by interface type
mac_address – Filter by MAC address
name – Filter by name
node – Filter by node
outbound – Filter by outbound status
simulation – Filter by simulation
limit – Number of results to return per page
offset – The initial index from which to return the results
search – Search by name
ordering – Order by field
- Returns:
Iterator of Interface instances
Example
>>> # List all interfaces >>> for interface in api.interfaces.list(): ... print(interface.name)
>>> # Filter by interface type >>> for interface in api.interfaces.list(interface_type='DATA_PLANE_INTF'): ... print(interface.name)
>>> # Search by name >>> for interface in api.interfaces.list(search='eth0'): ... print(interface.name)
>>> # Order by name descending >>> for interface in api.interfaces.list(ordering='-name'): ... print(interface.name)
- update(
- *,
- interface: Interface | air_sdk.air_model.PrimaryKey,
- name: str | dataclasses._MISSING_TYPE = ...,
- interface_type: Literal['DATA_PLANE_INTF', 'PCIE_INTF', 'OOB_INTF'] | dataclasses._MISSING_TYPE = ...,
- outbound: bool | dataclasses._MISSING_TYPE = ...,
- attributes: InterfaceAttributes | None | dataclasses._MISSING_TYPE = ...,
Update the interface’s properties.
- Parameters:
interface – Interface or primary key of the interface to update
name – New name for the interface
interface_type – New type for the interface
outbound – New outbound status for the interface
attributes – New attributes for the interface
- Returns:
The updated Interface instance
Example
>>> # Using Interface object >>> updated_interface = api.interfaces.update( ... interface=interface, name='New Name' ... ) >>> # Using interface ID >>> updated_interface = api.interfaces.update( ... interface='interface-id', ... name='New Name', ... interface_type='DATA_PLANE_INTF', ... )
- get(pk: air_sdk.air_model.PrimaryKey) Interface#
Get a specific interface by ID.
- Parameters:
pk – The interface ID (string or UUID)
- Returns:
The Interface instance
Example
>>> interface = api.interfaces.get('interface-id')
- delete(pk: air_sdk.air_model.PrimaryKey) None#
Delete a specific interface by ID.
- Parameters:
pk – The interface ID (string or UUID)
Example
>>> api.interfaces.delete('interface-id')
- connect(
- *,
- interface: Interface | air_sdk.air_model.PrimaryKey,
- target: Interface | air_sdk.air_model.PrimaryKey,
Connect the interface to another interface.
- Parameters:
interface – Interface or primary key of the interface to connect
target – Interface or primary key of the interface to connect to
- Returns:
The source interface instance
Example
>>> api.interfaces.connect(interface=interface, target=target) >>> api.interfaces.connect(interface='interface-id', target='target-id')
- disconnect(
- *,
- interface: Interface | air_sdk.air_model.PrimaryKey,
Disconnect the interface from its connection.
- Parameters:
interface – Interface or primary key of the interface to disconnect
- Returns:
The source interface instance
Example
>>> api.interfaces.disconnect(interface=interface) >>> api.interfaces.disconnect(interface='interface-id')