ssm

package
v1.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 23, 2015 License: MIT Imports: 10 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var GenMetadata = map[string]*metadata.Resource{
	"Execution": &metadata.Resource{
		Name: "Execution",
		Description: `An Execution is a launched instance of a CloudApp. Executions can be created from the catalog
by launching an Application, from Designer by launching a Template, or directly in Manager
by using the API and sending the CAT source or CAT Compiled source.
Executions are represented in RightScale Cloud Management by a deployment -- the resources
defined in the CAT are all created in the Deployment. Any action on a running CloudApp should
be made on its Execution resource.
Making changes to any resource directly in the CM deployment
may result in undesired behavior since the Execution only refreshes certain information as a
result of running an Operation on an Execution. For example, if a Server is replaced in CM
instead of through Self-Service, the new Server's information won' be available in
Self-Service.`,
		Actions: []*metadata.Action{
			&metadata.Action{
				Name:        "index",
				Description: `List information about the Executions, or use a filter to only return certain Executions. A view can be used for various levels of detail.`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "GET",
						Pattern:    "/projects/%s/executions",
						Variables:  []string{"project_id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/executions`),
					},
				},
				CommandFlags: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "filter[]",
						Description: `Filter by status, syntax is ["status==running"]`,
						Type:        "[]string",
						Location:    metadata.QueryParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "ids[]",
						Description: `An optional list of execution IDs to retrieve`,
						Type:        "[]string",
						Location:    metadata.QueryParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "view",
						Description: `Optional view to return`,
						Type:        "string",
						Location:    metadata.QueryParam,
						Mandatory:   false,
						NonBlank:    false,
						ValidValues: []string{"default", "expanded"},
					},
				},
				ApiParams: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "filter[]",
						Description: `Filter by status, syntax is ["status==running"]`,
						Type:        "[]string",
						Location:    metadata.QueryParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "ids[]",
						Description: `An optional list of execution IDs to retrieve`,
						Type:        "[]string",
						Location:    metadata.QueryParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "view",
						Description: `Optional view to return`,
						Type:        "string",
						Location:    metadata.QueryParam,
						Mandatory:   false,
						NonBlank:    false,
						ValidValues: []string{"default", "expanded"},
					},
				},
			},

			&metadata.Action{
				Name:        "show",
				Description: `Show details for a given Execution. A view can be used for various levels of detail.`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "GET",
						Pattern:    "/projects/%s/executions/%s",
						Variables:  []string{"project_id", "id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/executions/([^/]+)`),
					},
				},
				CommandFlags: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "view",
						Description: `Optional view to return`,
						Type:        "string",
						Location:    metadata.QueryParam,
						Mandatory:   false,
						NonBlank:    false,
						ValidValues: []string{"default", "expanded", "source"},
					},
				},
				ApiParams: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "view",
						Description: `Optional view to return`,
						Type:        "string",
						Location:    metadata.QueryParam,
						Mandatory:   false,
						NonBlank:    false,
						ValidValues: []string{"default", "expanded", "source"},
					},
				},
			},

			&metadata.Action{
				Name:        "create",
				Description: `Create a new execution from a CAT, a compiled CAT, an Application in the Catalog, or a Template in Designer`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "POST",
						Pattern:    "/projects/%s/executions",
						Variables:  []string{"project_id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/executions`),
					},
				},
				CommandFlags: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "application_href",
						Description: `The href of the Application in Catalog from which to create the Execution. This attribute is mutually exclusive with: source, compiled_cat, and template_href.`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "compiled_cat[conditions]",
						Description: ``,
						Type:        "map",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "compiled_cat[definitions]",
						Description: ``,
						Type:        "map",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "compiled_cat[long_description]",
						Description: ``,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "compiled_cat[mappings]",
						Description: ``,
						Type:        "map",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "compiled_cat[name]",
						Description: ``,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "compiled_cat[name]",
						Description: ``,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "compiled_cat[namespaces][][service][auth]",
						Description: `Authorization information`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "compiled_cat[namespaces][][service][headers]",
						Description: `Optional additional request headers`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "compiled_cat[namespaces][][service][host]",
						Description: `Service hostname`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "compiled_cat[namespaces][][service][path]",
						Description: `Requests base path`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "compiled_cat[operations]",
						Description: ``,
						Type:        "map",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "compiled_cat[outputs]",
						Description: ``,
						Type:        "map",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "compiled_cat[parameters]",
						Description: ``,
						Type:        "map",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "compiled_cat[name]",
						Description: ``,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "compiled_cat[namespaces][][service][auth]",
						Description: `Authorization information`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "compiled_cat[namespaces][][service][headers]",
						Description: `Optional additional request headers`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "compiled_cat[namespaces][][service][host]",
						Description: `Service hostname`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "compiled_cat[namespaces][][service][path]",
						Description: `Requests base path`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "compiled_cat[resources]",
						Description: ``,
						Type:        "map",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "compiled_cat[rs_ca_ver]",
						Description: ``,
						Type:        "int",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "compiled_cat[short_description]",
						Description: ``,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "compiled_cat[source]",
						Description: ``,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "description",
						Description: `The description for the execution. The short_description of the Template will be used if none is provided.`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "name",
						Description: `The name for the Execution. The Template name will be used if none is provided. This will be used as the name of the deployment (appended with a unique ID).`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "configuration_options[][name]",
						Description: `Name of configuration option`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "configuration_options[][type]",
						Description: `Type of configuration option.`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
						ValidValues: []string{"string", "number", "list"},
					},
					&metadata.ActionParam{
						Name:        "configuration_options[][value]",
						Description: `Configuration option value, a string, integer or array of strings depending on type`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][action]",
						Description: `The name of the action to be run.`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[email]",
						Description: `User email`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[id]",
						Description: `User id`,
						Type:        "int",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[name]",
						Description: `User name, usually of the form "First Last"`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][cost][unit]",
						Description: `Currency used for the cost value`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][cost][updated_at]",
						Description: `Timestamp of last cost refresh`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][cost][value]",
						Description: `Amount of instance usage in CloudApp deployment, only available roughly 24 hours after launch, empty if not available`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[email]",
						Description: `User email`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[id]",
						Description: `User id`,
						Type:        "int",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[name]",
						Description: `User name, usually of the form "First Last"`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][deployment]",
						Description: `CloudApp deployment href`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][deployment_url]",
						Description: `URL of the CloudApp deployment in the Cloud Management Dashboard`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][description]",
						Description: `Description of execution`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][ends_at]",
						Description: `The time of the next 'terminate' ScheduledAction (if any).`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][href]",
						Description: `Execution href`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[id]",
						Description: `User id`,
						Type:        "int",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][kind]",
						Description: `The kind of this resource, always self_service#execution`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][launched_from][type]",
						Description: `The type of the value (one of: application, template, compiled_cat, source`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][cost][value]",
						Description: `Amount of instance usage in CloudApp deployment, only available roughly 24 hours after launch, empty if not available`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][launched_from_summary]",
						Description: `How the CloudApp was launched, either from Application, Template, source, or compiled_cat`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][href]",
						Description: `Execution href`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[name]",
						Description: `User name, usually of the form "First Last"`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][action]",
						Description: `The name of the action to be run.`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[email]",
						Description: `User email`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[id]",
						Description: `User id`,
						Type:        "int",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[name]",
						Description: `User name, usually of the form "First Last"`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][first_occurrence]",
						Description: `The time and day of the first occurrence when the action will be ran, similar to the "DTSTART" property specified by iCal. Used (in conjunction with timezone) to determine the time of day for the "next_occurrence". Can be set to the future or past. DateTimes should be passed as ISO-8601 formatted time strings.  All DateTimes are converted to UTC when returned.`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][href]",
						Description: `Execution href`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[id]",
						Description: `User id`,
						Type:        "int",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][kind]",
						Description: `The kind of this resource, always self_service#execution`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][href]",
						Description: `Execution href`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][mandatory]",
						Description: `Indicates ScheduledActions that require the "force" flag to update or delete. Typically used for ScheduledActions that the execution was initialized with to better enforce CloudApp run-time restrictions.`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[name]",
						Description: `User name, usually of the form "First Last"`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][next_occurrence]",
						Description: `The Date/Time for the next occurrence. Since "DateTime implies a timezone offset (but no DST preference), the "timezone" parameter will be used to determine the DST preference. All DateTimes are converted to UTC when returned.`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][recurrence]",
						Description: `iCal recurrence rule (RRULE) as described by RFC 5545. Expresses the days on which the action will be run. Optionally a "last occurrence" date can be set by passing the iCal "UNTIL" parameter in the rule (date-time must be passed in ISO-8601 format). If omitted, the action will only be run once, on the "first_occurrence".`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][recurrence_description]",
						Description: `Read-only attribute that gets automatically generated from the recurrence definition`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][timestamps][created_at]",
						Description: `Creation timestamp`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][cost][updated_at]",
						Description: `Timestamp of last cost refresh`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][timezone]",
						Description: `The timezone in which the "first_occurrence" and "next_occurrence" times will be interpreted. Used to determine when Daylight Savings Time changes occur. Supports standardized "tzinfo" names [found here](http://www.iana.org/time-zones).`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[email]",
						Description: `User email`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[id]",
						Description: `User id`,
						Type:        "int",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[name]",
						Description: `User name, usually of the form "First Last"`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][first_occurrence]",
						Description: `The time and day of the first occurrence when the action will be ran, similar to the "DTSTART" property specified by iCal. Used (in conjunction with timezone) to determine the time of day for the "next_occurrence". Can be set to the future or past. DateTimes should be passed as ISO-8601 formatted time strings.  All DateTimes are converted to UTC when returned.`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][href]",
						Description: `Execution href`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[id]",
						Description: `User id`,
						Type:        "int",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][kind]",
						Description: `The kind of this resource, always self_service#execution`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[email]",
						Description: `User email`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[id]",
						Description: `User id`,
						Type:        "int",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[name]",
						Description: `User name, usually of the form "First Last"`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][href]",
						Description: `Execution href`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[id]",
						Description: `User id`,
						Type:        "int",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][kind]",
						Description: `The kind of this resource, always self_service#execution`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][href]",
						Description: `Execution href`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[name]",
						Description: `User name, usually of the form "First Last"`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_operation][last_run][status][percent]",
						Description: `Overall operation progress percentage`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_operation][last_run][status][summary]",
						Description: `Operation status`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
						ValidValues: []string{"not_started", "running", "paused", "canceling", "completed", "failed", "canceled", "aborted"},
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][timestamps][created_at]",
						Description: `Creation timestamp`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][cost][updated_at]",
						Description: `Timestamp of last cost refresh`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][href]",
						Description: `Execution href`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][mandatory]",
						Description: `Indicates ScheduledActions that require the "force" flag to update or delete. Typically used for ScheduledActions that the execution was initialized with to better enforce CloudApp run-time restrictions.`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[name]",
						Description: `User name, usually of the form "First Last"`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][next_occurrence]",
						Description: `The Date/Time for the next occurrence. Since "DateTime implies a timezone offset (but no DST preference), the "timezone" parameter will be used to determine the DST preference. All DateTimes are converted to UTC when returned.`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[name]",
						Description: `User name, usually of the form "First Last"`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][recurrence]",
						Description: `iCal recurrence rule (RRULE) as described by RFC 5545. Expresses the days on which the action will be run. Optionally a "last occurrence" date can be set by passing the iCal "UNTIL" parameter in the rule (date-time must be passed in ISO-8601 format). If omitted, the action will only be run once, on the "first_occurrence".`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][recurrence_description]",
						Description: `Read-only attribute that gets automatically generated from the recurrence definition`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][timestamps][created_at]",
						Description: `Creation timestamp`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][cost][updated_at]",
						Description: `Timestamp of last cost refresh`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][timezone]",
						Description: `The timezone in which the "first_occurrence" and "next_occurrence" times will be interpreted. Used to determine when Daylight Savings Time changes occur. Supports standardized "tzinfo" names [found here](http://www.iana.org/time-zones).`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][href]",
						Description: `Execution href`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][scheduled]",
						Description: `Indicates whether or not an execution has a scheduled start action`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][source]",
						Description: `Original CAT source`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_operation][last_run][status][percent]",
						Description: `Overall operation progress percentage`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_operation][last_run][status][summary]",
						Description: `Operation status`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
						ValidValues: []string{"not_started", "running", "paused", "canceling", "completed", "failed", "canceled", "aborted"},
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][timestamps][created_at]",
						Description: `Creation timestamp`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][cost][updated_at]",
						Description: `Timestamp of last cost refresh`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][first_occurrence]",
						Description: `The time and day of the first occurrence when the action will be ran, similar to the "DTSTART" property specified by iCal. Used (in conjunction with timezone) to determine the time of day for the "next_occurrence". Can be set to the future or past. DateTimes should be passed as ISO-8601 formatted time strings.  All DateTimes are converted to UTC when returned.`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][href]",
						Description: `Execution href`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[id]",
						Description: `User id`,
						Type:        "int",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][kind]",
						Description: `The kind of this resource, always self_service#execution`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][href]",
						Description: `Execution href`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][mandatory]",
						Description: `Indicates ScheduledActions that require the "force" flag to update or delete. Typically used for ScheduledActions that the execution was initialized with to better enforce CloudApp run-time restrictions.`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[name]",
						Description: `User name, usually of the form "First Last"`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][next_occurrence]",
						Description: `The Date/Time for the next occurrence. Since "DateTime implies a timezone offset (but no DST preference), the "timezone" parameter will be used to determine the DST preference. All DateTimes are converted to UTC when returned.`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][recurrence]",
						Description: `iCal recurrence rule (RRULE) as described by RFC 5545. Expresses the days on which the action will be run. Optionally a "last occurrence" date can be set by passing the iCal "UNTIL" parameter in the rule (date-time must be passed in ISO-8601 format). If omitted, the action will only be run once, on the "first_occurrence".`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][recurrence_description]",
						Description: `Read-only attribute that gets automatically generated from the recurrence definition`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][timestamps][created_at]",
						Description: `Creation timestamp`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][cost][updated_at]",
						Description: `Timestamp of last cost refresh`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][timezone]",
						Description: `The timezone in which the "first_occurrence" and "next_occurrence" times will be interpreted. Used to determine when Daylight Savings Time changes occur. Supports standardized "tzinfo" names [found here](http://www.iana.org/time-zones).`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[email]",
						Description: `User email`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[id]",
						Description: `User id`,
						Type:        "int",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[name]",
						Description: `User name, usually of the form "First Last"`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][cost][unit]",
						Description: `Currency used for the cost value`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][cost][updated_at]",
						Description: `Timestamp of last cost refresh`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][cost][value]",
						Description: `Amount of instance usage in CloudApp deployment, only available roughly 24 hours after launch, empty if not available`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[email]",
						Description: `User email`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[id]",
						Description: `User id`,
						Type:        "int",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[name]",
						Description: `User name, usually of the form "First Last"`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][deployment]",
						Description: `CloudApp deployment href`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][deployment_url]",
						Description: `URL of the CloudApp deployment in the Cloud Management Dashboard`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][description]",
						Description: `Description of execution`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][ends_at]",
						Description: `The time of the next 'terminate' ScheduledAction (if any).`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][href]",
						Description: `Execution href`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[id]",
						Description: `User id`,
						Type:        "int",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][kind]",
						Description: `The kind of this resource, always self_service#execution`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][launched_from][type]",
						Description: `The type of the value (one of: application, template, compiled_cat, source`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][cost][value]",
						Description: `Amount of instance usage in CloudApp deployment, only available roughly 24 hours after launch, empty if not available`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][launched_from_summary]",
						Description: `How the CloudApp was launched, either from Application, Template, source, or compiled_cat`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][href]",
						Description: `Execution href`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[name]",
						Description: `User name, usually of the form "First Last"`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][action]",
						Description: `The name of the action to be run.`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[email]",
						Description: `User email`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[id]",
						Description: `User id`,
						Type:        "int",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[name]",
						Description: `User name, usually of the form "First Last"`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][first_occurrence]",
						Description: `The time and day of the first occurrence when the action will be ran, similar to the "DTSTART" property specified by iCal. Used (in conjunction with timezone) to determine the time of day for the "next_occurrence". Can be set to the future or past. DateTimes should be passed as ISO-8601 formatted time strings.  All DateTimes are converted to UTC when returned.`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][href]",
						Description: `Execution href`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[id]",
						Description: `User id`,
						Type:        "int",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][kind]",
						Description: `The kind of this resource, always self_service#execution`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][href]",
						Description: `Execution href`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][mandatory]",
						Description: `Indicates ScheduledActions that require the "force" flag to update or delete. Typically used for ScheduledActions that the execution was initialized with to better enforce CloudApp run-time restrictions.`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[name]",
						Description: `User name, usually of the form "First Last"`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][next_occurrence]",
						Description: `The Date/Time for the next occurrence. Since "DateTime implies a timezone offset (but no DST preference), the "timezone" parameter will be used to determine the DST preference. All DateTimes are converted to UTC when returned.`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][recurrence]",
						Description: `iCal recurrence rule (RRULE) as described by RFC 5545. Expresses the days on which the action will be run. Optionally a "last occurrence" date can be set by passing the iCal "UNTIL" parameter in the rule (date-time must be passed in ISO-8601 format). If omitted, the action will only be run once, on the "first_occurrence".`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][recurrence_description]",
						Description: `Read-only attribute that gets automatically generated from the recurrence definition`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][timestamps][created_at]",
						Description: `Creation timestamp`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][cost][updated_at]",
						Description: `Timestamp of last cost refresh`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][timezone]",
						Description: `The timezone in which the "first_occurrence" and "next_occurrence" times will be interpreted. Used to determine when Daylight Savings Time changes occur. Supports standardized "tzinfo" names [found here](http://www.iana.org/time-zones).`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[email]",
						Description: `User email`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[id]",
						Description: `User id`,
						Type:        "int",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[name]",
						Description: `User name, usually of the form "First Last"`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][first_occurrence]",
						Description: `The time and day of the first occurrence when the action will be ran, similar to the "DTSTART" property specified by iCal. Used (in conjunction with timezone) to determine the time of day for the "next_occurrence". Can be set to the future or past. DateTimes should be passed as ISO-8601 formatted time strings.  All DateTimes are converted to UTC when returned.`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][href]",
						Description: `Execution href`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[id]",
						Description: `User id`,
						Type:        "int",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][kind]",
						Description: `The kind of this resource, always self_service#execution`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[email]",
						Description: `User email`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[id]",
						Description: `User id`,
						Type:        "int",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[name]",
						Description: `User name, usually of the form "First Last"`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][href]",
						Description: `Execution href`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[id]",
						Description: `User id`,
						Type:        "int",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][kind]",
						Description: `The kind of this resource, always self_service#execution`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][href]",
						Description: `Execution href`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[name]",
						Description: `User name, usually of the form "First Last"`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_operation][last_run][status][percent]",
						Description: `Overall operation progress percentage`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_operation][last_run][status][summary]",
						Description: `Operation status`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
						ValidValues: []string{"not_started", "running", "paused", "canceling", "completed", "failed", "canceled", "aborted"},
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][timestamps][created_at]",
						Description: `Creation timestamp`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][cost][updated_at]",
						Description: `Timestamp of last cost refresh`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][href]",
						Description: `Execution href`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][mandatory]",
						Description: `Indicates ScheduledActions that require the "force" flag to update or delete. Typically used for ScheduledActions that the execution was initialized with to better enforce CloudApp run-time restrictions.`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[name]",
						Description: `User name, usually of the form "First Last"`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][next_occurrence]",
						Description: `The Date/Time for the next occurrence. Since "DateTime implies a timezone offset (but no DST preference), the "timezone" parameter will be used to determine the DST preference. All DateTimes are converted to UTC when returned.`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[name]",
						Description: `User name, usually of the form "First Last"`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][recurrence]",
						Description: `iCal recurrence rule (RRULE) as described by RFC 5545. Expresses the days on which the action will be run. Optionally a "last occurrence" date can be set by passing the iCal "UNTIL" parameter in the rule (date-time must be passed in ISO-8601 format). If omitted, the action will only be run once, on the "first_occurrence".`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][recurrence_description]",
						Description: `Read-only attribute that gets automatically generated from the recurrence definition`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][timestamps][created_at]",
						Description: `Creation timestamp`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][cost][updated_at]",
						Description: `Timestamp of last cost refresh`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][timezone]",
						Description: `The timezone in which the "first_occurrence" and "next_occurrence" times will be interpreted. Used to determine when Daylight Savings Time changes occur. Supports standardized "tzinfo" names [found here](http://www.iana.org/time-zones).`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][href]",
						Description: `Execution href`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][scheduled]",
						Description: `Indicates whether or not an execution has a scheduled start action`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][source]",
						Description: `Original CAT source`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_operation][last_run][status][percent]",
						Description: `Overall operation progress percentage`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_operation][last_run][status][summary]",
						Description: `Operation status`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
						ValidValues: []string{"not_started", "running", "paused", "canceling", "completed", "failed", "canceled", "aborted"},
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][timestamps][created_at]",
						Description: `Creation timestamp`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][cost][updated_at]",
						Description: `Timestamp of last cost refresh`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][first_occurrence]",
						Description: `The time and day of the first occurrence when the action will be ran, similar to the "DTSTART" property specified by iCal. Used (in conjunction with timezone) to determine the time of day for the "next_occurrence". Can be set to the future or past. DateTimes should be passed as ISO-8601 formatted time strings.  All DateTimes are converted to UTC when returned.`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][href]",
						Description: `Execution href`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[id]",
						Description: `User id`,
						Type:        "int",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][kind]",
						Description: `The kind of this resource, always self_service#execution`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[email]",
						Description: `User email`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[id]",
						Description: `User id`,
						Type:        "int",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[name]",
						Description: `User name, usually of the form "First Last"`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][href]",
						Description: `Execution href`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[id]",
						Description: `User id`,
						Type:        "int",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][kind]",
						Description: `The kind of this resource, always self_service#execution`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][href]",
						Description: `Execution href`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[name]",
						Description: `User name, usually of the form "First Last"`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_operation][last_run][status][percent]",
						Description: `Overall operation progress percentage`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_operation][last_run][status][summary]",
						Description: `Operation status`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
						ValidValues: []string{"not_started", "running", "paused", "canceling", "completed", "failed", "canceled", "aborted"},
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][timestamps][created_at]",
						Description: `Creation timestamp`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][cost][updated_at]",
						Description: `Timestamp of last cost refresh`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][href]",
						Description: `Execution href`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][mandatory]",
						Description: `Indicates ScheduledActions that require the "force" flag to update or delete. Typically used for ScheduledActions that the execution was initialized with to better enforce CloudApp run-time restrictions.`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[name]",
						Description: `User name, usually of the form "First Last"`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][next_occurrence]",
						Description: `The Date/Time for the next occurrence. Since "DateTime implies a timezone offset (but no DST preference), the "timezone" parameter will be used to determine the DST preference. All DateTimes are converted to UTC when returned.`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "created_by[name]",
						Description: `User name, usually of the form "First Last"`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][recurrence]",
						Description: `iCal recurrence rule (RRULE) as described by RFC 5545. Expresses the days on which the action will be run. Optionally a "last occurrence" date can be set by passing the iCal "UNTIL" parameter in the rule (date-time must be passed in ISO-8601 format). If omitted, the action will only be run once, on the "first_occurrence".`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][recurrence_description]",
						Description: `Read-only attribute that gets automatically generated from the recurrence definition`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][timestamps][created_at]",
						Description: `Creation timestamp`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][cost][updated_at]",
						Description: `Timestamp of last cost refresh`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "latest_notifications[][execution][next_action][timezone]",
						Description: `The timezone in which the "first_occurrence" and "next_occurrence" times will be interpreted. Used to determine when Daylight Savings Time changes occur. Supports standardized "tzinfo" names [found here](http://www.iana.org/time-zones).`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "source",
						Description: `The raw CAT source from which to create the Execution. The CAT will be compiled first and then launched if successful. This attribute is mutually exclusive with: compiled_cat, template_href and application_href.`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "template_href",
						Description: `The href of the Template in Designer from which to create the Execution. This attribute is mutually exclusive with: source, compiled_cat, and application_href.`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
				},
				ApiParams: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "application_href",
						Description: `The href of the Application in Catalog from which to create the Execution. This attribute is mutually exclusive with: source, compiled_cat, and template_href.`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "compiled_cat",
						Description: `The compiled CAT source from which to create the Execution. This attribute is mutually exclusive with: source, template_href and application_href.`,
						Type:        "*CompiledCAT",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "description",
						Description: `The description for the execution. The short_description of the Template will be used if none is provided.`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "name",
						Description: `The name for the Execution. The Template name will be used if none is provided. This will be used as the name of the deployment (appended with a unique ID).`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "options[]",
						Description: `The configuration options of the Execution. These are the values provided for the CloudApp parameters.`,
						Type:        "[]*ConfigurationOption",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "scheduled_actions[]",
						Description: `The inital ScheduledActions to apply to the Execution.`,
						Type:        "[]*ScheduledActionParam",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "scheduled_operations[]",
						Description: `The inital ScheduledOperations to apply to the Execution.`,
						Type:        "[]*ScheduledOperationParam",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "source",
						Description: `The raw CAT source from which to create the Execution. The CAT will be compiled first and then launched if successful. This attribute is mutually exclusive with: compiled_cat, template_href and application_href.`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "template_href",
						Description: `The href of the Template in Designer from which to create the Execution. This attribute is mutually exclusive with: source, compiled_cat, and application_href.`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
				},
			},

			&metadata.Action{
				Name:        "delete",
				Description: `No description provided for delete.`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "DELETE",
						Pattern:    "/projects/%s/executions/%s",
						Variables:  []string{"project_id", "id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/executions/([^/]+)`),
					},
				},
				CommandFlags: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name: "force",
						Description: `Force delete execution, bypass state validation so that non term can deleted.
Note: using this option may leave cloud resources running that must manually be destroyed.`,
						Type:      "bool",
						Location:  metadata.QueryParam,
						Mandatory: false,
						NonBlank:  false,
					},
				},
				ApiParams: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name: "force",
						Description: `Force delete execution, bypass state validation so that non term can deleted.
Note: using this option may leave cloud resources running that must manually be destroyed.`,
						Type:      "bool",
						Location:  metadata.QueryParam,
						Mandatory: false,
						NonBlank:  false,
					},
				},
			},

			&metadata.Action{
				Name:        "multi_delete",
				Description: `Delete several executions from the database. Note: if an execution has not successfully been terminated, there may still be associated cloud resources running.`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "DELETE",
						Pattern:    "/projects/%s/executions",
						Variables:  []string{"project_id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/executions`),
					},
				},
				CommandFlags: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name: "force",
						Description: `Force delete execution, bypass state validation so that non term can deleted.
                              Note:       using this option may leave cloud resources running that must manually be destroyed.`,
						Type:      "bool",
						Location:  metadata.QueryParam,
						Mandatory: false,
						NonBlank:  false,
					},
					&metadata.ActionParam{
						Name:        "ids[]",
						Description: `List of execution IDs to delete`,
						Type:        "[]string",
						Location:    metadata.QueryParam,
						Mandatory:   true,
						NonBlank:    false,
					},
				},
				ApiParams: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name: "force",
						Description: `Force delete execution, bypass state validation so that non term can deleted.
                              Note:       using this option may leave cloud resources running that must manually be destroyed.`,
						Type:      "bool",
						Location:  metadata.QueryParam,
						Mandatory: false,
						NonBlank:  false,
					},
					&metadata.ActionParam{
						Name:        "ids[]",
						Description: `List of execution IDs to delete`,
						Type:        "[]string",
						Location:    metadata.QueryParam,
						Mandatory:   true,
						NonBlank:    false,
					},
				},
			},

			&metadata.Action{
				Name:        "download",
				Description: `Download the CAT source for the execution.`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "GET",
						Pattern:    "/projects/%s/executions/%s/download",
						Variables:  []string{"project_id", "id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/executions/([^/]+)/download`),
					},
				},
				CommandFlags: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "api_version",
						Description: `The API version (only valid value is currently "1.0")`,
						Type:        "string",
						Location:    metadata.QueryParam,
						Mandatory:   true,
						NonBlank:    false,
					},
				},
				ApiParams: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "api_version",
						Description: `The API version (only valid value is currently "1.0")`,
						Type:        "string",
						Location:    metadata.QueryParam,
						Mandatory:   true,
						NonBlank:    false,
					},
				},
			},

			&metadata.Action{
				Name:        "launch",
				Description: `Launch an Execution.`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "POST",
						Pattern:    "/projects/%s/executions/%s/actions/launch",
						Variables:  []string{"project_id", "id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/executions/([^/]+)/actions/launch`),
					},
				},
				CommandFlags: []*metadata.ActionParam{},
				ApiParams:    []*metadata.ActionParam{},
			},

			&metadata.Action{
				Name:        "start",
				Description: `Start an Execution.`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "POST",
						Pattern:    "/projects/%s/executions/%s/actions/start",
						Variables:  []string{"project_id", "id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/executions/([^/]+)/actions/start`),
					},
				},
				CommandFlags: []*metadata.ActionParam{},
				ApiParams:    []*metadata.ActionParam{},
			},

			&metadata.Action{
				Name:        "stop",
				Description: `Stop an Execution.`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "POST",
						Pattern:    "/projects/%s/executions/%s/actions/stop",
						Variables:  []string{"project_id", "id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/executions/([^/]+)/actions/stop`),
					},
				},
				CommandFlags: []*metadata.ActionParam{},
				ApiParams:    []*metadata.ActionParam{},
			},

			&metadata.Action{
				Name:        "terminate",
				Description: `Terminate an Execution.`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "POST",
						Pattern:    "/projects/%s/executions/%s/actions/terminate",
						Variables:  []string{"project_id", "id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/executions/([^/]+)/actions/terminate`),
					},
				},
				CommandFlags: []*metadata.ActionParam{},
				ApiParams:    []*metadata.ActionParam{},
			},

			&metadata.Action{
				Name:        "multi_launch",
				Description: `Launch several executions.`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "POST",
						Pattern:    "/projects/%s/executions/actions/launch",
						Variables:  []string{"project_id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/executions/actions/launch`),
					},
				},
				CommandFlags: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "ids[]",
						Description: `List of execution IDs to launch`,
						Type:        "[]string",
						Location:    metadata.QueryParam,
						Mandatory:   true,
						NonBlank:    false,
					},
				},
				ApiParams: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "ids[]",
						Description: `List of execution IDs to launch`,
						Type:        "[]string",
						Location:    metadata.QueryParam,
						Mandatory:   true,
						NonBlank:    false,
					},
				},
			},

			&metadata.Action{
				Name:        "multi_start",
				Description: `Start several executions.`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "POST",
						Pattern:    "/projects/%s/executions/actions/start",
						Variables:  []string{"project_id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/executions/actions/start`),
					},
				},
				CommandFlags: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "ids[]",
						Description: `List of execution IDs to start`,
						Type:        "[]string",
						Location:    metadata.QueryParam,
						Mandatory:   true,
						NonBlank:    false,
					},
				},
				ApiParams: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "ids[]",
						Description: `List of execution IDs to start`,
						Type:        "[]string",
						Location:    metadata.QueryParam,
						Mandatory:   true,
						NonBlank:    false,
					},
				},
			},

			&metadata.Action{
				Name:        "multi_stop",
				Description: `Stop several executions.`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "POST",
						Pattern:    "/projects/%s/executions/actions/stop",
						Variables:  []string{"project_id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/executions/actions/stop`),
					},
				},
				CommandFlags: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "ids[]",
						Description: `List of execution IDs to stop`,
						Type:        "[]string",
						Location:    metadata.QueryParam,
						Mandatory:   true,
						NonBlank:    false,
					},
				},
				ApiParams: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "ids[]",
						Description: `List of execution IDs to stop`,
						Type:        "[]string",
						Location:    metadata.QueryParam,
						Mandatory:   true,
						NonBlank:    false,
					},
				},
			},

			&metadata.Action{
				Name:        "multi_terminate",
				Description: `Terminate several executions.`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "POST",
						Pattern:    "/projects/%s/executions/actions/terminate",
						Variables:  []string{"project_id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/executions/actions/terminate`),
					},
				},
				CommandFlags: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "ids[]",
						Description: `List of execution IDs to terminate`,
						Type:        "[]string",
						Location:    metadata.QueryParam,
						Mandatory:   true,
						NonBlank:    false,
					},
				},
				ApiParams: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "ids[]",
						Description: `List of execution IDs to terminate`,
						Type:        "[]string",
						Location:    metadata.QueryParam,
						Mandatory:   true,
						NonBlank:    false,
					},
				},
			},
		},
	},
	"Notification": &metadata.Resource{
		Name: "Notification",
		Description: `The Notification resource represents a system notification that an action has occurred. Generally
these Notifications are the start and completion of Operations. Currently notifications are only
available via the API/UI and are not distributed externally to users.`,
		Actions: []*metadata.Action{
			&metadata.Action{
				Name:        "index",
				Description: `List the most recent 50 Notifications. Use the filter parameter to specify specify Executions.`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "GET",
						Pattern:    "/projects/%s/notifications",
						Variables:  []string{"project_id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/notifications`),
					},
				},
				CommandFlags: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "filter[]",
						Description: `Filter by Execution`,
						Type:        "[]string",
						Location:    metadata.QueryParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "ids[]",
						Description: `The Notification IDs to return`,
						Type:        "[]string",
						Location:    metadata.QueryParam,
						Mandatory:   false,
						NonBlank:    false,
					},
				},
				ApiParams: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "filter[]",
						Description: `Filter by Execution`,
						Type:        "[]string",
						Location:    metadata.QueryParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "ids[]",
						Description: `The Notification IDs to return`,
						Type:        "[]string",
						Location:    metadata.QueryParam,
						Mandatory:   false,
						NonBlank:    false,
					},
				},
			},

			&metadata.Action{
				Name:        "show",
				Description: `Get details for a specific Notification`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "GET",
						Pattern:    "/projects/%s/notifications/%s",
						Variables:  []string{"project_id", "id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/notifications/([^/]+)`),
					},
				},
				CommandFlags: []*metadata.ActionParam{},
				ApiParams:    []*metadata.ActionParam{},
			},
		},
	},
	"Operation": &metadata.Resource{
		Name: "Operation",
		Description: `Operations represent actions that can be taken on an Execution.
When a CloudApp is launched, a sequence of Operations is run as [explained here](http://support.rightscale.com/12-Guides/Self-Service/25_Cloud_Application_Template_Language) in the Operations section
While a CloudApp is running, users may launch any custom Operations as defined in the CAT.
Once a CAT is Terminated, a sequence of Operations is run as [explained here](http://support.rightscale.com/12-Guides/Self-Service/25_Cloud_Application_Template_Language#Operations) in the Operations section`,
		Actions: []*metadata.Action{
			&metadata.Action{
				Name:        "index",
				Description: `Get the list of 50 most recent Operations (usually filtered by Execution).`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "GET",
						Pattern:    "/projects/%s/operations",
						Variables:  []string{"project_id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/operations`),
					},
				},
				CommandFlags: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "filter[]",
						Description: `Filter by Execution ID or status`,
						Type:        "[]string",
						Location:    metadata.QueryParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "ids[]",
						Description: `IDs of operations to filter on`,
						Type:        "[]string",
						Location:    metadata.QueryParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "limit",
						Description: `The maximum number of operations to retrieve. The maximum (and default) limit is 50.If a limit of more than 50 is specified, only 50 operations will be returned`,
						Type:        "int",
						Location:    metadata.QueryParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "view",
						Description: `Optional view to return`,
						Type:        "string",
						Location:    metadata.QueryParam,
						Mandatory:   false,
						NonBlank:    false,
						ValidValues: []string{"default", "expanded"},
					},
				},
				ApiParams: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "filter[]",
						Description: `Filter by Execution ID or status`,
						Type:        "[]string",
						Location:    metadata.QueryParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "ids[]",
						Description: `IDs of operations to filter on`,
						Type:        "[]string",
						Location:    metadata.QueryParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "limit",
						Description: `The maximum number of operations to retrieve. The maximum (and default) limit is 50.If a limit of more than 50 is specified, only 50 operations will be returned`,
						Type:        "int",
						Location:    metadata.QueryParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "view",
						Description: `Optional view to return`,
						Type:        "string",
						Location:    metadata.QueryParam,
						Mandatory:   false,
						NonBlank:    false,
						ValidValues: []string{"default", "expanded"},
					},
				},
			},

			&metadata.Action{
				Name:        "show",
				Description: `Get the details for a specific Operation`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "GET",
						Pattern:    "/projects/%s/operations/%s",
						Variables:  []string{"project_id", "id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/operations/([^/]+)`),
					},
				},
				CommandFlags: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "view",
						Description: `Optional view to return`,
						Type:        "string",
						Location:    metadata.QueryParam,
						Mandatory:   false,
						NonBlank:    false,
						ValidValues: []string{"default", "expanded"},
					},
				},
				ApiParams: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "view",
						Description: `Optional view to return`,
						Type:        "string",
						Location:    metadata.QueryParam,
						Mandatory:   false,
						NonBlank:    false,
						ValidValues: []string{"default", "expanded"},
					},
				},
			},

			&metadata.Action{
				Name:        "create",
				Description: `Trigger an Operation to run by specifying the Execution ID and the name of the Operation.`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "POST",
						Pattern:    "/projects/%s/operations",
						Variables:  []string{"project_id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/operations`),
					},
				},
				CommandFlags: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "execution_id",
						Description: `The Execution ID on which to run the operation`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "name",
						Description: `The name of the operation to run`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "configuration_options[][name]",
						Description: `Name of configuration option`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "configuration_options[][type]",
						Description: `Type of configuration option.`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
						ValidValues: []string{"string", "number", "list"},
					},
					&metadata.ActionParam{
						Name:        "configuration_options[][value]",
						Description: `Configuration option value, a string, integer or array of strings depending on type`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
				},
				ApiParams: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "execution_id",
						Description: `The Execution ID on which to run the operation`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "name",
						Description: `The name of the operation to run`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "options[]",
						Description: `The configuration options of the operation. These are the values provided for the CloudAPP parameters that this operation depends on.`,
						Type:        "[]*ConfigurationOption",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
				},
			},
		},
	},
	"ScheduledAction": &metadata.Resource{
		Name: "ScheduledAction",
		Description: `ScheduledActions describe a set of timed occurrences for an action to be run (at most once per day).
Recurrence Rules are based off of the [RFC 5545](https://tools.ietf.org/html/rfc5545) iCal spec, and timezones are from the standard [tzinfo database](http://www.iana.org/time-zones).
All DateTimes must be passed in [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601)`,
		Actions: []*metadata.Action{
			&metadata.Action{
				Name:        "index",
				Description: `List ScheduledAction resources in the project. The list can be filtered to a given execution.`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "GET",
						Pattern:    "/projects/%s/scheduled_actions",
						Variables:  []string{"project_id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/scheduled_actions`),
					},
				},
				CommandFlags: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "filter[]",
						Description: `Filter by execution id or execution creator (user) id.`,
						Type:        "[]string",
						Location:    metadata.QueryParam,
						Mandatory:   false,
						NonBlank:    false,
					},
				},
				ApiParams: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "filter[]",
						Description: `Filter by execution id or execution creator (user) id.`,
						Type:        "[]string",
						Location:    metadata.QueryParam,
						Mandatory:   false,
						NonBlank:    false,
					},
				},
			},

			&metadata.Action{
				Name:        "show",
				Description: `Retrieve given ScheduledAction resource.`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "GET",
						Pattern:    "/projects/%s/scheduled_actions/%s",
						Variables:  []string{"project_id", "id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/scheduled_actions/([^/]+)`),
					},
				},
				CommandFlags: []*metadata.ActionParam{},
				ApiParams:    []*metadata.ActionParam{},
			},

			&metadata.Action{
				Name:        "create",
				Description: `Create a new ScheduledAction resource.`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "POST",
						Pattern:    "/projects/%s/scheduled_actions",
						Variables:  []string{"project_id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/scheduled_actions`),
					},
				},
				CommandFlags: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "action",
						Description: `The name of the action to be run.`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "execution_id",
						Description: `Id of the Execuion.`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "first_occurrence",
						Description: `The time and day of the first occurrence when the action will be ran, similar to the "DTSTART" property specified by iCal. Used (in conjunction with timezone) to determine the time of day for the "next_occurrence". Can be set to the future or past. DateTimes should be passed as ISO-8601 formatted time strings.  All DateTimes are converted to UTC when returned.`,
						Type:        "time.Time",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "mandatory",
						Description: `Indicates ScheduledActions that require the "force" flag to update or delete. Typically used for ScheduledActions that the execution was initialized with to better enforce CloudApp run-time restrictions.`,
						Type:        "bool",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "name",
						Description: `The human-readable name for the ScheduledAction.`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "recurrence",
						Description: `iCal recurrence rule (RRULE) as described by RFC 5545. Expresses the days on which the action will be run. Optionally a "last occurrence" date can be set by passing the iCal "UNTIL" parameter in the rule (date-time must be passed in ISO-8601 format). If omitted, the action will only be run once, on the "first_occurrence".`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "timezone",
						Description: `The timezone in which the "first_occurrence" and "next_occurrence" times will be interpreted. Used to determine when Daylight Savings Time changes occur. Supports standardized "tzinfo" names [found here](http://www.iana.org/time-zones).`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
				},
				ApiParams: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "action",
						Description: `The name of the action to be run.`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "execution_id",
						Description: `Id of the Execuion.`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "first_occurrence",
						Description: `The time and day of the first occurrence when the action will be ran, similar to the "DTSTART" property specified by iCal. Used (in conjunction with timezone) to determine the time of day for the "next_occurrence". Can be set to the future or past. DateTimes should be passed as ISO-8601 formatted time strings.  All DateTimes are converted to UTC when returned.`,
						Type:        "time.Time",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "mandatory",
						Description: `Indicates ScheduledActions that require the "force" flag to update or delete. Typically used for ScheduledActions that the execution was initialized with to better enforce CloudApp run-time restrictions.`,
						Type:        "bool",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "name",
						Description: `The human-readable name for the ScheduledAction.`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "recurrence",
						Description: `iCal recurrence rule (RRULE) as described by RFC 5545. Expresses the days on which the action will be run. Optionally a "last occurrence" date can be set by passing the iCal "UNTIL" parameter in the rule (date-time must be passed in ISO-8601 format). If omitted, the action will only be run once, on the "first_occurrence".`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "timezone",
						Description: `The timezone in which the "first_occurrence" and "next_occurrence" times will be interpreted. Used to determine when Daylight Savings Time changes occur. Supports standardized "tzinfo" names [found here](http://www.iana.org/time-zones).`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
				},
			},

			&metadata.Action{
				Name:        "patch",
				Description: `Update one or more ScheduledAction properties. If the ScheduledAction has the mandatory attribute set to true, the 'force' flag must be set in order to modify it. All ScheduledActions created through the UI are set to 'mandatory' by default. When the 'recurrence' is updated, the 'next_occurrence' will be modified accordingly unless it's also specified.`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "PATCH",
						Pattern:    "/projects/%s/scheduled_actions/%s",
						Variables:  []string{"project_id", "id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/scheduled_actions/([^/]+)`),
					},
				},
				CommandFlags: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "force",
						Description: `Allows modifying 'mandatory' ScheduledActions`,
						Type:        "bool",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "next_occurrence",
						Description: `The Date/Time for the next occurrence, useful for delaying a single occurrence. DateTimes should be passed as ISO-8601 formatted time strings.`,
						Type:        "time.Time",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "recurrence",
						Description: `The iCal recurrence rule (RRULE). Automatically updates the next_occurrence (if none given) and description.`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
				},
				ApiParams: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "force",
						Description: `Allows modifying 'mandatory' ScheduledActions`,
						Type:        "bool",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "next_occurrence",
						Description: `The Date/Time for the next occurrence, useful for delaying a single occurrence. DateTimes should be passed as ISO-8601 formatted time strings.`,
						Type:        "time.Time",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "recurrence",
						Description: `The iCal recurrence rule (RRULE). Automatically updates the next_occurrence (if none given) and description.`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
				},
			},

			&metadata.Action{
				Name:        "delete",
				Description: `Delete a ScheduledAction. If the ScheduledAction has the mandatory attribute set to true, the 'force' flag must be set in order to delete it.`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "DELETE",
						Pattern:    "/projects/%s/scheduled_actions/%s",
						Variables:  []string{"project_id", "id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/scheduled_actions/([^/]+)`),
					},
				},
				CommandFlags: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "force",
						Description: `Allows deleting 'mandatory' ScheduledActions.`,
						Type:        "bool",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
				},
				ApiParams: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "force",
						Description: `Allows deleting 'mandatory' ScheduledActions.`,
						Type:        "bool",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
				},
			},

			&metadata.Action{
				Name:        "skip",
				Description: `Skips the requested number of ScheduledAction occurrences. If no count is provided, one occurrence is skipped. On success, the next_occurrence view of the updated ScheduledAction is returned.`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "POST",
						Pattern:    "/projects/%s/scheduled_actions/%s/actions/skip",
						Variables:  []string{"project_id", "id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/scheduled_actions/([^/]+)/actions/skip`),
					},
				},
				CommandFlags: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "count",
						Description: `The number of scheduled occurrences to skip. If not provided, the default count is 1.`,
						Type:        "int",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "force",
						Description: `Allows modifying 'mandatory' ScheduledActions`,
						Type:        "bool",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
				},
				ApiParams: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "count",
						Description: `The number of scheduled occurrences to skip. If not provided, the default count is 1.`,
						Type:        "int",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "force",
						Description: `Allows modifying 'mandatory' ScheduledActions`,
						Type:        "bool",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
				},
			},
		},
	},
	"ScheduledOperation": &metadata.Resource{
		Name: "ScheduledOperation",
		Description: `ScheduledOperations describe a set of timed occurrences for an operation to be run (at most once per day).
Recurrence Rules are based off of the [RFC 5545](https://tools.ietf.org/html/rfc5545) iCal spec, and timezones are from the standard [tzinfo database](http://www.iana.org/time-zones).
All DateTimes must be passed in [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601)`,
		Actions: []*metadata.Action{
			&metadata.Action{
				Name:        "index",
				Description: `List ScheduledOperation resources in the project. The list can be filtered to a given execution.`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "GET",
						Pattern:    "/projects/%s/scheduled_operations",
						Variables:  []string{"project_id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/scheduled_operations`),
					},
				},
				CommandFlags: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "filter[]",
						Description: `Filter by execution id or execution creator (user) id.`,
						Type:        "[]string",
						Location:    metadata.QueryParam,
						Mandatory:   false,
						NonBlank:    false,
					},
				},
				ApiParams: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "filter[]",
						Description: `Filter by execution id or execution creator (user) id.`,
						Type:        "[]string",
						Location:    metadata.QueryParam,
						Mandatory:   false,
						NonBlank:    false,
					},
				},
			},

			&metadata.Action{
				Name:        "show",
				Description: `Retrieve given ScheduledOperation resource.`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "GET",
						Pattern:    "/projects/%s/scheduled_operations/%s",
						Variables:  []string{"project_id", "id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/scheduled_operations/([^/]+)`),
					},
				},
				CommandFlags: []*metadata.ActionParam{},
				ApiParams:    []*metadata.ActionParam{},
			},

			&metadata.Action{
				Name:        "create",
				Description: `Create a new ScheduledOperation resource.`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "POST",
						Pattern:    "/projects/%s/scheduled_operations",
						Variables:  []string{"project_id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/scheduled_operations`),
					},
				},
				CommandFlags: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "execution_id",
						Description: `Id of the Execuion.`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "first_occurrence",
						Description: `The time and day of the first occurrence when the operation will be ran, similar to the "DTSTART" property specified by iCal. Used (in conjunction with timezone) to determine the time of day for the "next_occurrence". Can be set to the future or past. DateTimes should be passed as ISO-8601 formatted time strings.  All DateTimes are converted to UTC when returned.`,
						Type:        "time.Time",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "mandatory",
						Description: `Indicates ScheduledOperations that require the "force" flag to update or delete. Typically used for ScheduledOperations that the execution was initialized with to better enforce CloudApp run-time restrictions.`,
						Type:        "bool",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "name",
						Description: `The human-readable name for the ScheduledOperation.`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "configuration_options[][name]",
						Description: `Name of configuration option`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "configuration_options[][type]",
						Description: `Type of configuration option.`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
						ValidValues: []string{"string", "number", "list"},
					},
					&metadata.ActionParam{
						Name:        "configuration_options[][value]",
						Description: `Configuration option value, a string, integer or array of strings depending on type`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "configuration_options[][name]",
						Description: `Name of configuration option`,
						Type:        "[]string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "recurrence",
						Description: `iCal recurrence rule (RRULE) as described by RFC 5545. Expresses the days on which the operation will be run. Optionally a "last occurrence" date can be set by passing the iCal "UNTIL" parameter in the rule (date-time must be passed in ISO-8601 format). If omitted, the operation will only be run once, on the "first_occurrence"`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "timezone",
						Description: `The timezone in which the "first_occurrence" and "next_occurrence" times will be interpreted. Used to determine when Daylight Savings Time changes occur.`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
				},
				ApiParams: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "execution_id",
						Description: `Id of the Execuion.`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "first_occurrence",
						Description: `The time and day of the first occurrence when the operation will be ran, similar to the "DTSTART" property specified by iCal. Used (in conjunction with timezone) to determine the time of day for the "next_occurrence". Can be set to the future or past. DateTimes should be passed as ISO-8601 formatted time strings.  All DateTimes are converted to UTC when returned.`,
						Type:        "time.Time",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "mandatory",
						Description: `Indicates ScheduledOperations that require the "force" flag to update or delete. Typically used for ScheduledOperations that the execution was initialized with to better enforce CloudApp run-time restrictions.`,
						Type:        "bool",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "name",
						Description: `The human-readable name for the ScheduledOperation.`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "operation",
						Description: ``,
						Type:        "*OperationStruct",
						Location:    metadata.PayloadParam,
						Mandatory:   true,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "recurrence",
						Description: `iCal recurrence rule (RRULE) as described by RFC 5545. Expresses the days on which the operation will be run. Optionally a "last occurrence" date can be set by passing the iCal "UNTIL" parameter in the rule (date-time must be passed in ISO-8601 format). If omitted, the operation will only be run once, on the "first_occurrence"`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "timezone",
						Description: `The timezone in which the "first_occurrence" and "next_occurrence" times will be interpreted. Used to determine when Daylight Savings Time changes occur.`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
				},
			},

			&metadata.Action{
				Name:        "patch",
				Description: `Update one or more ScheduledOperation properties. If the ScheduledOperation has the mandatory attribute set to true, the 'force' flag must be set in order to modify it. All ScheduledOperations created through the UI are set to 'mandatory' by default. When the 'recurrence' is updated, the 'next_occurrence' will be modified accordingly unless it's also specified.`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "PATCH",
						Pattern:    "/projects/%s/scheduled_operations/%s",
						Variables:  []string{"project_id", "id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/scheduled_operations/([^/]+)`),
					},
				},
				CommandFlags: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "force",
						Description: `Allows modifying 'mandatory' ScheduledOperations`,
						Type:        "bool",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "next_occurrence",
						Description: `The Date/Time for the next occurrence, useful for delaying a single occurrence. DateTimes should be passed as ISO-8601 formatted time strings.`,
						Type:        "time.Time",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "recurrence",
						Description: `The iCal recurrence rule (RRULE). Automatically updates the next_occurrence (if none given) and description.`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
				},
				ApiParams: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "force",
						Description: `Allows modifying 'mandatory' ScheduledOperations`,
						Type:        "bool",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "next_occurrence",
						Description: `The Date/Time for the next occurrence, useful for delaying a single occurrence. DateTimes should be passed as ISO-8601 formatted time strings.`,
						Type:        "time.Time",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "recurrence",
						Description: `The iCal recurrence rule (RRULE). Automatically updates the next_occurrence (if none given) and description.`,
						Type:        "string",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
				},
			},

			&metadata.Action{
				Name:        "delete",
				Description: `Delete a ScheduledOperation. If the ScheduledOperation has the mandatory attribute set to true, the 'force' flag must be set in order to delete it.`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "DELETE",
						Pattern:    "/projects/%s/scheduled_operations/%s",
						Variables:  []string{"project_id", "id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/scheduled_operations/([^/]+)`),
					},
				},
				CommandFlags: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "force",
						Description: `Allows deleting 'mandatory' ScheduledOperations.`,
						Type:        "bool",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
				},
				ApiParams: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "force",
						Description: `Allows deleting 'mandatory' ScheduledOperations.`,
						Type:        "bool",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
				},
			},

			&metadata.Action{
				Name:        "skip",
				Description: `Skips the requested number of ScheduledOperation occurrences. If no count is provided, one occurrence is skipped. On success, the next_occurrence view of the updated ScheduledOperation is returned.`,
				PathPatterns: []*metadata.PathPattern{
					&metadata.PathPattern{
						HttpMethod: "POST",
						Pattern:    "/projects/%s/scheduled_operations/%s/actions/skip",
						Variables:  []string{"project_id", "id"},
						Regexp:     regexp.MustCompile(`/projects/([^/]+)/scheduled_operations/([^/]+)/actions/skip`),
					},
				},
				CommandFlags: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "count",
						Description: `The number of scheduled occurrences to skip. If not provided, the default count is 1.`,
						Type:        "int",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "force",
						Description: `Allows modifying 'mandatory' ScheduledOperations`,
						Type:        "bool",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
				},
				ApiParams: []*metadata.ActionParam{
					&metadata.ActionParam{
						Name:        "count",
						Description: `The number of scheduled occurrences to skip. If not provided, the default count is 1.`,
						Type:        "int",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
					&metadata.ActionParam{
						Name:        "force",
						Description: `Allows modifying 'mandatory' ScheduledOperations`,
						Type:        "bool",
						Location:    metadata.PayloadParam,
						Mandatory:   false,
						NonBlank:    false,
					},
				},
			},
		},
	},
}

