Skip to main content

Cloud Custodian - OCI Support

Project description

Cloud Custodian - OCI Support

This is a plugin to Cloud Custodian that adds OCI support.

Install Cloud Custodian and OCI Plugin

The OCI 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_oci/.

Write your first policy

Cloud Custodian policies are expressed in YAML and include the following:

  • 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

Our first policy filters compute instance of a specific name, then adds the tag mark_deletion: true.

Create a file named custodian.yml with the following content. Update display_name,compartment_id match an existing compute instance.

policies:
    - name: filter-for-compute-name
      description: Filter for compute which matches the display name
      resource: oci.instance
      filters:
        - type: query
          params:
            compartment_id: 'ocid1.compartment.oc1..<unique_ID>'
        - type: value
          key: display_name
          value: test
      actions:
        - type: update_instance
          params:
            update_instance_details:
                freeform_tags:
                    mark-for-deletion: 'true'

Run your policy

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

If successful, you should see output like the following on the command line::

2023-05-25 18:15:53,132: custodian.oci.session:INFO Successfully authenticated user ...
2023-05-25 18:16:01,118: custodian.policy:INFO policy:filter-for-compute-name resource:oci.instance region: count:1 time:7.98
2023-05-25 18:16:05,474: custodian.oci.resources.compute:INFO Received status 200 for PUT:update_instance 9A14E2D68AC94772849C7534E10BC963/089249DEBA83A0BDA6050BFF759BCF49/38040CF37F356743B539E653B2DED1E0
2023-05-25 18:16:05,483: custodian.policy:INFO policy:filter-for-compute-name action:updateinstance resources:1 execution_time:4.34

You can find a new filter-for-compute-name under --output-dir option value directory with a log and a resources.json file.

Links

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

c7n_oci-0.1.16-py3-none-any.whl (26.8 kB view details)

Uploaded Python 3

File details

Details for the file c7n_oci-0.1.16-py3-none-any.whl.

File metadata

  • Download URL: c7n_oci-0.1.16-py3-none-any.whl
  • Upload date:
  • Size: 26.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for c7n_oci-0.1.16-py3-none-any.whl
Algorithm Hash digest
SHA256 ff4f8baa52c3c9287ba8c226cd2ce171f5f08cc5d6644815322356802f388f86
MD5 9353aa5da414066fcb1c6415780ca6fa
BLAKE2b-256 aa811fa98242cd6a14ceb353aa97267a82c94a790b4aba0fc8ff2603733951fc

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