Version 20161221
Released February 2017
New Features
- Introduced the notion of bulk resources, allowing N number of a given resource to be defined and launched automatically. Also introduced Output Sets to help show output values from bulk resources.
 - Introduced the notion of custom provision functions on resource declarations allowing for custom logic when provisioning resources.
 - IP Address Binding and Volume Attachment resources in CAT now have a 
serverfield which can reference a server directly. The oldinstancefield should now only be used for referencing an instance. - Mapping values may now be string, integer, boolean, or 
nullvalues. - New CAT methods are added: 
copy_index,dec,div,field,get,ljust,mod,prod,rjust,to_s. - Some methods can now be used on declaration attributes to satisfy common use cases for bulk resources.
 - Integrate your CloudApps with external services using CAT Plugins (added April 2017).
 
Breaking Changes
Any
ip_address_bindingthat has ainstancefield that references aserverdeclaration must be changed to use the newserverfield instead.Old syntax:
resource "my_server", type: "rs_cm.server" do ...stuff end resource "binding", type: "rs_cm.ip_address_binding" do instance @my_server endNew syntax:
resource "my_server", type: "rs_cm.server" do ...stuff end resource "binding", type: "rs_cm.ip_address_binding" do server @my_server endAny
volume_attachmentthat has ainstancefield that references aserverdeclaration must be changed to use the newserverfield instead.Old syntax:
resource "my_server", type: "rs_cm.server" do ...stuff end resource "binding", type: "rs_cm.volume_attachment" do instance @my_server endNew syntax:
resource "my_server", type: "rs_cm.server" do ...stuff end resource "binding", type: "rs_cm.volume_attachment" do server @my_server end
Version 20160622
Released June 2016
Breaking Changes
Naming restrictions are now enforced on
permissionandoperationdeclarations. Use the new 'label' field for human-friendly UI labels.Old syntax:
permission "manage sgs" do label "Manage SGs" endNew syntax:
permission "manage_sgs" do label "Manage SGs" endActions and resources for Permission declarations have been moved from the
rsnamespace to thers_cmnamespace to match the new RCL v2 syntax. Here is an example:Old syntax:
permission "manage_sgs" do actions "rs.create", "rs.destroy" resources "rs.security_groups" endNew syntax:
permission "manage_sgs" do actions "rs_cm.create", "rs_cm.destroy" resources "rs_cm.security_groups" endShort descriptions and labels on
parameterdeclarations must not be an empty string or a whitespace-only string. Here is an example:Old syntax:
parameter "performance" do type "string" label " " description "" allowed_values "low", "high" endNew syntax:
parameter "performance" do type "string" label "Application Performance" description "Application performance profile" allowed_values "low", "high" endThe
rs_ca_verCAT field must be an integer value. Here is an example:Old syntax:
rs_ca_ver '20131202'New syntax:
rs_ca_ver 20131202All CAT fields must appear before any declarations or definitions. Here is an example:
Old syntax:
resource "database_slave", type: "server" do name "Database Slave" cloud "AWS US-East" server_template_href "/api/server_templates/123" end name 'My CloudApp' rs_ca_ver 20131202 short_description 'This is a CloudApp that does something great'New syntax:
name 'My CloudApp' rs_ca_ver 20161221 short_description 'This is a CloudApp that does something great' resource "database_slave", type: "server" do name "Database Slave" cloud "AWS US-East" server_template_href "/api/server_templates/123" endDefinitions now use RCL v2 syntax.
New Features
- CAT Imports
 - Added label field to operations and permissions which will be displayed in the UI
 
Version 20131202
Released December 2013