azurerm_compute#

Azure Resource Manager Compute State Module

New in version 2019.2.0.

maintainer:

<devops@eitr.tech>

maturity:

new

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:

azurerm:
    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:

{% set profile = salt['pillar.get']('azurerm:mysubscription') %}
Ensure availability set exists:
    azurerm_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:
    azurerm_compute.availability_set_absent:
        - name: other_avail_set
        - resource_group: my_rg
        - connection_auth: {{ profile }}
saltext.azurerm.states.azurerm_compute.__virtual__()[source]#

Only make this state available if the azurerm_compute module is available.

saltext.azurerm.states.azurerm_compute.availability_set_present(name, resource_group, tags=None, platform_update_domain_count=None, platform_fault_domain_count=None, virtual_machines=None, sku=None, connection_auth=None, **kwargs)[source]#

New in version 2019.2.0.

WARNING: This function has been moved to another file (azurerm_compute_availability_set.py) and will be deprecated in the future.

Ensure an availability set exists.

Parameters:
  • name – Name of the availability set.

  • resource_group – The resource group assigned to the availability set.

  • tags – A dictionary of strings can be passed as tag metadata to the availability set object.

  • 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.

  • platform_fault_domain_count – An optional parameter which defines the group of virtual machines that share a common power source and network switch.

  • virtual_machines – A list of names of existing virtual machines to be included in the availability set.

  • 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.

  • connection_auth – A dict with subscription and authentication parameters to be used in connecting to the Azure Resource Manager API.

Example usage:

Ensure availability set exists:
    azurerm_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:
          - azurerm_resource: Ensure resource group exists
saltext.azurerm.states.azurerm_compute.availability_set_absent(name, resource_group, connection_auth=None)[source]#

New in version 2019.2.0.

WARNING: This function has been moved to another file (azurerm_compute_availability_set.py) and will be deprecated in the future.

Ensure an availability set does not exist in a resource group.

Parameters:
  • name – Name of the availability set.

  • resource_group – Name of the resource group containing the availability set.

  • connection_auth – A dict with subscription and authentication parameters to be used in connecting to the Azure Resource Manager API.