File manager - Edit - /usr/lib/python3/dist-packages/cloudinit/sources/__pycache__/DataSourceOracle.cpython-310.pyc
Back
o �Ad�: � @ s� d Z ddlZddlZddlmZ ddlmZmZ ddlm Z ddlm Z ddlmZm Z mZ ddlmZ dd lmZmZmZmZ dd lmZmZ e�e�ZddiZd ZdZed ZdZ ddiZ!edd�Z"G dd� dej#�Z$deddfdd�Z%G dd� de j&�Z'dee( fdd�Z)de*fdd �Z+d1d"e,d#e(d$e,de-fd%d&�Z.dd'�d(e*de"fd)d*�Z/e'e j0ffgZ1d+d,� Z2ed-kr�ddl3Z3d.Z4e3j5e4d/�Z6e6�7� e8e�9e/� e+� d0��� dS dS )2a3 Datasource for Oracle (OCI/Oracle Cloud Infrastructure) Notes: * This datasource does not support OCI Classic. OCI Classic provides an EC2 lookalike metadata service. * The UUID provided in DMI data is not the same as the meta-data provided instance-id, but has an equivalent lifespan. * We do need to support upgrade from an instance that cloud-init identified as OpenStack. * Bare metal instances use iSCSI root, virtual machine instances do not. * Both bare metal and virtual machine instances provide a chassis-asset-tag of OracleCloud.com. � N)� namedtuple)�Optional�Tuple)�dmi)�log)�net�sources�util)� NetworkConfig)�cmdline� ephemeral�get_interfaces_by_mac�is_netfail_master)�UrlError�readurl�configure_secondary_nicsFzOracleCloud.comz&http://169.254.169.254/opc/v{version}/z{path}/i(# � Authorizationz Bearer Oracle�OpcMetadataz version instance_data vnics_datac @ s e Zd ZdZdefdd�ZdS )�KlibcOracleNetworkConfigSourcez�Override super class to lower the applicability conditions. If any `/run/net-*.cfg` files exist, then it is applicable. Even if `/run/initramfs/open-iscsi.interface` does not exist. �returnc C s t | j�S )zOverride is_applicable)�bool�_files��self� r �D/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceOracle.py� is_applicable9 � z,KlibcOracleNetworkConfigSource.is_applicableN)�__name__� __module__�__qualname__�__doc__r r r r r r r 2 s r �network_configr c C s d| vrdS | d dvrt �d| d � dS t� }| d dkrJdd� | d D �D ]}|d d krGd|v rG|d }|�|�}|s@q(t|�rG|d= q(dS | d dkr�| �d i ��� D ]/\}}d|v r�|�di ��d�}|r�|�|�}|ssqXt|�r�|d d= |d= ||d d<