Azure (ARM) Compute State Module
New in version 2019.2.0.
Warning
This cloud provider will be removed from Salt in version 3007 in favor of the saltext.azurerm Salt Extension
new
azure >= 2.0.0
azure-common >= 1.1.8
azure-mgmt >= 1.0.0
azure-mgmt-compute >= 1.0.0
azure-mgmt-network >= 1.7.1
azure-mgmt-resource >= 1.1.0
azure-mgmt-storage >= 1.0.0
azure-mgmt-web >= 0.32.0
azure-storage >= 0.34.3
msrestazure >= 0.4.21
linux
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:
subscription_id
username
password
subscription_id
tenant
client_id
secret
Optional provider parameters:
AZURE_PUBLIC_CLOUD
(default)
AZURE_CHINA_CLOUD
AZURE_US_GOV_CLOUD
AZURE_GERMAN_CLOUD
Example Pillar for Azure Resource Manager authentication:
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:
{% 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 }}
New in version 2019.2.0.
Ensure an availability set does not exist in a resource group.
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.
New in version 2019.2.0.
Ensure an availability set exists.
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:
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