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.
Return a dict of all available images on the provider
Return a dict of all available regions.
Return a list of sizes available from the provider
Create a single VM from a data dict.
Create a network interface.
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 >
Delete a blob from a container.
Delete a network interface.
Delete a managed disk from a resource group.
Destroy a VM.
CLI Examples:
salt-cloud -d myminion salt-cloud -a destroy myminion service_name=myservice
Get a resource type api versions
Return the first configured provider instance.
Return a connection object for a client type.
Warn if dependencies aren't met.
Return the location that is configured for this provider
Get an AzureARM resource by id
List blobs.
List VMs on this Azure account
List all VMs on the subscription with full information
List resource groups associated with the subscription
List storage accounts within the subscription.
List subnets in a virtual network.
List virtual networks.
Request a VM from Azure.
Show the details from AzureARM concerning an instance
New in version 2019.2.0.
Start a VM
CLI Examples:
salt-cloud -a start myminion
New in version 2019.2.0.
Stop (deallocate) a VM
CLI Examples:
salt-cloud -a stop myminion
© 2019 SaltStack.
Licensed under the Apache License, Version 2.0.
https://docs.saltstack.com/en/latest/ref/clouds/all/salt.cloud.clouds.azurearm.html