Skip to content

Instantly share code, notes, and snippets.

@dixler

dixler/index.ts Secret

Last active January 25, 2022 22:53
Show Gist options
  • Save dixler/2ea418da0dab0b561f4e9e670e8c983f to your computer and use it in GitHub Desktop.
Save dixler/2ea418da0dab0b561f4e9e670e8c983f to your computer and use it in GitHub Desktop.
import {
LocalProgramArgs,
LocalWorkspace,
LocalWorkspaceOptions,
} from '@pulumi/pulumi/automation';
import { sys } from 'typescript';
import { Commands } from './src/config';
import * as pulumiCli from './src/libs/pulumi-cli';
const core = console
const pulumiVersion = '^3';
const main = async () => {
const config = {
stackName: "dev",
workDir: "/home/kdixler/Documents/issues/8710.pulumi",
command: sys.args[1],
options: {
},
}
await pulumiCli.downloadCli(pulumiVersion);
core.debug(`Logging into to Pulumi`);
await pulumiCli.run('login');
core.debug(`Working directory resolved at ${config.workDir}`);
const stackArgs: LocalProgramArgs = {
stackName: config.stackName,
workDir: config.workDir,
};
const stackOpts: LocalWorkspaceOptions = {};
const stack = await LocalWorkspace.createOrSelectStack(stackArgs, stackOpts)
const onOutput = (msg: string) => {
core.debug(msg);
core.info(msg);
};
core.debug(`pulumi ${config.command} on ${config.stackName}`);
const actions: Record<Commands, () => Promise<string>> = {
up: () => stack.up({ onOutput, ...config.options }).then((r) => r.stdout),
update: () =>
stack.up({ onOutput, ...config.options }).then((r) => r.stdout),
refresh: () =>
stack.refresh({ onOutput, ...config.options }).then((r) => r.stdout),
destroy: () =>
stack.destroy({ onOutput, ...config.options }).then((r) => r.stdout),
preview: async () => {
const { stdout, stderr } = await stack.preview(config.options);
onOutput(stdout);
onOutput(stderr);
return stdout;
},
};
actions[config.command]()
}
main()
@dixler
Copy link
Author

dixler commented Jan 25, 2022

kdixler@kdixler-20xw004aus ~/Documents/actions (git)-[master] % RUNNER_TEMP=1 RUNNER_TOOL_CACHE=1 npx ts-node index.ts up; rm -rf ~/.pulumi/plugins ~/.pulumi/workspaces; RUNNER_TEMP=1 RUNNER_TOOL_CACHE=1 npx ts-node index.ts destroy
Configured range: ^3
Matched version: v3.22.1
Install destination is /home/kdixler/.pulumi
Successfully deleted pre-existing /home/kdixler/.pulumi/bin
::debug::Downloading https://get.pulumi.com/releases/sdk/pulumi-v3.22.1-linux-x64.tar.gz
::debug::Destination 1/17b8efcc-8871-45e0-8395-71b66dac2852
::debug::download complete
::debug::successfully downloaded https://get.pulumi.com/releases/sdk/pulumi-v3.22.1-linux-x64.tar.gz
::debug::Successfully created /home/kdixler/.pulumi
::debug::Checking tar --version
::debug::tar (GNU tar) 1.34%0ACopyright (C) 2021 Free Software Foundation, Inc.%0ALicense GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.%0AThis is free software: you are free to change and redistribute it.%0AThere is NO WARRANTY, to the extent permitted by law.%0A%0AWritten by John Gilmore and Jay Fenlason.
[command]/usr/bin/tar xz --warning=no-unknown-keyword --overwrite -C /home/kdixler/.pulumi -f 1/17b8efcc-8871-45e0-8395-71b66dac2852
::debug::Successfully extracted 1/17b8efcc-8871-45e0-8395-71b66dac2852 to /home/kdixler/.pulumi
::debug::Successfully renamed /home/kdixler/.pulumi/pulumi to /home/kdixler/.pulumi/bin
::debug::Caching tool pulumi 3.22.1 x64
::debug::source dir: /home/kdixler/.pulumi/bin
::debug::destination 1/pulumi/3.22.1/x64
::debug::finished caching tool
::add-path::1/pulumi/3.22.1/x64
Logging into to Pulumi
Working directory resolved at /home/kdixler/Documents/issues/8710.pulumi
pulumi up on dev
Updating (dev)


Updating (dev)


View Live: https://app.pulumi.com/kyle/8710.pulumi/dev/updates/6


