Metadata-Version: 2.1
Name: c7n-azure
Version: 0.7.17
Summary: Cloud Custodian - Azure Support
Home-page: https://cloudcustodian.io
Author: Cloud Custodian Project
License: Apache-2.0
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: System :: Distributed Computing
Requires-Python: >=3.7,<4.0
Description-Content-Type: text/markdown
Requires-Dist: adal (==1.2.7)
Requires-Dist: applicationinsights (==0.11.10)
Requires-Dist: argcomplete (==2.0.0)
Requires-Dist: attrs (==22.1.0)
Requires-Dist: azure-cosmos (==3.2.0)
Requires-Dist: azure-cosmosdb-nspkg (==2.0.2)
Requires-Dist: azure-cosmosdb-table (==1.0.6)
Requires-Dist: azure-graphrbac (==0.61.1)
Requires-Dist: azure-keyvault (==4.2.0)
Requires-Dist: azure-mgmt-advisor (==9.0.0)
Requires-Dist: azure-mgmt-apimanagement (==1.0.0)
Requires-Dist: azure-mgmt-applicationinsights (==1.0.0)
Requires-Dist: azure-mgmt-authorization (==1.0.0)
Requires-Dist: azure-mgmt-batch (==15.0.0)
Requires-Dist: azure-mgmt-cdn (==10.0.0)
Requires-Dist: azure-mgmt-cognitiveservices (==11.0.0)
Requires-Dist: azure-mgmt-compute (==19.0.0)
Requires-Dist: azure-mgmt-containerinstance (==7.0.0)
Requires-Dist: azure-mgmt-containerregistry (==8.0.0b1)
Requires-Dist: azure-mgmt-containerservice (==15.1.0)
Requires-Dist: azure-mgmt-cosmosdb (==6.4.0)
Requires-Dist: azure-mgmt-costmanagement (==1.0.0)
Requires-Dist: azure-mgmt-databricks (==1.0.0b1)
Requires-Dist: azure-mgmt-datafactory (==1.1.0)
Requires-Dist: azure-mgmt-datalake-store (==1.0.0)
Requires-Dist: azure-mgmt-dns (==8.0.0b1)
Requires-Dist: azure-mgmt-eventgrid (==8.0.0)
Requires-Dist: azure-mgmt-eventhub (==8.0.0)
Requires-Dist: azure-mgmt-hdinsight (==7.0.0)
Requires-Dist: azure-mgmt-iothub (==1.0.0)
Requires-Dist: azure-mgmt-keyvault (==8.0.0)
Requires-Dist: azure-mgmt-logic (==9.0.0)
Requires-Dist: azure-mgmt-managementgroups (==1.0.0b1)
Requires-Dist: azure-mgmt-monitor (==2.0.0)
Requires-Dist: azure-mgmt-msi (==1.0.0)
Requires-Dist: azure-mgmt-network (==17.1.0)
Requires-Dist: azure-mgmt-policyinsights (==1.0.0)
Requires-Dist: azure-mgmt-rdbms (==8.1.0)
Requires-Dist: azure-mgmt-redis (==12.0.0)
Requires-Dist: azure-mgmt-resource (==16.1.0)
Requires-Dist: azure-mgmt-resourcegraph (==7.0.0)
Requires-Dist: azure-mgmt-search (==8.0.0)
Requires-Dist: azure-mgmt-security (==1.0.0)
Requires-Dist: azure-mgmt-servicefabric (==1.0.0)
Requires-Dist: azure-mgmt-sql (==1.0.0)
Requires-Dist: azure-mgmt-storage (==17.1.0)
Requires-Dist: azure-mgmt-subscription (==1.0.0)
Requires-Dist: azure-mgmt-trafficmanager (==0.51.0)
Requires-Dist: azure-mgmt-web (==2.0.0)
Requires-Dist: azure-nspkg (==3.0.2)
Requires-Dist: azure-storage-common (==2.1.0)
Requires-Dist: azure-storage-file (==2.1.0)
Requires-Dist: boto3 (==1.24.44)
Requires-Dist: botocore (==1.27.44)
Requires-Dist: c7n (==0.9.18)
Requires-Dist: distlib (==0.3.5)
Requires-Dist: docutils (==0.17.1)
Requires-Dist: importlib-metadata (==4.12.0)
Requires-Dist: importlib-resources (==5.9.0)
Requires-Dist: jmespath (==1.0.1)
Requires-Dist: jsonschema (==4.9.0)
Requires-Dist: msrestazure (==0.6.4)
Requires-Dist: netaddr (==0.7.20)
Requires-Dist: pkgutil-resolve-name (==1.3.10)
Requires-Dist: portalocker (==2.5.1)
Requires-Dist: pyrsistent (==0.18.1)
Requires-Dist: python-dateutil (==2.8.2)
Requires-Dist: pyyaml (==6.0)
Requires-Dist: s3transfer (==0.6.0)
Requires-Dist: six (==1.16.0)
Requires-Dist: tabulate (==0.8.10)
Requires-Dist: typing-extensions (==4.3.0)
Requires-Dist: urllib3 (==1.26.11)
Requires-Dist: zipp (==3.8.1)
Requires-Dist: apscheduler (==3.9.1) ; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.5.0" and python_version < "4")
Requires-Dist: importlib-metadata (==4.12.0) ; python_version < "3.8" and python_version >= "3.7"
Requires-Dist: typing-extensions (==4.3.0) ; python_version < "3.8" and python_version >= "3.7"
Requires-Dist: zipp (==3.8.1) ; python_version < "3.8" and python_version >= "3.7"
Requires-Dist: python-dateutil (==2.8.2) ; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0"
Requires-Dist: pytz (==2022.1) ; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version < "4"
Requires-Dist: azure-functions (==1.11.2) ; python_version >= "3" and python_version < "4"
Requires-Dist: azure-common (==1.1.28) ; python_version >= "3.6"
Requires-Dist: azure-core (==1.24.2) ; python_version >= "3.6"
Requires-Dist: azure-identity (==1.10.0) ; python_version >= "3.6"
Requires-Dist: azure-keyvault-certificates (==4.4.0) ; python_version >= "3.6"
Requires-Dist: azure-keyvault-keys (==4.5.1) ; python_version >= "3.6"
Requires-Dist: azure-keyvault-secrets (==4.4.0) ; python_version >= "3.6"
Requires-Dist: azure-mgmt-core (==1.3.1) ; python_version >= "3.6"
Requires-Dist: azure-mgmt-frontdoor (==1.0.1) ; python_version >= "3.6"
Requires-Dist: azure-storage-blob (==12.13.0) ; python_version >= "3.6"
Requires-Dist: azure-storage-file-share (==12.9.0) ; python_version >= "3.6"
Requires-Dist: azure-storage-queue (==12.4.0) ; python_version >= "3.6"
Requires-Dist: cffi (==1.15.1) ; python_version >= "3.6"
Requires-Dist: cryptography (==37.0.4) ; python_version >= "3.6"
Requires-Dist: isodate (==0.6.1) ; python_version >= "3.6"
Requires-Dist: msal-extensions (==1.0.0) ; python_version >= "3.6"
Requires-Dist: msal (==1.18.0) ; python_version >= "3.6"
Requires-Dist: msrest (==0.7.1) ; python_version >= "3.6"
Requires-Dist: pyjwt (==2.4.0) ; python_version >= "3.6"
Requires-Dist: pywin32 (==304) ; python_version >= "3.6" and platform_system == "Windows"
Requires-Dist: tzdata (==2022.1) ; python_version >= "3.6" and python_full_version < "3.0.0" and platform_system == "Windows" or python_full_version >= "3.6.0" and python_version < "4" and python_version >= "3.6" and platform_system == "Windows"
Requires-Dist: backports.zoneinfo (==0.2.1) ; python_version >= "3.6" and python_full_version < "3.0.0" and python_version < "3.9" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version < "4" and python_version >= "3.6") or python_full_version >= "3.5.0" and python_version < "3.9" and python_version >= "3.6" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version < "4" and python_version >= "3.6")
Requires-Dist: oauthlib (==3.2.0) ; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6"
Requires-Dist: requests-oauthlib (==1.3.1) ; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6"
Requires-Dist: six (==1.16.0) ; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version < "4" and python_version >= "3.6"
Requires-Dist: tzlocal (==4.2) ; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version < "4" and python_version >= "3.6"
Requires-Dist: pytz-deprecation-shim (==0.1.0.post0) ; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version < "4" and python_version >= "3.6"
Requires-Dist: pycparser (==2.21) ; python_version >= "3.6" and python_full_version < "3.0.0" or python_version >= "3.6" and python_full_version >= "3.4.0"
Requires-Dist: click (==8.1.3) ; python_version >= "3.7"
Requires-Dist: jmespath (==1.0.1) ; python_version >= "3.7"
Requires-Dist: colorama (==0.4.5) ; python_version >= "3.7" and python_full_version < "3.0.0" and platform_system == "Windows" or platform_system == "Windows" and python_version >= "3.7" and python_full_version >= "3.5.0"
Requires-Dist: urllib3 (==1.26.11) ; python_version >= "3.7" and python_full_version < "3.0.0" and python_version < "4" or python_full_version >= "3.6.0" and python_version < "4" and python_version >= "3.7"
Requires-Dist: certifi (==2022.6.15) ; python_version >= "3.7" and python_version < "4"
Requires-Dist: idna (==3.3) ; python_version >= "3.7" and python_version < "4"
Requires-Dist: requests (==2.28.1) ; python_version >= "3.7" and python_version < "4"
Requires-Dist: charset-normalizer (==2.1.0) ; python_version >= "3.7" and python_version < "4" and python_full_version >= "3.6.0"


