File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/libcloud/dns/drivers/__pycache__/google.cpython-310.pyc
Back
o ;jd/ � @ s� d gZ dZddlZddlmZmZmZ ddlmZm Z m Z mZ ddlm Z mZmZ G dd� de �ZG d d � d e�ZG dd � d e�ZdS )�GoogleDNSDriverZv1� N)�Zone�Record� DNSDriver)�Provider� RecordType�ZoneDoesNotExistError�RecordDoesNotExistError)�GoogleResponse�GoogleBaseConnection�ResourceNotFoundErrorc @ s e Zd ZdS )�GoogleDNSResponseN)�__name__� __module__�__qualname__� r r �O/opt/saltstack/salt/lib/python3.10/site-packages/libcloud/dns/drivers/google.pyr s r c s, e Zd ZdZeZ d� fdd� Z� ZS )�GoogleDNSConnectionzwww.googleapis.comNc s0 t � j||f|||d�|�� d�t|�| _d S )N)�secure� auth_type�credential_filez/dns/{}/projects/{})�super�__init__�format�API_VERSIONZrequest_path)�self�user_id�keyr r r �project�kwargs�� __class__r r r $ s ���zGoogleDNSConnection.__init__�NNN)r r r �hostr ZresponseClsr � __classcell__r r r r r s �r c s e Zd ZejZdZeZdZ e jde jde j de jde jde jde jd e jd e jde jde jd iZd4� fdd� Zdd� Zdd� Zdd� Zdd� Zd5dd�Zd6dd�Zdd� Zd d!� Zd"d#� Z d$d%� Z!d&d'� Z"d(d)� Z#d*d+� Z$d,d-� Z%d.d/� Z&d0d1� Z'd2d3� Z(� Z)S )7r z Google DNSzhttps://cloud.google.com/�A�AAAA�CNAME�MX�NS�PTR�SOA�SPF�SRV�TXT�CAANc s: || _ || _|| _| jstd��t� j||fi |�� d S )Nz7Project name must be specified using "project" keyword.)r r �scopes� ValueErrorr r )r r r r r r0 r r r r r M s zGoogleDNSDriver.__init__c C s | � d�S )zu Return a generator to iterate over available zones. :rtype: ``generator`` of :class:`Zone` �zones�� _get_more�r r r r � iterate_zonesV s zGoogleDNSDriver.iterate_zonesc C s | j d|d�S )z� Return a generator to iterate over records for the provided zone. :param zone: Zone to list records for. :type zone: :class:`Zone` :rtype: ``generator`` of :class:`Record` �records)�zoner3 )r r8 r r r �iterate_records_ s zGoogleDNSDriver.iterate_recordsc C sJ d| }z| j j|dd�j}W n ty td| j j|d��w | �|�S )z� Return a Zone instance. :param zone_id: ID of the required zone :type zone_id: ``str`` :rtype: :class:`Zone` �/managedZones/%s�GET��method� ��value�driver�zone_id)� connection�request�objectr r rA �_to_zone)r rB rD �responser r r �get_zonek s � zGoogleDNSDriver.get_zonec C s� |� dd�\}}||d�}d| }z| jj|d|d�j}W n ty- td| jj|d��w t|d �d krE| �|�}| � |d d |�S t d| jj|d��)z� Return a Record instance. :param zone_id: ID of the required zone :type zone_id: ``str`` :param record_id: ID of the required record :type record_id: ``str`` :rtype: :class:`Record` �:� )�name�type�/managedZones/%s/rrsetsr; �r= �paramsr>