View Live: https://app.pulumi.com/kyle/8710.pulumi/dev/updates/6






 +  pulumi:pulumi:Stack 8710.pulumi-dev creating 

 +  pulumi:pulumi:Stack 8710.pulumi-dev creating 

 +  aws:apigateway:x:API myapi creating 

 +  aws:apigateway:x:API myapi creating 

 +  aws:iam:Role BROKEN_LAMBDA creating 

 +  aws:iam:Role BROKEN_LAMBDA creating 

 +  aws:iam:Role BROKEN_LAMBDA created 

 +  aws:iam:Role BROKEN_LAMBDA created 

 +  aws:lambda:Function BROKEN_LAMBDA creating 

 +  aws:lambda:Function BROKEN_LAMBDA creating 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-4aaabb8e creating 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-4aaabb8e creating 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-e1a3786d creating 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-e1a3786d creating 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-74d12784 creating 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-74d12784 creating 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-7cd09230 creating 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-7cd09230 creating 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-019020e7 creating 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-019020e7 creating 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-6c156834 creating 
 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-b5aeb6b6 creating 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-6c156834 creating 
 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-b5aeb6b6 creating 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-a1de8170 creating 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-a1de8170 creating 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-1b4caae3 creating 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-1b4caae3 creating 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-4aaabb8e created 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-4aaabb8e created 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-e1a3786d created 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-e1a3786d created 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-74d12784 created 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-74d12784 created 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-7cd09230 created 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-7cd09230 created 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-019020e7 created 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-019020e7 created 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-6c156834 created 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-6c156834 created 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-b5aeb6b6 created 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-b5aeb6b6 created 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-a1de8170 created 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-a1de8170 created 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-1b4caae3 created 

 +  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-1b4caae3 created 

 +  aws:lambda:Function BROKEN_LAMBDA created 

 +  aws:lambda:Function BROKEN_LAMBDA created 

 +  aws:apigateway:RestApi myapi creating 

 +  aws:apigateway:RestApi myapi creating 

 +  aws:apigateway:RestApi myapi created 

 +  aws:apigateway:RestApi myapi created 

 +  aws:apigateway:Deployment myapi creating 

 +  aws:apigateway:Deployment myapi creating 

 +  aws:apigateway:Deployment myapi created 

 +  aws:apigateway:Deployment myapi created 

 +  aws:lambda:Permission myapi-fa520765 creating 

 +  aws:lambda:Permission myapi-fa520765 creating 

 +  aws:lambda:Permission myapi-fa520765 created 

 +  aws:lambda:Permission myapi-fa520765 created 

 +  aws:apigateway:Stage myapi creating 

 +  aws:apigateway:Stage myapi creating 

 +  aws:apigateway:Stage myapi created 

 +  aws:apigateway:Stage myapi created 

 +  pulumi:pulumi:Stack 8710.pulumi-dev created 
 

 +  pulumi:pulumi:Stack 8710.pulumi-dev created 
 

Outputs:
    apigURI  : "https://w1mkeuffz3.execute-api.us-east-1.amazonaws.com/stage/"
    lambdaArn: "arn:aws:lambda:us-east-1:616138583583:function:BROKEN_LAMBDA-890e82c"

Resources:
    + 17 created

Duration: 35s


Outputs:
    apigURI  : "https://w1mkeuffz3.execute-api.us-east-1.amazonaws.com/stage/"
    lambdaArn: "arn:aws:lambda:us-east-1:616138583583:function:BROKEN_LAMBDA-890e82c"

Resources:
    + 17 created

Duration: 35s


RUNNER_TEMP=1 RUNNER_TOOL_CACHE=1 npx ts-node index.ts up  9.43s user 2.04s system 16% cpu 1:08.08 total
Configured range: ^3
Matched version: v3.22.1
Install destination is /home/kdixler/.pulumi
Successfully deleted pre-existing /home/kdixler/.pulumi/bin
::debug::Downloading https://get.pulumi.com/releases/sdk/pulumi-v3.22.1-linux-x64.tar.gz
::debug::Destination 1/53f6a177-f970-4f61-bafa-5428a7a3883b
::debug::download complete
::debug::successfully downloaded https://get.pulumi.com/releases/sdk/pulumi-v3.22.1-linux-x64.tar.gz
::debug::Successfully created /home/kdixler/.pulumi
::debug::Checking tar --version
::debug::tar (GNU tar) 1.34%0ACopyright (C) 2021 Free Software Foundation, Inc.%0ALicense GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.%0AThis is free software: you are free to change and redistribute it.%0AThere is NO WARRANTY, to the extent permitted by law.%0A%0AWritten by John Gilmore and Jay Fenlason.
[command]/usr/bin/tar xz --warning=no-unknown-keyword --overwrite -C /home/kdixler/.pulumi -f 1/53f6a177-f970-4f61-bafa-5428a7a3883b
::debug::Successfully extracted 1/53f6a177-f970-4f61-bafa-5428a7a3883b to /home/kdixler/.pulumi
::debug::Successfully renamed /home/kdixler/.pulumi/pulumi to /home/kdixler/.pulumi/bin
::debug::Caching tool pulumi 3.22.1 x64
::debug::source dir: /home/kdixler/.pulumi/bin
::debug::destination 1/pulumi/3.22.1/x64
::debug::finished caching tool
::add-path::1/pulumi/3.22.1/x64
Logging into to Pulumi
Working directory resolved at /home/kdixler/Documents/issues/8710.pulumi
pulumi destroy on dev
Destroying (dev)


