Skip to main content

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.

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

Running Tests

If you'd like to help with the development of Azure support, you'll need uv installed. It provides a pip-compatible interface, & will handle all the dependencies needed for you.

You can then run the unit tests like this:

# Assuming you're in the `cloud-custodian` top-level directory...
$ cd tools/c7n_azure

$ uv run pytest tests_azure

Release files for c7n-azure 0.7.51

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for c7n-azure 0.7.51
File Interpreter ABI Platform
c7n_azure-0.7.51-py3-none-any.whl Python 3 none any Details

Release files / c7n_azure-0.7.51-py3-none-any.whl

Download URL c7n_azure-0.7.51-py3-none-any.whl
Size 234.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
87819417369f451fa073f68dd3fadc25a97901e8ce870c608b78cafad16ff43a
BLAKE2b-256 checksum
How to use checksums
5522033d2231d7241d3e2da623650e129751636f0dc098d767af87da90293ab3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release history Release notifications | RSS feed

This release

0.7.51 This release

1 release file

0.7.50

1 release file

0.7.49

1 release file

0.7.48

1 release file

0.7.47

1 release file

0.7.46

1 release file

0.7.45

1 release file

0.7.44

1 release file

0.7.43

1 release file

0.7.42

1 release file

0.7.41

1 release file

0.7.40

1 release file

0.7.39

1 release file

0.7.38

1 release file

0.7.37

1 release file

0.7.36

1 release file

0.7.35

1 release file

0.7.34

1 release file

0.7.33

1 release file

0.7.32

1 release file

0.7.31

1 release file

0.7.30

1 release file

0.7.29

1 release file

0.7.28

1 release file

0.7.27

1 release file

0.7.26

1 release file

0.7.25

1 release file

0.7.24

1 release file

0.7.23

1 release file

0.7.22

1 release file

0.7.21

1 release file

0.7.20

1 release file

0.7.19

1 release file

0.7.18

1 release file

0.7.17

1 release file

0.7.16

1 release file

0.7.15

1 release file

0.7.14

1 release file

0.7.13

1 release file

0.7.12

1 release file

0.7.11

1 release file

0.7.10

1 release file

0.7.9

1 release file

0.7.8

1 release file

0.7.7

1 release file

0.7.6

1 release file

0.7.5

1 release file

0.7.4

1 release file

0.7.3

1 release file

0.7.2

1 release file

0.7.1

1 release file

0.7.0

1 release file

0.6.3

1 release file

0.6.2

1 release file

0.6.1

1 release file

0.6.0

1 release file

0.5.5

1 release file

0.5.4

1 release file

0.5.3

1 release file

0.5.2

1 release file

0.5.1

1 release file

0.5

1 release file

0.4

1 release file

0.3

1 release file

0.2

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page