File: //lib/python3/dist-packages/compose/__pycache__/network.cpython-310.pyc
o
S�`�- � @ s d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlm Z d dlm
Z
d dlmZ d dlm
Z
d d
lmZ d dlmZ d dlmZ d d
lmZ d dlmZ e �e�Zg d�ZG dd� d�Zdd� ZG dd� de�Zdd� Zdd� Zdd� ZG dd� d�Z dd� Z!d d!� Z"d"d#� Z#dS )$� N)�OrderedDict)�
itemgetter)�NotFound)�
IPAMConfig)�IPAMPool)�version_gte)�
version_lt� )�__version__)�ConfigurationError)�
LABEL_NETWORK)�
LABEL_PROJECT)�
LABEL_VERSION)z.com.docker.network.driver.overlay.vxlanid_listz$com.docker.network.windowsshim.hnsidz*com.docker.network.windowsshim.networknamec @ sn e Zd Z ddd�Zdd� Zdd� Zdd d
�Zedd� �Zed
d� �Z edd� �Z
edd� �Zdd� ZdS )�NetworkNFc C sP || _ || _|| _|| _|| _t|�| _|| _|| _| | _ |
| _
|| _d | _d S �N)
�client�project�name�driver�driver_opts�create_ipam_config_from_dict�ipam�external�internal�enable_ipv6�labels�custom_name�legacy)�selfr r r r r r r r r r r � r �1/usr/lib/python3/dist-packages/compose/network.py�__init__ s
zNetwork.__init__c C s� | j r,| jdkr
d S z| �� t�d�| j�� W d S ty+ tdj| j dd���w | �
� z| j| jd�}t|| � W d S ty{ d}| jrQd�| j�}t�
d �| j |�� | jj| j | j| j| j| j| j| jt| jjd
�ptd dd� Y d S w )
N�overlayz@Network {} declared as external. No new network will be created.z�Network {name} declared as external, but could not be found. Please create the network manually using `{command} {name}` and try again.zdocker network create)r �command�r zthe default driverzdriver "{}"zCreating network "{}" with {}z1.24T) r r �optionsr r r r �
attachable�check_duplicate)r r �inspect�log�debug�formatr r r � full_name�_set_legacy_flagr �check_remote_network_config�infor �create_networkr r r r �_labelsr �_version)r �data�driver_namer r r �ensure- sT
�
�������zNetwork.ensurec C s<