New in version 2016.11.0.
Changed in version 2019.2.0.
The Azure ARM cloud module is used to control access to Microsoft Azure Resource Manager
depends: |
|
---|---|
configuration: | Required provider parameters:
Optional provider parameters:
|
Example /etc/salt/cloud.providers
or
/etc/salt/cloud.providers.d/azure.conf
configuration:
my-azure-config with username and password:
driver: azurearm
subscription_id: 3287abc8-f98a-c678-3bde-326766fd3617
username: larry
password: 123pass
Or my-azure-config with service principal:
driver: azurearm
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_US_GOV_CLOUD
The Service Principal can be created with the new Azure CLI (https://github.com/Azure/azure-cli) with:
az ad sp create-for-rbac -n "http://<yourappname>" --role <role> --scopes <scope>
For example, this creates a service principal with 'owner' role for the whole subscription:
az ad sp create-for-rbac -n "http://mysaltapp" --role owner --scopes /subscriptions/3287abc8-f98a-c678-3bde-326766fd3617
*Note: review the details of Service Principals. Owner role is more than you normally need, and you can restrict
scope to a resource group or individual resources.
salt.cloud.clouds.azurearm.
avail_images
(call=None)¶Return a dict of all available images on the provider
salt.cloud.clouds.azurearm.
avail_locations
(call=None)¶Return a dict of all available regions.
salt.cloud.clouds.azurearm.
avail_sizes
(call=None)¶Return a list of sizes available from the provider
salt.cloud.clouds.azurearm.
create
(vm_)¶Create a single VM from a data dict.
salt.cloud.clouds.azurearm.
create_network_interface
(call=None, kwargs=None)¶Create a network interface.
salt.cloud.clouds.azurearm.
create_or_update_vmextension
(call=None, kwargs=None)¶New in version 2019.2.0.
Create or update a VM extension object "inside" of a VM object.
extension_name: myvmextension
virtual_machine_name: myvm
settings: {"commandToExecute": "hostname"}
resource_group: < inferred from cloud configs >
location: < inferred from cloud configs >
publisher: < default: Microsoft.Azure.Extensions >
virtual_machine_extension_type: < default: CustomScript >
type_handler_version: < default: 2.0 >
auto_upgrade_minor_version: < default: True >
protected_settings: < default: None >
salt.cloud.clouds.azurearm.
delete_blob
(call=None, kwargs=None)¶Delete a blob from a container.
salt.cloud.clouds.azurearm.
delete_interface
(call=None, kwargs=None)¶Delete a network interface.
salt.cloud.clouds.azurearm.
delete_managed_disk
(call=None, kwargs=None)¶Delete a managed disk from a resource group.
salt.cloud.clouds.azurearm.
destroy
(name, call=None, kwargs=None)¶Destroy a VM.
CLI Examples:
salt-cloud -d myminion
salt-cloud -a destroy myminion service_name=myservice
salt.cloud.clouds.azurearm.
get_api_versions
(call=None, kwargs=None)¶Get a resource type api versions
salt.cloud.clouds.azurearm.
get_configured_provider
()¶Return the first configured provider instance.
salt.cloud.clouds.azurearm.
get_conn
(client_type)¶Return a connection object for a client type.
salt.cloud.clouds.azurearm.
get_dependencies
()¶Warn if dependencies aren't met.
salt.cloud.clouds.azurearm.
get_location
(call=None, kwargs=None)¶Return the location that is configured for this provider
salt.cloud.clouds.azurearm.
get_resource_by_id
(resource_id, api_version, extract_value=None)¶Get an AzureARM resource by id
salt.cloud.clouds.azurearm.
list_blobs
(call=None, kwargs=None)¶List blobs.
salt.cloud.clouds.azurearm.
list_nodes
(call=None)¶List VMs on this Azure account
salt.cloud.clouds.azurearm.
list_nodes_full
(call=None)¶List all VMs on the subscription with full information
salt.cloud.clouds.azurearm.
list_resource_groups
(call=None)¶List resource groups associated with the subscription
salt.cloud.clouds.azurearm.
list_storage_accounts
(call=None)¶List storage accounts within the subscription.
salt.cloud.clouds.azurearm.
list_subnets
(call=None, kwargs=None)¶List subnets in a virtual network.
salt.cloud.clouds.azurearm.
list_virtual_networks
(call=None, kwargs=None)¶List virtual networks.
salt.cloud.clouds.azurearm.
request_instance
(vm_)¶Request a VM from Azure.
salt.cloud.clouds.azurearm.
show_instance
(name, call=None)¶Show the details from AzureARM concerning an instance
salt.cloud.clouds.azurearm.
start
(name, call=None)¶New in version 2019.2.0.
Start a VM
CLI Examples:
salt-cloud -a start myminion
salt.cloud.clouds.azurearm.
stop
(name, call=None)¶New in version 2019.2.0.
Stop (deallocate) a VM
CLI Examples:
salt-cloud -a stop myminion
Docs for previous releases are available on readthedocs.org.
Latest Salt release: latest_release