Present
In order to create a new Azure Resource Group, we craft the my_resource_group_state.sls: file with the following contents:
<Your Azure Resource Group Name>:
azure.resource_management.resource_groups.present:
- resource_group_name: <Your Azure Resource Group Name>
- parameters:
location: <Azure Region>
tags: {}
We refer first to the Azure Idem Plug-In’s Resource Group - “ azure.resource_management.resource_groups ” and we append the state directive present , for instructing idem to create a new resource group in Azure.
Please note that you can map Azure REST API’s URI and Body Parameters to the state parameters, e.g. for the Azure Resource Group
Then State SLS file can be executed with:
idem state <file_path>/my_resource_group_state.sls
In this example:
idem state states/my_resource_group_state.sls
After that you will see Idem appending our tag information to meet our new intentention and state.
--------
ID: moff-idem-01
Function: azure.resource_management.resource_groups.present
Result: True
Comment: Created
Changes: new:
----------
id:
/subscriptions/23a8cee7-a1e4-4bb3-aff9-6898b4ee6fde/resourceGroups/moff-idem-01
name:
moff-idem-01
type:
Microsoft.Resources/resourceGroups
location:
eastus
tags:
----------
properties:
----------
provisioningState:
Succeeded
You can further verify by the idem describe and filter by the resource group name.
idem describe azure.resource_management.resource_groups --filter="[?resource[?resource_group_name=='moff-idem-01']]"
State Present:
The resource parameters in an SLS yaml file follow the exact structure as what’s in the Azure REST API doc . URI Parameters should be specified in each case with “-” in front. All parameters of the API request body should be specified in exactly the same way as what’s in the Azure REST API doc . Please note that we can use the state describe for creating SLS files with most parameters.
You can include multiple resources in a single SLS yaml file. Some resources may have dependencies among them, for that you include reconciler=basic flag , This allows Idem-azure-auto to run Idem state with Idem’s reconciliation loop.