Consists of a map of resource name to resource metadata.

Functions

This section is empty.

Types

type Api

type Api struct {
	*rsapi.Api
}

Self-Service manager client

func New

func New(accountId int, host string, auth rsapi.Authenticator, logger *log.Logger,
	client rsapi.HttpClient) (*Api, error)

New returns a client that uses User oauth authentication. logger and client are optional. host may be blank in which case client attempts to resolve it using auth. If no HTTP client is specified then the default client is used.

func (*Api) Dispatch

func (a *Api) Dispatch(method, actionUrl string, params, payload rsapi.ApiParams) (*http.Response, error)

Dispatch request to appropriate low-level method

func (*Api) ExecutionLocator

func (api *Api) ExecutionLocator(href string) *ExecutionLocator

Execution resource locator factory

func (*Api) NotificationLocator

func (api *Api) NotificationLocator(href string) *NotificationLocator

Notification resource locator factory

func (*Api) OperationLocator

func (api *Api) OperationLocator(href string) *OperationLocator

Operation resource locator factory

func (*Api) ScheduledActionLocator

func (api *Api) ScheduledActionLocator(href string) *ScheduledActionLocator

ScheduledAction resource locator factory

func (*Api) ScheduledOperationLocator

func (api *Api) ScheduledOperationLocator(href string) *ScheduledOperationLocator

