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)[source]

基类: Manager

网络资源的专用管理器。

初始化 Manager() 对象。

参数:

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

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

创建网络资源。

参数:

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[source]

如果资源存在,则返回 True。

仅限 Podman。

注释

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

get(key: str) Network[source]

返回网络 ID 的信息。

参数:

key – 网络名称或 ID。

引发:
  • NotFound – 当网络不存在时

  • APIError – 当服务返回错误时

list(**kwargs) List[Network][source]

报告网络。

关键字参数:
  • 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][source]

删除未使用的网络。

SpaceReclaimed 始终报告为 0

参数:

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

引发:

APIError – 当服务报告错误时

remove(name: [<class 'podman.domain.networks.Network'>, <class 'str'>], force: bool | None = None) None[source]

删除网络资源。

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

  • force – 删除网络和任何关联的容器

引发:

APIError – 当 Podman 服务报告错误时

property resource

prepare_model() 将创建 Network 类。

类型:

Type[Network]