Documentation
¶
Index ¶
- Constants
- Variables
- type API
- type ApiResourcesValueStruct
- type AvailableOperationsParametersUiStruct
- type AvailableOperationsParametersValidationStruct
- type CatDependency
- type CompiledCAT
- type ConfigurationOption
- type CostStruct
- type Execution
- type ExecutionLink
- type ExecutionLinks
- type ExecutionLocator
- func (loc *ExecutionLocator) Create(options rsapi.APIParams) (*ExecutionLocator, error)
- func (loc *ExecutionLocator) Delete(options rsapi.APIParams) error
- func (loc *ExecutionLocator) Download(apiVersion string) error
- func (loc *ExecutionLocator) Index(options rsapi.APIParams) ([]*Execution, error)
- func (loc *ExecutionLocator) Launch() error
- func (loc *ExecutionLocator) MultiDelete(ids []string, options rsapi.APIParams) error
- func (loc *ExecutionLocator) MultiLaunch(ids []string) error
- func (loc *ExecutionLocator) MultiRun(ids []string, name string, options rsapi.APIParams) error
- func (loc *ExecutionLocator) MultiStart(ids []string) error
- func (loc *ExecutionLocator) MultiStop(ids []string) error
- func (loc *ExecutionLocator) MultiTerminate(ids []string) error
- func (loc *ExecutionLocator) Patch(options rsapi.APIParams) error
- func (loc *ExecutionLocator) Run(name string, options rsapi.APIParams) error
- func (loc *ExecutionLocator) Show(options rsapi.APIParams) (*Execution, error)
- func (loc *ExecutionLocator) Start() error
- func (loc *ExecutionLocator) Stop() error
- func (loc *ExecutionLocator) Terminate() error
- type ExecutionParam
- type Href
- type LatestNotificationExecutionCostStruct
- type LatestNotificationExecutionNextActionOperationStruct
- type LatestNotificationExecutionNextActionTimestampsStruct
- type LatestNotificationExecutionRunningOperationsStatusStruct
- type LatestNotificationExecutionRunningOperationsStatusTasksStatusStruct
- type LatestNotificationExecutionRunningOperationsTimestampsStruct
- type LatestNotificationExecutionTimestampsStruct
- type LatestNotificationTimestampsStruct
- type LaunchedFrom
- type Namespace
- type NamespaceService
- type NamespaceType
- type Notification
- type NotificationLatestNotificationsLink
- type NotificationLinks
- type NotificationLocator
- type NotificationParam
- type Operation
- type OperationDefinition
- type OperationInfo
- type OperationLinks
- type OperationLocator
- type OperationParam
- type OperationRunningOperationsLink
- type OperationStruct
- type Output
- type Parameter
- type Recurrence
- type Resource
- type Schedule
- type ScheduledAction
- type ScheduledActionLinks
- type ScheduledActionLocator
- func (loc *ScheduledActionLocator) Create(action string, executionId string, firstOccurrence *time.Time, ...) (*ScheduledActionLocator, error)
- func (loc *ScheduledActionLocator) Delete() error
- func (loc *ScheduledActionLocator) Index(options rsapi.APIParams) ([]*ScheduledAction, error)
- func (loc *ScheduledActionLocator) Patch(options rsapi.APIParams) error
- func (loc *ScheduledActionLocator) Show() (*ScheduledAction, error)
- func (loc *ScheduledActionLocator) Skip(options rsapi.APIParams) error
- type ScheduledActionParam
- type StatusStruct
- type Task
- type TimestampsStruct
- type TimestampsStruct2
- type TimestampsStruct3
- type TimestampsStruct4
- type User
Constants ¶
const APIVersion = "1.0"
API Version
Variables ¶
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.`, Identifier: "application/vnd.rightscale.self_service.execution", 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: "/api/manager/projects/%s/executions", Variables: []string{"project_id"}, Regexp: regexp.MustCompile(`/api/manager/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", "index", "tiny"}, }, }, 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", "index", "tiny"}, }, }, }, &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: "/api/manager/projects/%s/executions/%s", Variables: []string{"project_id", "id"}, Regexp: regexp.MustCompile(`/api/manager/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: "/api/manager/projects/%s/executions", Variables: []string{"project_id"}, Regexp: regexp.MustCompile(`/api/manager/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, compilation_href and template_href.`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "compilation_href", Description: `The href of the Compilation from which to create the Execution. This attribute is mutually exclusive with: source, compiled_cat, template_href and application_href. NOTE: This requires :designer role at least.`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "compiled_cat[cat_parser_gem_version]", Description: ``, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "compiled_cat[compiler_ver]", Description: ``, 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[dependency_hashes][]", Description: ``, Type: "map", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "compiled_cat[imports]", 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: false, NonBlank: false, }, &metadata.ActionParam{ Name: "compiled_cat[dependency_hashes][]", Description: ``, Type: "map", Location: metadata.PayloadParam, Mandatory: false, 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[package]", Description: ``, Type: "string", 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[permissions]", Description: ``, Type: "map", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "compiled_cat[dependency_hashes][]", Description: ``, Type: "map", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "compiled_cat[resources]", Description: ``, Type: "map", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "compiled_cat[rs_ca_ver]", Description: ``, Type: "int", Location: metadata.PayloadParam, Mandatory: false, 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: false, NonBlank: false, }, &metadata.ActionParam{ Name: "current_schedule", Description: `The currently selected schedule name, or nil for CloudApps using the '24/7' schedule`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "defer_launch", Description: `Whether or not to defer launching the execution. Setting this value to true will keep the execution in not_started state until it is explicitly launched or the first scheduled start operation occurs.`, Type: "bool", 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: "ends_at", Description: `The day on which the CloudApp should be automatically terminated`, Type: "*time.Time", 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[][name]", Description: `Name of configuration option`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "options[][type]", Description: `Type of configuration option.`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, ValidValues: []string{"string", "number", "list"}, }, &metadata.ActionParam{ Name: "options[][value]", Description: `Configuration option value, a string, integer or array of strings depending on type`, Type: "interface{}", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "schedule_required", Description: `Whether the CloudApp requires a schedule. If set to false, allows user to pick from '24/7' schedule in the UI`, Type: "bool", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][action]", Description: `The name of the action to be run. When the value is "run", the "operation" struct should contain the name of the operation to run as well as any options needed by the operation.`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, ValidValues: []string{"launch", "start", "stop", "terminate", "run"}, }, &metadata.ActionParam{ Name: "scheduled_actions[][created_by][email]", Description: `User email`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][created_by][id]", Description: `User id`, Type: "int", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][created_by][name]", Description: `User name, usually of the form "First Last"`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][execution][compilation_href]", Description: `The HREF of the compilation used to create this execution`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][execution][cost][unit]", Description: `Currency used for the cost value`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][execution][cost][updated_at]", Description: `Timestamp of last cost refresh`, Type: "*time.Time", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][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: "scheduled_actions[][created_by][email]", Description: `User email`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][created_by][id]", Description: `User id`, Type: "int", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][created_by][name]", Description: `User name, usually of the form "First Last"`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][execution][current_schedule]", Description: `The currently selected schedule name, or nil for CloudApps using the '24/7' schedule`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][execution][deployment]", Description: `CloudApp deployment href`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][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: "scheduled_actions[][execution][description]", Description: `Description of execution`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][execution][ends_at]", Description: `The time of the next 'terminate' ScheduledAction (if any).`, Type: "*time.Time", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][execution][href]", Description: `Execution href`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][created_by][id]", Description: `User id`, Type: "int", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][execution][kind]", Description: `The kind of this resource, always self_service#execution`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][execution][latest_notification][category]", Description: `Notification category, info or error`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, ValidValues: []string{"info", "error", "status_update"}, }, &metadata.ActionParam{ Name: "scheduled_actions[][execution][href]", Description: `Execution href`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][created_by][id]", Description: `User id`, Type: "int", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][execution][kind]", Description: `The kind of this resource, always self_service#execution`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][execution][latest_notification][message]", Description: `Notification content`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][execution][latest_notification][read]", Description: `Whether notification was marked as read (not currently used)`, Type: "bool", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][execution][latest_notification][timestamps][created_at]", Description: `Creation timestamp`, Type: "*time.Time", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][execution][launched_from][type]", Description: `The type of the value (one of: application, template, compiled_cat, source, compilation`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][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: "scheduled_actions[][execution][launched_from_summary]", Description: `How the CloudApp was launched, either from Application, Template, source, or compiled_cat`, Type: "map", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][created_by][name]", Description: `User name, usually of the form "First Last"`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][action]", Description: `The name of the action to be run. When the value is "run", the "operation" struct should contain the name of the operation to run as well as any options needed by the operation.`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, ValidValues: []string{"launch", "start", "stop", "terminate", "run"}, }, &metadata.ActionParam{ Name: "scheduled_actions[][created_by][email]", Description: `User email`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][created_by][id]", Description: `User id`, Type: "int", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][created_by][name]", Description: `User name, usually of the form "First Last"`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][execution][next_action][execution_schedule]", Description: `Indicates ScheduledActions that were created by the system as part of an execution schedule.`, Type: "bool", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][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: "*time.Time", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][execution][href]", Description: `Execution href`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][created_by][id]", Description: `User id`, Type: "int", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][execution][kind]", Description: `The kind of this resource, always self_service#execution`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][created_by][name]", Description: `User name, usually of the form "First Last"`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][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: "*time.Time", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][created_by][name]", Description: `User name, usually of the form "First Last"`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][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: "scheduled_actions[][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: "scheduled_actions[][execution][latest_notification][timestamps][created_at]", Description: `Creation timestamp`, Type: "*time.Time", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][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: "scheduled_actions[][execution][schedule_required]", Description: `Whether the CloudApp requires a schedule. If set to false, allows user to pick from '24/7' schedule in the UI`, Type: "bool", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][execution][scheduled]", Description: `Indicates whether or not an execution has a scheduled start action`, Type: "bool", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][execution][source]", Description: `Original CAT source`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][execution][status]", Description: `Execution status.`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, ValidValues: []string{"not_started", "launching", "starting", "enabling", "running", "disabling", "disabled", "terminating", "stopping", "waiting_for_operations", "canceling_operations", "stopped", "terminated", "failed", "provisioning", "decommissioning", "decommissioned"}, }, &metadata.ActionParam{ Name: "scheduled_actions[][execution][latest_notification][timestamps][created_at]", Description: `Creation timestamp`, Type: "*time.Time", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][execution][next_action][execution_schedule]", Description: `Indicates ScheduledActions that were created by the system as part of an execution schedule.`, Type: "bool", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][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: "*time.Time", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][execution][href]", Description: `Execution href`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][created_by][id]", Description: `User id`, Type: "int", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][execution][kind]", Description: `The kind of this resource, always self_service#execution`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][created_by][name]", Description: `User name, usually of the form "First Last"`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][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: "*time.Time", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][created_by][name]", Description: `User name, usually of the form "First Last"`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][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: "scheduled_actions[][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: "scheduled_actions[][execution][latest_notification][timestamps][created_at]", Description: `Creation timestamp`, Type: "*time.Time", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "scheduled_actions[][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: "schedules[][created_from]", Description: `optional HREF of the Schedule resource used to create this schedule`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "schedules[][description]", Description: `An optional description that will help users understand the purpose of the Schedule`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "schedules[][name]", Description: `The name of the Schedule`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "schedules[][start_recurrence][hour]", Description: `The hour of day from 0 to 23.`, Type: "int", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "schedules[][start_recurrence][minute]", Description: `The minute from 0 to 59.`, Type: "int", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "schedules[][start_recurrence][rule]", Description: `A RRULE string describing the recurrence rule.`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "schedules[][start_recurrence][hour]", Description: `The hour of day from 0 to 23.`, Type: "int", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "schedules[][start_recurrence][minute]", Description: `The minute from 0 to 59.`, Type: "int", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "schedules[][start_recurrence][rule]", Description: `A RRULE string describing the recurrence rule.`, 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, compilation_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, compilation_href and application_href. NOTE: This requires :designer role at least.`, 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, compilation_href and template_href.`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "compilation_href", Description: `The href of the Compilation from which to create the Execution. This attribute is mutually exclusive with: source, compiled_cat, template_href and application_href. NOTE: This requires :designer role at least.`, 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: "current_schedule", Description: `The currently selected schedule name, or nil for CloudApps using the '24/7' schedule`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "defer_launch", Description: `Whether or not to defer launching the execution. Setting this value to true will keep the execution in not_started state until it is explicitly launched or the first scheduled start operation occurs.`, Type: "bool", 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: "ends_at", Description: `The day on which the CloudApp should be automatically terminated`, Type: "*time.Time", 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: "schedule_required", Description: `Whether the CloudApp requires a schedule. If set to false, allows user to pick from '24/7' schedule in the UI`, Type: "bool", 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: "schedules", Description: `The schedules available to the CloudApp`, Type: "[]*Schedule", 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, compilation_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, compilation_href and application_href. NOTE: This requires :designer role at least.`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, }, }, &metadata.Action{ Name: "patch", Description: `Updates an execution end date or selected schedule.`, PathPatterns: []*metadata.PathPattern{ &metadata.PathPattern{ HTTPMethod: "PATCH", Pattern: "/api/manager/projects/%s/executions/%s", Variables: []string{"project_id", "id"}, Regexp: regexp.MustCompile(`/api/manager/projects/([^/]+)/executions/([^/]+)`), }, }, CommandFlags: []*metadata.ActionParam{ &metadata.ActionParam{ Name: "current_schedule", Description: `The name of the schedule to select, or nil to use the '24/7' schedule`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "ends_at", Description: `The day on which the CloudApp should be automatically terminated`, Type: "*time.Time", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, }, APIParams: []*metadata.ActionParam{ &metadata.ActionParam{ Name: "current_schedule", Description: `The name of the schedule to select, or nil to use the '24/7' schedule`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "ends_at", Description: `The day on which the CloudApp should be automatically terminated`, Type: "*time.Time", 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: "/api/manager/projects/%s/executions/%s", Variables: []string{"project_id", "id"}, Regexp: regexp.MustCompile(`/api/manager/projects/([^/]+)/executions/([^/]+)`), }, }, CommandFlags: []*metadata.ActionParam{ &metadata.ActionParam{ Name: "force", Description: `Force delete execution, bypassing state checks (only available to designers and admins). Note: using this option only deletes the CloudApp from Self-Service and does not modify or terminate resources in any way. Any cloud resources running must be manually destroyed.`, Type: "bool", Location: metadata.QueryParam, Mandatory: false, NonBlank: false, }, }, APIParams: []*metadata.ActionParam{ &metadata.ActionParam{ Name: "force", Description: `Force delete execution, bypassing state checks (only available to designers and admins). Note: using this option only deletes the CloudApp from Self-Service and does not modify or terminate resources in any way. Any cloud resources running must be manually 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: "/api/manager/projects/%s/executions", Variables: []string{"project_id"}, Regexp: regexp.MustCompile(`/api/manager/projects/([^/]+)/executions`), }, }, CommandFlags: []*metadata.ActionParam{ &metadata.ActionParam{ Name: "force", Description: `Force delete execution, bypassing state checks (only available to designers and admins). Note: using this option only deletes the CloudApp from Self-Service and does not modify or terminate resources in any way. Any cloud resources running must be manually 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, bypassing state checks (only available to designers and admins). Note: using this option only deletes the CloudApp from Self-Service and does not modify or terminate resources in any way. Any cloud resources running must be manually 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: "/api/manager/projects/%s/executions/%s/download", Variables: []string{"project_id", "id"}, Regexp: regexp.MustCompile(`/api/manager/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: "/api/manager/projects/%s/executions/%s/actions/launch", Variables: []string{"project_id", "id"}, Regexp: regexp.MustCompile(`/api/manager/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: "/api/manager/projects/%s/executions/%s/actions/start", Variables: []string{"project_id", "id"}, Regexp: regexp.MustCompile(`/api/manager/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: "/api/manager/projects/%s/executions/%s/actions/stop", Variables: []string{"project_id", "id"}, Regexp: regexp.MustCompile(`/api/manager/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: "/api/manager/projects/%s/executions/%s/actions/terminate", Variables: []string{"project_id", "id"}, Regexp: regexp.MustCompile(`/api/manager/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: "/api/manager/projects/%s/executions/actions/launch", Variables: []string{"project_id"}, Regexp: regexp.MustCompile(`/api/manager/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: "/api/manager/projects/%s/executions/actions/start", Variables: []string{"project_id"}, Regexp: regexp.MustCompile(`/api/manager/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: "/api/manager/projects/%s/executions/actions/stop", Variables: []string{"project_id"}, Regexp: regexp.MustCompile(`/api/manager/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: "/api/manager/projects/%s/executions/actions/terminate", Variables: []string{"project_id"}, Regexp: regexp.MustCompile(`/api/manager/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, }, }, }, &metadata.Action{ Name: "run", Description: `Runs an Operation on an Execution.`, PathPatterns: []*metadata.PathPattern{ &metadata.PathPattern{ HTTPMethod: "POST", Pattern: "/api/manager/projects/%s/executions/%s/actions/run", Variables: []string{"project_id", "id"}, Regexp: regexp.MustCompile(`/api/manager/projects/([^/]+)/executions/([^/]+)/actions/run`), }, }, CommandFlags: []*metadata.ActionParam{ &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: "interface{}", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "name", Description: `The name of the operation to run`, Type: "string", Location: metadata.PayloadParam, Mandatory: true, NonBlank: false, }, }, APIParams: []*metadata.ActionParam{ &metadata.ActionParam{ Name: "configuration_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, }, &metadata.ActionParam{ Name: "name", Description: `The name of the operation to run`, Type: "string", Location: metadata.PayloadParam, Mandatory: true, NonBlank: false, }, }, }, &metadata.Action{ Name: "multi_run", Description: `Runs an Operation on several Executions.`, PathPatterns: []*metadata.PathPattern{ &metadata.PathPattern{ HTTPMethod: "POST", Pattern: "/api/manager/projects/%s/executions/actions/run", Variables: []string{"project_id"}, Regexp: regexp.MustCompile(`/api/manager/projects/([^/]+)/executions/actions/run`), }, }, CommandFlags: []*metadata.ActionParam{ &metadata.ActionParam{ Name: "ids[]", Description: `List of execution IDs to run`, Type: "[]string", Location: metadata.QueryParam, 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: "interface{}", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "name", Description: `The name of the operation to run`, Type: "string", Location: metadata.PayloadParam, Mandatory: true, NonBlank: false, }, }, APIParams: []*metadata.ActionParam{ &metadata.ActionParam{ Name: "ids[]", Description: `List of execution IDs to run`, Type: "[]string", Location: metadata.QueryParam, Mandatory: true, NonBlank: false, }, &metadata.ActionParam{ Name: "configuration_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, }, &metadata.ActionParam{ Name: "name", Description: `The name of the operation to run`, Type: "string", Location: metadata.PayloadParam, Mandatory: true, NonBlank: false, }, }, }, }, Links: map[string]string{ "latest_notifications": "", "running_operations": "", }, }, "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.`, Identifier: "application/vnd.rightscale.self_service.notification", 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: "/api/manager/projects/%s/notifications", Variables: []string{"project_id"}, Regexp: regexp.MustCompile(`/api/manager/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: "/api/manager/projects/%s/notifications/%s", Variables: []string{"project_id", "id"}, Regexp: regexp.MustCompile(`/api/manager/projects/([^/]+)/notifications/([^/]+)`), }, }, CommandFlags: []*metadata.ActionParam{}, APIParams: []*metadata.ActionParam{}, }, }, Links: map[string]string{ "execution": "", }, }, "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://docs.rightscale.com/ss/reference/ss_CAT_file_language.html#operations) 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://docs.rightscale.com/ss/reference/ss_CAT_file_language.html#operations) in the Operations section`, Identifier: "application/vnd.rightscale.self_service.operation", 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: "/api/manager/projects/%s/operations", Variables: []string{"project_id"}, Regexp: regexp.MustCompile(`/api/manager/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: "/api/manager/projects/%s/operations/%s", Variables: []string{"project_id", "id"}, Regexp: regexp.MustCompile(`/api/manager/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: "/api/manager/projects/%s/operations", Variables: []string{"project_id"}, Regexp: regexp.MustCompile(`/api/manager/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: "options[][name]", Description: `Name of configuration option`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "options[][type]", Description: `Type of configuration option.`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, ValidValues: []string{"string", "number", "list"}, }, &metadata.ActionParam{ Name: "options[][value]", Description: `Configuration option value, a string, integer or array of strings depending on type`, Type: "interface{}", 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, }, }, }, }, Links: map[string]string{ "execution": "", }, }, "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)`, Identifier: "application/vnd.rightscale.self_service.scheduled_action", 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: "/api/manager/projects/%s/scheduled_actions", Variables: []string{"project_id"}, Regexp: regexp.MustCompile(`/api/manager/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: "/api/manager/projects/%s/scheduled_actions/%s", Variables: []string{"project_id", "id"}, Regexp: regexp.MustCompile(`/api/manager/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: "/api/manager/projects/%s/scheduled_actions", Variables: []string{"project_id"}, Regexp: regexp.MustCompile(`/api/manager/projects/([^/]+)/scheduled_actions`), }, }, CommandFlags: []*metadata.ActionParam{ &metadata.ActionParam{ Name: "action", Description: `The name of the action to be run. When the value is "run", the "operation" struct should contain the name of the operation to run as well as any options needed by the operation.`, Type: "string", Location: metadata.PayloadParam, Mandatory: true, NonBlank: false, ValidValues: []string{"launch", "start", "stop", "terminate", "run"}, }, &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: "name", Description: `The human-readable name for the ScheduledAction.`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "operation[configuration_options][][name]", Description: `Name of configuration option`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "operation[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: "operation[configuration_options][][value]", Description: `Configuration option value, a string, integer or array of strings depending on type`, Type: "interface{}", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "operation[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 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. When the value is "run", the "operation" struct should contain the name of the operation to run as well as any options needed by the operation.`, Type: "string", Location: metadata.PayloadParam, Mandatory: true, NonBlank: false, ValidValues: []string{"launch", "start", "stop", "terminate", "run"}, }, &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: "name", Description: `The human-readable name for the ScheduledAction.`, Type: "string", Location: metadata.PayloadParam, Mandatory: false, NonBlank: false, }, &metadata.ActionParam{ Name: "operation", Description: `When scheduling a "run" action, contains details on the operation to run`, Type: "*OperationStruct", 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: `Updates the 'next_occurrence' property of a ScheduledAction.`, PathPatterns: []*metadata.PathPattern{ &metadata.PathPattern{ HTTPMethod: "PATCH", Pattern: "/api/manager/projects/%s/scheduled_actions/%s", Variables: []string{"project_id", "id"}, Regexp: regexp.MustCompile(`/api/manager/projects/([^/]+)/scheduled_actions/([^/]+)`), }, }, CommandFlags: []*metadata.ActionParam{ &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, }, }, APIParams: []*metadata.ActionParam{ &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.Action{ Name: "delete", Description: `Delete a ScheduledAction.`, PathPatterns: []*metadata.PathPattern{ &metadata.PathPattern{ HTTPMethod: "DELETE", Pattern: "/api/manager/projects/%s/scheduled_actions/%s", Variables: []string{"project_id", "id"}, Regexp: regexp.MustCompile(`/api/manager/projects/([^/]+)/scheduled_actions/([^/]+)`), }, }, CommandFlags: []*metadata.ActionParam{}, APIParams: []*metadata.ActionParam{}, }, &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: "/api/manager/projects/%s/scheduled_actions/%s/actions/skip", Variables: []string{"project_id", "id"}, Regexp: regexp.MustCompile(`/api/manager/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, }, }, 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, }, }, }, }, Links: map[string]string{ "execution": "", }, }, }
Consists of a map of resource name to resource metadata.
Functions ¶
This section is empty.
Types ¶
type API ¶
API is the Self-Service manager client.
func New ¶
func New(h string, a rsapi.Authenticator) *API
New returns a Self-Service catalog API client. It makes a test API request and returns an error if authentication fails.
func (*API) ExecutionLocator ¶
func (api *API) ExecutionLocator(href string) *ExecutionLocator
ExecutionLocator builds a locator from the given href.
func (*API) NotificationLocator ¶
func (api *API) NotificationLocator(href string) *NotificationLocator
NotificationLocator builds a locator from the given href.
func (*API) OperationLocator ¶
func (api *API) OperationLocator(href string) *OperationLocator
OperationLocator builds a locator from the given href.
func (*API) ScheduledActionLocator ¶
func (api *API) ScheduledActionLocator(href string) *ScheduledActionLocator
ScheduledActionLocator builds a locator from the given href.
type ApiResourcesValueStruct ¶
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 CatDependency ¶
type CompiledCAT ¶
type CompiledCAT struct { CatParserGemVersion string `json:"cat_parser_gem_version,omitempty"` CompilerVer string `json:"compiler_ver,omitempty"` Conditions map[string]interface{} `json:"conditions,omitempty"` Definitions map[string]interface{} `json:"definitions,omitempty"` DependencyHashes []map[string]interface{} `json:"dependency_hashes,omitempty"` Imports map[string]interface{} `json:"imports,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"` Package string `json:"package,omitempty"` Parameters map[string]interface{} `json:"parameters,omitempty"` Permissions map[string]interface{} `json:"permissions,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 CostStruct ¶
type Execution ¶
type Execution struct { ApiResources []*Resource `json:"api_resources,omitempty"` AvailableActions []string `json:"available_actions,omitempty"` AvailableOperations []*OperationDefinition `json:"available_operations,omitempty"` AvailableOperationsInfo []*OperationInfo `json:"available_operations_info,omitempty"` CompilationHref string `json:"compilation_href,omitempty"` ConfigurationOptions []*ConfigurationOption `json:"configuration_options,omitempty"` Cost *CostStruct `json:"cost,omitempty"` CreatedBy *User `json:"created_by,omitempty"` CurrentSchedule string `json:"current_schedule,omitempty"` Dependencies []*CatDependency `json:"dependencies,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"` LatestNotification *Notification `json:"latest_notification,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"` Outputs []*Output `json:"outputs,omitempty"` RunningOperations []*Operation `json:"running_operations,omitempty"` ScheduleRequired bool `json:"schedule_required,omitempty"` Scheduled bool `json:"scheduled,omitempty"` Schedules []*Schedule `json:"schedules,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.
func (*Execution) Locator ¶
func (r *Execution) Locator(api *API) *ExecutionLocator
Locator returns a locator for the given resource
type ExecutionLink ¶
type ExecutionLinks ¶
type ExecutionLinks struct { LatestNotifications *NotificationLatestNotificationsLink `json:"latest_notifications,omitempty"` RunningOperations *OperationRunningOperationsLink `json:"running_operations,omitempty"` }
type ExecutionLocator ¶
type ExecutionLocator struct { Href // contains filtered or unexported fields }
ExecutionLocator exposes the Execution resource actions.
func (*ExecutionLocator) Create ¶
func (loc *ExecutionLocator) Create(options rsapi.APIParams) (*ExecutionLocator, error)
POST /api/manager/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 /api/manager/projects/:project_id/executions/:id
No description provided for delete.
func (*ExecutionLocator) Download ¶
func (loc *ExecutionLocator) Download(apiVersion string) error
GET /api/manager/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 /api/manager/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 /api/manager/projects/:project_id/executions/:id/actions/launch
Launch an Execution.
func (*ExecutionLocator) MultiDelete ¶
func (loc *ExecutionLocator) MultiDelete(ids []string, options rsapi.APIParams) error
DELETE /api/manager/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 /api/manager/projects/:project_id/executions/actions/launch
Launch several Executions.
func (*ExecutionLocator) MultiRun ¶ added in v1.0.6
POST /api/manager/projects/:project_id/executions/actions/run
Runs an Operation on several Executions.
func (*ExecutionLocator) MultiStart ¶
func (loc *ExecutionLocator) MultiStart(ids []string) error
POST /api/manager/projects/:project_id/executions/actions/start
Start several Executions.
func (*ExecutionLocator) MultiStop ¶
func (loc *ExecutionLocator) MultiStop(ids []string) error
POST /api/manager/projects/:project_id/executions/actions/stop
Stop several Executions.
func (*ExecutionLocator) MultiTerminate ¶
func (loc *ExecutionLocator) MultiTerminate(ids []string) error
POST /api/manager/projects/:project_id/executions/actions/terminate
Terminate several Executions.
func (*ExecutionLocator) Patch ¶ added in v1.0.6
func (loc *ExecutionLocator) Patch(options rsapi.APIParams) error
PATCH /api/manager/projects/:project_id/executions/:id
Updates an execution end date or selected schedule.
func (*ExecutionLocator) Run ¶ added in v1.0.6
func (loc *ExecutionLocator) Run(name string, options rsapi.APIParams) error
POST /api/manager/projects/:project_id/executions/:id/actions/run
Runs an Operation on an Execution.
func (*ExecutionLocator) Show ¶
func (loc *ExecutionLocator) Show(options rsapi.APIParams) (*Execution, error)
GET /api/manager/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 /api/manager/projects/:project_id/executions/:id/actions/start
Start an Execution.
func (*ExecutionLocator) Stop ¶
func (loc *ExecutionLocator) Stop() error
POST /api/manager/projects/:project_id/executions/:id/actions/stop
Stop an Execution.
func (*ExecutionLocator) Terminate ¶
func (loc *ExecutionLocator) Terminate() error
POST /api/manager/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"` AvailableOperationsInfo []*OperationInfo `json:"available_operations_info,omitempty"` CompilationHref string `json:"compilation_href,omitempty"` ConfigurationOptions []*ConfigurationOption `json:"configuration_options,omitempty"` Cost *LatestNotificationExecutionCostStruct `json:"cost,omitempty"` CreatedBy *User `json:"created_by,omitempty"` CurrentSchedule string `json:"current_schedule,omitempty"` Dependencies []*CatDependency `json:"dependencies,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"` LatestNotification *NotificationParam `json:"latest_notification,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"` Outputs []*Output `json:"outputs,omitempty"` RunningOperations []*OperationParam `json:"running_operations,omitempty"` ScheduleRequired bool `json:"schedule_required,omitempty"` Scheduled bool `json:"scheduled,omitempty"` Schedules []*Schedule `json:"schedules,omitempty"` Source string `json:"source,omitempty"` Status string `json:"status,omitempty"` Timestamps *LatestNotificationExecutionTimestampsStruct `json:"timestamps,omitempty"` }
type Href ¶
type Href string
An Href contains the relative path to a resource or resource collection, e.g. "/api/servers/123" or "/api/servers".
func (*Href) ActionPath ¶
func (r *Href) ActionPath(rName, aName string) (*metadata.ActionPath, error)
ActionPath computes the path to the given resource action. For example given the href "/api/servers/123" calling ActionPath with resource "servers" and action "clone" returns the path "/api/servers/123/clone" and verb POST. The algorithm consists of extracting the variables from the href by looking up a matching pattern from the resource metadata. The variables are then substituted in the action path. If there are more than one pattern that match the href then the algorithm picks the one that can substitute the most variables.
type LatestNotificationExecutionNextActionOperationStruct ¶
type LatestNotificationExecutionNextActionOperationStruct struct { ConfigurationOptions []*ConfigurationOption `json:"configuration_options,omitempty"` Name string `json:"name,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 NamespaceType ¶
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.
func (*Notification) Locator ¶
func (r *Notification) Locator(api *API) *NotificationLocator
Locator returns a locator for the given resource
type NotificationLatestNotificationsLink ¶
type NotificationLatestNotificationsLink struct {
Href string `json:"href,omitempty"`
}
type NotificationLinks ¶
type NotificationLinks struct {
Execution *ExecutionLink `json:"execution,omitempty"`
}
type NotificationLocator ¶
type NotificationLocator struct { Href // contains filtered or unexported fields }
NotificationLocator exposes the Notification resource actions.
func (*NotificationLocator) Index ¶
func (loc *NotificationLocator) Index(options rsapi.APIParams) ([]*Notification, error)
GET /api/manager/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 /api/manager/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 *LatestNotificationTimestampsStruct `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"` Label string `json:"label,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://docs.rightscale.com/ss/reference/ss_CAT_file_language.html#operations) 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://docs.rightscale.com/ss/reference/ss_CAT_file_language.html#operations) in the Operations section
func (*Operation) Locator ¶
func (r *Operation) Locator(api *API) *OperationLocator
Locator returns a locator for the given resource
type OperationDefinition ¶
type OperationInfo ¶
type OperationLinks ¶
type OperationLinks struct {
Execution *ExecutionLink `json:"execution,omitempty"`
}
type OperationLocator ¶
type OperationLocator struct { Href // contains filtered or unexported fields }
OperationLocator exposes the Operation resource actions.
func (*OperationLocator) Create ¶
func (loc *OperationLocator) Create(executionId string, name string, options rsapi.APIParams) (*OperationLocator, error)
POST /api/manager/projects/:project_id/operations
Trigger an Operation to run by specifying the Execution ID and the name of the 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"` Label string `json:"label,omitempty"` Links *OperationLinks `json:"links,omitempty"` Name string `json:"name,omitempty"` Status *LatestNotificationExecutionRunningOperationsStatusStruct `json:"status,omitempty"` Timestamps *LatestNotificationExecutionRunningOperationsTimestampsStruct `json:"timestamps,omitempty"` }
type OperationRunningOperationsLink ¶
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 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 Recurrence ¶ added in v1.0.6
type Resource ¶
type Resource struct { Name string `json:"name,omitempty"` Type_ string `json:"type,omitempty"` Value *ApiResourcesValueStruct `json:"value,omitempty"` }
type Schedule ¶ added in v1.0.6
type Schedule struct { CreatedFrom string `json:"created_from,omitempty"` Description string `json:"description,omitempty"` Name string `json:"name,omitempty"` StartRecurrence *Recurrence `json:"start_recurrence,omitempty"` StopRecurrence *Recurrence `json:"stop_recurrence,omitempty"` }
type ScheduledAction ¶
type ScheduledAction struct { Action string `json:"action,omitempty"` CreatedBy *User `json:"created_by,omitempty"` Execution *Execution `json:"execution,omitempty"` ExecutionSchedule bool `json:"execution_schedule,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"` 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"` }
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)
func (*ScheduledAction) Locator ¶
func (r *ScheduledAction) Locator(api *API) *ScheduledActionLocator
Locator returns a locator for the given resource
type ScheduledActionLinks ¶
type ScheduledActionLinks struct {
Execution *ExecutionLink `json:"execution,omitempty"`
}
type ScheduledActionLocator ¶
type ScheduledActionLocator struct { Href // contains filtered or unexported fields }
ScheduledActionLocator exposes the ScheduledAction resource actions.
func (*ScheduledActionLocator) Create ¶
func (loc *ScheduledActionLocator) Create(action string, executionId string, firstOccurrence *time.Time, options rsapi.APIParams) (*ScheduledActionLocator, error)
POST /api/manager/projects/:project_id/scheduled_actions
Create a new ScheduledAction resource.
func (*ScheduledActionLocator) Delete ¶
func (loc *ScheduledActionLocator) Delete() error
DELETE /api/manager/projects/:project_id/scheduled_actions/:id
Delete a ScheduledAction.
func (*ScheduledActionLocator) Index ¶
func (loc *ScheduledActionLocator) Index(options rsapi.APIParams) ([]*ScheduledAction, error)
GET /api/manager/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 /api/manager/projects/:project_id/scheduled_actions/:id
Updates the 'next_occurrence' property of a ScheduledAction.
func (*ScheduledActionLocator) Show ¶
func (loc *ScheduledActionLocator) Show() (*ScheduledAction, error)
GET /api/manager/projects/:project_id/scheduled_actions/:id
Retrieve given ScheduledAction resource.
func (*ScheduledActionLocator) Skip ¶
func (loc *ScheduledActionLocator) Skip(options rsapi.APIParams) error
POST /api/manager/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"` ExecutionSchedule bool `json:"execution_schedule,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"` Name string `json:"name,omitempty"` NextOccurrence *time.Time `json:"next_occurrence,omitempty"` Operation *LatestNotificationExecutionNextActionOperationStruct `json:"operation,omitempty"` Recurrence string `json:"recurrence,omitempty"` RecurrenceDescription string `json:"recurrence_description,omitempty"` Timestamps *LatestNotificationExecutionNextActionTimestampsStruct `json:"timestamps,omitempty"` Timezone string `json:"timezone,omitempty"` }
type StatusStruct ¶
type Task ¶
type Task struct { Label string `json:"label,omitempty"` Name string `json:"name,omitempty"` Status *LatestNotificationExecutionRunningOperationsStatusTasksStatusStruct `json:"status,omitempty"` }