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.14-py3-none-any.whl (26.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: c7n_oci-0.1.14-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.14-py3-none-any.whl
Algorithm Hash digest
SHA256 fd71e3ce37730a38afe0bdd722b7d58d59c778bf15f89b929d85d78e4161d2da
MD5 a9ecb2deef6ef6e5a496b1a40651c21c
BLAKE2b-256 408f9be2ea53dbf5efdb7825ce0257f899a7140f0e35f104e88da8659895952c

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