Destroying (dev)


View Live: https://app.pulumi.com/kyle/8710.pulumi/dev/updates/7


View Live: https://app.pulumi.com/kyle/8710.pulumi/dev/updates/7






 -  aws:apigateway:Stage myapi deleting 

 -  aws:apigateway:Stage myapi deleting 

 -  aws:apigateway:Stage myapi deleted 

 -  aws:apigateway:Stage myapi deleted 

 -  aws:lambda:Permission myapi-fa520765 deleting 

 -  aws:lambda:Permission myapi-fa520765 deleting 

 -  aws:lambda:Permission myapi-fa520765 deleted 

 -  aws:lambda:Permission myapi-fa520765 deleted 

 -  aws:apigateway:Deployment myapi deleting 

 -  aws:apigateway:Deployment myapi deleting 

 -  aws:apigateway:Deployment myapi deleted 

 -  aws:apigateway:Deployment myapi deleted 

 -  aws:apigateway:RestApi myapi deleting 

 -  aws:apigateway:RestApi myapi deleting 

 -  aws:apigateway:RestApi myapi deleted 

 -  aws:apigateway:RestApi myapi deleted 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-a1de8170 deleting 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-a1de8170 deleting 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-1b4caae3 deleting 
 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-4aaabb8e deleting 
 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-7cd09230 deleting 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-1b4caae3 deleting 
 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-4aaabb8e deleting 
 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-7cd09230 deleting 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-6c156834 deleting 
 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-74d12784 deleting 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-6c156834 deleting 
 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-74d12784 deleting 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-b5aeb6b6 deleting 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-b5aeb6b6 deleting 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-e1a3786d deleting 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-e1a3786d deleting 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-019020e7 deleting 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-019020e7 deleting 

 -  aws:lambda:Function BROKEN_LAMBDA deleting 

 -  aws:lambda:Function BROKEN_LAMBDA deleting 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-a1de8170 deleted 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-a1de8170 deleted 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-1b4caae3 deleted 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-1b4caae3 deleted 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-4aaabb8e deleted 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-4aaabb8e deleted 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-7cd09230 deleted 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-7cd09230 deleted 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-6c156834 deleted 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-6c156834 deleted 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-74d12784 deleted 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-74d12784 deleted 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-b5aeb6b6 deleted 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-b5aeb6b6 deleted 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-e1a3786d deleted 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-e1a3786d deleted 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-019020e7 deleted 

 -  aws:iam:RolePolicyAttachment BROKEN_LAMBDA-019020e7 deleted 

 -  aws:lambda:Function BROKEN_LAMBDA deleted 

 -  aws:lambda:Function BROKEN_LAMBDA deleted 

 -  aws:apigateway:x:API myapi deleting 

 -  aws:apigateway:x:API myapi deleting 

 -  aws:iam:Role BROKEN_LAMBDA deleting 

 -  aws:iam:Role BROKEN_LAMBDA deleting 

 -  aws:iam:Role BROKEN_LAMBDA deleted 

 -  aws:iam:Role BROKEN_LAMBDA deleted 

 -  pulumi:pulumi:Stack 8710.pulumi-dev deleting 

 -  pulumi:pulumi:Stack 8710.pulumi-dev deleting 

 -  aws:apigateway:x:API myapi deleted 
 -  pulumi:pulumi:Stack 8710.pulumi-dev deleted 

 -  aws:apigateway:x:API myapi deleted 
 -  pulumi:pulumi:Stack 8710.pulumi-dev deleted 

 
Outputs:
  - apigURI  : "https://w1mkeuffz3.execute-api.us-east-1.amazonaws.com/stage/"
  - lambdaArn: "arn:aws:lambda:us-east-1:616138583583:function:BROKEN_LAMBDA-890e82c"

Resources:
    - 17 deleted

Duration: 16s


 
Outputs:
  - apigURI  : "https://w1mkeuffz3.execute-api.us-east-1.amazonaws.com/stage/"
  - lambdaArn: "arn:aws:lambda:us-east-1:616138583583:function:BROKEN_LAMBDA-890e82c"

Resources:
    - 17 deleted

Duration: 16s


The resources in the stack have been deleted, but the history and configuration associated with the stack are still maintained. 
If you want to remove the stack completely, run 'pulumi stack rm dev'.

The resources in the stack have been deleted, but the history and configuration associated with the stack are still maintained. 
If you want to remove the stack completely, run 'pulumi stack rm dev'.

RUNNER_TEMP=1 RUNNER_TOOL_CACHE=1 npx ts-node index.ts destroy  6.99s user 2.28s system 17% cpu 53.082 total

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment