%PDF- %PDF-
| Direktori : /proc/self/root/proc/self/root/usr/lib/python2.7/site-packages/salt/states/ |
| Current File : //proc/self/root/proc/self/root/usr/lib/python2.7/site-packages/salt/states/azurearm_network.pyo |
�
���^c @@ s� d Z d d l m Z d d l Z y d d l m Z Wn e k
rO e Z n Xd Z e j e
� Z d � Z e
e
e
d � Z e
d � Z e
e
e
d � Z e
d
� Z e
e
e
d � Z e
d � Z e
e
e
e
e
e
e
e
e
e
d
�
Z e
d � Z e
e
e
e
e
e
e
e
e
e
d �
Z e
d � Z e
e
e
e
e
e
e
d � Z e
d � Z e
e
e
e
e
e
e
e
e
d � Z e
d � Z e
e
e
e
d � Z e
d � Z e
e
d � Z e
d � Z d S( s�
Azure (ARM) Network State Module
.. versionadded:: 2019.2.0
:maintainer: <devops@decisionlab.io>
:maturity: new
:depends:
* `azure <https://pypi.python.org/pypi/azure>`_ >= 2.0.0
* `azure-common <https://pypi.python.org/pypi/azure-common>`_ >= 1.1.8
* `azure-mgmt <https://pypi.python.org/pypi/azure-mgmt>`_ >= 1.0.0
* `azure-mgmt-compute <https://pypi.python.org/pypi/azure-mgmt-compute>`_ >= 1.0.0
* `azure-mgmt-network <https://pypi.python.org/pypi/azure-mgmt-network>`_ >= 1.7.1
* `azure-mgmt-resource <https://pypi.python.org/pypi/azure-mgmt-resource>`_ >= 1.1.0
* `azure-mgmt-storage <https://pypi.python.org/pypi/azure-mgmt-storage>`_ >= 1.0.0
* `azure-mgmt-web <https://pypi.python.org/pypi/azure-mgmt-web>`_ >= 0.32.0
* `azure-storage <https://pypi.python.org/pypi/azure-storage>`_ >= 0.34.3
* `msrestazure <https://pypi.python.org/pypi/msrestazure>`_ >= 0.4.21
:platform: linux
:configuration: This module requires Azure Resource Manager credentials to be passed as a dictionary of
keyword arguments to the ``connection_auth`` parameter in order to work properly. Since the authentication
parameters are sensitive, it's recommended to pass them to the states via pillar.
Required provider parameters:
if using username and password:
* ``subscription_id``
* ``username``
* ``password``
if using a service principal:
* ``subscription_id``
* ``tenant``
* ``client_id``
* ``secret``
Optional provider parameters:
**cloud_environment**: Used to point the cloud driver to different API endpoints, such as Azure GovCloud. Possible values:
* ``AZURE_PUBLIC_CLOUD`` (default)
* ``AZURE_CHINA_CLOUD``
* ``AZURE_US_GOV_CLOUD``
* ``AZURE_GERMAN_CLOUD``
Example Pillar for Azure Resource Manager authentication:
.. code-block:: yaml
azurearm:
user_pass_auth:
subscription_id: 3287abc8-f98a-c678-3bde-326766fd3617
username: fletch
password: 123pass
mysubscription:
subscription_id: 3287abc8-f98a-c678-3bde-326766fd3617
tenant: ABCDEFAB-1234-ABCD-1234-ABCDEFABCDEF
client_id: ABCDEFAB-1234-ABCD-1234-ABCDEFABCDEF
secret: XXXXXXXXXXXXXXXXXXXXXXXX
cloud_environment: AZURE_PUBLIC_CLOUD
Example states using Azure Resource Manager authentication:
.. code-block:: jinja
{% set profile = salt['pillar.get']('azurearm:mysubscription') %}
Ensure virtual network exists:
azurearm_network.virtual_network_present:
- name: my_vnet
- resource_group: my_rg
- address_prefixes:
- '10.0.0.0/8'
- '192.168.0.0/16'
- dns_servers:
- '8.8.8.8'
- tags:
how_awesome: very
contact_name: Elmer Fudd Gantry
- connection_auth: {{ profile }}
Ensure virtual network is absent:
azurearm_network.virtual_network_absent:
- name: other_vnet
- resource_group: my_rg
- connection_auth: {{ profile }}
i ( t absolute_importN( t ranget azurearm_networkc C@ s d t k r t St S( sU
Only make this state available if the azurearm_network module is available.
s. azurearm_network.check_ip_address_availability( t __salt__t __virtualname__t False( ( ( s@ /usr/lib/python2.7/site-packages/salt/states/azurearm_network.pyt __virtual__i s c
K@ s� i | d 6t d 6d d 6i d 6} t | t � s? d | d <| St d | | d d | �} d
| k r�t d | j d i � | p� i � } | r� | | d d <n t | p� g � j t | j d
i � j d g � � � }
|
ri | j d
i � j d g � d 6| d 6| d d <n t | p%g � j t | j d i � j d g � � � } | r�i i | j d i � j d g � d 6| d 6d 6| d d <n | j d t � | j d � k r�i | j d � d 6| j d � d 6| d d <n | j d t � | j d � k r:i | j d � d 6| j d � d 6| d d <n | d set | d <d j | � | d <| St
d rd | d <d j | � | d <| Sno i i d 6i | d 6| d 6i | d 6d 6i | d 6d
6| j d t � d 6| j d t � d 6| d 6d 6| d <t
d r-d j | � | d <d | d <| S| j � } | j
| � t d d | d | d | d | d | | � } d
| k r�t | d <d j | � | d <| Sd j | | j d
� � | d <| S( s�
.. versionadded:: 2019.2.0
Ensure a virtual network exists.
:param name:
Name of the virtual network.
:param resource_group:
The resource group assigned to the virtual network.
:param address_prefixes:
A list of CIDR blocks which can be used by subnets within the virtual network.
:param dns_servers:
A list of DNS server addresses.
:param tags:
A dictionary of strings can be passed as tag metadata to the virtual network object.
:param connection_auth:
A dict with subscription and authentication parameters to be used in connecting to the
Azure Resource Manager API.
Example usage:
.. code-block:: yaml
Ensure virtual network exists:
azurearm_network.virtual_network_present:
- name: vnet1
- resource_group: group1
- address_prefixes:
- '10.0.0.0/8'
- '192.168.0.0/16'
- dns_servers:
- '8.8.8.8'
- tags:
contact_name: Elmer Fudd Gantry
- connection_auth: {{ profile }}
- require:
- azurearm_resource: Ensure resource group exists
t namet resultt t commentt changessH Connection information must be specified via connection_auth dictionary!s$ azurearm_network.virtual_network_gett azurearm_log_levelt infot errors dictdiffer.deep_difft tagst dhcp_optionst dns_serverst oldt newt
address_spacet address_prefixest enable_ddos_protectiont enable_vm_protections'