Documentation
¶
Index ¶
- Constants
- func ActionInputHandler(inputs map[string]string) runner.Feature
- func ActionOutputHandler(outputs map[string]string, suppressOutput bool) runner.Feature
- func CodeCatalystImage() string
- func NewActionPlan(params *NewActionPlanParams) (runner.Plan, error)
- func NewActionPlansProvider(params *NewActionPlansProviderParams) runner.PlansProvider
- type Action
- type ActionProvider
- type ActionRunSummaryLevel
- type ActionRunSummaryMessage
- type ActionRunTemplateVariable
- type Artifacts
- type Environment
- type Inputs
- type NewActionPlanParams
- type NewActionPlansProviderParams
- type Output
- type Outputs
- type Parameter
- type ParameterType
- type Provider
- type Runs
- type Sources
- type SupportedComputeType
- type UsingType
Constants ¶
const DefaultCodeCatalystImage = "docker://public.ecr.aws/c8t2t1h8/al2/curated:1.3-x86_64-ec2"
Variables ¶
This section is empty.
Functions ¶
func ActionInputHandler ¶
ActionInputHandler converts the provided inputs into environment variables (prefixed with 'INPUT_')
func ActionOutputHandler ¶
ActionOutputHandler collects the output from an action and checks for failures in the ACTION_RUN_SUMMARY output
func CodeCatalystImage ¶
func CodeCatalystImage() string
func NewActionPlan ¶
func NewActionPlan(params *NewActionPlanParams) (runner.Plan, error)
NewActionPlan creates a new Plan from the given params
func NewActionPlansProvider ¶
func NewActionPlansProvider(params *NewActionPlansProviderParams) runner.PlansProvider
NewActionPlansProvider creates a plan provider based on [Action]s
Types ¶
type Action ¶
type Action struct {
SchemaVersion string `yaml:"SchemaVersion"` // version of the action schema
Name string `yaml:"Name"` // name of the action
ID string `yaml:"Id"` // ID of the action
Description string `yaml:"Description"` // description of the action
Version string `yaml:"Version"` // version of the action
Configuration map[string]Parameter `yaml:"Configuration"` // define the configuration properties of the action
SupportedComputeType SupportedComputeType `yaml:"SupportedComputeType"` // specify the compute types to use for the action
Environment Environment `yaml:"Environment"` // specify the CodeCatalyst environment to use with the action
Inputs Inputs `yaml:"Inputs"` // defines the data that an action needs during a workflow run
Outputs Outputs `yaml:"Outputs"` // defines the data that is output by the action during a workflow run. If more than 10 output variables are produced, the top 10 variables are selected
Runs Runs `yaml:"Runs"` // defines the runtime environment and main entry point for the action
Basedir string `yaml:"-"` // the directory this action was loaded from
}
Action defines inputs, outputs and resources integrations for custom actions with. For more details, see the Action Reference in the Amazon CodeCatalyst Action Developer Kit (ADK).
type ActionProvider ¶
type ActionProvider interface {
Action() *Action
}
ActionProvider exposes acces to an Action
type ActionRunSummaryLevel ¶
type ActionRunSummaryLevel string
ActionRunSummaryLevel of an ActionRunSummaryMessage
const ( // ActionRunSummaryLevelError represents the error level ActionRunSummaryLevelError ActionRunSummaryLevel = "Error" )
type ActionRunSummaryMessage ¶
type ActionRunSummaryMessage struct {
Text string // text of the message
Level ActionRunSummaryLevel // level of the message
Message string // template to be used with TemplateVariables
TemplateVariables []ActionRunTemplateVariable // variables to apply in the message template
}
ActionRunSummaryMessage describes a messages that was returned from the action
type ActionRunTemplateVariable ¶
ActionRunTemplateVariable describes a variable for a message template
type Artifacts ¶
type Artifacts struct {
Required bool `yaml:"Required"` // if true, then action expects at least one artifact
}
Artifacts from previous actions that you want to provide as input to this action. These artifacts must already be defined as output artifacts in previous actions.
type Environment ¶
type Environment struct {
Required bool `yaml:"Required"` // if true, the action requires an environment
}
Environment to use with the Action
type Inputs ¶
type Inputs struct {
Sources Sources // Specify the labels that represent the source repositories that will be needed by the action
Artifacts Artifacts // Specify artifacts from previous actions that you want to provide as input to this action
}
Inputs specifies if sources and/or artifacts are required for the action to run
type NewActionPlanParams ¶
type NewActionPlanParams struct {
Action *Action // Action to use to create a plan from
ExecutionType runner.ExecutionType // Type of execution (shell or docker)
WorkingDir string // Working directory for the plan
ID string // override the id of the action
Steps []string // override commands to run
DependsOn []string // dependencies
}
NewActionPlanParams contains the parametes for the NewActionPlan function
type NewActionPlansProviderParams ¶
type NewActionPlansProviderParams struct {
ActionsProvider Provider // The actions [Provider] containing the actions to create plans for
ExecutionType runner.ExecutionType // The [ExecutionType] to use in the created plans
WorkingDir string // The working directory to use for each plan
}
NewActionPlansProviderParams contains the parameters to create a new action plans provider
type Output ¶
type Output struct {
Description string `yaml:"Description"` // provide a description of the output variable
}
Output variables that you want the action to export so that they are available for use by the subsequent actions.
type Outputs ¶
type Outputs struct {
Variables map[string]Output `yaml:"Variables"` // specify the variables that you want the action to export so that they are available for use by the subsequent actions.
}
Outputs defines the data that is output by the action during a workflow run. If more than 10 output variables are produced, the top 10 variables are selected.
type Parameter ¶
type Parameter struct {
Description string `yaml:"Description"` // provide a description of the parameter
Required bool `yaml:"Required"` // specify whether the parameter is required
Default string `yaml:"Default"` // specify the default value of the parameter
DisplayName string `yaml:"DisplayName"` // set the display name of the parameter
Type ParameterType `yaml:"Type"` // the type of the parameter: number, boolean, or string
}
Parameter configuration in the action
type ParameterType ¶
type ParameterType string
ParameterType of parameter. You can use one of the following values (default is string): number, boolean, or string
const ( // ParameterTypeNumber is a number ParameterTypeNumber ParameterType = "number" // ParameterTypeBoolean is a boolean ParameterTypeBoolean ParameterType = "boolean" // ParameterTypeString is a string ParameterTypeString ParameterType = "string" )
type Provider ¶
Provider describes an interface for providing a list of [Action]s
func NewStaticActionsProvider ¶
NewStaticActionsProvider creates a new Provider for a static list of actions
type Runs ¶
type Runs struct {
Using UsingType `yaml:"Using"` // specify the type of runtime environment. Currently, Node 12, Node 16 and Docker are the options
// Using == 'node16'
Main string `yaml:"Main"` // specify the file for the entry point of a Node.js application. This file contains your action code. Required if Node 12 or Node 16 runtime is specified for Using
Pre string `yaml:"Pre"` // allows you to run a script at the beginning of the action run. Can be defined if Node 12 or Node 16 runtime is specified for Using
Post string `yaml:"Post"` // allows your to run a script at the end of the action run. Can be defined if Node 12 or Node 16 runtime is specified for Using
// Using == 'docker'
Image string `yaml:"Image"` // specify the file or link to an image. If a link is specified, it's not validated. This is the Docker image used as the container to run the action. Required if Docker runtime is specified for Using
Entrypoint string `yaml:"Entrypoint"` // overrides the Docker entrypoint in the Docker file. Can be defined if Docker runtime is specified for Using.
PreEntryPoint string `yaml:"PreEntryPoint"` // allows you to run a script before the entrypoint action begins. Can be defined if Docker runtime is specified for Using.
PostEntryPoint string `yaml:"PostEntryPoint"` // allows you to run a cleanup script once the entrypoint action has finished. Can be defined if Docker runtime is specified for Using.
}
Runs defines the runtime environment and main entry point for the action.
type Sources ¶
type Sources struct {
Required bool `yaml:"Required"` // if true, then action expects at least one source
}
Sources specifies the labels that represent the source repositories that will be needed by the action. Currently, the only supported label is WorkflowSource, which represents the source repository where your workflow definition file is stored.
type SupportedComputeType ¶
type SupportedComputeType string
SupportedComputeType is the compute type to use for the action. You can specify the following types: EC2, Lambda
const ( // SupportedComputeTypeEc2 is EC2 compute type SupportedComputeTypeEc2 SupportedComputeType = "EC2" // SupportedComputeTypeLambda is Lambda compute type SupportedComputeTypeLambda SupportedComputeType = "LAMBDA" )
type UsingType ¶
type UsingType string
UsingType specifies the type of runtime environment. Currently, Node 12, Node 16 and Docker are the options.
const ( // UsingTypeNode12 specifies the Node 12 runtime environment. UsingTypeNode12 UsingType = "node12" // UsingTypeNode16 specifies the Node 16 runtime environment. UsingTypeNode16 UsingType = "node16" // UsingTypeDocker specifies the Docker runtime environment. UsingTypeDocker UsingType = "docker" )