Select Git revision
cdk.go 5.71 KiB
package _magefile
import (
_ "embed"
"fmt"
"io/ioutil"
"os"
"os/exec"
"strconv"
"strings"
"gopkg.in/yaml.v2"
)
func CDKCompileTypeScript(cdkDir string) error {
fmt.Println("Compiling Typescript")
cmd := exec.Command("tsc")
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
cmd.Dir = cdkDir
err := cmd.Run()
if err != nil {
return err
}
return nil
}
func CDKDiff(cdkDir string, env string, stack string, local bool, profile string) error {
fmt.Println("Getting Diff for: " + stack)
commandArgs := []string{
`diff`,
stack,
`-c`,
fmt.Sprintf(`config=%v`, env),
`-c`,
fmt.Sprintf(`exclusively=%v`, stack),
`-c`,
`aws-cdk:enableDiffNoFail=true`,
}
if local {
commandArgs = append(commandArgs, fmt.Sprintf(`--profile=%v`, profile))
}
commandArgs = append(commandArgs,
`--require-approval=never`,
`--exclusively=true`,
`--progress=events`)
fmt.Println(fmt.Sprintf("Running command: cdk %s", strings.Join(commandArgs, " ")))
cmd := exec.Command("cdk", commandArgs...)
cmd.Dir = cdkDir
output, err := cmd.CombinedOutput()
if err != nil {
fmt.Println(string(output))
return err
}
fmt.Println(string(output))
return nil
}
func CDKDeploy(cdkDir string, env string, stack string, exclusively bool, local bool, profile string) error {
commandArgs := []string{
`deploy`,
fmt.Sprintf(`"%s"`, stack),
`-c`,