Documentation ¶
Index ¶
- func CfnCustomActionType_CFN_RESOURCE_TYPE_NAME() *string
- func CfnCustomActionType_IsCfnElement(x interface{}) *bool
- func CfnCustomActionType_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnCustomActionType_IsConstruct(x interface{}) *bool
- func CfnPipeline_CFN_RESOURCE_TYPE_NAME() *string
- func CfnPipeline_IsCfnElement(x interface{}) *bool
- func CfnPipeline_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnPipeline_IsConstruct(x interface{}) *bool
- func CfnWebhook_CFN_RESOURCE_TYPE_NAME() *string
- func CfnWebhook_IsCfnElement(x interface{}) *bool
- func CfnWebhook_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnWebhook_IsConstruct(x interface{}) *bool
- func CustomActionRegistration_IsConstruct(x interface{}) *bool
- func GlobalVariables_ExecutionId() *string
- func NewAction_Override(a Action)
- func NewArtifactPath_Override(a ArtifactPath, artifact Artifact, fileName *string)
- func NewArtifact_Override(a Artifact, artifactName *string)
- func NewCfnCustomActionType_Override(c CfnCustomActionType, scope constructs.Construct, id *string, ...)
- func NewCfnPipeline_Override(c CfnPipeline, scope constructs.Construct, id *string, props *CfnPipelineProps)
- func NewCfnWebhook_Override(c CfnWebhook, scope constructs.Construct, id *string, props *CfnWebhookProps)
- func NewCustomActionRegistration_Override(c CustomActionRegistration, scope constructs.Construct, id *string, ...)
- func NewGlobalVariables_Override(g GlobalVariables)
- func NewPipeline_Override(p Pipeline, scope constructs.Construct, id *string, props *PipelineProps)
- func Pipeline_IsConstruct(x interface{}) *bool
- func Pipeline_IsResource(construct constructs.IConstruct) *bool
- type Action
- type ActionArtifactBounds
- type ActionBindOptions
- type ActionCategory
- type ActionConfig
- type ActionProperties
- type Artifact
- type ArtifactPath
- type CfnCustomActionType
- type CfnCustomActionTypeProps
- type CfnCustomActionType_ArtifactDetailsProperty
- type CfnCustomActionType_ConfigurationPropertiesProperty
- type CfnCustomActionType_SettingsProperty
- type CfnPipeline
- type CfnPipelineProps
- type CfnPipeline_ActionDeclarationProperty
- type CfnPipeline_ActionTypeIdProperty
- type CfnPipeline_ArtifactStoreMapProperty
- type CfnPipeline_ArtifactStoreProperty
- type CfnPipeline_BlockerDeclarationProperty
- type CfnPipeline_EncryptionKeyProperty
- type CfnPipeline_InputArtifactProperty
- type CfnPipeline_OutputArtifactProperty
- type CfnPipeline_StageDeclarationProperty
- type CfnPipeline_StageTransitionProperty
- type CfnWebhook
- type CfnWebhookProps
- type CfnWebhook_WebhookAuthConfigurationProperty
- type CfnWebhook_WebhookFilterRuleProperty
- type CommonActionProps
- type CommonAwsActionProps
- type CrossRegionSupport
- type CustomActionProperty
- type CustomActionRegistration
- type CustomActionRegistrationProps
- type GlobalVariables
- type IAction
- type IPipeline
- type IStage
- type Pipeline
- type PipelineNotificationEvents
- type PipelineNotifyOnOptions
- type PipelineProps
- type StageOptions
- type StagePlacement
- type StageProps
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CfnCustomActionType_CFN_RESOURCE_TYPE_NAME ¶
func CfnCustomActionType_CFN_RESOURCE_TYPE_NAME() *string
func CfnCustomActionType_IsCfnElement ¶
func CfnCustomActionType_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnCustomActionType_IsCfnResource ¶
func CfnCustomActionType_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnCustomActionType_IsConstruct ¶
func CfnCustomActionType_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func CfnPipeline_CFN_RESOURCE_TYPE_NAME ¶
func CfnPipeline_CFN_RESOURCE_TYPE_NAME() *string
func CfnPipeline_IsCfnElement ¶
func CfnPipeline_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnPipeline_IsCfnResource ¶
func CfnPipeline_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnPipeline_IsConstruct ¶
func CfnPipeline_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func CfnWebhook_CFN_RESOURCE_TYPE_NAME ¶
func CfnWebhook_CFN_RESOURCE_TYPE_NAME() *string
func CfnWebhook_IsCfnElement ¶
func CfnWebhook_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnWebhook_IsCfnResource ¶
func CfnWebhook_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnWebhook_IsConstruct ¶
func CfnWebhook_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func CustomActionRegistration_IsConstruct ¶
func CustomActionRegistration_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func GlobalVariables_ExecutionId ¶
func GlobalVariables_ExecutionId() *string
func NewAction_Override ¶
func NewAction_Override(a Action)
func NewArtifactPath_Override ¶
func NewArtifactPath_Override(a ArtifactPath, artifact Artifact, fileName *string)
func NewArtifact_Override ¶
func NewCfnCustomActionType_Override ¶
func NewCfnCustomActionType_Override(c CfnCustomActionType, scope constructs.Construct, id *string, props *CfnCustomActionTypeProps)
Create a new `AWS::CodePipeline::CustomActionType`.
func NewCfnPipeline_Override ¶
func NewCfnPipeline_Override(c CfnPipeline, scope constructs.Construct, id *string, props *CfnPipelineProps)
Create a new `AWS::CodePipeline::Pipeline`.
func NewCfnWebhook_Override ¶
func NewCfnWebhook_Override(c CfnWebhook, scope constructs.Construct, id *string, props *CfnWebhookProps)
Create a new `AWS::CodePipeline::Webhook`.
func NewCustomActionRegistration_Override ¶
func NewCustomActionRegistration_Override(c CustomActionRegistration, scope constructs.Construct, id *string, props *CustomActionRegistrationProps)
func NewGlobalVariables_Override ¶
func NewGlobalVariables_Override(g GlobalVariables)
func NewPipeline_Override ¶
func NewPipeline_Override(p Pipeline, scope constructs.Construct, id *string, props *PipelineProps)
func Pipeline_IsConstruct ¶
func Pipeline_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func Pipeline_IsResource ¶
func Pipeline_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
Types ¶
type Action ¶
type Action interface { IAction ActionProperties() *ActionProperties ProvidedActionProperties() *ActionProperties Bind(scope constructs.Construct, stage IStage, options *ActionBindOptions) *ActionConfig Bound(scope constructs.Construct, stage IStage, options *ActionBindOptions) *ActionConfig OnStateChange(name *string, target awsevents.IRuleTarget, options *awsevents.RuleProps) awsevents.Rule VariableExpression(variableName *string) *string }
Low-level class for generic CodePipeline Actions implementing the {@link IAction} interface.
Contains some common logic that can be re-used by all {@link IAction} implementations. If you're writing your own Action class, feel free to extend this class.
type ActionArtifactBounds ¶
type ActionArtifactBounds struct { MaxInputs *float64 `json:"maxInputs" yaml:"maxInputs"` MaxOutputs *float64 `json:"maxOutputs" yaml:"maxOutputs"` MinInputs *float64 `json:"minInputs" yaml:"minInputs"` MinOutputs *float64 `json:"minOutputs" yaml:"minOutputs"` }
Specifies the constraints on the number of input and output artifacts an action can have.
The constraints for each action type are documented on the {@link https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html Pipeline Structure Reference} page.
TODO: EXAMPLE
type ActionBindOptions ¶
type ActionBindOptions struct { Bucket awss3.IBucket `json:"bucket" yaml:"bucket"` Role awsiam.IRole `json:"role" yaml:"role"` }
TODO: EXAMPLE
type ActionCategory ¶
type ActionCategory string
TODO: EXAMPLE
const ( ActionCategory_SOURCE ActionCategory = "SOURCE" ActionCategory_BUILD ActionCategory = "BUILD" ActionCategory_TEST ActionCategory = "TEST" ActionCategory_APPROVAL ActionCategory = "APPROVAL" ActionCategory_DEPLOY ActionCategory = "DEPLOY" ActionCategory_INVOKE ActionCategory = "INVOKE" )
type ActionConfig ¶
type ActionConfig struct {
Configuration interface{} `json:"configuration" yaml:"configuration"`
}
TODO: EXAMPLE
type ActionProperties ¶
type ActionProperties struct { ActionName *string `json:"actionName" yaml:"actionName"` ArtifactBounds *ActionArtifactBounds `json:"artifactBounds" yaml:"artifactBounds"` // The category of the action. // // The category defines which action type the owner // (the entity that performs the action) performs. Category ActionCategory `json:"category" yaml:"category"` // The service provider that the action calls. Provider *string `json:"provider" yaml:"provider"` // The account the Action is supposed to live in. // // For Actions backed by resources, // this is inferred from the Stack {@link resource} is part of. // However, some Actions, like the CloudFormation ones, // are not backed by any resource, and they still might want to be cross-account. // In general, a concrete Action class should specify either {@link resource}, // or {@link account} - but not both. Account *string `json:"account" yaml:"account"` Inputs *[]Artifact `json:"inputs" yaml:"inputs"` Outputs *[]Artifact `json:"outputs" yaml:"outputs"` Owner *string `json:"owner" yaml:"owner"` // The AWS region the given Action resides in. // // Note that a cross-region Pipeline requires replication buckets to function correctly. // You can provide their names with the {@link PipelineProps#crossRegionReplicationBuckets} property. // If you don't, the CodePipeline Construct will create new Stacks in your CDK app containing those buckets, // that you will need to `cdk deploy` before deploying the main, Pipeline-containing Stack. Region *string `json:"region" yaml:"region"` // The optional resource that is backing this Action. // // This is used for automatically handling Actions backed by // resources from a different account and/or region. Resource awscdk.IResource `json:"resource" yaml:"resource"` Role awsiam.IRole `json:"role" yaml:"role"` // The order in which AWS CodePipeline runs this action. For more information, see the AWS CodePipeline User Guide. // // https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#action-requirements RunOrder *float64 `json:"runOrder" yaml:"runOrder"` // The name of the namespace to use for variables emitted by this action. VariablesNamespace *string `json:"variablesNamespace" yaml:"variablesNamespace"` Version *string `json:"version" yaml:"version"` }
TODO: EXAMPLE
type Artifact ¶
type Artifact interface { ArtifactName() *string BucketName() *string ObjectKey() *string S3Location() *awss3.Location Url() *string AtPath(fileName *string) ArtifactPath GetMetadata(key *string) interface{} GetParam(jsonFile *string, keyName *string) *string SetMetadata(key *string, value interface{}) ToString() *string }
An output artifact of an action.
Artifacts can be used as input by some actions.
TODO: EXAMPLE
func Artifact_Artifact ¶
A static factory method used to create instances of the Artifact class.
Mainly meant to be used from `decdk`.
func NewArtifact ¶
type ArtifactPath ¶
A specific file within an output artifact.
The most common use case for this is specifying the template file for a CloudFormation action.
TODO: EXAMPLE
func ArtifactPath_ArtifactPath ¶
func ArtifactPath_ArtifactPath(artifactName *string, fileName *string) ArtifactPath
func NewArtifactPath ¶
func NewArtifactPath(artifact Artifact, fileName *string) ArtifactPath
type CfnCustomActionType ¶
type CfnCustomActionType interface { awscdk.CfnResource awscdk.IInspectable Category() *string SetCategory(val *string) CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string ConfigurationProperties() interface{} SetConfigurationProperties(val interface{}) CreationStack() *[]*string InputArtifactDetails() interface{} SetInputArtifactDetails(val interface{}) LogicalId() *string Node() constructs.Node OutputArtifactDetails() interface{} SetOutputArtifactDetails(val interface{}) Provider() *string SetProvider(val *string) Ref() *string Settings() interface{} SetSettings(val interface{}) Stack() awscdk.Stack Tags() awscdk.TagManager UpdatedProperites() *map[string]interface{} Version() *string SetVersion(val *string) AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::CodePipeline::CustomActionType`.
The `AWS::CodePipeline::CustomActionType` resource creates a custom action for activities that aren't included in the CodePipeline default actions, such as running an internally developed build process or a test suite. You can use these custom actions in the stage of a pipeline. For more information, see [Create and Add a Custom Action in AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/how-to-create-custom-action.html) in the *AWS CodePipeline User Guide* .
TODO: EXAMPLE
func NewCfnCustomActionType ¶
func NewCfnCustomActionType(scope constructs.Construct, id *string, props *CfnCustomActionTypeProps) CfnCustomActionType
Create a new `AWS::CodePipeline::CustomActionType`.
type CfnCustomActionTypeProps ¶
type CfnCustomActionTypeProps struct { // The category of the custom action, such as a build action or a test action. Category *string `json:"category" yaml:"category"` // The details of the input artifact for the action, such as its commit ID. InputArtifactDetails interface{} `json:"inputArtifactDetails" yaml:"inputArtifactDetails"` // The details of the output artifact of the action, such as its commit ID. OutputArtifactDetails interface{} `json:"outputArtifactDetails" yaml:"outputArtifactDetails"` // The provider of the service used in the custom action, such as CodeDeploy. Provider *string `json:"provider" yaml:"provider"` // The version identifier of the custom action. Version *string `json:"version" yaml:"version"` // The configuration properties for the custom action. // // > You can refer to a name in the configuration properties of the custom action within the URL templates by following the format of {Config:name}, as long as the configuration property is both required and not secret. For more information, see [Create a Custom Action for a Pipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/how-to-create-custom-action.html) . ConfigurationProperties interface{} `json:"configurationProperties" yaml:"configurationProperties"` // URLs that provide users information about this custom action. Settings interface{} `json:"settings" yaml:"settings"` // The tags for the custom action. Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"` }
Properties for defining a `CfnCustomActionType`.
TODO: EXAMPLE
type CfnCustomActionType_ArtifactDetailsProperty ¶
type CfnCustomActionType_ArtifactDetailsProperty struct { // The maximum number of artifacts allowed for the action type. MaximumCount *float64 `json:"maximumCount" yaml:"maximumCount"` // The minimum number of artifacts allowed for the action type. MinimumCount *float64 `json:"minimumCount" yaml:"minimumCount"` }
Returns information about the details of an artifact.
TODO: EXAMPLE
type CfnCustomActionType_ConfigurationPropertiesProperty ¶
type CfnCustomActionType_ConfigurationPropertiesProperty struct { // Whether the configuration property is a key. Key interface{} `json:"key" yaml:"key"` // The name of the action configuration property. Name *string `json:"name" yaml:"name"` // Whether the configuration property is a required value. Required interface{} `json:"required" yaml:"required"` // Whether the configuration property is secret. // // Secrets are hidden from all calls except for `GetJobDetails` , `GetThirdPartyJobDetails` , `PollForJobs` , and `PollForThirdPartyJobs` . // // When updating a pipeline, passing * * * * * without changing any other values of the action preserves the previous value of the secret. Secret interface{} `json:"secret" yaml:"secret"` // The description of the action configuration property that is displayed to users. Description *string `json:"description" yaml:"description"` // Indicates that the property is used with `PollForJobs` . // // When creating a custom action, an action can have up to one queryable property. If it has one, that property must be both required and not secret. // // If you create a pipeline with a custom action type, and that custom action contains a queryable property, the value for that configuration property is subject to other restrictions. The value must be less than or equal to twenty (20) characters. The value can contain only alphanumeric characters, underscores, and hyphens. Queryable interface{} `json:"queryable" yaml:"queryable"` // The type of the configuration property. Type *string `json:"type" yaml:"type"` }
The configuration properties for the custom action.
> You can refer to a name in the configuration properties of the custom action within the URL templates by following the format of {Config:name}, as long as the configuration property is both required and not secret. For more information, see [Create a Custom Action for a Pipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/how-to-create-custom-action.html) .
TODO: EXAMPLE
type CfnCustomActionType_SettingsProperty ¶
type CfnCustomActionType_SettingsProperty struct { // The URL returned to the CodePipeline console that provides a deep link to the resources of the external system, such as the configuration page for a CodeDeploy deployment group. // // This link is provided as part of the action display in the pipeline. EntityUrlTemplate *string `json:"entityUrlTemplate" yaml:"entityUrlTemplate"` // The URL returned to the CodePipeline console that contains a link to the top-level landing page for the external system, such as the console page for CodeDeploy. // // This link is shown on the pipeline view page in the CodePipeline console and provides a link to the execution entity of the external action. ExecutionUrlTemplate *string `json:"executionUrlTemplate" yaml:"executionUrlTemplate"` // The URL returned to the CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action. RevisionUrlTemplate *string `json:"revisionUrlTemplate" yaml:"revisionUrlTemplate"` // The URL of a sign-up page where users can sign up for an external service and perform initial configuration of the action provided by that service. ThirdPartyConfigurationUrl *string `json:"thirdPartyConfigurationUrl" yaml:"thirdPartyConfigurationUrl"` }
`Settings` is a property of the `AWS::CodePipeline::CustomActionType` resource that provides URLs that users can access to view information about the CodePipeline custom action.
TODO: EXAMPLE
type CfnPipeline ¶
type CfnPipeline interface { awscdk.CfnResource awscdk.IInspectable ArtifactStore() interface{} SetArtifactStore(val interface{}) ArtifactStores() interface{} SetArtifactStores(val interface{}) AttrVersion() *string CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string CreationStack() *[]*string DisableInboundStageTransitions() interface{} SetDisableInboundStageTransitions(val interface{}) LogicalId() *string Name() *string SetName(val *string) Node() constructs.Node Ref() *string RestartExecutionOnUpdate() interface{} SetRestartExecutionOnUpdate(val interface{}) RoleArn() *string SetRoleArn(val *string) Stack() awscdk.Stack Stages() interface{} SetStages(val interface{}) Tags() awscdk.TagManager UpdatedProperites() *map[string]interface{} AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::CodePipeline::Pipeline`.
The `AWS::CodePipeline::Pipeline` resource creates a CodePipeline pipeline that describes how software changes go through a release process. For more information, see [What Is CodePipeline?](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html) in the *AWS CodePipeline User Guide* .
TODO: EXAMPLE
func NewCfnPipeline ¶
func NewCfnPipeline(scope constructs.Construct, id *string, props *CfnPipelineProps) CfnPipeline
Create a new `AWS::CodePipeline::Pipeline`.
type CfnPipelineProps ¶
type CfnPipelineProps struct { // The Amazon Resource Name (ARN) for CodePipeline to use to either perform actions with no `actionRoleArn` , or to use to assume roles for actions with an `actionRoleArn` . RoleArn *string `json:"roleArn" yaml:"roleArn"` // Represents information about a stage and its definition. Stages interface{} `json:"stages" yaml:"stages"` // The S3 bucket where artifacts for the pipeline are stored. // // > You must include either `artifactStore` or `artifactStores` in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use `artifactStores` . ArtifactStore interface{} `json:"artifactStore" yaml:"artifactStore"` // A mapping of `artifactStore` objects and their corresponding AWS Regions. // // There must be an artifact store for the pipeline Region and for each cross-region action in the pipeline. // // > You must include either `artifactStore` or `artifactStores` in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use `artifactStores` . ArtifactStores interface{} `json:"artifactStores" yaml:"artifactStores"` // Represents the input of a `DisableStageTransition` action. DisableInboundStageTransitions interface{} `json:"disableInboundStageTransitions" yaml:"disableInboundStageTransitions"` // The name of the pipeline. Name *string `json:"name" yaml:"name"` // Indicates whether to rerun the CodePipeline pipeline after you update it. RestartExecutionOnUpdate interface{} `json:"restartExecutionOnUpdate" yaml:"restartExecutionOnUpdate"` // Specifies the tags applied to the pipeline. Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"` }
Properties for defining a `CfnPipeline`.
TODO: EXAMPLE
type CfnPipeline_ActionDeclarationProperty ¶
type CfnPipeline_ActionDeclarationProperty struct { // Specifies the action type and the provider of the action. ActionTypeId interface{} `json:"actionTypeId" yaml:"actionTypeId"` // The action declaration's name. Name *string `json:"name" yaml:"name"` // The action's configuration. // // These are key-value pairs that specify input values for an action. For more information, see [Action Structure Requirements in CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#action-requirements) . For the list of configuration properties for the AWS CloudFormation action type in CodePipeline, see [Configuration Properties Reference](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-action-reference.html) in the *AWS CloudFormation User Guide* . For template snippets with examples, see [Using Parameter Override Functions with CodePipeline Pipelines](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-parameter-override-functions.html) in the *AWS CloudFormation User Guide* . // // The values can be represented in either JSON or YAML format. For example, the JSON configuration item format is as follows: // // *JSON:* // // `"Configuration" : { Key : Value },` Configuration interface{} `json:"configuration" yaml:"configuration"` // The name or ID of the artifact consumed by the action, such as a test or build artifact. // // > For a CodeBuild action with multiple input artifacts, one of your input sources must be designated the PrimarySource. For more information, see the [CodeBuild action reference page](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-CodeBuild.html) in the *AWS CodePipeline User Guide* . InputArtifacts interface{} `json:"inputArtifacts" yaml:"inputArtifacts"` // The variable namespace associated with the action. // // All variables produced as output by this action fall under this namespace. Namespace *string `json:"namespace" yaml:"namespace"` // The name or ID of the result of the action declaration, such as a test or build artifact. OutputArtifacts interface{} `json:"outputArtifacts" yaml:"outputArtifacts"` // The action declaration's AWS Region, such as us-east-1. Region *string `json:"region" yaml:"region"` // The ARN of the IAM service role that performs the declared action. // // This is assumed through the roleArn for the pipeline. RoleArn *string `json:"roleArn" yaml:"roleArn"` // The order in which actions are run. RunOrder *float64 `json:"runOrder" yaml:"runOrder"` }
Represents information about an action declaration.
TODO: EXAMPLE
type CfnPipeline_ActionTypeIdProperty ¶
type CfnPipeline_ActionTypeIdProperty struct { // A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. // // Valid categories are limited to one of the values below. // // - `Source` // - `Build` // - `Test` // - `Deploy` // - `Invoke` // - `Approval` Category *string `json:"category" yaml:"category"` // The creator of the action being called. // // There are three valid values for the `Owner` field in the action category section within your pipeline structure: `AWS` , `ThirdParty` , and `Custom` . For more information, see [Valid Action Types and Providers in CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#actions-valid-providers) . Owner *string `json:"owner" yaml:"owner"` // The provider of the service being called by the action. // // Valid providers are determined by the action category. For example, an action in the Deploy category type might have a provider of CodeDeploy, which would be specified as `CodeDeploy` . For more information, see [Valid Action Types and Providers in CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#actions-valid-providers) . Provider *string `json:"provider" yaml:"provider"` // A string that describes the action version. Version *string `json:"version" yaml:"version"` }
Represents information about an action type.
TODO: EXAMPLE
type CfnPipeline_ArtifactStoreMapProperty ¶
type CfnPipeline_ArtifactStoreMapProperty struct { // Represents information about the S3 bucket where artifacts are stored for the pipeline. // // > You must include either `artifactStore` or `artifactStores` in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use `artifactStores` . ArtifactStore interface{} `json:"artifactStore" yaml:"artifactStore"` // The action declaration's AWS Region, such as us-east-1. Region *string `json:"region" yaml:"region"` }
A mapping of `artifactStore` objects and their corresponding AWS Regions.
There must be an artifact store for the pipeline Region and for each cross-region action in the pipeline.
> You must include either `artifactStore` or `artifactStores` in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use `artifactStores` .
TODO: EXAMPLE
type CfnPipeline_ArtifactStoreProperty ¶
type CfnPipeline_ArtifactStoreProperty struct { // The S3 bucket used for storing the artifacts for a pipeline. // // You can specify the name of an S3 bucket but not a folder in the bucket. A folder to contain the pipeline artifacts is created for you based on the name of the pipeline. You can use any S3 bucket in the same AWS Region as the pipeline to store your pipeline artifacts. Location *string `json:"location" yaml:"location"` // The type of the artifact store, such as S3. Type *string `json:"type" yaml:"type"` // The encryption key used to encrypt the data in the artifact store, such as an AWS Key Management Service ( AWS KMS) key. // // If this is undefined, the default key for Amazon S3 is used. To see an example artifact store encryption key field, see the example structure here: [AWS::CodePipeline::Pipeline](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html) . EncryptionKey interface{} `json:"encryptionKey" yaml:"encryptionKey"` }
The S3 bucket where artifacts for the pipeline are stored.
> You must include either `artifactStore` or `artifactStores` in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use `artifactStores` .
TODO: EXAMPLE
type CfnPipeline_BlockerDeclarationProperty ¶
type CfnPipeline_BlockerDeclarationProperty struct { // Reserved for future use. Name *string `json:"name" yaml:"name"` // Reserved for future use. Type *string `json:"type" yaml:"type"` }
Reserved for future use.
TODO: EXAMPLE
type CfnPipeline_EncryptionKeyProperty ¶
type CfnPipeline_EncryptionKeyProperty struct { // The ID used to identify the key. // // For an AWS KMS key, you can use the key ID, the key ARN, or the alias ARN. // // > Aliases are recognized only in the account that created the AWS KMS key. For cross-account actions, you can only use the key ID or key ARN to identify the key. Id *string `json:"id" yaml:"id"` // The type of encryption key, such as an AWS KMS key. // // When creating or updating a pipeline, the value must be set to 'KMS'. Type *string `json:"type" yaml:"type"` }
Represents information about the key used to encrypt data in the artifact store, such as an AWS Key Management Service ( AWS KMS) key.
`EncryptionKey` is a property of the [ArtifactStore](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-artifactstore.html) property type.
TODO: EXAMPLE
type CfnPipeline_InputArtifactProperty ¶
type CfnPipeline_InputArtifactProperty struct { // The name of the artifact to be worked on (for example, "My App"). // // The input artifact of an action must exactly match the output artifact declared in a preceding action, but the input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions. Name *string `json:"name" yaml:"name"` }
Represents information about an artifact to be worked on, such as a test or build artifact.
TODO: EXAMPLE
type CfnPipeline_OutputArtifactProperty ¶
type CfnPipeline_OutputArtifactProperty struct { // The name of the output of an artifact, such as "My App". // // The output artifact name must exactly match the input artifact declared for a downstream action. However, the downstream action's input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions. // // Output artifact names must be unique within a pipeline. Name *string `json:"name" yaml:"name"` }
Represents information about the output of an action.
TODO: EXAMPLE
type CfnPipeline_StageDeclarationProperty ¶
type CfnPipeline_StageDeclarationProperty struct { // The actions included in a stage. Actions interface{} `json:"actions" yaml:"actions"` // The name of the stage. Name *string `json:"name" yaml:"name"` // Reserved for future use. Blockers interface{} `json:"blockers" yaml:"blockers"` }
Represents information about a stage and its definition.
TODO: EXAMPLE
type CfnPipeline_StageTransitionProperty ¶
type CfnPipeline_StageTransitionProperty struct { // The reason given to the user that a stage is disabled, such as waiting for manual approval or manual tests. // // This message is displayed in the pipeline console UI. Reason *string `json:"reason" yaml:"reason"` // The name of the stage where you want to disable the inbound or outbound transition of artifacts. StageName *string `json:"stageName" yaml:"stageName"` }
The name of the pipeline in which you want to disable the flow of artifacts from one stage to another.
TODO: EXAMPLE
type CfnWebhook ¶
type CfnWebhook interface { awscdk.CfnResource awscdk.IInspectable AttrUrl() *string Authentication() *string SetAuthentication(val *string) AuthenticationConfiguration() interface{} SetAuthenticationConfiguration(val interface{}) CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string CreationStack() *[]*string Filters() interface{} SetFilters(val interface{}) LogicalId() *string Name() *string SetName(val *string) Node() constructs.Node Ref() *string RegisterWithThirdParty() interface{} SetRegisterWithThirdParty(val interface{}) Stack() awscdk.Stack TargetAction() *string SetTargetAction(val *string) TargetPipeline() *string SetTargetPipeline(val *string) TargetPipelineVersion() *float64 SetTargetPipelineVersion(val *float64) UpdatedProperites() *map[string]interface{} AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::CodePipeline::Webhook`.
The `AWS::CodePipeline::Webhook` resource creates and registers your webhook. After the webhook is created and registered, it triggers your pipeline to start every time an external event occurs. For more information, see [Configure Your GitHub Pipelines to Use Webhooks for Change Detection](https://docs.aws.amazon.com/codepipeline/latest/userguide/pipelines-webhooks-migration.html) in the *AWS CodePipeline User Guide* .
We strongly recommend that you use AWS Secrets Manager to store your credentials. If you use Secrets Manager, you must have already configured and stored your secret parameters in Secrets Manager. For more information, see [Using Dynamic References to Specify Template Values](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html#dynamic-references-secretsmanager) .
> When passing secret parameters, do not enter the value directly into the template. The value is rendered as plaintext and is therefore readable. For security reasons, do not use plaintext in your AWS CloudFormation template to store your credentials.
TODO: EXAMPLE
func NewCfnWebhook ¶
func NewCfnWebhook(scope constructs.Construct, id *string, props *CfnWebhookProps) CfnWebhook
Create a new `AWS::CodePipeline::Webhook`.
type CfnWebhookProps ¶
type CfnWebhookProps struct { // Supported options are GITHUB_HMAC, IP, and UNAUTHENTICATED. // // - For information about the authentication scheme implemented by GITHUB_HMAC, see [Securing your webhooks](https://docs.aws.amazon.com/https://developer.github.com/webhooks/securing/) on the GitHub Developer website. // - IP rejects webhooks trigger requests unless they originate from an IP address in the IP range whitelisted in the authentication configuration. // - UNAUTHENTICATED accepts all webhook trigger requests regardless of origin. Authentication *string `json:"authentication" yaml:"authentication"` // Properties that configure the authentication applied to incoming webhook trigger requests. // // The required properties depend on the authentication type. For GITHUB_HMAC, only the `SecretToken` property must be set. For IP, only the `AllowedIPRange` property must be set to a valid CIDR range. For UNAUTHENTICATED, no properties can be set. AuthenticationConfiguration interface{} `json:"authenticationConfiguration" yaml:"authenticationConfiguration"` // A list of rules applied to the body/payload sent in the POST request to a webhook URL. // // All defined rules must pass for the request to be accepted and the pipeline started. Filters interface{} `json:"filters" yaml:"filters"` // The name of the action in a pipeline you want to connect to the webhook. // // The action must be from the source (first) stage of the pipeline. TargetAction *string `json:"targetAction" yaml:"targetAction"` // The name of the pipeline you want to connect to the webhook. TargetPipeline *string `json:"targetPipeline" yaml:"targetPipeline"` // The version number of the pipeline to be connected to the trigger request. // // Required: Yes // // Type: Integer // // Update requires: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt) TargetPipelineVersion *float64 `json:"targetPipelineVersion" yaml:"targetPipelineVersion"` // The name of the webhook. Name *string `json:"name" yaml:"name"` // Configures a connection between the webhook that was created and the external tool with events to be detected. RegisterWithThirdParty interface{} `json:"registerWithThirdParty" yaml:"registerWithThirdParty"` }
Properties for defining a `CfnWebhook`.
TODO: EXAMPLE
type CfnWebhook_WebhookAuthConfigurationProperty ¶
type CfnWebhook_WebhookAuthConfigurationProperty struct { // The property used to configure acceptance of webhooks in an IP address range. // // For IP, only the `AllowedIPRange` property must be set. This property must be set to a valid CIDR range. AllowedIpRange *string `json:"allowedIpRange" yaml:"allowedIpRange"` // The property used to configure GitHub authentication. // // For GITHUB_HMAC, only the `SecretToken` property must be set. SecretToken *string `json:"secretToken" yaml:"secretToken"` }
The authentication applied to incoming webhook trigger requests.
TODO: EXAMPLE
type CfnWebhook_WebhookFilterRuleProperty ¶
type CfnWebhook_WebhookFilterRuleProperty struct { // A JsonPath expression that is applied to the body/payload of the webhook. // // The value selected by the JsonPath expression must match the value specified in the `MatchEquals` field. Otherwise, the request is ignored. For more information, see [Java JsonPath implementation](https://docs.aws.amazon.com/https://github.com/json-path/JsonPath) in GitHub. JsonPath *string `json:"jsonPath" yaml:"jsonPath"` // The value selected by the `JsonPath` expression must match what is supplied in the `MatchEquals` field. // // Otherwise, the request is ignored. Properties from the target action configuration can be included as placeholders in this value by surrounding the action configuration key with curly brackets. For example, if the value supplied here is "refs/heads/{Branch}" and the target action has an action configuration property called "Branch" with a value of "main", the `MatchEquals` value is evaluated as "refs/heads/main". For a list of action configuration properties for built-in action types, see [Pipeline Structure Reference Action Requirements](https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#action-requirements) . MatchEquals *string `json:"matchEquals" yaml:"matchEquals"` }
The event criteria that specify when a webhook notification is sent to your URL.
TODO: EXAMPLE
type CommonActionProps ¶
type CommonActionProps struct { // The physical, human-readable name of the Action. // // Note that Action names must be unique within a single Stage. ActionName *string `json:"actionName" yaml:"actionName"` // The runOrder property for this Action. // // RunOrder determines the relative order in which multiple Actions in the same Stage execute. // See: https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html // RunOrder *float64 `json:"runOrder" yaml:"runOrder"` // The name of the namespace to use for variables emitted by this action. VariablesNamespace *string `json:"variablesNamespace" yaml:"variablesNamespace"` }
Common properties shared by all Actions.
TODO: EXAMPLE
type CommonAwsActionProps ¶
type CommonAwsActionProps struct { // The physical, human-readable name of the Action. // // Note that Action names must be unique within a single Stage. ActionName *string `json:"actionName" yaml:"actionName"` // The runOrder property for this Action. // // RunOrder determines the relative order in which multiple Actions in the same Stage execute. // See: https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html // RunOrder *float64 `json:"runOrder" yaml:"runOrder"` // The name of the namespace to use for variables emitted by this action. VariablesNamespace *string `json:"variablesNamespace" yaml:"variablesNamespace"` // The Role in which context's this Action will be executing in. // // The Pipeline's Role will assume this Role // (the required permissions for that will be granted automatically) // right before executing this Action. // This Action will be passed into your {@link IAction.bind} // method in the {@link ActionBindOptions.role} property. Role awsiam.IRole `json:"role" yaml:"role"` }
Common properties shared by all Actions whose {@link ActionProperties.owner} field is 'AWS' (or unset, as 'AWS' is the default).
TODO: EXAMPLE
type CrossRegionSupport ¶
type CrossRegionSupport struct { // The replication Bucket used by CodePipeline to operate in this region. // // Belongs to {@link stack}. ReplicationBucket awss3.IBucket `json:"replicationBucket" yaml:"replicationBucket"` // The Stack that has been created to house the replication Bucket required for this region. Stack awscdk.Stack `json:"stack" yaml:"stack"` }
An interface representing resources generated in order to support the cross-region capabilities of CodePipeline.
You get instances of this interface from the {@link Pipeline#crossRegionSupport} property.
TODO: EXAMPLE
type CustomActionProperty ¶
type CustomActionProperty struct { // The name of the property. // // You use this name in the `configuration` attribute when defining your custom Action class. Name *string `json:"name" yaml:"name"` // Whether this property is required. Required *bool `json:"required" yaml:"required"` // The description of the property. Description *string `json:"description" yaml:"description"` // Whether this property is a key. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype-configurationproperties.html#cfn-codepipeline-customactiontype-configurationproperties-key // Key *bool `json:"key" yaml:"key"` // Whether this property is queryable. // // Note that only a single property of a custom Action can be queryable. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype-configurationproperties.html#cfn-codepipeline-customactiontype-configurationproperties-queryable // Queryable *bool `json:"queryable" yaml:"queryable"` // Whether this property is secret, like a password, or access key. Secret *bool `json:"secret" yaml:"secret"` // The type of the property, like 'String', 'Number', or 'Boolean'. Type *string `json:"type" yaml:"type"` }
The creation attributes used for defining a configuration property of a custom Action.
TODO: EXAMPLE
type CustomActionRegistration ¶
type CustomActionRegistration interface { constructs.Construct Node() constructs.Node ToString() *string }
The resource representing registering a custom Action with CodePipeline.
For the Action to be usable, it has to be registered for every region and every account it's used in. In addition to this class, you should most likely also provide your clients a class representing your custom Action, extending the Action class, and taking the `actionProperties` as properly typed, construction properties.
TODO: EXAMPLE
func NewCustomActionRegistration ¶
func NewCustomActionRegistration(scope constructs.Construct, id *string, props *CustomActionRegistrationProps) CustomActionRegistration
type CustomActionRegistrationProps ¶
type CustomActionRegistrationProps struct { // The artifact bounds of the Action. ArtifactBounds *ActionArtifactBounds `json:"artifactBounds" yaml:"artifactBounds"` // The category of the Action. Category ActionCategory `json:"category" yaml:"category"` // The provider of the Action. // // For example, `'MyCustomActionProvider'` Provider *string `json:"provider" yaml:"provider"` // The properties used for customizing the instance of your Action. ActionProperties *[]*CustomActionProperty `json:"actionProperties" yaml:"actionProperties"` // The URL shown for the entire Action in the Pipeline UI. EntityUrl *string `json:"entityUrl" yaml:"entityUrl"` // The URL shown for a particular execution of an Action in the Pipeline UI. ExecutionUrl *string `json:"executionUrl" yaml:"executionUrl"` // The version of your Action. Version *string `json:"version" yaml:"version"` }
Properties of registering a custom Action.
TODO: EXAMPLE
type GlobalVariables ¶
type GlobalVariables interface { }
The CodePipeline variables that are global, not bound to a specific action.
This class defines a bunch of static fields that represent the different variables. These can be used can be used in any action configuration.
TODO: EXAMPLE
func NewGlobalVariables ¶
func NewGlobalVariables() GlobalVariables
type IAction ¶
type IAction interface { // The callback invoked when this Action is added to a Pipeline. Bind(scope constructs.Construct, stage IStage, options *ActionBindOptions) *ActionConfig // Creates an Event that will be triggered whenever the state of this Action changes. OnStateChange(name *string, target awsevents.IRuleTarget, options *awsevents.RuleProps) awsevents.Rule // The simple properties of the Action, like its Owner, name, etc. // // Note that this accessor will be called before the {@link bind} callback. ActionProperties() *ActionProperties }
A Pipeline Action.
If you want to implement this interface, consider extending the {@link Action} class, which contains some common logic.
type IPipeline ¶
type IPipeline interface { awscodestarnotifications.INotificationRuleSource awscdk.IResource // Defines a CodeStar notification rule triggered when the pipeline events emitted by you specified, it very similar to `onEvent` API. // // You can also use the methods `notifyOnExecutionStateChange`, `notifyOnAnyStageStateChange`, // `notifyOnAnyActionStateChange` and `notifyOnAnyManualApprovalStateChange` // to define rules for these specific event emitted. // // Returns: CodeStar notification rule associated with this build project. NotifyOn(id *string, target awscodestarnotifications.INotificationRuleTarget, options *PipelineNotifyOnOptions) awscodestarnotifications.INotificationRule // Define an notification rule triggered by the set of the "Action execution" events emitted from this pipeline. // See: https://docs.aws.amazon.com/dtconsole/latest/userguide/concepts.html#events-ref-pipeline // NotifyOnAnyActionStateChange(id *string, target awscodestarnotifications.INotificationRuleTarget, options *awscodestarnotifications.NotificationRuleOptions) awscodestarnotifications.INotificationRule // Define an notification rule triggered by the set of the "Manual approval" events emitted from this pipeline. // See: https://docs.aws.amazon.com/dtconsole/latest/userguide/concepts.html#events-ref-pipeline // NotifyOnAnyManualApprovalStateChange(id *string, target awscodestarnotifications.INotificationRuleTarget, options *awscodestarnotifications.NotificationRuleOptions) awscodestarnotifications.INotificationRule // Define an notification rule triggered by the set of the "Stage execution" events emitted from this pipeline. // See: https://docs.aws.amazon.com/dtconsole/latest/userguide/concepts.html#events-ref-pipeline // NotifyOnAnyStageStateChange(id *string, target awscodestarnotifications.INotificationRuleTarget, options *awscodestarnotifications.NotificationRuleOptions) awscodestarnotifications.INotificationRule // Define an notification rule triggered by the set of the "Pipeline execution" events emitted from this pipeline. // See: https://docs.aws.amazon.com/dtconsole/latest/userguide/concepts.html#events-ref-pipeline // NotifyOnExecutionStateChange(id *string, target awscodestarnotifications.INotificationRuleTarget, options *awscodestarnotifications.NotificationRuleOptions) awscodestarnotifications.INotificationRule // Define an event rule triggered by this CodePipeline. OnEvent(id *string, options *awsevents.OnEventOptions) awsevents.Rule // Define an event rule triggered by the "CodePipeline Pipeline Execution State Change" event emitted from this pipeline. OnStateChange(id *string, options *awsevents.OnEventOptions) awsevents.Rule // The ARN of the Pipeline. PipelineArn() *string // The name of the Pipeline. PipelineName() *string }
The abstract view of an AWS CodePipeline as required and used by Actions.
It extends {@link events.IRuleTarget}, so this interface can be used as a Target for CloudWatch Events.
func Pipeline_FromPipelineArn ¶
func Pipeline_FromPipelineArn(scope constructs.Construct, id *string, pipelineArn *string) IPipeline
Import a pipeline into this app.
type IStage ¶
type IStage interface { AddAction(action IAction) OnStateChange(name *string, target awsevents.IRuleTarget, options *awsevents.RuleProps) awsevents.Rule // The actions belonging to this stage. Actions() *[]IAction Pipeline() IPipeline // The physical, human-readable name of this Pipeline Stage. StageName() *string }
The abstract interface of a Pipeline Stage that is used by Actions.
type Pipeline ¶
type Pipeline interface { awscdk.Resource IPipeline ArtifactBucket() awss3.IBucket CrossRegionSupport() *map[string]*CrossRegionSupport Env() *awscdk.ResourceEnvironment Node() constructs.Node PhysicalName() *string PipelineArn() *string PipelineName() *string PipelineVersion() *string Role() awsiam.IRole Stack() awscdk.Stack StageCount() *float64 Stages() *[]IStage AddStage(props *StageOptions) IStage AddToRolePolicy(statement awsiam.PolicyStatement) ApplyRemovalPolicy(policy awscdk.RemovalPolicy) BindAsNotificationRuleSource(_scope constructs.Construct) *awscodestarnotifications.NotificationRuleSourceConfig GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string NotifyOn(id *string, target awscodestarnotifications.INotificationRuleTarget, options *PipelineNotifyOnOptions) awscodestarnotifications.INotificationRule NotifyOnAnyActionStateChange(id *string, target awscodestarnotifications.INotificationRuleTarget, options *awscodestarnotifications.NotificationRuleOptions) awscodestarnotifications.INotificationRule NotifyOnAnyManualApprovalStateChange(id *string, target awscodestarnotifications.INotificationRuleTarget, options *awscodestarnotifications.NotificationRuleOptions) awscodestarnotifications.INotificationRule NotifyOnAnyStageStateChange(id *string, target awscodestarnotifications.INotificationRuleTarget, options *awscodestarnotifications.NotificationRuleOptions) awscodestarnotifications.INotificationRule NotifyOnExecutionStateChange(id *string, target awscodestarnotifications.INotificationRuleTarget, options *awscodestarnotifications.NotificationRuleOptions) awscodestarnotifications.INotificationRule OnEvent(id *string, options *awsevents.OnEventOptions) awsevents.Rule OnStateChange(id *string, options *awsevents.OnEventOptions) awsevents.Rule Stage(stageName *string) IStage ToString() *string }
An AWS CodePipeline pipeline with its associated IAM role and S3 bucket.
TODO: EXAMPLE
func NewPipeline ¶
func NewPipeline(scope constructs.Construct, id *string, props *PipelineProps) Pipeline
type PipelineNotificationEvents ¶
type PipelineNotificationEvents string
The list of event types for AWS Codepipeline Pipeline. See: https://docs.aws.amazon.com/dtconsole/latest/userguide/concepts.html#events-ref-pipeline
const ( PipelineNotificationEvents_PIPELINE_EXECUTION_FAILED PipelineNotificationEvents = "PIPELINE_EXECUTION_FAILED" PipelineNotificationEvents_PIPELINE_EXECUTION_CANCELED PipelineNotificationEvents = "PIPELINE_EXECUTION_CANCELED" PipelineNotificationEvents_PIPELINE_EXECUTION_STARTED PipelineNotificationEvents = "PIPELINE_EXECUTION_STARTED" PipelineNotificationEvents_PIPELINE_EXECUTION_RESUMED PipelineNotificationEvents = "PIPELINE_EXECUTION_RESUMED" PipelineNotificationEvents_PIPELINE_EXECUTION_SUCCEEDED PipelineNotificationEvents = "PIPELINE_EXECUTION_SUCCEEDED" PipelineNotificationEvents_PIPELINE_EXECUTION_SUPERSEDED PipelineNotificationEvents = "PIPELINE_EXECUTION_SUPERSEDED" PipelineNotificationEvents_STAGE_EXECUTION_STARTED PipelineNotificationEvents = "STAGE_EXECUTION_STARTED" PipelineNotificationEvents_STAGE_EXECUTION_SUCCEEDED PipelineNotificationEvents = "STAGE_EXECUTION_SUCCEEDED" PipelineNotificationEvents_STAGE_EXECUTION_RESUMED PipelineNotificationEvents = "STAGE_EXECUTION_RESUMED" PipelineNotificationEvents_STAGE_EXECUTION_CANCELED PipelineNotificationEvents = "STAGE_EXECUTION_CANCELED" PipelineNotificationEvents_STAGE_EXECUTION_FAILED PipelineNotificationEvents = "STAGE_EXECUTION_FAILED" PipelineNotificationEvents_ACTION_EXECUTION_SUCCEEDED PipelineNotificationEvents = "ACTION_EXECUTION_SUCCEEDED" PipelineNotificationEvents_ACTION_EXECUTION_FAILED PipelineNotificationEvents = "ACTION_EXECUTION_FAILED" PipelineNotificationEvents_ACTION_EXECUTION_CANCELED PipelineNotificationEvents = "ACTION_EXECUTION_CANCELED" PipelineNotificationEvents_ACTION_EXECUTION_STARTED PipelineNotificationEvents = "ACTION_EXECUTION_STARTED" PipelineNotificationEvents_MANUAL_APPROVAL_FAILED PipelineNotificationEvents = "MANUAL_APPROVAL_FAILED" PipelineNotificationEvents_MANUAL_APPROVAL_NEEDED PipelineNotificationEvents = "MANUAL_APPROVAL_NEEDED" PipelineNotificationEvents_MANUAL_APPROVAL_SUCCEEDED PipelineNotificationEvents = "MANUAL_APPROVAL_SUCCEEDED" )
type PipelineNotifyOnOptions ¶
type PipelineNotifyOnOptions struct { // The level of detail to include in the notifications for this resource. // // BASIC will include only the contents of the event as it would appear in AWS CloudWatch. // FULL will include any supplemental information provided by AWS CodeStar Notifications and/or the service for the resource for which the notification is created. DetailType awscodestarnotifications.DetailType `json:"detailType" yaml:"detailType"` // The status of the notification rule. // // If the enabled is set to DISABLED, notifications aren't sent for the notification rule. Enabled *bool `json:"enabled" yaml:"enabled"` // The name for the notification rule. // // Notification rule names must be unique in your AWS account. NotificationRuleName *string `json:"notificationRuleName" yaml:"notificationRuleName"` // A list of event types associated with this notification rule for CodePipeline Pipeline. // // For a complete list of event types and IDs, see Notification concepts in the Developer Tools Console User Guide. // See: https://docs.aws.amazon.com/dtconsole/latest/userguide/concepts.html#concepts-api // Events *[]PipelineNotificationEvents `json:"events" yaml:"events"` }
Additional options to pass to the notification rule.
TODO: EXAMPLE
type PipelineProps ¶
type PipelineProps struct { // The S3 bucket used by this Pipeline to store artifacts. ArtifactBucket awss3.IBucket `json:"artifactBucket" yaml:"artifactBucket"` // Create KMS keys for cross-account deployments. // // This controls whether the pipeline is enabled for cross-account deployments. // // 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. CrossAccountKeys *bool `json:"crossAccountKeys" yaml:"crossAccountKeys"` // A map of region to S3 bucket name used for cross-region CodePipeline. // // For every Action that you specify targeting a different region than the Pipeline itself, // if you don't provide an explicit Bucket for that region using this property, // the construct will automatically create a Stack containing an S3 Bucket in that region. CrossRegionReplicationBuckets *map[string]awss3.IBucket `json:"crossRegionReplicationBuckets" yaml:"crossRegionReplicationBuckets"` // Enable KMS key rotation for the generated KMS keys. // // By default KMS key rotation is disabled, but will add an additional $1/month // for each year the key exists when enabled. EnableKeyRotation *bool `json:"enableKeyRotation" yaml:"enableKeyRotation"` // Name of the pipeline. PipelineName *string `json:"pipelineName" yaml:"pipelineName"` // Indicates whether to rerun the AWS CodePipeline pipeline after you update it. RestartExecutionOnUpdate *bool `json:"restartExecutionOnUpdate" yaml:"restartExecutionOnUpdate"` // Reuse the same cross region support stack for all pipelines in the App. ReuseCrossRegionSupportStacks *bool `json:"reuseCrossRegionSupportStacks" yaml:"reuseCrossRegionSupportStacks"` // The IAM role to be assumed by this Pipeline. Role awsiam.IRole `json:"role" yaml:"role"` // The list of Stages, in order, to create this Pipeline with. // // You can always add more Stages later by calling {@link Pipeline#addStage}. Stages *[]*StageProps `json:"stages" yaml:"stages"` }
TODO: EXAMPLE
type StageOptions ¶
type StageOptions struct { // The physical, human-readable name to assign to this Pipeline Stage. StageName *string `json:"stageName" yaml:"stageName"` // The list of Actions to create this Stage with. // // You can always add more Actions later by calling {@link IStage#addAction}. Actions *[]IAction `json:"actions" yaml:"actions"` Placement *StagePlacement `json:"placement" yaml:"placement"` }
TODO: EXAMPLE
type StagePlacement ¶
type StagePlacement struct { // Inserts the new Stage as a child of the given Stage (changing its current child Stage, if it had one). JustAfter IStage `json:"justAfter" yaml:"justAfter"` // Inserts the new Stage as a parent of the given Stage (changing its current parent Stage, if it had one). RightBefore IStage `json:"rightBefore" yaml:"rightBefore"` }
Allows you to control where to place a new Stage when it's added to the Pipeline.
Note that you can provide only one of the below properties - specifying more than one will result in a validation error.
TODO: EXAMPLE
See: #justAfter
type StageProps ¶
type StageProps struct { // The physical, human-readable name to assign to this Pipeline Stage. StageName *string `json:"stageName" yaml:"stageName"` // The list of Actions to create this Stage with. // // You can always add more Actions later by calling {@link IStage#addAction}. Actions *[]IAction `json:"actions" yaml:"actions"` }
Construction properties of a Pipeline Stage.
TODO: EXAMPLE