Skip to main content

Idem language provider for Azure

Project description

Microsoft Azure Cloud Provider for Idem

CodeFactor Python Slack

Azure is a cloud service offered by Microsoft that provides virtual machines, SQL services, media services, and more. Azure Resource Manager is the next generation of the Azure portal and API. This provider is a POP plugin and an extension of Idem, allowing Idem users to leverage Microsoft Azure Resource Manager functionality to enforce the state of cloud infrastructure, applications, configurations, and more.

INSTALLATION

The azurerm idem provider can be installed via pip:

pip install idem-azurerm

INSTALLATION FOR DEVELOPMENT

  1. Clone the idem-azurerm repository.
  2. Install requirements with pip:
pip install -r requirements.txt
  1. Install idem-azurerm in "editable" mode:
pip install -e <path cloned repo>

You are now fully set up to begin developing additional functionality for this provider.

CREDENTIALS

This provider requires that a dictionary populated with valid Azure credentials be passed via acct.

The credentials can be stored in an arbitrarily named file, such as myawesomecreds.yml

#!yaml

azurerm:
  default:
    client_id: "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
    secret: "X2KRwdcdsQn9mwjdt0EbxsQR3w5TuBOR"
    subscription_id: "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb"
    tenant: "cccccccc-cccc-cccc-cccc-cccccccccccc"

In order to prepare the credentials file for use, the acct command can be run to encrypt the file with the Fernet algorithm.

(env) $ acct myawesomecreds.yml
New encrypted file at: myawesomecreds.yml.fernet
The file was encrypted with this key:
71Gbz2oDSv40Er9YUFBJPzOjtCi6Z2-5niBHPekkvqs=

Now we have an encrypted file containing the credentials and a symmetric key for decryption. Since you have encrypted the file with the key, you can now remove the original plaintext file.

(env) $ rm myawesomecreds.yml

All we have to do now is to tell idem where to get the file and key for acct. This information can be passed to acct on the command line as parameters, but we will set up environment variables for the purposes of this tutorial.

(env) $ export ACCT_FILE="/path/to/myawesomecreds.yml.fernet"
(env) $ export ACCT_KEY="1Gbz2oDSv40Er9YUFBJPzOjtCi6Z2-5niBHPekkvqs="

RESOURCE DEFINITION

After installation, the Azure Resource Manager Idem Provider execution and state modules will be accessible to the hub.

The following example uses an azurerm state module to ensure the existence of a resource group.

Let's call this file "mytest.sls"

Resource group exists:
  azurerm.resource.group.present:
    - name: idem
    - location: eastus
    - tags:
        organization: EITR Technologies

TESTING AND BUILDING RESOURCES

Before you build the resources defined in the ".sls" file you may want to test what will happen when the state file is run. To do this, run idem with the --test option.

(env) $ idem state mytest.sls --test

Once you determine that your state file with perform the intended operations, then you can build the defined resources by running idem like so:

(env) $ idem state mytest.sls

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

idem-azurerm-2.4.0.tar.gz (119.7 kB view details)

Uploaded Source

Built Distribution

idem_azurerm-2.4.0-py3-none-any.whl (250.6 kB view details)

Uploaded Python 3

File details

Details for the file idem-azurerm-2.4.0.tar.gz.

File metadata

  • Download URL: idem-azurerm-2.4.0.tar.gz
  • Upload date:
  • Size: 119.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9

File hashes

Hashes for idem-azurerm-2.4.0.tar.gz
Algorithm Hash digest
SHA256 a452c08b29e83aeeb05acbbc2a9602a7630830b7dc91940c88fcfa98cbc80a21
MD5 12384dc364b0a6eea9b086f0e23b2251
BLAKE2b-256 a3c5a7930080895f51c5f9913563f7af2fa023697ef20ee7a318a6e8a311129f

See more details on using hashes here.

File details

Details for the file idem_azurerm-2.4.0-py3-none-any.whl.

File metadata

  • Download URL: idem_azurerm-2.4.0-py3-none-any.whl
  • Upload date:
  • Size: 250.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9

File hashes

Hashes for idem_azurerm-2.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 501b069069633489f4046f7d2a8abef81abf6458f70ae00b989686d60bee9793
MD5 69363dd69ae3e7160fca04d1cb025ab5
BLAKE2b-256 347cd46f17519f58b49aceb4f9d82d544aa8ec32e30139ee0bb52a8a13b8ae24

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page