There are several different types of environment variables that are used by RightScripts and Chef Recipes. Some of these variables can be selected and used when defining inputs (Inputs tab) while others are non-selectable variables.
There are several pre-defined Environment Inputs (sometimes referred to loosely as simply "environment variables") at your disposal when writing or editing any RightScripts.
When editing inputs (Inputs tab), the following cloud-specific and RightScale-specific environment variables can be chosen when the 'Env' input type is selected. Once you've selected which environment variable you're going to use (e.g. RS_SKETCHY), you will also need to select from which Server (e.g. ebs-db1) the environment variable will be retrieved. You will be able to select any Server in the current Deployment regardless of whether the Server is active/inactive.
The following list defines each EC2 and RightScale pre-defined variable. When applicable, the name, description, view from the dashboard and an example are included for each variable.
Amazon Machine Image ID number. This is a unique identifier for each image that Amazon publishes. RightScale uses base AMIs to build RightImagesTM, which can be easily configured to meet your needs. We maintain our own mirrors with RightImages, etc.
From the Dashboard (Ec2 Info) you will see this EC2_AMI_ID value within parenthesis as part of the "Image" name.
Amazon Kernel Image ID. Although the kernel image is displayed and selectable within the RightScale Dashboard, the "default" is typically used by RightScale customers when building out deployments, etc.
From the Dashboard (Ec2 Info) you will see this EC2_AKI_ID value within parenthesis as part of the "Kernel Image" name.
Amazon Ramdisk Image ID that was used when launching the instance (if applicable). Although the ramdisk image is displayed and selectable within the RightScale Dashboard, it is rarely (if ever) used by RightScale customers when building out server deployments, etc.
The directory/file name path to the AMI Manifest XML file. Includes the base image and version number within it.
The availability zone within a given EC2 Region. This information is both displayed from the Info tab and selectable (via drop-downs during the design/manage process) from within the RightScale Dashboard.
us-east-1a, us-east-1b, us-east-1c
Fully qualified hostname of the Amazon EC2 instance. This is the equivalent of the EC2_LOCAL_HOSTNAME. It is kept for backwards compatibility reasons.
This is a unique identifier for each launched instance. It is assigned by AWS. When using our RightScripts or our API, this is how you identify a specific running instance, and perform operations against it.
The RightScale Dashboard displays this value as the "AWS id" on the Server's Info tab (EC2 Info section).
The type of instance. Amazon EC2 supports several instance types, that reflect the amount of CPU, memory and disk resources.
From the RightScale Dashboard, you can select several values depending on your compute and disk requirements. You can also scale up or down later in your deployment if need be. The Dashboard refers to this value as the "Instance Type".
m1.small, m1.large, m1.xlarge, c1.medium, c1.xlarge
Fully qualified hostname of the Amazon EC2 instance. This is an internal hostname that is the equivalent of the output of the Unix
hostname command on the instance, with the Amazon internal domain name appended to it. This is a fully qualified local hostname, similar to the EC2_HOSTNAME.
The RightScale Dashboard displays this value as the "Private DNS name" on the Server's Info tab.
The fully qualified public hostname.
From the Dashboard, this is displayed as the "Public DNS name". This is public as the name implies, and the hyperlink from the info tab should render in your browser (for example, an Apache website or a Rails web application).
The publicly routable IPv4 Ip address of the instance.
Note this IP address is used in the formatting of the EC2_PUBLIC_HOSTNAME.
Displayed in the Dashboard as the "Reservation" from the Info Tab (Ec2 section).
List of all EC2 Security Groups. (Notice the plural. AWS allows multiple security groups when launching an image, whereas RightScale supports one. Hence for RightScale deployments, this will be a "list" of one.)
The cloud controller's unique identifier for the running instance (for an EC2 instance, the return value will match the EC2_INSTANCE_ID environment variable. Example 1874519).
The private IP of the server.
The public facing IP address for the instance.
The cloud controller's unique identifier for the data center this instance is running in (Availability Zone for EC2).
RightScale Elastic IP address as issued by Amazon EC2. This is a static, publicly routable IP address.
From the Dashboard, navigate to Clouds -> AWS Region -> Elastic IPs to see any allocated elastic IP addresses. (Note: They are free of charge when in use, allocated but unused IP addresses are charged by Amazon.)
RightScale server name.
What RightScale customers navigate to when using the RightScale Cloud Management Platform. (e.g.
RightScale Sketchy servers. Sketchy is used to display the data assembled from the "
collectd" monitoring daemons.
See the Deployment Monitoring tabs in the RightScale Cloud Management Dashboard to view built-in monitoring tools.
RightScale Token. 32 character alphanumeric string.
RightScale Server Name.
From within the RightScale Dashboard page, this value is displayed in the "Nickname" column.
RightScale Deployment Name.
From within the RightScale Dashboard page, this value is displayed as "Deployment DeploymentName". Where DeploymentName is an action link you can click into to view and manage details of the deployment itself.
Modified LAMP Test
RightScale Server Template Name.
From within the RightScale Dashboard page, this value is displayed in the "Server Template" column.
Universally-unique identifier for this server incarnation. Unique across all clouds, partitions, and guaranteed to change after a bundled boot or stop/start operation. Can be used as a sketchy hostname identifier.
* All environment variables are directly available in the instance with the exception of RS_SERVER_NAME, RS_DEPLOYMENT_NAME and RS_SERVER_TEMPLATE_NAME. They can only be evaluated as part of a RightScript. For example, you could use a variable such as RSDEPLOYNAME in a script, then assign it the RS_DEPLOYMENT_NAME in the env dropdown list for Inputs.
There are also several other environment variables that are used for internal, RightScale purposes only. The following inputs will not be identified as user-defined inputs of a script, nor will they appear as selectable 'Env' input variables when defining input parameters. These environment variables are populated by the RightLink agent immediately before executing every RightScript.
The filesystem directory where files attached to this RightScript can be found.
On Linux instances, it's the name of the Linux distribution, e.g. "centos", "ubuntu", or "redhatenterpriseserver". Always lowercase with no punctuation.
If defined, it indicates that this particular RightScript was successfully executed on the instance. Covers the following cases:
- Scripts that ran on a prior boot
- Scripts that ran before this image was bundled (for user-bundled images)
- Scripts that ran before this instance was stopped/started (on EC2)
This variable is only available for boot scripts; it should be undefined for all operational and decommission scripts.
Instance CPU architecture, e.g. "i386" or "x86_64".
© 2006-2014 RightScale, Inc. All rights reserved.
RightScale is a registered trademark of RightScale, Inc. All other products and services may be trademarks or servicemarks of their respective owners.