ScheduledOperation resource locator factory

type ApiResourcesValueStruct

type ApiResourcesValueStruct struct {
	Details map[string]interface{} `json:"details,omitempty"`
	Href    string                 `json:"href,omitempty"`
}

type AvailableOperationsParametersUiStruct

type AvailableOperationsParametersUiStruct struct {
	Category string `json:"category,omitempty"`
	Index    int    `json:"index,omitempty"`
	Label    string `json:"label,omitempty"`
}

type AvailableOperationsParametersValidationStruct

type AvailableOperationsParametersValidationStruct struct {
	AllowedPattern        string        `json:"allowed_pattern,omitempty"`
	AllowedValues         []interface{} `json:"allowed_values,omitempty"`
	ConstraintDescription string        `json:"constraint_description,omitempty"`
	MaxLength             int           `json:"max_length,omitempty"`
	MaxValue              int           `json:"max_value,omitempty"`
	MinLength             int           `json:"min_length,omitempty"`
	MinValue              int           `json:"min_value,omitempty"`
	NoEcho                bool          `json:"no_echo,omitempty"`
}

type CompiledCAT

type CompiledCAT struct {
	Conditions         map[string]interface{} `json:"conditions,omitempty"`
	Definitions        map[string]interface{} `json:"definitions,omitempty"`
	LongDescription    string                 `json:"long_description,omitempty"`
	Mappings           map[string]interface{} `json:"mappings,omitempty"`
	Name               string                 `json:"name,omitempty"`
	Namespaces         []*Namespace           `json:"namespaces,omitempty"`
	Operations         map[string]interface{} `json:"operations,omitempty"`
	Outputs            map[string]interface{} `json:"outputs,omitempty"`
	Parameters         map[string]interface{} `json:"parameters,omitempty"`
	RequiredParameters []string               `json:"required_parameters,omitempty"`
	Resources          map[string]interface{} `json:"resources,omitempty"`
	RsCaVer            int                    `json:"rs_ca_ver,omitempty"`
	ShortDescription   string                 `json:"short_description,omitempty"`
	Source             string                 `json:"source,omitempty"`
}

