Documentation
¶
Index ¶
- func CdkPipeline_IsConstruct(x interface{}) *bool
- func CdkStage_IsConstruct(x interface{}) *bool
- func NewCdkPipeline_Override(c CdkPipeline, scope constructs.Construct, id *string, props *CdkPipelineProps)
- func NewCdkStage_Override(c CdkStage, scope constructs.Construct, id *string, props *CdkStageProps)
- func NewDeployCdkStackAction_Override(d DeployCdkStackAction, props *DeployCdkStackActionProps)
- func NewPublishAssetsAction_Override(p PublishAssetsAction, scope constructs.Construct, id *string, ...)
- func NewShellScriptAction_Override(s ShellScriptAction, props *ShellScriptActionProps)
- func NewSimpleSynthAction_Override(s SimpleSynthAction, props *SimpleSynthActionProps)
- func NewStackOutput_Override(s StackOutput, artifactFile awscodepipeline.ArtifactPath, outputName *string)
- func NewUpdatePipelineAction_Override(u UpdatePipelineAction, scope constructs.Construct, id *string, ...)
- func PublishAssetsAction_IsConstruct(x interface{}) *bool
- func UpdatePipelineAction_IsConstruct(x interface{}) *bool
- type AddManualApprovalOptions
- type AddStackOptions
- type AddStageOptions
- type AdditionalArtifact
- type AssetPublishingCommand
- type AssetType
- type CdkPipeline
- type CdkPipelineProps
- type CdkStackActionFromArtifactOptions
- type CdkStage
- type CdkStageProps
- type DeployCdkStackAction
- type DeployCdkStackActionOptions
- type DeployCdkStackActionProps
- type FromStackArtifactOptions
- type IStageHost
- type PublishAssetsAction
- type PublishAssetsActionProps
- type ShellScriptAction
- type ShellScriptActionProps
- type SimpleSynthAction
- type SimpleSynthActionProps
- type SimpleSynthOptions
- type StackOutput
- type StandardNpmSynthOptions
- type StandardYarnSynthOptions
- type UpdatePipelineAction
- type UpdatePipelineActionProps
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CdkPipeline_IsConstruct ¶
func CdkPipeline_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func CdkStage_IsConstruct ¶
func CdkStage_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func NewCdkPipeline_Override ¶
func NewCdkPipeline_Override(c CdkPipeline, scope constructs.Construct, id *string, props *CdkPipelineProps)
Experimental.
func NewCdkStage_Override ¶
func NewCdkStage_Override(c CdkStage, scope constructs.Construct, id *string, props *CdkStageProps)
Experimental.
func NewDeployCdkStackAction_Override ¶
func NewDeployCdkStackAction_Override(d DeployCdkStackAction, props *DeployCdkStackActionProps)
Experimental.
func NewPublishAssetsAction_Override ¶
func NewPublishAssetsAction_Override(p PublishAssetsAction, scope constructs.Construct, id *string, props *PublishAssetsActionProps)
Experimental.
func NewShellScriptAction_Override ¶
func NewShellScriptAction_Override(s ShellScriptAction, props *ShellScriptActionProps)
Experimental.
func NewSimpleSynthAction_Override ¶
func NewSimpleSynthAction_Override(s SimpleSynthAction, props *SimpleSynthActionProps)
Experimental.
func NewStackOutput_Override ¶
func NewStackOutput_Override(s StackOutput, artifactFile awscodepipeline.ArtifactPath, outputName *string)
Build a StackOutput from a known artifact and an output name. Experimental.
func NewUpdatePipelineAction_Override ¶
func NewUpdatePipelineAction_Override(u UpdatePipelineAction, scope constructs.Construct, id *string, props *UpdatePipelineActionProps)
Experimental.
func PublishAssetsAction_IsConstruct ¶
func PublishAssetsAction_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func UpdatePipelineAction_IsConstruct ¶
func UpdatePipelineAction_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
Types ¶
type AddManualApprovalOptions ¶
type AddManualApprovalOptions struct {
// The name of the manual approval action.
// Experimental.
ActionName *string `json:"actionName"`
// The runOrder for this action.
// Experimental.
RunOrder *float64 `json:"runOrder"`
}
Options for addManualApproval. Experimental.
type AddStackOptions ¶
type AddStackOptions struct {
// Base runorder.
// Experimental.
ExecuteRunOrder *float64 `json:"executeRunOrder"`
// Base runorder.
// Experimental.
RunOrder *float64 `json:"runOrder"`
}
Additional options for adding a stack deployment. Experimental.
type AddStageOptions ¶
type AddStageOptions struct {
// Add room for extra actions.
//
// You can use this to make extra room in the runOrder sequence between the
// changeset 'prepare' and 'execute' actions and insert your own actions there.
// Experimental.
ExtraRunOrderSpace *float64 `json:"extraRunOrderSpace"`
// Add manual approvals before executing change sets.
//
// This gives humans the opportunity to confirm the change set looks alright
// before deploying it.
// Experimental.
ManualApprovals *bool `json:"manualApprovals"`
}
Options for adding an application stage to a pipeline. Experimental.
type AdditionalArtifact ¶
type AdditionalArtifact struct {
// Artifact to represent the build directory in the pipeline.
// Experimental.
Artifact awscodepipeline.Artifact `json:"artifact"`
// Directory to be packaged.
// Experimental.
Directory *string `json:"directory"`
}
Specification of an additional artifact to generate. Experimental.
type AssetPublishingCommand ¶
type AssetPublishingCommand struct {
// Asset identifier.
// Experimental.
AssetId *string `json:"assetId"`
// Asset manifest path.
// Experimental.
AssetManifestPath *string `json:"assetManifestPath"`
// Asset selector to pass to `cdk-assets`.
// Experimental.
AssetSelector *string `json:"assetSelector"`
// Type of asset to publish.
// Experimental.
AssetType AssetType `json:"assetType"`
}
Instructions to publish certain assets. Experimental.
type CdkPipeline ¶
type CdkPipeline interface {
awscdk.Construct
CodePipeline() awscodepipeline.Pipeline
Node() awscdk.ConstructNode
AddApplicationStage(appStage awscdk.Stage, options *AddStageOptions) CdkStage
AddStage(stageName *string) CdkStage
OnPrepare()
OnSynthesize(session constructs.ISynthesisSession)
OnValidate() *[]*string
Prepare()
StackOutput(cfnOutput awscdk.CfnOutput) StackOutput
Stage(stageName *string) awscodepipeline.IStage
Synthesize(session awscdk.ISynthesisSession)
ToString() *string
Validate() *[]*string
}
A Pipeline to deploy CDK apps.
Defines an AWS CodePipeline-based Pipeline to deploy CDK applications.
Automatically manages the following:
- Stack dependency order. - Asset publishing. - Keeping the pipeline up-to-date as the CDK apps change. - Using stack outputs later on in the pipeline. Experimental.
func NewCdkPipeline ¶
func NewCdkPipeline(scope constructs.Construct, id *string, props *CdkPipelineProps) CdkPipeline
Experimental.
type CdkPipelineProps ¶
type CdkPipelineProps struct {
// The artifact you have defined to be the artifact to hold the cloudAssemblyArtifact for the synth action.
// Experimental.
CloudAssemblyArtifact awscodepipeline.Artifact `json:"cloudAssemblyArtifact"`
// CDK CLI version to use in pipeline.
//
// Some Actions in the pipeline will download and run a version of the CDK
// CLI. Specify the version here.
// Experimental.
CdkCliVersion *string `json:"cdkCliVersion"`
// Existing CodePipeline to add deployment stages to.
//
// Use this if you want more control over the CodePipeline that gets created.
// You can choose to not pass this value, in which case a new CodePipeline is
// created with default settings.
//
// If you pass an existing CodePipeline, it should should have been created
// with `restartExecutionOnUpdate: true`.
//
// [disable-awslint:ref-via-interface]
// Experimental.
CodePipeline awscodepipeline.Pipeline `json:"codePipeline"`
// Create KMS keys for cross-account deployments.
//
// This controls whether the pipeline is enabled for cross-account deployments.
//
// Can only be set if `codePipeline` is not set.
//
// By default cross-account deployments are enabled, but this feature requires
// that KMS Customer Master Keys are created which have a cost of $1/month.
//
// If you do not need cross-account deployments, you can set this to `false` to
// not create those keys and save on that cost (the artifact bucket will be
// encrypted with an AWS-managed key). However, cross-account deployments will
// no longer be possible.
// Experimental.
CrossAccountKeys *bool `json:"crossAccountKeys"`
// Name of the pipeline.
//
// Can only be set if `codePipeline` is not set.
// Experimental.
PipelineName *string `json:"pipelineName"`
// Whether the pipeline will update itself.
//
// This needs to be set to `true` to allow the pipeline to reconfigure
// itself when assets or stages are being added to it, and `true` is the
// recommended setting.
//
// You can temporarily set this to `false` while you are iterating
// on the pipeline itself and prefer to deploy changes using `cdk deploy`.
// Experimental.
SelfMutating *bool `json:"selfMutating"`
// The CodePipeline action used to retrieve the CDK app's source.
// Experimental.
SourceAction awscodepipeline.IAction `json:"sourceAction"`
// Which subnets to use.
//
// Only used if 'vpc' is supplied.
// Experimental.
SubnetSelection *awsec2.SubnetSelection `json:"subnetSelection"`
// The CodePipeline action build and synthesis step of the CDK app.
// Experimental.
SynthAction awscodepipeline.IAction `json:"synthAction"`
// The VPC where to execute the CdkPipeline actions.
// Experimental.
Vpc awsec2.IVpc `json:"vpc"`
}
Properties for a CdkPipeline. Experimental.
type CdkStackActionFromArtifactOptions ¶
type CdkStackActionFromArtifactOptions struct {
// The CodePipeline artifact that holds the Cloud Assembly.
// Experimental.
CloudAssemblyInput awscodepipeline.Artifact `json:"cloudAssemblyInput"`
// Base name of the action.
// Experimental.
BaseActionName *string `json:"baseActionName"`
// Name of the change set to create and deploy.
// Experimental.
ChangeSetName *string `json:"changeSetName"`
// Run order for the Execute action.
// Experimental.
ExecuteRunOrder *float64 `json:"executeRunOrder"`
// Artifact to write Stack Outputs to.
// Experimental.
Output awscodepipeline.Artifact `json:"output"`
// Filename in output to write Stack outputs to.
// Experimental.
OutputFileName *string `json:"outputFileName"`
// Run order for the Prepare action.
// Experimental.
PrepareRunOrder *float64 `json:"prepareRunOrder"`
// The name of the stack that should be created/updated.
// Experimental.
StackName *string `json:"stackName"`
}
Options for the 'fromStackArtifact' operation. Experimental.
type CdkStage ¶
type CdkStage interface {
awscdk.Construct
Node() awscdk.ConstructNode
AddActions(actions ...awscodepipeline.IAction)
AddApplication(appStage awscdk.Stage, options *AddStageOptions)
AddManualApprovalAction(options *AddManualApprovalOptions)
AddStackArtifactDeployment(stackArtifact cxapi.CloudFormationStackArtifact, options *AddStackOptions)
DeploysStack(artifactId *string) *bool
NextSequentialRunOrder(count *float64) *float64
OnPrepare()
OnSynthesize(session constructs.ISynthesisSession)
OnValidate() *[]*string
Prepare()
Synthesize(session awscdk.ISynthesisSession)
ToString() *string
Validate() *[]*string
}
Stage in a CdkPipeline.
You don't need to instantiate this class directly. Use `cdkPipeline.addStage()` instead. Experimental.
func NewCdkStage ¶
func NewCdkStage(scope constructs.Construct, id *string, props *CdkStageProps) CdkStage
Experimental.
type CdkStageProps ¶
type CdkStageProps struct {
// The CodePipeline Artifact with the Cloud Assembly.
// Experimental.
CloudAssemblyArtifact awscodepipeline.Artifact `json:"cloudAssemblyArtifact"`
// Features the Stage needs from its environment.
// Experimental.
Host IStageHost `json:"host"`
// The underlying Pipeline Stage associated with thisCdkStage.
// Experimental.
PipelineStage awscodepipeline.IStage `json:"pipelineStage"`
// Name of the stage that should be created.
// Experimental.
StageName *string `json:"stageName"`
}
Construction properties for a CdkStage. Experimental.
type DeployCdkStackAction ¶
type DeployCdkStackAction interface {
awscodepipeline.IAction
ActionProperties() *awscodepipeline.ActionProperties
DependencyStackArtifactIds() *[]*string
ExecuteRunOrder() *float64
PrepareRunOrder() *float64
StackArtifactId() *string
StackName() *string
Bind(scope awscdk.Construct, stage awscodepipeline.IStage, options *awscodepipeline.ActionBindOptions) *awscodepipeline.ActionConfig
OnStateChange(name *string, target awsevents.IRuleTarget, options *awsevents.RuleProps) awsevents.Rule
}
Action to deploy a CDK Stack.
Adds two CodePipeline Actions to the pipeline: one to create a ChangeSet and one to execute it.
You do not need to instantiate this action yourself -- it will automatically be added by the pipeline when you add stack artifacts or entire stages. Experimental.
func DeployCdkStackAction_FromStackArtifact ¶
func DeployCdkStackAction_FromStackArtifact(scope constructs.Construct, artifact cxapi.CloudFormationStackArtifact, options *CdkStackActionFromArtifactOptions) DeployCdkStackAction
Construct a DeployCdkStackAction from a Stack artifact. Experimental.
func NewDeployCdkStackAction ¶
func NewDeployCdkStackAction(props *DeployCdkStackActionProps) DeployCdkStackAction
Experimental.
type DeployCdkStackActionOptions ¶
type DeployCdkStackActionOptions struct {
// The CodePipeline artifact that holds the Cloud Assembly.
// Experimental.
CloudAssemblyInput awscodepipeline.Artifact `json:"cloudAssemblyInput"`
// Base name of the action.
// Experimental.
BaseActionName *string `json:"baseActionName"`
// Name of the change set to create and deploy.
// Experimental.
ChangeSetName *string `json:"changeSetName"`
// Run order for the Execute action.
// Experimental.
ExecuteRunOrder *float64 `json:"executeRunOrder"`
// Artifact to write Stack Outputs to.
// Experimental.
Output awscodepipeline.Artifact `json:"output"`
// Filename in output to write Stack outputs to.
// Experimental.
OutputFileName *string `json:"outputFileName"`
// Run order for the Prepare action.
// Experimental.
PrepareRunOrder *float64 `json:"prepareRunOrder"`
}
Customization options for a DeployCdkStackAction. Experimental.
type DeployCdkStackActionProps ¶
type DeployCdkStackActionProps struct {
// The CodePipeline artifact that holds the Cloud Assembly.
// Experimental.
CloudAssemblyInput awscodepipeline.Artifact `json:"cloudAssemblyInput"`
// Base name of the action.
// Experimental.
BaseActionName *string `json:"baseActionName"`
// Name of the change set to create and deploy.
// Experimental.
ChangeSetName *string `json:"changeSetName"`
// Run order for the Execute action.
// Experimental.
ExecuteRunOrder *float64 `json:"executeRunOrder"`
// Artifact to write Stack Outputs to.
// Experimental.
Output awscodepipeline.Artifact `json:"output"`
// Filename in output to write Stack outputs to.
// Experimental.
OutputFileName *string `json:"outputFileName"`
// Run order for the Prepare action.
// Experimental.
PrepareRunOrder *float64 `json:"prepareRunOrder"`
// Role for the action to assume.
//
// This controls the account to deploy into
// Experimental.
ActionRole awsiam.IRole `json:"actionRole"`
// The name of the stack that should be created/updated.
// Experimental.
StackName *string `json:"stackName"`
// Relative path of template in the input artifact.
// Experimental.
TemplatePath *string `json:"templatePath"`
// Role to execute CloudFormation under.
// Experimental.
CloudFormationExecutionRole awsiam.IRole `json:"cloudFormationExecutionRole"`
// Artifact ID for the stacks this stack depends on.
//
// Used for pipeline order checking.
// Experimental.
DependencyStackArtifactIds *[]*string `json:"dependencyStackArtifactIds"`
// Region to deploy into.
// Experimental.
Region *string `json:"region"`
// Artifact ID for the stack deployed here.
//
// Used for pipeline order checking.
// Experimental.
StackArtifactId *string `json:"stackArtifactId"`
// Template configuration path relative to the input artifact.
// Experimental.
TemplateConfigurationPath *string `json:"templateConfigurationPath"`
}
Properties for a DeployCdkStackAction. Experimental.
type FromStackArtifactOptions ¶
type FromStackArtifactOptions struct {
// The CodePipeline artifact that holds the Cloud Assembly.
// Experimental.
CloudAssemblyInput awscodepipeline.Artifact `json:"cloudAssemblyInput"`
// Run order for the Execute action.
// Experimental.
ExecuteRunOrder *float64 `json:"executeRunOrder"`
// Artifact to write Stack Outputs to.
// Experimental.
Output awscodepipeline.Artifact `json:"output"`
// Filename in output to write Stack outputs to.
// Experimental.
OutputFileName *string `json:"outputFileName"`
// Run order for the 2 actions that will be created.
// Experimental.
PrepareRunOrder *float64 `json:"prepareRunOrder"`
}
Options for CdkDeployAction.fromStackArtifact. Experimental.
type IStageHost ¶
type IStageHost interface {
// Make sure all the assets from the given manifest are published.
// Experimental.
PublishAsset(command *AssetPublishingCommand)
// Return the Artifact the given stack has to emit its outputs into, if any.
// Experimental.
StackOutputArtifact(stackArtifactId *string) awscodepipeline.Artifact
}
Features that the Stage needs from its environment. Experimental.
type PublishAssetsAction ¶
type PublishAssetsAction interface {
awscdk.Construct
awscodepipeline.IAction
ActionProperties() *awscodepipeline.ActionProperties
Node() awscdk.ConstructNode
AddPublishCommand(relativeManifestPath *string, assetSelector *string)
Bind(scope awscdk.Construct, stage awscodepipeline.IStage, options *awscodepipeline.ActionBindOptions) *awscodepipeline.ActionConfig
OnPrepare()
OnStateChange(name *string, target awsevents.IRuleTarget, options *awsevents.RuleProps) awsevents.Rule
OnSynthesize(session constructs.ISynthesisSession)
OnValidate() *[]*string
Prepare()
Synthesize(session awscdk.ISynthesisSession)
ToString() *string
Validate() *[]*string
}
Action to publish an asset in the pipeline.
Creates a CodeBuild project which will use the CDK CLI to prepare and publish the asset.
You do not need to instantiate this action -- it will automatically be added by the pipeline when you add stacks that use assets. Experimental.
func NewPublishAssetsAction ¶
func NewPublishAssetsAction(scope constructs.Construct, id *string, props *PublishAssetsActionProps) PublishAssetsAction
Experimental.
type PublishAssetsActionProps ¶
type PublishAssetsActionProps struct {
// Name of publishing action.
// Experimental.
ActionName *string `json:"actionName"`
// AssetType we're publishing.
// Experimental.
AssetType AssetType `json:"assetType"`
// The CodePipeline artifact that holds the Cloud Assembly.
// Experimental.
CloudAssemblyInput awscodepipeline.Artifact `json:"cloudAssemblyInput"`
// Version of CDK CLI to 'npm install'.
// Experimental.
CdkCliVersion *string `json:"cdkCliVersion"`
// Name of the CodeBuild project.
// Experimental.
ProjectName *string `json:"projectName"`
// Role to use for CodePipeline and CodeBuild to build and publish the assets.
// Experimental.
Role awsiam.IRole `json:"role"`
// Which subnets to use.
//
// Only used if 'vpc' is supplied.
// Experimental.
SubnetSelection *awsec2.SubnetSelection `json:"subnetSelection"`
// The VPC where to execute the PublishAssetsAction.
// Experimental.
Vpc awsec2.IVpc `json:"vpc"`
}
Props for a PublishAssetsAction. Experimental.
type ShellScriptAction ¶
type ShellScriptAction interface {
awscodepipeline.IAction
awsiam.IGrantable
ActionProperties() *awscodepipeline.ActionProperties
GrantPrincipal() awsiam.IPrincipal
Project() awscodebuild.IProject
Bind(scope awscdk.Construct, stage awscodepipeline.IStage, options *awscodepipeline.ActionBindOptions) *awscodepipeline.ActionConfig
OnStateChange(name *string, target awsevents.IRuleTarget, options *awsevents.RuleProps) awsevents.Rule
}
Validate a revision using shell commands. Experimental.
func NewShellScriptAction ¶
func NewShellScriptAction(props *ShellScriptActionProps) ShellScriptAction
Experimental.
type ShellScriptActionProps ¶
type ShellScriptActionProps struct {
// Name of the validation action in the pipeline.
// Experimental.
ActionName *string `json:"actionName"`
// Commands to run.
// Experimental.
Commands *[]*string `json:"commands"`
// Additional artifacts to use as input for the CodeBuild project.
//
// You can use these files to load more complex test sets into the
// shellscript build environment.
//
// The files artifact given here will be unpacked into the current
// working directory, the other ones will be unpacked into directories
// which are available through the environment variables
// $CODEBUILD_SRC_DIR_<artifactName>.
//
// The CodeBuild job must have at least one input artifact, so you
// must provide either at least one additional artifact here or one
// stack output using `useOutput`.
// Experimental.
AdditionalArtifacts *[]awscodepipeline.Artifact `json:"additionalArtifacts"`
// Bash options to set at the start of the script.
// Experimental.
BashOptions *string `json:"bashOptions"`
// The CodeBuild environment where scripts are executed.
// Experimental.
Environment *awscodebuild.BuildEnvironment `json:"environment"`
// Environment variables to send into build.
// Experimental.
EnvironmentVariables *map[string]*awscodebuild.BuildEnvironmentVariable `json:"environmentVariables"`
// Additional policy statements to add to the execution role.
// Experimental.
RolePolicyStatements *[]awsiam.PolicyStatement `json:"rolePolicyStatements"`
// RunOrder for this action.
//
// Use this to sequence the shell script after the deployments.
//
// The default value is 100 so you don't have to supply the value if you just
// want to run this after the application stacks have been deployed, and you
// don't have more than 100 stacks.
// Experimental.
RunOrder *float64 `json:"runOrder"`
// Which security group to associate with the script's project network interfaces.
//
// If no security group is identified, one will be created automatically.
//
// Only used if 'vpc' is supplied.
// Experimental.
SecurityGroups *[]awsec2.ISecurityGroup `json:"securityGroups"`
// Which subnets to use.
//
// Only used if 'vpc' is supplied.
// Experimental.
SubnetSelection *awsec2.SubnetSelection `json:"subnetSelection"`
// Stack outputs to make available as environment variables.
// Experimental.
UseOutputs *map[string]StackOutput `json:"useOutputs"`
// The VPC where to execute the specified script.
// Experimental.
Vpc awsec2.IVpc `json:"vpc"`
}
Properties for ShellScriptAction. Experimental.
type SimpleSynthAction ¶
type SimpleSynthAction interface {
awscodepipeline.IAction
awsiam.IGrantable
ActionProperties() *awscodepipeline.ActionProperties
GrantPrincipal() awsiam.IPrincipal
Project() awscodebuild.IProject
Bind(scope awscdk.Construct, stage awscodepipeline.IStage, options *awscodepipeline.ActionBindOptions) *awscodepipeline.ActionConfig
OnStateChange(name *string, target awsevents.IRuleTarget, options *awsevents.RuleProps) awsevents.Rule
}
A standard synth with a generated buildspec. Experimental.
func NewSimpleSynthAction ¶
func NewSimpleSynthAction(props *SimpleSynthActionProps) SimpleSynthAction
Experimental.
func SimpleSynthAction_StandardNpmSynth ¶
func SimpleSynthAction_StandardNpmSynth(options *StandardNpmSynthOptions) SimpleSynthAction
Create a standard NPM synth action.
Uses `npm ci` to install dependencies and `npx cdk synth` to synthesize.
If you need a build step, add `buildCommand: 'npm run build'`. Experimental.
func SimpleSynthAction_StandardYarnSynth ¶
func SimpleSynthAction_StandardYarnSynth(options *StandardYarnSynthOptions) SimpleSynthAction
Create a standard Yarn synth action.
Uses `yarn install --frozen-lockfile` to install dependencies and `npx cdk synth` to synthesize.
If you need a build step, add `buildCommand: 'yarn build'`. Experimental.
type SimpleSynthActionProps ¶
type SimpleSynthActionProps struct {
// The artifact where the CloudAssembly should be emitted.
// Experimental.
CloudAssemblyArtifact awscodepipeline.Artifact `json:"cloudAssemblyArtifact"`
// The source artifact of the CodePipeline.
// Experimental.
SourceArtifact awscodepipeline.Artifact `json:"sourceArtifact"`
// Name of the build action.
// Experimental.
ActionName *string `json:"actionName"`
// Produce additional output artifacts after the build based on the given directories.
//
// Can be used to produce additional artifacts during the build step,
// separate from the cloud assembly, which can be used further on in the
// pipeline.
//
// Directories are evaluated with respect to `subdirectory`.
// Experimental.
AdditionalArtifacts *[]*AdditionalArtifact `json:"additionalArtifacts"`
// Environment variables to copy over from parent env.
//
// These are environment variables that are being used by the build.
// Experimental.
CopyEnvironmentVariables *[]*string `json:"copyEnvironmentVariables"`
// Build environment to use for CodeBuild job.
// Experimental.
Environment *awscodebuild.BuildEnvironment `json:"environment"`
// Environment variables to send into build.
// Experimental.
EnvironmentVariables *map[string]*awscodebuild.BuildEnvironmentVariable `json:"environmentVariables"`
// Name of the CodeBuild project.
// Experimental.
ProjectName *string `json:"projectName"`
// Policy statements to add to role used during the synth.
//
// Can be used to add acces to a CodeArtifact repository etc.
// Experimental.
RolePolicyStatements *[]awsiam.PolicyStatement `json:"rolePolicyStatements"`
// Directory inside the source where package.json and cdk.json are located.
// Experimental.
Subdirectory *string `json:"subdirectory"`
// Which subnets to use.
//
// Only used if 'vpc' is supplied.
// Experimental.
SubnetSelection *awsec2.SubnetSelection `json:"subnetSelection"`
// The VPC where to execute the SimpleSynth.
// Experimental.
Vpc awsec2.IVpc `json:"vpc"`
// The synth command.
// Experimental.
SynthCommand *string `json:"synthCommand"`
// The build command.
//
// If your programming language requires a compilation step, put the
// compilation command here.
// Deprecated: Use `buildCommands` instead
BuildCommand *string `json:"buildCommand"`
// The build commands.
//
// If your programming language requires a compilation step, put the
// compilation command here.
// Experimental.
BuildCommands *[]*string `json:"buildCommands"`
// The install command.
//
// If not provided by the build image or another dependency
// management tool, at least install the CDK CLI here using
// `npm install -g aws-cdk`.
// Deprecated: Use `installCommands` instead
InstallCommand *string `json:"installCommand"`
// Install commands.
//
// If not provided by the build image or another dependency
// management tool, at least install the CDK CLI here using
// `npm install -g aws-cdk`.
// Experimental.
InstallCommands *[]*string `json:"installCommands"`
// Test commands.
//
// These commands are run after the build commands but before the
// synth command.
// Experimental.
TestCommands *[]*string `json:"testCommands"`
}
Construction props for SimpleSynthAction. Experimental.
type SimpleSynthOptions ¶
type SimpleSynthOptions struct {
// The artifact where the CloudAssembly should be emitted.
// Experimental.
CloudAssemblyArtifact awscodepipeline.Artifact `json:"cloudAssemblyArtifact"`
// The source artifact of the CodePipeline.
// Experimental.
SourceArtifact awscodepipeline.Artifact `json:"sourceArtifact"`
// Name of the build action.
// Experimental.
ActionName *string `json:"actionName"`
// Produce additional output artifacts after the build based on the given directories.
//
// Can be used to produce additional artifacts during the build step,
// separate from the cloud assembly, which can be used further on in the
// pipeline.
//
// Directories are evaluated with respect to `subdirectory`.
// Experimental.
AdditionalArtifacts *[]*AdditionalArtifact `json:"additionalArtifacts"`
// Environment variables to copy over from parent env.
//
// These are environment variables that are being used by the build.
// Experimental.
CopyEnvironmentVariables *[]*string `json:"copyEnvironmentVariables"`
// Build environment to use for CodeBuild job.
// Experimental.
Environment *awscodebuild.BuildEnvironment `json:"environment"`
// Environment variables to send into build.
// Experimental.
EnvironmentVariables *map[string]*awscodebuild.BuildEnvironmentVariable `json:"environmentVariables"`
// Name of the CodeBuild project.
// Experimental.
ProjectName *string `json:"projectName"`
// Policy statements to add to role used during the synth.
//
// Can be used to add acces to a CodeArtifact repository etc.
// Experimental.
RolePolicyStatements *[]awsiam.PolicyStatement `json:"rolePolicyStatements"`
// Directory inside the source where package.json and cdk.json are located.
// Experimental.
Subdirectory *string `json:"subdirectory"`
// Which subnets to use.
//
// Only used if 'vpc' is supplied.
// Experimental.
SubnetSelection *awsec2.SubnetSelection `json:"subnetSelection"`
// The VPC where to execute the SimpleSynth.
// Experimental.
Vpc awsec2.IVpc `json:"vpc"`
}
Configuration options for a SimpleSynth. Experimental.
type StackOutput ¶
type StackOutput interface {
ArtifactFile() awscodepipeline.ArtifactPath
OutputName() *string
}
A single output of a Stack. Experimental.
func NewStackOutput ¶
func NewStackOutput(artifactFile awscodepipeline.ArtifactPath, outputName *string) StackOutput
Build a StackOutput from a known artifact and an output name. Experimental.
type StandardNpmSynthOptions ¶
type StandardNpmSynthOptions struct {
// The artifact where the CloudAssembly should be emitted.
// Experimental.
CloudAssemblyArtifact awscodepipeline.Artifact `json:"cloudAssemblyArtifact"`
// The source artifact of the CodePipeline.
// Experimental.
SourceArtifact awscodepipeline.Artifact `json:"sourceArtifact"`
// Name of the build action.
// Experimental.
ActionName *string `json:"actionName"`
// Produce additional output artifacts after the build based on the given directories.
//
// Can be used to produce additional artifacts during the build step,
// separate from the cloud assembly, which can be used further on in the
// pipeline.
//
// Directories are evaluated with respect to `subdirectory`.
// Experimental.
AdditionalArtifacts *[]*AdditionalArtifact `json:"additionalArtifacts"`
// Environment variables to copy over from parent env.
//
// These are environment variables that are being used by the build.
// Experimental.
CopyEnvironmentVariables *[]*string `json:"copyEnvironmentVariables"`
// Build environment to use for CodeBuild job.
// Experimental.
Environment *awscodebuild.BuildEnvironment `json:"environment"`
// Environment variables to send into build.
// Experimental.
EnvironmentVariables *map[string]*awscodebuild.BuildEnvironmentVariable `json:"environmentVariables"`
// Name of the CodeBuild project.
// Experimental.
ProjectName *string `json:"projectName"`
// Policy statements to add to role used during the synth.
//
// Can be used to add acces to a CodeArtifact repository etc.
// Experimental.
RolePolicyStatements *[]awsiam.PolicyStatement `json:"rolePolicyStatements"`
// Directory inside the source where package.json and cdk.json are located.
// Experimental.
Subdirectory *string `json:"subdirectory"`
// Which subnets to use.
//
// Only used if 'vpc' is supplied.
// Experimental.
SubnetSelection *awsec2.SubnetSelection `json:"subnetSelection"`
// The VPC where to execute the SimpleSynth.
// Experimental.
Vpc awsec2.IVpc `json:"vpc"`
// The build command.
//
// By default, we assume NPM projects are either written in JavaScript or are
// using `ts-node`, so don't need a build command.
//
// Otherwise, put the build command here, for example `npm run build`.
// Experimental.
BuildCommand *string `json:"buildCommand"`
// The install command.
// Experimental.
InstallCommand *string `json:"installCommand"`
// The synth command.
// Experimental.
SynthCommand *string `json:"synthCommand"`
}
Options for a convention-based synth using NPM. Experimental.
type StandardYarnSynthOptions ¶
type StandardYarnSynthOptions struct {
// The artifact where the CloudAssembly should be emitted.
// Experimental.
CloudAssemblyArtifact awscodepipeline.Artifact `json:"cloudAssemblyArtifact"`
// The source artifact of the CodePipeline.
// Experimental.
SourceArtifact awscodepipeline.Artifact `json:"sourceArtifact"`
// Name of the build action.
// Experimental.
ActionName *string `json:"actionName"`
// Produce additional output artifacts after the build based on the given directories.
//
// Can be used to produce additional artifacts during the build step,
// separate from the cloud assembly, which can be used further on in the
// pipeline.
//
// Directories are evaluated with respect to `subdirectory`.
// Experimental.
AdditionalArtifacts *[]*AdditionalArtifact `json:"additionalArtifacts"`
// Environment variables to copy over from parent env.
//
// These are environment variables that are being used by the build.
// Experimental.
CopyEnvironmentVariables *[]*string `json:"copyEnvironmentVariables"`
// Build environment to use for CodeBuild job.
// Experimental.
Environment *awscodebuild.BuildEnvironment `json:"environment"`
// Environment variables to send into build.
// Experimental.
EnvironmentVariables *map[string]*awscodebuild.BuildEnvironmentVariable `json:"environmentVariables"`
// Name of the CodeBuild project.
// Experimental.
ProjectName *string `json:"projectName"`
// Policy statements to add to role used during the synth.
//
// Can be used to add acces to a CodeArtifact repository etc.
// Experimental.
RolePolicyStatements *[]awsiam.PolicyStatement `json:"rolePolicyStatements"`
// Directory inside the source where package.json and cdk.json are located.
// Experimental.
Subdirectory *string `json:"subdirectory"`
// Which subnets to use.
//
// Only used if 'vpc' is supplied.
// Experimental.
SubnetSelection *awsec2.SubnetSelection `json:"subnetSelection"`
// The VPC where to execute the SimpleSynth.
// Experimental.
Vpc awsec2.IVpc `json:"vpc"`
// The build command.
//
// By default, we assume NPM projects are either written in JavaScript or are
// using `ts-node`, so don't need a build command.
//
// Otherwise, put the build command here, for example `npm run build`.
// Experimental.
BuildCommand *string `json:"buildCommand"`
// The install command.
// Experimental.
InstallCommand *string `json:"installCommand"`
// The synth command.
// Experimental.
SynthCommand *string `json:"synthCommand"`
}
Options for a convention-based synth using Yarn. Experimental.
type UpdatePipelineAction ¶
type UpdatePipelineAction interface {
awscdk.Construct
awscodepipeline.IAction
ActionProperties() *awscodepipeline.ActionProperties
Node() awscdk.ConstructNode
Bind(scope awscdk.Construct, stage awscodepipeline.IStage, options *awscodepipeline.ActionBindOptions) *awscodepipeline.ActionConfig
OnPrepare()
OnStateChange(name *string, target awsevents.IRuleTarget, options *awsevents.RuleProps) awsevents.Rule
OnSynthesize(session constructs.ISynthesisSession)
OnValidate() *[]*string
Prepare()
Synthesize(session awscdk.ISynthesisSession)
ToString() *string
Validate() *[]*string
}
Action to self-mutate the pipeline.
Creates a CodeBuild project which will use the CDK CLI to deploy the pipeline stack.
You do not need to instantiate this action -- it will automatically be added by the pipeline. Experimental.
func NewUpdatePipelineAction ¶
func NewUpdatePipelineAction(scope constructs.Construct, id *string, props *UpdatePipelineActionProps) UpdatePipelineAction
Experimental.
type UpdatePipelineActionProps ¶
type UpdatePipelineActionProps struct {
// The CodePipeline artifact that holds the Cloud Assembly.
// Experimental.
CloudAssemblyInput awscodepipeline.Artifact `json:"cloudAssemblyInput"`
// Name of the pipeline stack.
// Experimental.
PipelineStackName *string `json:"pipelineStackName"`
// Version of CDK CLI to 'npm install'.
// Experimental.
CdkCliVersion *string `json:"cdkCliVersion"`
// Name of the CodeBuild project.
// Experimental.
ProjectName *string `json:"projectName"`
}
Props for the UpdatePipelineAction. Experimental.