File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/salt/states/__pycache__/libcloud_dns.cpython-310.pyc
Back
o ;j� � @ s: d Z dd� Zddd�Zdd� Zdd � Zd d� Zdd � ZdS )a1 Manage DNS records and zones using libcloud :codeauthor: Anthony Shaw <anthonyshaw@apache.org> .. versionadded:: 2016.11.0 Create and delete DNS records or zones through Libcloud. Libcloud's DNS system supports over 20 DNS providers including Amazon, Google, GoDaddy, Softlayer This module uses ``libcloud``, which can be installed via package, or pip. :configuration: This module uses a configuration profile for one or multiple DNS providers .. code-block:: yaml libcloud_dns: profile1: driver: godaddy key: 2orgk34kgk34g profile2: driver: route53 key: blah secret: blah Example: .. code-block:: yaml my-zone: libcloud_dns.zone_present: - name: mywebsite.com - profile: profile1 my-website: libcloud_dns.record_present: - name: www - zone: mywebsite.com - type: A - data: 12.34.32.3 - profile: profile1 - require: - libcloud_dns: my-zone :depends: apache-libcloud c C s dt v rdS dS )N�libcloud_dns.list_zonesT)Fz'libcloud_dns module could not be loaded)�__salt__� r r �L/opt/saltstack/salt/lib/python3.10/site-packages/salt/states/libcloud_dns.py�__virtual__2 s r Nc C s |d u ri }| |||d�S )N)�resultZcomment�name�changesr )r �messager r r r r �state_result8 s r c s\ t d |�}|s d}� fdd�|D �}t|�dkrtdd� �S t d � ||�}tdd � |�S ) a Ensures a record is present. :param domain: Zone name, i.e. the domain name :type domain: ``str`` :param type: Zone type (master / slave), defaults to master :type type: ``str`` :param profile: The profile key :type profile: ``str`` r Zmasterc � g | ] }|d � kr|�qS ��domainr ��.0�zr r r � <listcomp>N � z zone_present.<locals>.<listcomp>� TzZone already existszlibcloud_dns.create_zonezCreated new zone�r �lenr )r �type�profile�zones� matching_zoner r r r �zone_present>