type ConfigurationOption

type ConfigurationOption struct {
	Name  string      `json:"name,omitempty"`
	Type_ string      `json:"type,omitempty"`
	Value interface{} `json:"value,omitempty"`
}

type CostStruct

type CostStruct struct {
	Unit      string    `json:"unit,omitempty"`
	UpdatedAt time.Time `json:"updated_at,omitempty"`
	Value     string    `json:"value,omitempty"`
}

type Execution

type Execution struct {
	ApiResources         []*Resource            `json:"api_resources,omitempty"`
	AvailableActions     []string               `json:"available_actions,omitempty"`
	AvailableOperations  []*OperationDefinition `json:"available_operations,omitempty"`
	ConfigurationOptions []*ConfigurationOption `json:"configuration_options,omitempty"`
	Cost                 *CostStruct            `json:"cost,omitempty"`
	CreatedBy            *User                  `json:"created_by,omitempty"`
	Deployment           string                 `json:"deployment,omitempty"`
	DeploymentUrl        string                 `json:"deployment_url,omitempty"`
	Description          string                 `json:"description,omitempty"`
	EndsAt               time.Time              `json:"ends_at,omitempty"`
	Href                 string                 `json:"href,omitempty"`
	Id                   string                 `json:"id,omitempty"`
	Kind                 string                 `json:"kind,omitempty"`
	LatestNotifications  []*Notification        `json:"latest_notifications,omitempty"`
	LaunchedFrom         *LaunchedFrom          `json:"launched_from,omitempty"`
	LaunchedFromSummary  map[string]interface{} `json:"launched_from_summary,omitempty"`
	Links                *ExecutionLinks        `json:"links,omitempty"`
	Name                 string                 `json:"name,omitempty"`
	NextAction           *ScheduledAction       `json:"next_action,omitempty"`
	NextOperation        *ScheduledOperation    `json:"next_operation,omitempty"`
	Outputs              []*Output              `json:"outputs,omitempty"`
	RunningOperations    []*Operation           `json:"running_operations,omitempty"`
	Scheduled            bool                   `json:"scheduled,omitempty"`
	Source               string                 `json:"source,omitempty"`
	Status               string                 `json:"status,omitempty"`
	Timestamps           *TimestampsStruct      `json:"timestamps,omitempty"`
}

