This document contains information about creating custom environment variables in the Cloud Platform user interface.
In addition to the environment variables provided by Cloud Platform, you can also create custom environment variables for your application using the Cloud Platform user interface or using the Cloud Platform 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 Cloud Platform user interface enables you to add, edit, and delete custom environment variables quickly and easily. Since working with custom variables is restricted by permissions, the Cloud Platform interface contains the appropriate items for working with variables only if you have adequate permissions.
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.
Cloud Platform has the following limitations for custom variables:
- Maximum 5000 bytes for each variable value
- Maximum 255 bytes for each variable name
- 100 kilobytes in total (all variables with their names and values)
- Variable name and value must not contain tabs, spaces, or quotation marks.
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 logs. 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
To add a custom environment variable:
- Sign in to the Cloud Platform user interface, and select your application.
- Select the environment to which you want to add a variable.
In the left menu, select Variables > Add Environment Variable.
- Add the information for your variable:
- Name - Example:
Drupal_API_URL
- Value - Example:
http://mydrupalsite.com/api
- Name - Example:
- Click Add to add the variable, or click Cancel to discard your changes.
After your environment restarts, an item appears in the task log and the new variable is included in the Environment Variables list.
Editing a custom variable
To update an existing custom variable:
- Sign in to the Cloud Platform user interface, and select your application.
- In the left menu, click Variables.
- Find the variable that you want to change, and click Edit.
- Replace the information in the Value text box with your updated data.
- Click Update.
After your environment restarts, an item appears in the task log and the variable’s new value is 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:
- Sign in to the Cloud Platform user interface, and select your application.
- In the left menu, click Variables.
- Find the variable that you want to delete, and click Remove.
- Click Update.
After your environment restarts, an item appears in the task log and Cloud Platform removes the variable from the Environment Variables list.
Filtering for specific variables
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 Cloud Platform API
The Cloud Platform API provides the following endpoints for working with custom environment variables:
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} |