Skip to main content

Implement Terraform providers in Python

Project description

tfprovider(-python)

This is a library to allow you to write Terraform providers in Python.

To actually deploy providers that use this library, you'll probably want to use a packaging system like terradep-python.

Project status

NOT USABLE YET for anyone but myself, trust me.

If this would be useful for you once completed, just let me know in an issue and I'll see what I can do to finish it. There is just no point working on this if nobody needs it, and my own use case isn't as important to me anymore, so I've put it on hold for now.

Implemented/missing features

If you need any of these, please either open an issue (on GitLab or GitHub, doesn't matter to me) or comment on an existing one and I'll see what I can do. In contrast to larger projects, I actually prefer +1 comments over thumbs ups for now (!) because they are easier for me to get notified of.

Most of them aren't difficult or time-consuming for me to implement, there is just no point doing it if nobody needs it.

  • General:
    • Not being completely horrible to use and full of bugs
  • Kinds of Terraform objects:
    • Resources
    • Data sources
  • Terraform data types:
    • Strings
    • Sets of strings
    • Unrefined unknowns
    • Refined unknowns
    • Anything else, including more complex types
  • Miscellaneous features:
    • Private state
    • Upgrading state from earlier versions
      • Currently has an API for this that can't possibly work => needs overhaul
  • Utilities:
    • Automatic comparison for requires_replace
  • Infrastructure:

Development

Sync/Async variants

The sync variant of the API is automatically generated from the async one using unasync. With dev dependencies installed, you can regenerate them by running run_unasync.py as a Python script (e.g. via poetry run run_unasync.py).

Project details


Download files

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

Source Distribution

tfprovider-0.1.1.post1.tar.gz (328.9 kB view hashes)

Uploaded Source

Built Distribution

tfprovider-0.1.1.post1-py3-none-any.whl (337.2 kB view hashes)

Uploaded Python 3

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