An Execution is a launched instance of a CloudApp. Executions can be created from the catalog by launching an Application, from Designer by launching a Template, or directly in Manager by using the API and sending the CAT source or CAT Compiled source. Executions are represented in RightScale Cloud Management by a deployment -- the resources defined in the CAT are all created in the Deployment. Any action on a running CloudApp should be made on its Execution resource. Making changes to any resource directly in the CM deployment may result in undesired behavior since the Execution only refreshes certain information as a result of running an Operation on an Execution. For example, if a Server is replaced in CM instead of through Self-Service, the new Server's information won' be available in Self-Service.

type ExecutionLink struct {
	Href string `json:"href,omitempty"`
	Id   string `json:"id,omitempty"`
	Name string `json:"name,omitempty"`
}
type ExecutionLinks struct {
	LatestNotifications *NotificationLatestNotificationsLink `json:"latest_notifications,omitempty"`
	RunningOperations   *OperationRunningOperationsLink      `json:"running_operations,omitempty"`
}

type ExecutionLocator

type ExecutionLocator struct {
	UrlResolver
	// contains filtered or unexported fields
}

Execution resource locator, exposes resource actions.

func (*ExecutionLocator) Create

func (loc *ExecutionLocator) Create(options rsapi.ApiParams) (*ExecutionLocator, error)

