Skip to main content

Python Acquia Cloud API v2

Python Client library to communicate with the Acquia Cloud API V2.

Pablo Fabregat - License

Build Status Documentation Status codecov

Deprecation notice:

The following items will be removed in 2.0.3:

  • Support for environment variables ACQUIA_CLOUD_API_KEY and ACQUIA_CLOUD_API_SECRET; how the credentials are provided to the library is responsibility of the user. I've decided not to remove this, for now.

  • Tasks object; Acquia API is deprecating this as well, the Notifications object should be used instead

Examples

Please bear in mind that the library is being actively developed and most of its functionality is just a reduced set of what it should be.

Minimal request

acquia = Acquia(api_key, api_secret)
application = acquia.application("a47ac10b-58cc-4372-a567-0e02b2c3d470")

print(application["name"])

Using filters

subscription_name = "MySubsName"
filters = "name=" + subscription_name

application = acapi.applications(filters=filters).first()
dev_environment = application.environments()["dev"]

print(dev_environment["id"])

dev_environment.set_php_version("7.0")

more_settings = {
  "max_execution_time": 10,
  "memory_limit": 192,
  "apc": 128,
  "max_input_vars": 1000,
  "max_post_size": 256,
  "sendmail_path": "/usr/bin/sendmail",
  "varnish_over_ssl": False
}

dev_environment.configure(more_settings)

Notifications

acapi2 now supports the notifications endpoint

Whenever an action is executed (e.g. a code import), the API will return a uuid for its correspondant task status (notification), this can be used to check on the status of the task itself"

notif_uuid = "d82a122d-b7b8-46fc-9999-39cb824fac8d"
notification = acquia.notification(notif_uuid)
print(notification.data)

You can also check on the current notifications for a specific application

filters = "name=@*myapp*"
app = acquia.applications(filters=filters).first()

notifications = app.notifications()
for uuid, notification in notifications.items():
        print(notification.data)

Roadmap

Current version: 2.0.3

2.0.1

  • 2.x becomes the default repository branch,
  • Out of the beta status,
  • Notifications support,
  • Code coverage increase,
  • Clean up the original code a bit.
  • Support for backups.

2.0.2

  • Small release to put back support of credentials in environment variables, which is now being announced as deprecated.

2.0.3

  • Tasks endpoint removal (you should use notifications),
  • Credential environment variables removal,
  • Wait until a notification completes,
  • More support for log forwarding

2.0.4

  • Minor release: Added support for DB Backup Downloads

2.0.5

  • Credential environment variables removal (now for real :) ) I've decided not to remove this, for now,
  • Taken over https://pypi.org/project/http-hmac-python since it dissapeared.
  • Support for environment cron operations

2.0.6

  • Distributions endpoint support,
  • Messages endpoint support,
  • Better exceptions handling.

Credits

This library was originally based on the Acquia API Python Library created by Dave Hall (http://github.com/skwashd/python-acquia-cloud)

Metadata

Release files for acapi2 2.1.2

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

Source distribution (sdist)

Source distribution for acapi2 2.1.2
File Size Uploaded
acapi2-2.1.2.tar.gz 35.2 kB Details

Release files / acapi2-2.1.2.tar.gz

Download URL acapi2-2.1.2.tar.gz
Size 35.2 kB
Tags Source
SHA-256 checksum
How to use checksums
c52f0479b060403d598b47c559686c77ba5332d7f3f6628aa412079d5a699f88
BLAKE2b-256 checksum
How to use checksums
4bf9d044c6a53bd0d2936b067a5d8bc7789d5e591bcbdca65d9be6187375eb6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.11
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