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
server
field which can reference a server directly. The oldinstance
field should now only be used for referencing an instance. - Mapping values may now be string, integer, boolean, or
null
values. - 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_binding
that has ainstance
field that references aserver
declaration must be changed to use the newserver
field 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 end
New syntax:
resource "my_server", type: "rs_cm.server" do ...stuff end resource "binding", type: "rs_cm.ip_address_binding" do server @my_server end
Any
volume_attachment
that has ainstance
field that references aserver
declaration must be changed to use the newserver
field instead.Old syntax:
resource "my_server", type: "rs_cm.server" do ...stuff end resource "binding", type: "rs_cm.volume_attachment" do instance @my_server end
New 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
permission
andoperation
declarations. Use the new 'label' field for human-friendly UI labels.Old syntax:
permission "manage sgs" do label "Manage SGs" end
New syntax:
permission "manage_sgs" do label "Manage SGs" end
Actions and resources for Permission declarations have been moved from the
rs
namespace to thers_cm
namespace 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" end
New syntax:
permission "manage_sgs" do actions "rs_cm.create", "rs_cm.destroy" resources "rs_cm.security_groups" end
Short descriptions and labels on
parameter
declarations 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" end
New syntax:
parameter "performance" do type "string" label "Application Performance" description "Application performance profile" allowed_values "low", "high" end
The
rs_ca_ver
CAT field must be an integer value. Here is an example:Old syntax:
rs_ca_ver '20131202'
New syntax:
rs_ca_ver 20131202
All 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" end
Definitions 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