POST /projects/:project_id/executions Create a new execution from a CAT, a compiled CAT, an Application in the Catalog, or a Template in Designer

func (*ExecutionLocator) Delete

func (loc *ExecutionLocator) Delete(options rsapi.ApiParams) error

DELETE /projects/:project_id/executions/:id No description provided for delete.

func (*ExecutionLocator) Download

func (loc *ExecutionLocator) Download(apiVersion string) error

GET /projects/:project_id/executions/:id/download Download the CAT source for the execution.

func (*ExecutionLocator) Index

func (loc *ExecutionLocator) Index(options rsapi.ApiParams) ([]*Execution, error)

GET /projects/:project_id/executions List information about the Executions, or use a filter to only return certain Executions. A view can be used for various levels of detail.

func (*ExecutionLocator) Launch

func (loc *ExecutionLocator) Launch() error

POST /projects/:project_id/executions/:id/actions/launch Launch an Execution.

func (*ExecutionLocator) MultiDelete

func (loc *ExecutionLocator) MultiDelete(ids []string, options rsapi.ApiParams) error

DELETE /projects/:project_id/executions Delete several executions from the database. Note: if an execution has not successfully been terminated, there may still be associated cloud resources running.

func (*ExecutionLocator) MultiLaunch

func (loc *ExecutionLocator) MultiLaunch(ids []string) error

POST /projects/:project_id/executions/actions/launch Launch several executions.

func (*ExecutionLocator) MultiStart

func (loc *ExecutionLocator) MultiStart(ids []string) error

POST /projects/:project_id/executions/actions/start Start several executions.

func (*ExecutionLocator) MultiStop

func (loc *ExecutionLocator) MultiStop(ids []string) error

POST /projects/:project_id/executions/actions/stop Stop several executions.

func (*ExecutionLocator) MultiTerminate

func (loc *ExecutionLocator) MultiTerminate(ids []string) error

POST /projects/:project_id/executions/actions/terminate Terminate several executions.

func (*ExecutionLocator) Show

func (loc *ExecutionLocator) Show(options rsapi.ApiParams) (*Execution, error)

GET /projects/:project_id/executions/:id Show details for a given Execution. A view can be used for various levels of detail.

func (*ExecutionLocator) Start

func (loc *ExecutionLocator) Start() error

POST /projects/:project_id/executions/:id/actions/start Start an Execution.

func (*ExecutionLocator) Stop

func (loc *ExecutionLocator) Stop() error

POST /projects/:project_id/executions/:id/actions/stop Stop an Execution.

func (*ExecutionLocator) Terminate

func (loc *ExecutionLocator) Terminate() error

POST /projects/:project_id/executions/:id/actions/terminate Terminate an Execution.

type ExecutionParam

type ExecutionParam struct {
	ApiResources         []*Resource                                   `json:"api_resources,omitempty"`
	AvailableActions     []string                                      `json:"available_actions,omitempty"`
	AvailableOperations  []*OperationDefinition                        `json:"available_operations,omitempty"`
	ConfigurationOptions []*ConfigurationOption                        `json:"configuration_options,omitempty"`
	Cost                 *LatestNotificationsExecutionCostStruct       `json:"cost,omitempty"`
	CreatedBy            *User                                         `json:"created_by,omitempty"`
	Deployment           string                                        `json:"deployment,omitempty"`
	DeploymentUrl        string                                        `json:"deployment_url,omitempty"`
	Description          string                                        `json:"description,omitempty"`
	EndsAt               time.Time                                     `json:"ends_at,omitempty"`
	Href                 string                                        `json:"href,omitempty"`
	Id                   string                                        `json:"id,omitempty"`
	Kind                 string                                        `json:"kind,omitempty"`
	LatestNotifications  []*NotificationParam                          `json:"latest_notifications,omitempty"`
	LaunchedFrom         *LaunchedFrom                                 `json:"launched_from,omitempty"`
	LaunchedFromSummary  map[string]interface{}                        `json:"launched_from_summary,omitempty"`
	Links                *ExecutionLinks                               `json:"links,omitempty"`
	Name                 string                                        `json:"name,omitempty"`
	NextAction           *ScheduledActionParam                         `json:"next_action,omitempty"`
	NextOperation        *ScheduledOperationParam                      `json:"next_operation,omitempty"`
	Outputs              []*Output                                     `json:"outputs,omitempty"`
	RunningOperations    []*OperationParam                             `json:"running_operations,omitempty"`
	Scheduled            bool                                          `json:"scheduled,omitempty"`
	Source               string                                        `json:"source,omitempty"`
	Status               string                                        `json:"status,omitempty"`
	Timestamps           *LatestNotificationsExecutionTimestampsStruct `json:"timestamps,omitempty"`
}

