Self-Service applications are defined using a Cloud Application Template which contains both declarative syntax to describe the configuration of the required resources and the imperative Cloud Workflow language that describes the behavior of the application. There are number of supported RightScale Resources that can be used in the template, each of which has certain properties which can be displayed to users via the use of Outputs.
The Cloud Application Template, or CAT, is the file format that is used to describe every application in the Self-Service Catalog. It has an associated language that is declarative and is used to describe the various inputs, outputs, resources, and operations available for the application. A CAT file can contain any number of Resources -- such as Servers, Arrays, SecurityGroups -- and also defines the Outputs that are shown to the users of Self-Service.
While the CAT language is used to declaratively describe the resources that make up an application, the Cloud Workflow Language describes the operations that define the behavior of the application. This fully-featured language is focused on operating cloud-based workloads and includes a number of Functions and Operators.
Learning a new language usually entails quite a bit of troubleshooting. Common errors are documented and should be a primary source of reference during CAT file development.