Information for: DEVELOPERS   PARTNERS

Creating custom environment variables from the user interface

This feature is not available for use with Acquia Cloud Site Factory.

In addition to the environment variables provided by Acquia Cloud, you can also create custom environment variables for your application using the Acquia Cloud interface or using the Acquia Cloud API. These custom environment variables are set globally (on a per-application basis) and can be used to define anything your application may need to work with, including Drupal APIs and environments.

The Acquia Cloud interface enables you to add, edit, and delete custom environment variables quickly and easily. Because working with custom variables is restricted by permissions, the Acquia Cloud interface contains the appropriate items for working with variables only if you have adequate permissions.

Cloud environment variables list

By default, the value of the custom variable is hidden for security. Click Show to display the value, or Hide to hide it from view again.

Note

  • After changing a custom environment variable, you must start a new SSH session to see the updates to those variables.
  • Additional environment variables are available for the Acquia Cloud pipelines feature.

Security considerations for custom variables

Custom environment variables aren’t encrypted, and aren’t a substitute for secure credentials. Custom environment variables can be exposed in your application’s Drupal watchdog log. Acquia recommends you do not include sensitive items, like the following examples, in a custom variable:

  • SSL certificates
  • SSH keys
  • Login credentials
  • API credentials

Adding a custom variable

Using the Acquia Cloud interface, complete the following steps to add a custom environment variable:

  1. Sign in to Acquia Cloud, and then select your application.

  2. Select the environment to which you want to add a variable.

  3. In the left menu, click Variables, and then click Add Environment Variable.

    Cloud variables option

  4. Add the information for your variable:

    • Name - Example: Drupal_API_URL
    • Value - Example: http://mydrupalsite.com/api
  5. Click Add to add the variable, or click Cancel to discard your changes.

After your environment restarts, an item will appear in the task log and the new variable will be included in the Environment Variables list.

Editing a custom variable

If you have a problem or need to update an existing custom variable, you can edit them from the Variables page, using the following procedure:

  1. Sign in to Acquia Cloud, and then select your application.
  2. In the left menu, click Variables.
  3. Find the variable that you want to change, and then click its Edit link.
  4. Replace the information in the Value text box with your updated data.
  5. Click Update.

After your environment restarts, an item will appear in the task log and the variable’s new value will be displayed in the Environment Variables list.

Calling a custom variable

Custom environment variables are available in both the $_ENV and $_SERVER superglobals. To call a custom variable, add the following code to your settings.php file, modifying variable_name to meet your application’s needs:

$myVariable = $_ENV['variable_name'] ?? getenv('variable_name');

Removing a custom variable

To remove a custom environment variable from use, complete the following steps:

  1. Sign in to Acquia Cloud, and then select your application.
  2. In the left menu, click Variables.
  3. Find the variable that you want to delete, and then click its Remove link.
  4. Click Update.

After your environment restarts, an item will appear in the task log and Acquia Cloud will remove the variable from the Environment Variables list.

Filtering for specific variables

If you need to locate a specific custom environment variable, use the Filter Variables field in the upper-right corner of the webpage to filter your displayed variables based on your entered text.

Custom variables in the Acquia Cloud API

The Acquia Cloud API provides endpoints for working with custom environment variables, including the following:

Function Endpoint
Return a list of environment variables GET /environments/{environmentId}/variables
Add a new environment variable POST /environments/{environmentId}/variables
Retrieve an environment variable GET /environments/{environmentId}/variables/{environmentVariableName}
Delete an environment variable DELETE /environments/{environmentId}/variables/{environmentVariableName}
Update an existing environment variable PUT /environments/{environmentId}/variables/{environmentVariableName}