networks_manager

PodmanResource 管理器子类,用于网络资源。

通过 Podman API 服务操作网络资源的类和方法。

示例

with PodmanClient(base_url=”unix:///run/user/1000/podman/podman.sock”) as client
for net in client.networks.list()

print(net.id, “

“)

class NetworksManager(client: APIClient | None = None, podman_client: PodmanClient | None = None)[源]

基类:Manager

网络资源的专业管理器。

初始化 Manager() 对象。

参数:
  • client – 配置为连接到 Podman 服务的 APIClient()。

  • podman_client – 配置为连接到 Podman 对象的 PodmanClient()。

create(name: str, **kwargs) Network[源]

创建一个网络资源。

参数:

name – 要创建的网络名称

关键字参数:
  • attachable (bool) – 忽略,始终为 False。

  • check_duplicate (bool) – 忽略,始终为 False。

  • dns_enabled (bool) – 当为 True 时,不为该网络提供 DNS。

  • driver (str) – 创建网络时使用的网络驱动程序。

  • enable_ipv6 (bool) – 在网络上启用 IPv6。

  • ingress (bool) – 忽略,始终为 False。

  • internal (bool) – 限制对网络的外部访问。

  • ipam (IPAMConfig) – 可选的网络自定义 IP 方案。

  • labels (dict[str, str]) – 设置在网络上的标签映射。

  • options (dict[str, Any]) – 驱动程序选项。

  • scope (str) – 忽略,始终为 “local”。

抛出:

APIError – 当 Podman 服务报告错误时

exists(key: str) bool[源]

如果资源存在则返回 True。

仅限 Podman。

备注

此方法不提供任何互斥机制。

get(key: str) Network[源]

返回 network_id 的信息。

参数:

key – 网络名称或 ID。

抛出:
  • NotFound – 当网络不存在时

  • APIError – 当服务返回错误时

list(**kwargs) list[Network][源]

报告网络。

关键字参数:
  • names (list[str]) – 要过滤的名称列表。

  • ids (list[str]) – 要过滤的标识符列表。

  • filters (Mapping[str,str]) –

    列出网络的条件。可用过滤器

    • driver=”bridge”:匹配网络的驱动程序。仅支持“bridge”。

    • label=(Union[str, list[str]]):格式为“key”、“key=value”或此类列表。

    • type=(str):按类型过滤网络,合法值为

      • “custom”

      • “builtin”

    • plugin=(list[str]]):匹配网络中包含的 CNI 插件,合法值为(仅限 Podman)

      • bridge

      • portmap

      • firewall

      • tuning

      • dnsname

      • macvlan

  • greedy (bool) – 为每个网络单独获取更多详细信息。您可能希望通过此获取附加到它们的容器。已忽略。

抛出:

APIError – 当服务返回错误时

prepare_model(attrs: PodmanResource | Mapping[str, Any]) PodmanResourceType

从一组属性创建模型。

prune(filters: dict[str, Any] | None = None) dict[Literal['NetworksDeleted', 'SpaceReclaimed'], Any][源]

删除未使用的网络。

SpaceReclaimed 始终报告为 0

参数:

filters – 选择要删除的卷的条件。已忽略。

抛出:

APIError – 当服务报告错误时

remove(name: Network | str, force: bool | None = None) None[源]

移除网络资源。

参数:
  • name – 要删除的网络标识符。

  • force – 移除网络和任何相关的容器

抛出:

APIError – 当 Podman 服务报告错误时

property resource

prepare_model() 将创建网络类。

类型:

Type[Network]