package awscodecommit // Example: // // Source stage: read from repository // repo := codecommit.NewRepository(stack, jsii.String("TemplateRepo"), &RepositoryProps{ // RepositoryName: jsii.String("template-repo"), // }) // sourceOutput := codepipeline.NewArtifact(jsii.String("SourceArtifact")) // source := cpactions.NewCodeCommitSourceAction(&CodeCommitSourceActionProps{ // ActionName: jsii.String("Source"), // Repository: repo, // Output: sourceOutput, // Trigger: cpactions.CodeCommitTrigger_POLL, // }) // sourceStage := map[string]interface{}{ // "stageName": jsii.String("Source"), // "actions": []CodeCommitSourceAction{ // source, // }, // } // // // Deployment stage: create and deploy changeset with manual approval // stackName := "OurStack" // changeSetName := "StagedChangeSet" // // prodStage := map[string]interface{}{ // "stageName": jsii.String("Deploy"), // "actions": []interface{}{ // cpactions.NewCloudFormationCreateReplaceChangeSetAction(&CloudFormationCreateReplaceChangeSetActionProps{ // "actionName": jsii.String("PrepareChanges"), // "stackName": jsii.String(stackName), // "changeSetName": jsii.String(changeSetName), // "adminPermissions": jsii.Boolean(true), // "templatePath": sourceOutput.atPath(jsii.String("template.yaml")), // "runOrder": jsii.Number(1), // }), // cpactions.NewManualApprovalAction(&ManualApprovalActionProps{ // "actionName": jsii.String("ApproveChanges"), // "runOrder": jsii.Number(2), // }), // cpactions.NewCloudFormationExecuteChangeSetAction(&CloudFormationExecuteChangeSetActionProps{ // "actionName": jsii.String("ExecuteChanges"), // "stackName": jsii.String(stackName), // "changeSetName": jsii.String(changeSetName), // "runOrder": jsii.Number(3), // }), // }, // } // // codepipeline.NewPipeline(stack, jsii.String("Pipeline"), &PipelineProps{ // Stages: []stageProps{ // sourceStage, // prodStage, // }, // }) // type RepositoryProps struct { // Name of the repository. // // This property is required for all CodeCommit repositories. RepositoryName *string `field:"required" json:"repositoryName" yaml:"repositoryName"` // The contents with which to initialize the repository after it has been created. Code Code `field:"optional" json:"code" yaml:"code"` // A description of the repository. // // Use the description to identify the // purpose of the repository. Description *string `field:"optional" json:"description" yaml:"description"` }