관리-도구
편집 파일: DataSourceOVF.cpython-39.opt-1.pyc
a '�Dg�2 � @ s d Z ddlZddlZddlZddlZddlmZ ddlZddlm Z m Z mZ e�e �ZG dd� de j�ZG dd� de�Zd#d d�Zdd � Zdd� Zd$dd�Zdd� Zdd� Zdd� Zdd� Zdd� ZG dd� de�Zee jffee je jfffZdd � Z d!d"� Z!dS )%zZCloud-Init DataSource for OVF This module provides a cloud-init datasource for OVF data. � N)�minidom)�sources�subp�utilc @ sL e Zd ZdZdd� Zdd� Zdd� Zdd � Zd d� Zdd � Z e dd� �ZdS )� DataSourceOVFZOVFc C sF t j�| |||� d | _tj�|jd�| _d | _i | _ d| _ d | _d S )NZovf)�/zfile://)r � DataSource�__init__�seed�os�path�join�seed_dir�environment�cfg�supported_seed_starts�_network_config��selfZsys_cfgZdistro�paths� r �C/usr/lib/python3.9/site-packages/cloudinit/sources/DataSourceOVF.pyr s zDataSourceOVF.__init__c C s t j�| �}d|| jf S )Nz%s [seed=%s])r r �__str__r )r �rootr r r r ) s zDataSourceOVF.__str__c C s� g }i }d}d}ddi}t | jj�\}}|r^tj�| jj|�}t|�\}}} || _|�|� nndt fdt fg} d }| D ]\}}|� }|rv q�qv|r�t|d�\}}} || _d|v r�|d r�|d | _|�|� t|�dkr�d S d |v �rr|d �rr|d } d }| j D ]}| �|��r|} �q �q|�s8t�d| | � d S tj| d d�\}}}}t�d | � t�||g�}|�| � t�||g�}d�|�| _|| _|| _|| _| | _dS )N� �instance-idz iid-dsovfzcom.vmware.guestInfoZisoT�network-configr F�seedfromz Seed from %s not supported by %s)�timeoutzUsing seeded cache data from %s�,)�get_ovf_envr r r r r �read_ovf_environmentr �append�transport_vmware_guestinfo�transport_iso9660r �lenr � startswith�LOG�debugr Zread_seededZ mergemanydictr �metadataZuserdata_rawZvendordata_rawr )r �found�md�udZvd�defaultsZseedfile�contentsr r Znp�nameZ transfuncr Z seedfound�protoZmd_seed�_r r r � _get_data- sb �� zDataSourceOVF._get_datac C s d| j S )Nzovf (%s))r �r r r r �_get_subplatformo s zDataSourceOVF._get_subplatformc C s0 d| j vrg S | j d }t|t�r&|S |gS d S )N�public-keys)r) � isinstance�list)r Zpksr r r �get_public_ssh_keysr s z!DataSourceOVF.get_public_ssh_keysc C s | j S �N)r r3 r r r �get_config_obj~ s zDataSourceOVF.get_config_objc C s | j S r9 )r r3 r r r �network_config� s zDataSourceOVF.network_configN)�__name__� __module__�__qualname__Zdsnamer r r2 r4 r8 r: �propertyr; r r r r r s Br c @ s e Zd Zdd� ZdS )�DataSourceOVFNetc C s, t �| |||� tj�|jd�| _d| _d S )Nzovf-net)zhttp://zhttps://)r r r r r r r r r r r r � s zDataSourceOVFNet.__init__N)r<