ruạṛ
a ���f�� � @ s� d dl mZ d dlmZ d dlmZ d dlmZmZ d dlm Z d dl mZmZ d dl mZ d dlmZmZmZ d d lmZ d d lmZ ddlmZ ed �ZG dd� de�ZdS )� )�absolute_import)�requests)�six)�retry�circuit_breaker)� BaseClient)�get_config_value_or_default�validate_config)�Signer)�Sentinel�#get_signer_from_authentication_type�AUTHENTICATION_TYPE_FIELD_NAME)�InvalidAlloyConfig)�OCI_SDK_ENABLED_SERVICES_SET� )�core_type_mappingZMissingc @ sH e Zd ZdZdd� Zdd� Zdd� Zdd � Zd d� Zdd � Z dd� Z dd� Zdd� Zdd� Z dd� Zdd� Zdd� Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zd*d+� Zd,d-� Zd.d/� Zd0d1� Zd2d3� Zd4d5� Zd6d7� Zd8d9� Zd:d;� Z d<d=� Z!d>d?� Z"d@dA� Z#dBdC� Z$dDdE� Z%dFdG� Z&dHdI� Z'dJdK� Z(dLdM� Z)dNdO� Z*dPdQ� Z+dRdS� Z,dTdU� Z-dVdW� Z.dXdY� Z/dZd[� Z0d\d]� Z1d^d_� Z2d`da� Z3dbdc� Z4ddde� Z5dfdg� Z6dhdi� Z7djdk� Z8dldm� Z9dndo� Z:dpdq� Z;drds� Z<dtdu� Z=dvdw� Z>dxdy� Z?dzd{� Z@d|d}� ZAd~d� ZBd�d�� ZCd�d�� ZDd�d�� ZEd�d�� ZFd�d�� ZGd�d�� ZHd�d�� ZId�d�� ZJd�d�� ZKd�d�� ZLd�d�� ZMd�d�� ZNd�d�� ZOd�d�� ZPd�d�� ZQd�d�� ZRd�d�� ZSd�d�� ZTd�d�� ZUd�d�� ZVd�d�� ZWd�d�� ZXd�d�� ZYd�d�� ZZd�d�� Z[d�d�� Z\d�d�� Z]d�d�� Z^d�d�� Z_d�d�� Z`d�d�� Zad�d�� Zbd�d�� Zcd�dÄ Zdd�dń Zed�dDŽ Zfd�dɄ Zgd�d˄ Zhd�d̈́ Zid�dτ Zjd�S )�� ComputeClienta4 Use the Core Services API to manage resources such as virtual cloud networks (VCNs), compute instances, and block storage volumes. For more information, see the console documentation for the [Networking](/iaas/Content/Network/Concepts/overview.htm), [Compute](/iaas/Content/Compute/Concepts/computeoverview.htm), and [Block Volume](/iaas/Content/Block/Concepts/overview.htm) services. The required permissions are documented in the [Details for the Core Services](/iaas/Content/Identity/Reference/corepolicyreference.htm) article. c K s t �d�std��t||�d�d� d|v r6|d }nDt|v rHt|�}n2t|d |d |d |�d�t|d �|�d �d�}d|�d �ddi |�dd�|�dt j �|�d�d�}d|v r�|�d�|d<