{"id":18538949,"url":"https://github.com/eitrtechnologies/idem-azurerm","last_synced_at":"2025-04-09T17:37:59.874Z","repository":{"id":52663514,"uuid":"218543823","full_name":"eitrtechnologies/idem-azurerm","owner":"eitrtechnologies","description":"Microsoft Azure Cloud Provider for Idem","archived":false,"fork":false,"pushed_at":"2024-06-11T20:38:21.000Z","size":1519,"stargazers_count":7,"open_issues_count":21,"forks_count":5,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-24T09:46:58.067Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eitrtechnologies.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-30T14:16:01.000Z","updated_at":"2021-04-20T00:08:11.000Z","dependencies_parsed_at":"2024-11-06T19:48:59.832Z","dependency_job_id":"d05323fb-66fc-486b-aca1-07ff7a49bf52","html_url":"https://github.com/eitrtechnologies/idem-azurerm","commit_stats":{"total_commits":389,"total_committers":5,"mean_commits":77.8,"dds":0.4447300771208226,"last_synced_commit":"7922ea1dbe3ca411754cdbf12cd9fda397be6681"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eitrtechnologies%2Fidem-azurerm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eitrtechnologies%2Fidem-azurerm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eitrtechnologies%2Fidem-azurerm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eitrtechnologies%2Fidem-azurerm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eitrtechnologies","download_url":"https://codeload.github.com/eitrtechnologies/idem-azurerm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247853788,"owners_count":21007194,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T19:45:38.502Z","updated_at":"2025-04-09T17:37:59.441Z","avatar_url":"https://github.com/eitrtechnologies.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Microsoft Azure Cloud Provider for Idem\n\n[![CodeFactor](https://www.codefactor.io/repository/github/eitrtechnologies/idem-azurerm/badge/master)](https://www.codefactor.io/repository/github/eitrtechnologies/idem-azurerm/overview/master)\n[![Python](https://img.shields.io/pypi/pyversions/idem-azurerm.svg?maxAge=2592000)](https://pypi.python.org/pypi/idem-azurerm)\n[![Slack](https://img.shields.io/badge/Slack-saltstackcommunity.slack.com-blue.svg)](https://saltstackcommunity.slack.com)\n\nAzure is a cloud service offered by Microsoft that provides virtual machines, SQL services, media services, and more.\nAzure Resource Manager is the next generation of the Azure portal and API. This provider is a\n[POP](https://gitlab.com/saltstack/pop/pop) plugin and an extension of [Idem](https://gitlab.com/saltstack/pop/idem),\nallowing Idem users to leverage Microsoft Azure Resource Manager functionality to enforce the state of cloud\ninfrastructure, applications, configurations, and more.\n\n## INSTALLATION\nThe azurerm idem provider can be installed via pip:\n```\npip install idem-azurerm\n```\n\n## INSTALLATION FOR DEVELOPMENT\n1. Clone the `idem-azurerm` repository.\n2. Install requirements with pip:\n```\npip install -r requirements.txt\n```\n3. Install `idem-azurerm` in \"editable\" mode:\n```\npip install -e \u003cpath cloned repo\u003e\n```\nYou are now fully set up to begin developing additional functionality for this provider.\n\n## CREDENTIALS\nThis provider requires that a dictionary populated with valid Azure credentials be passed via\n[acct](https://gitlab.com/saltstack/pop/acct).\n\nThe credentials can be stored in an arbitrarily named file, such as `myawesomecreds.yml`\n```\n#!yaml\n\nazurerm:\n  default:\n    client_id: \"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa\"\n    secret: \"X2KRwdcdsQn9mwjdt0EbxsQR3w5TuBOR\"\n    subscription_id: \"bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb\"\n    tenant: \"cccccccc-cccc-cccc-cccc-cccccccccccc\"\n```\n\nIn order to prepare the credentials file for use, the acct command can be run to encrypt the file with the Fernet\nalgorithm.\n```\n(env) $ acct myawesomecreds.yml\nNew encrypted file at: myawesomecreds.yml.fernet\nThe file was encrypted with this key:\n71Gbz2oDSv40Er9YUFBJPzOjtCi6Z2-5niBHPekkvqs=\n```\n\nNow we have an encrypted file containing the credentials and a symmetric key for decryption. Since you have encrypted\nthe file with the key, you can now remove the original plaintext file.\n```\n(env) $ rm myawesomecreds.yml\n```\n\nAll 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\nthe command line as parameters, but we will set up environment variables for the purposes of this tutorial.\n```\n(env) $ export ACCT_FILE=\"/path/to/myawesomecreds.yml.fernet\"\n(env) $ export ACCT_KEY=\"1Gbz2oDSv40Er9YUFBJPzOjtCi6Z2-5niBHPekkvqs=\"\n```\n\n## RESOURCE DEFINITION\nAfter installation, the Azure Resource Manager Idem Provider execution and state modules will be accessible to the hub.\n\nThe following example uses an azurerm state module to ensure the existence of a resource group.\n\nLet's call this file \"mytest.sls\"\n```\nResource group exists:\n  azurerm.resource.group.present:\n    - name: idem\n    - location: eastus\n    - tags:\n        organization: EITR Technologies\n```\n\n## TESTING AND BUILDING RESOURCES\nBefore you build the resources defined in the \".sls\" file you may want to test what will happen when the state file is\nrun. To do this, run idem with the `--test` option.\n```\n(env) $ idem state mytest.sls --test\n```\nOnce you determine that your state file with perform the intended operations, then you can build the defined resources\nby running idem like so:\n```\n(env) $ idem state mytest.sls\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feitrtechnologies%2Fidem-azurerm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feitrtechnologies%2Fidem-azurerm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feitrtechnologies%2Fidem-azurerm/lists"}