type LatestNotificationsExecutionCostStruct

type LatestNotificationsExecutionCostStruct struct {
	Unit      string    `json:"unit,omitempty"`
	UpdatedAt time.Time `json:"updated_at,omitempty"`
	Value     string    `json:"value,omitempty"`
}

type LatestNotificationsExecutionNextActionTimestampsStruct

type LatestNotificationsExecutionNextActionTimestampsStruct struct {
	CreatedAt time.Time `json:"created_at,omitempty"`
	UpdatedAt time.Time `json:"updated_at,omitempty"`
}

type LatestNotificationsExecutionNextOperationLastRunStatusStruct

type LatestNotificationsExecutionNextOperationLastRunStatusStruct struct {
	Percent int     `json:"percent,omitempty"`
	Summary string  `json:"summary,omitempty"`
	Tasks   []*Task `json:"tasks,omitempty"`
}

type LatestNotificationsExecutionNextOperationLastRunStatusTasksStatusStruct

type LatestNotificationsExecutionNextOperationLastRunStatusTasksStatusStruct struct {
	Percent int    `json:"percent,omitempty"`
	Summary string `json:"summary,omitempty"`
}

type LatestNotificationsExecutionNextOperationLastRunTimestampsStruct

type LatestNotificationsExecutionNextOperationLastRunTimestampsStruct struct {
	CreatedAt  time.Time `json:"created_at,omitempty"`
	FinishedAt time.Time `json:"finished_at,omitempty"`
}

type LatestNotificationsExecutionNextOperationOperationStruct

type LatestNotificationsExecutionNextOperationOperationStruct struct {
	ConfigurationOptions []*ConfigurationOption `json:"configuration_options,omitempty"`
	Name                 string                 `json:"name,omitempty"`
}

type LatestNotificationsExecutionNextOperationTimestampsStruct

type LatestNotificationsExecutionNextOperationTimestampsStruct struct {
	CreatedAt time.Time `json:"created_at,omitempty"`
	UpdatedAt time.Time `json:"updated_at,omitempty"`
}

type LatestNotificationsExecutionTimestampsStruct

type LatestNotificationsExecutionTimestampsStruct struct {
	CreatedAt    time.Time `json:"created_at,omitempty"`
	LaunchedAt   time.Time `json:"launched_at,omitempty"`
	TerminatedAt time.Time `json:"terminated_at,omitempty"`
}

type LatestNotificationsTimestampsStruct

type LatestNotificationsTimestampsStruct struct {
	CreatedAt time.Time `json:"created_at,omitempty"`
}

type LaunchedFrom

type LaunchedFrom struct {
	Type_ string      `json:"type,omitempty"`
	Value interface{} `json:"value,omitempty"`
}

type Namespace

type Namespace struct {
	Name    string            `json:"name,omitempty"`
	Service *NamespaceService `json:"service,omitempty"`
	Types   []*NamespaceType  `json:"types,omitempty"`
}

type NamespaceService

type NamespaceService struct {
	Auth    string                 `json:"auth,omitempty"`
	Headers map[string]interface{} `json:"headers,omitempty"`
	Host    string                 `json:"host,omitempty"`
	Path    string                 `json:"path,omitempty"`
}

type NamespaceType

type NamespaceType struct {
	Delete    string                 `json:"delete,omitempty"`
	Fields    map[string]interface{} `json:"fields,omitempty"`
	Name      string                 `json:"name,omitempty"`
	Path      string                 `json:"path,omitempty"`
	Provision string                 `json:"provision,omitempty"`
}

type Notification

type Notification struct {
	Category   string             `json:"category,omitempty"`
	Execution  *Execution         `json:"execution,omitempty"`
	Href       string             `json:"href,omitempty"`
	Id         string             `json:"id,omitempty"`
	Kind       string             `json:"kind,omitempty"`
	Links      *NotificationLinks `json:"links,omitempty"`
	Message    string             `json:"message,omitempty"`
	Read       bool               `json:"read,omitempty"`
	Timestamps *TimestampsStruct  `json:"timestamps,omitempty"`
}

The Notification resource represents a system notification that an action has occurred. Generally these Notifications are the start and completion of Operations. Currently notifications are only available via the API/UI and are not distributed externally to users.

type NotificationLatestNotificationsLink struct {
	Href string `json:"href,omitempty"`
}
type NotificationLinks struct {
	Execution *ExecutionLink `json:"execution,omitempty"`
}

type NotificationLocator

type NotificationLocator struct {
	UrlResolver
	// contains filtered or unexported fields
}

Notification resource locator, exposes resource actions.

func (*NotificationLocator) Index

func (loc *NotificationLocator) Index(options rsapi.ApiParams) ([]*Notification, error)

GET /projects/:project_id/notifications List the most recent 50 Notifications. Use the filter parameter to specify specify Executions.

func (*NotificationLocator) Show

func (loc *NotificationLocator) Show() (*Notification, error)

GET /projects/:project_id/notifications/:id Get details for a specific Notification

type NotificationParam

type NotificationParam struct {
	Category   string                               `json:"category,omitempty"`
	Execution  *ExecutionParam                      `json:"execution,omitempty"`
	Href       string                               `json:"href,omitempty"`
	Id         string                               `json:"id,omitempty"`
	Kind       string                               `json:"kind,omitempty"`
	Links      *NotificationLinks                   `json:"links,omitempty"`
	Message    string                               `json:"message,omitempty"`
	Read       bool                                 `json:"read,omitempty"`
	Timestamps *LatestNotificationsTimestampsStruct `json:"timestamps,omitempty"`
}

type Operation

type Operation struct {
	ConfigurationOptions []*ConfigurationOption `json:"configuration_options,omitempty"`
	CreatedBy            *User                  `json:"created_by,omitempty"`
	Execution            *Execution             `json:"execution,omitempty"`
	Href                 string                 `json:"href,omitempty"`
	Id                   string                 `json:"id,omitempty"`
	Kind                 string                 `json:"kind,omitempty"`
	Links                *OperationLinks        `json:"links,omitempty"`
	Name                 string                 `json:"name,omitempty"`
	Status               *StatusStruct          `json:"status,omitempty"`
	Timestamps           *TimestampsStruct      `json:"timestamps,omitempty"`
}

