Skip to content
Snippets Groups Projects
Select Git revision
3 results Searching

cdk.go

Blame
  • cdk.go 6.57 KiB
    package mage_helpers
    
    import (
    	_ "embed"
    	"fmt"
    	"gopkg.in/yaml.v2"
    	"io/ioutil"
    	"os"
    	"os/exec"
    	"path/filepath"
    	"strconv"
    	"strings"
    )
    
    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`)
    
    	cmd := BuildCommand("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`,
    		fmt.Sprintf(`config=%v`, env),