%PDF- %PDF-
Direktori : /usr/lib/python2.7/site-packages/salt/states/ |
Current File : //usr/lib/python2.7/site-packages/salt/states/azurearm_compute.pyc |
� ���^c @@ sk d Z d d l m Z d d l Z d Z e j e � Z d � Z d d d d d d d � Z d d � Z d S( s� Azure (ARM) Compute 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 availability set exists: azurearm_compute.availability_set_present: - name: my_avail_set - resource_group: my_rg - virtual_machines: - my_vm1 - my_vm2 - tags: how_awesome: very contact_name: Elmer Fudd Gantry - connection_auth: {{ profile }} Ensure availability set is absent: azurearm_compute.availability_set_absent: - name: other_avail_set - resource_group: my_rg - connection_auth: {{ profile }} i ( t absolute_importNt azurearm_computec C@ s d t k r t St S( sU Only make this state available if the azurearm_compute module is available. s2 azurearm_compute.availability_set_create_or_update( t __salt__t __virtualname__t False( ( ( s@ /usr/lib/python2.7/site-packages/salt/states/azurearm_compute.pyt __virtual__a s c K@ s� i | d 6t d 6d d 6i d 6} t | t � s? d | d <| S| r[ i | j � d 6} n t d | | d d | �} d | k r�t d | j d i � | p� i � } | r� | | d d <n | rt | � | j d � k ri | j d � d 6| d 6| d d <n | rQt | � | j d � k rQi | j d � d 6| d 6| d d <n | r�| d | j d i � j d � k r�i | j d � d 6| d 6| d d <n | rtt | t � s�d | d <| S| j d g � } t g | D]/ } d | k r�| d j d � d j � ^ q�� } t g | p*g D] } | j � ^ q+� } | | k rti | d 6| d 6| d d <qtn | d s�t | d <d j | � | d <| St d rd | d <d j | � | d <| SnB i i d 6i | d 6| d 6| d 6| d 6| 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 | d | | � } d | k r�t | d <d j | � | d <| Sd j | | j d � � | d <| S( s� .. versionadded:: 2019.2.0 Ensure an availability set exists. :param name: Name of the availability set. :param resource_group: The resource group assigned to the availability set. :param tags: A dictionary of strings can be passed as tag metadata to the availability set object. :param platform_update_domain_count: An optional parameter which indicates groups of virtual machines and underlying physical hardware that can be rebooted at the same time. :param platform_fault_domain_count: An optional parameter which defines the group of virtual machines that share a common power source and network switch. :param virtual_machines: A list of names of existing virtual machines to be included in the availability set. :param sku: The availability set SKU, which specifies whether the availability set is managed or not. Possible values are 'Aligned' or 'Classic'. An 'Aligned' availability set is managed, 'Classic' is not. :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 availability set exists: azurearm_compute.availability_set_present: - name: aset1 - resource_group: group1 - platform_update_domain_count: 5 - platform_fault_domain_count: 3 - sku: aligned - 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_compute.availability_set_gett azurearm_log_levelt infot errors dictdiffer.deep_difft tagst platform_update_domain_countt oldt newt platform_fault_domain_countt skus, Virtual machines must be supplied as a list!t virtual_machinest idt /i����s( Availability set {0} is already present.t tests&