# Cloud Custodian - Azure Support

This a plugin to Cloud Custodian that adds Azure support.

## Install Cloud Custodian and Azure Plugin

The Azure provider must be installed as a separate package in addition to c7n. 

    $ git clone https://github.com/cloud-custodian/cloud-custodian.git
    $ virtualenv custodian
    $ source custodian/bin/activate
    (custodian) $ pip install -e cloud-custodian/.
    (custodian) $ pip install -e cloud-custodian/tools/c7n_azure/.


## Write your first policy

A policy specifies the following items:

- The type of resource to run the policy against
- Filters to narrow down the set of resources
- Actions to take on the filtered set of resources

For this tutorial we will add a tag to all virtual machines with the name "Hello" and the value "World".

Create a file named ``custodian.yml`` with this content:

    policies:
        - name: my-first-policy
          description: |
            Adds a tag to all virtual machines
          resource: azure.vm
          actions:
            - type: tag
              tag: Hello
              value: World

## Run your policy

First, choose one of the supported authentication mechanisms and either log in to Azure CLI or set
environment variables as documented in [Authentication](https://cloudcustodian.io/docs/azure/authentication.html#azure-authentication).

    custodian run --output-dir=. custodian.yml


If successful, you should see output similar to the following on the command line

    2016-12-20 08:35:06,133: custodian.policy:INFO Running policy my-first-policy resource: azure.vm
    2016-12-20 08:35:07,514: custodian.policy:INFO policy: my-first-policy resource:azure.vm has count:1 time:1.38
    2016-12-20 08:35:08,188: custodian.policy:INFO policy: my-first-policy action: tag: 1 execution_time: 0.67


You should also find a new ``my-first-policy`` directory with a log and other
files (subsequent runs will append to the log by default rather than
overwriting it). 

## Links
- [Getting Started](https://cloudcustodian.io/docs/azure/gettingstarted.html)
- [Example Scenarios](https://cloudcustodian.io/docs/azure/examples/index.html)
- [Example Policies](https://cloudcustodian.io/docs/azure/policy/index.html)