Operations represent actions that can be taken on an Execution. When a CloudApp is launched, a sequence of Operations is run as [explained here](http://support.rightscale.com/12-Guides/Self-Service/25_Cloud_Application_Template_Language) in the Operations section While a CloudApp is running, users may launch any custom Operations as defined in the CAT. Once a CAT is Terminated, a sequence of Operations is run as [explained here](http://support.rightscale.com/12-Guides/Self-Service/25_Cloud_Application_Template_Language#Operations) in the Operations section

type OperationDefinition

type OperationDefinition struct {
	Description string       `json:"description,omitempty"`
	Name        string       `json:"name,omitempty"`
	Parameters  []*Parameter `json:"parameters,omitempty"`
}
type OperationLink struct {
	Href string `json:"href,omitempty"`
	Id   string `json:"id,omitempty"`
	Name string `json:"name,omitempty"`
}
type OperationLinks struct {
	Execution *ExecutionLink `json:"execution,omitempty"`
}

type OperationLocator

type OperationLocator struct {
	UrlResolver
	// contains filtered or unexported fields
}

Operation resource locator, exposes resource actions.

func (*OperationLocator) Create

func (loc *OperationLocator) Create(executionId string, name string, options rsapi.ApiParams) (*OperationLocator, error)

POST /projects/:project_id/operations Trigger an Operation to run by specifying the Execution ID and the name of the Operation.

func (*OperationLocator) Index

func (loc *OperationLocator) Index(options rsapi.ApiParams) ([]*Operation, error)

GET /projects/:project_id/operations Get the list of 50 most recent Operations (usually filtered by Execution).

func (*OperationLocator) Show

func (loc *OperationLocator) Show(options rsapi.ApiParams) (*Operation, error)

GET /projects/:project_id/operations/:id Get the details for a specific Operation

type OperationParam

type OperationParam struct {
	ConfigurationOptions []*ConfigurationOption                                            `json:"configuration_options,omitempty"`
	CreatedBy            *User                                                             `json:"created_by,omitempty"`
	Execution            *ExecutionParam                                                   `json:"execution,omitempty"`
	Href                 string                                                            `json:"href,omitempty"`
	Id                   string                                                            `json:"id,omitempty"`
	Kind                 string                                                            `json:"kind,omitempty"`
	Links                *OperationLinks                                                   `json:"links,omitempty"`
	Name                 string                                                            `json:"name,omitempty"`
	Status               *LatestNotificationsExecutionNextOperationLastRunStatusStruct     `json:"status,omitempty"`
	Timestamps           *LatestNotificationsExecutionNextOperationLastRunTimestampsStruct `json:"timestamps,omitempty"`
}
type OperationRunningOperationsLink struct {
	Href string `json:"href,omitempty"`
}

type OperationStruct

type OperationStruct struct {
	ConfigurationOptions []*ConfigurationOption `json:"configuration_options,omitempty"`
	Name                 string                 `json:"name,omitempty"`
}

type Output

type Output struct {
	Category    string      `json:"category,omitempty"`
	Description string      `json:"description,omitempty"`
	Index       int         `json:"index,omitempty"`
	Label       string      `json:"label,omitempty"`
	Name        string      `json:"name,omitempty"`
	Value       interface{} `json:"value,omitempty"`
}

type Parameter

type Parameter struct {
	Default     interface{}                                    `json:"default,omitempty"`
	Description string                                         `json:"description,omitempty"`
	Name        string                                         `json:"name,omitempty"`
	Operations  []interface{}                                  `json:"operations,omitempty"`
	Type_       string                                         `json:"type,omitempty"`
	Ui          *AvailableOperationsParametersUiStruct         `json:"ui,omitempty"`
	Validation  *AvailableOperationsParametersValidationStruct `json:"validation,omitempty"`
}

type Resource

type Resource struct {
	Name  string                   `json:"name,omitempty"`
	Type_ string                   `json:"type,omitempty"`
	Value *ApiResourcesValueStruct `json:"value,omitempty"`
}

type ScheduledAction

type ScheduledAction struct {
	Action                string                `json:"action,omitempty"`
	CreatedBy             *User                 `json:"created_by,omitempty"`
	Execution             *Execution            `json:"execution,omitempty"`
	FirstOccurrence       time.Time             `json:"first_occurrence,omitempty"`
	Href                  string                `json:"href,omitempty"`
	Id                    string                `json:"id,omitempty"`
	Kind                  string                `json:"kind,omitempty"`
	Links                 *ScheduledActionLinks `json:"links,omitempty"`
	Mandatory             bool                  `json:"mandatory,omitempty"`
	Name                  string                `json:"name,omitempty"`
	NextOccurrence        time.Time             `json:"next_occurrence,omitempty"`
	Recurrence            string                `json:"recurrence,omitempty"`
	RecurrenceDescription string                `json:"recurrence_description,omitempty"`
	Timestamps            *TimestampsStruct     `json:"timestamps,omitempty"`
	Timezone              string                `json:"timezone,omitempty"`
}

ScheduledActions describe a set of timed occurrences for an action to be run (at most once per day). Recurrence Rules are based off of the [RFC 5545](https://tools.ietf.org/html/rfc5545) iCal spec, and timezones are from the standard [tzinfo database](http://www.iana.org/time-zones). All DateTimes must be passed in [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601)

type ScheduledActionLinks struct {
	Execution *ExecutionLink `json:"execution,omitempty"`
}

type ScheduledActionLocator

type ScheduledActionLocator struct {
	UrlResolver
	// contains filtered or unexported fields
}

ScheduledAction resource locator, exposes resource actions.

func (*ScheduledActionLocator) Create

func (loc *ScheduledActionLocator) Create(action string, executionId string, firstOccurrence time.Time, options rsapi.ApiParams) (*ScheduledActionLocator, error)

POST /projects/:project_id/scheduled_actions Create a new ScheduledAction resource.

func (*ScheduledActionLocator) Delete

func (loc *ScheduledActionLocator) Delete(options rsapi.ApiParams) error

DELETE /projects/:project_id/scheduled_actions/:id Delete a ScheduledAction. If the ScheduledAction has the mandatory attribute set to true, the 'force' flag must be set in order to delete it.

func (*ScheduledActionLocator) Index

func (loc *ScheduledActionLocator) Index(options rsapi.ApiParams) ([]*ScheduledAction, error)

GET /projects/:project_id/scheduled_actions List ScheduledAction resources in the project. The list can be filtered to a given execution.

func (*ScheduledActionLocator) Patch

func (loc *ScheduledActionLocator) Patch(options rsapi.ApiParams) error

PATCH /projects/:project_id/scheduled_actions/:id Update one or more ScheduledAction properties. If the ScheduledAction has the mandatory attribute set to true, the 'force' flag must be set in order to modify it. All ScheduledActions created through the UI are set to 'mandatory' by default. When the 'recurrence' is updated, the 'next_occurrence' will be modified accordingly unless it's also specified.

func (*ScheduledActionLocator) Show

GET /projects/:project_id/scheduled_actions/:id Retrieve given ScheduledAction resource.

func (*ScheduledActionLocator) Skip

func (loc *ScheduledActionLocator) Skip(options rsapi.ApiParams) error

POST /projects/:project_id/scheduled_actions/:id/actions/skip Skips the requested number of ScheduledAction occurrences. If no count is provided, one occurrence is skipped. On success, the next_occurrence view of the updated ScheduledAction is returned.

type ScheduledActionParam

type ScheduledActionParam struct {
	Action                string                                                  `json:"action,omitempty"`
	CreatedBy             *User                                                   `json:"created_by,omitempty"`
	Execution             *ExecutionParam                                         `json:"execution,omitempty"`
	FirstOccurrence       time.Time                                               `json:"first_occurrence,omitempty"`
	Href                  string                                                  `json:"href,omitempty"`
	Id                    string                                                  `json:"id,omitempty"`
	Kind                  string                                                  `json:"kind,omitempty"`
	Links                 *ScheduledActionLinks                                   `json:"links,omitempty"`
	Mandatory             bool                                                    `json:"mandatory,omitempty"`
	Name                  string                                                  `json:"name,omitempty"`
	NextOccurrence        time.Time                                               `json:"next_occurrence,omitempty"`
	Recurrence            string                                                  `json:"recurrence,omitempty"`
	RecurrenceDescription string                                                  `json:"recurrence_description,omitempty"`
	Timestamps            *LatestNotificationsExecutionNextActionTimestampsStruct `json:"timestamps,omitempty"`
	Timezone              string                                                  `json:"timezone,omitempty"`
}

type ScheduledOperation

type ScheduledOperation struct {
	CreatedBy             *User                    `json:"created_by,omitempty"`
	Execution             *Execution               `json:"execution,omitempty"`
	FirstOccurrence       time.Time                `json:"first_occurrence,omitempty"`
	Href                  string                   `json:"href,omitempty"`
	Id                    string                   `json:"id,omitempty"`
	Kind                  string                   `json:"kind,omitempty"`
	LastRun               *Operation               `json:"last_run,omitempty"`
	Links                 *ScheduledOperationLinks `json:"links,omitempty"`
	Mandatory             bool                     `json:"mandatory,omitempty"`
	Name                  string                   `json:"name,omitempty"`
	NextOccurrence        time.Time                `json:"next_occurrence,omitempty"`
	Operation             *OperationStruct         `json:"operation,omitempty"`
	Recurrence            string                   `json:"recurrence,omitempty"`
	RecurrenceDescription string                   `json:"recurrence_description,omitempty"`
	Timestamps            *TimestampsStruct        `json:"timestamps,omitempty"`
	Timezone              string                   `json:"timezone,omitempty"`
}

ScheduledOperations describe a set of timed occurrences for an operation to be run (at most once per day). Recurrence Rules are based off of the [RFC 5545](https://tools.ietf.org/html/rfc5545) iCal spec, and timezones are from the standard [tzinfo database](http://www.iana.org/time-zones). All DateTimes must be passed in [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601)

type ScheduledOperationLinks struct {
	Execution *ExecutionLink `json:"execution,omitempty"`
	LastRun   *OperationLink `json:"last_run,omitempty"`
}

type ScheduledOperationLocator

type ScheduledOperationLocator struct {
	UrlResolver
	// contains filtered or unexported fields
}

ScheduledOperation resource locator, exposes resource actions.

func (*ScheduledOperationLocator) Create

func (loc *ScheduledOperationLocator) Create(executionId string, firstOccurrence time.Time, operation *OperationStruct, options rsapi.ApiParams) (*ScheduledOperationLocator, error)

POST /projects/:project_id/scheduled_operations Create a new ScheduledOperation resource.

func (*ScheduledOperationLocator) Delete

func (loc *ScheduledOperationLocator) Delete(options rsapi.ApiParams) error

DELETE /projects/:project_id/scheduled_operations/:id Delete a ScheduledOperation. If the ScheduledOperation has the mandatory attribute set to true, the 'force' flag must be set in order to delete it.

func (*ScheduledOperationLocator) Index

GET /projects/:project_id/scheduled_operations List ScheduledOperation resources in the project. The list can be filtered to a given execution.

func (*ScheduledOperationLocator) Patch

func (loc *ScheduledOperationLocator) Patch(options rsapi.ApiParams) error

PATCH /projects/:project_id/scheduled_operations/:id Update one or more ScheduledOperation properties. If the ScheduledOperation has the mandatory attribute set to true, the 'force' flag must be set in order to modify it. All ScheduledOperations created through the UI are set to 'mandatory' by default. When the 'recurrence' is updated, the 'next_occurrence' will be modified accordingly unless it's also specified.

func (*ScheduledOperationLocator) Show

GET /projects/:project_id/scheduled_operations/:id Retrieve given ScheduledOperation resource.

func (*ScheduledOperationLocator) Skip

func (loc *ScheduledOperationLocator) Skip(options rsapi.ApiParams) error

POST /projects/:project_id/scheduled_operations/:id/actions/skip Skips the requested number of ScheduledOperation occurrences. If no count is provided, one occurrence is skipped. On success, the next_occurrence view of the updated ScheduledOperation is returned.

type ScheduledOperationParam

type ScheduledOperationParam struct {
	CreatedBy             *User                                                      `json:"created_by,omitempty"`
	Execution             *ExecutionParam                                            `json:"execution,omitempty"`
	FirstOccurrence       time.Time                                                  `json:"first_occurrence,omitempty"`
	Href                  string                                                     `json:"href,omitempty"`
	Id                    string                                                     `json:"id,omitempty"`
	Kind                  string                                                     `json:"kind,omitempty"`
	LastRun               *OperationParam                                            `json:"last_run,omitempty"`
	Links                 *ScheduledOperationLinks                                   `json:"links,omitempty"`
	Mandatory             bool                                                       `json:"mandatory,omitempty"`
	Name                  string                                                     `json:"name,omitempty"`
	NextOccurrence        time.Time                                                  `json:"next_occurrence,omitempty"`
	Operation             *LatestNotificationsExecutionNextOperationOperationStruct  `json:"operation,omitempty"`
	Recurrence            string                                                     `json:"recurrence,omitempty"`
	RecurrenceDescription string                                                     `json:"recurrence_description,omitempty"`
	Timestamps            *LatestNotificationsExecutionNextOperationTimestampsStruct `json:"timestamps,omitempty"`
	Timezone              string                                                     `json:"timezone,omitempty"`
}

type StatusStruct

type StatusStruct struct {
	Percent int     `json:"percent,omitempty"`
	Summary string  `json:"summary,omitempty"`
	Tasks   []*Task `json:"tasks,omitempty"`
}

type Task

type Task struct {
	Label  string                                                                   `json:"label,omitempty"`
	Name   string                                                                   `json:"name,omitempty"`
	Status *LatestNotificationsExecutionNextOperationLastRunStatusTasksStatusStruct `json:"status,omitempty"`
}

type TimestampsStruct

type TimestampsStruct struct {
	CreatedAt    time.Time `json:"created_at,omitempty"`
	LaunchedAt   time.Time `json:"launched_at,omitempty"`
	TerminatedAt time.Time `json:"terminated_at,omitempty"`
}

type TimestampsStruct2

type TimestampsStruct2 struct {
	CreatedAt time.Time `json:"created_at,omitempty"`
	UpdatedAt time.Time `json:"updated_at,omitempty"`
}

type UrlResolver

type UrlResolver string

Url resolver produces an action URL and HTTP method from its name and a given resource href. The algorithm consists of first extracting the variables from the href and then substituing them in the action path. If there are more than one action paths then the algorithm picks the one that can substitute the most variables.

func (*UrlResolver) Url

func (r *UrlResolver) Url(rName, aName string) (*metadata.ActionPath, error)

type User

type User struct {
	Email string `json:"email,omitempty"`
	Id    int    `json:"id,omitempty"`
	Name  string `json:"name,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL