File: //lib/python3/dist-packages/cloudinit/sources/__pycache__/DataSourceOracle.cpython-310.pyc
o
x[hLT � @ s" d Z ddlZddlZddlZddlZddlZddlmZmZm Z m
Z
mZmZ ddl
mZmZmZmZmZ ddlmZ ddlmZmZmZmZ ddlmZ e�e�Zdd iZd
Z dZ!dZ"e!d
Z#e"d
Z$ddiZ%dZ&G dd� de
�Z'G dd� dej(�Z)deddfdd�Z*G dd� dej+�Z,G dd� de,�Z-de.fdd�Z/dee. fd d!�Z0de1fd"d#�Z2d$e.de3fd%d&�Z4d$e.deee.e.f fd'd(�Z5d$e.de.fd)d*�Z6d e,j7e,j8e#gd+�d,e1d-e e. dee' fd.d/�Z9e,ej:ffe-ej:ej;ffgZ<d0d1� Z=ed2k�rd3Z>e?e�@e9e$e#gd4�e2� d5��� dS dS )6a3 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)�Any�Dict�List�
NamedTuple�Optional�Tuple)�
atomic_helper�dmi�net�sources�util)�
NetworkConfig)�cmdline� ephemeral�get_interfaces_by_mac�is_netfail_master)�wait_for_url�configure_secondary_nicsFzOracleCloud.comz&http://169.254.169.254/opc/v{version}/z+http://[fd00:c1::a9fe:a9fe]/opc/v{version}/z{path}/�
Authorizationz
Bearer Oraclei(# c @ sB e Zd ZU eed<