0.1.491 • Published 2 days ago

@wheatstalk/aws-cdk-exec v0.1.491

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
2 days ago

AWS CDK Exec

Provides cdk-exec, an AWS CDK dev tool to quickly find and execute your Lambdas and State Machines in AWS.

$ cdk-exec integ-cdk-exec/Function --input '{"succeed":true}'
⚡  Executing integ-cdk-exec/Function/Resource (integ-cdk-exec-Function76856677-k5ehIzbG2T6S)


✨  Final status of integ-cdk-exec/Function/Resource

Output:
{
  "succeed": true,
  "message": "Hello from Lambda"
}

✅  Execution succeeded

WARNING: Do not rely on this tool to execute your functions in a production environment. Now that you have been warned, please read on.

Exporting Environment Variables

If during local development you want to access the environment variables configured for a Lambda Function, such as to see the arns of real resources, you may use cdk-exec --export-env integ-cdk-exec/Function.

$ cdk-exec --export-env integ-cdk-exec/Function
FOO=bar
SECRET_ARN=arn:aws:secretsmanager:REGION:000000000000:secret:SecretA720EF05-qa4X020B9S3f-UI3sIs

Usage

First, add @wheatstalk/aws-cdk-exec to your project's dev dependencies. Then synthesize your app to a cdk.out directory. Once synthesized there, you can execute one of your resources with cdk-exec.

If you're using cdk watch, the CDK will keep your cdk.out up to date, so when you use watch mode, you can run cdk-exec (roughly) at will.

Full Example

app.ts

import { App, Stack } from 'aws-cdk-lib';
import { Code, Function, Runtime } from 'aws-cdk-lib/aws-lambda';
import { Choice, Condition, Fail, StateMachine, Succeed } from 'aws-cdk-lib/aws-stepfunctions';

const app = new App();
const stack = new Stack(app, 'integ-cdk-exec');

new StateMachine(stack, 'StateMachine', {
  definition: new Choice(stack, 'Choice')
    .when(Condition.isPresent('$.succeed'),
      new Succeed(stack, 'ChoiceSucceed'))
    .otherwise(
      new Fail(stack, 'ChoiceFail')),
});

new Function(stack, 'Function', {
  runtime: Runtime.PYTHON_3_9,
  handler: 'index.handler',
  code: Code.fromInline(`
def handler(event, context):
  if "succeed" in event:
    return {"succeed": True, "message": "Hello from Lambda"}

  raise Exception('Error from lambda')
`),
});

app.synth();

Synthesize your app

The cdk-exec tool operates on a synthesized cloud assembly (your cdk.out directory), so the first step is to synthesize your app:

$ cdk synth --output cdk.out

Execute a state machine with input

$ cdk-exec integ-cdk-exec/StateMachine --input '{"succeed":true}'
⚡  Executing integ-cdk-exec/StateMachine/Resource (arn:aws:states:REGION:000000000000:stateMachine:StateMachine2E01A3A5-8z4XHXAvT3qq)


✨  Final status of integ-cdk-exec/StateMachine/Resource

Output:
{
  "succeed": true
}

✅  Execution succeeded

Execute a lambda with input

$ cdk-exec integ-cdk-exec/Function --input '{"succeed":true}'
⚡  Executing integ-cdk-exec/Function/Resource (integ-cdk-exec-Function76856677-k5ehIzbG2T6S)


✨  Final status of integ-cdk-exec/Function/Resource (integ-cdk-exec-Function76856677-k5ehIzbG2T6S)

Output:
{
  "succeed": true,
  "message": "Hello from Lambda"
}

✅  Execution succeeded

Use a custom cloud assembly directory

$ cdk-exec --app path/to/cdkout integ-cdk-exec/Function --input '{"json":"here"}'
⚡  Executing integ-cdk-exec/Function/Resource (integ-cdk-exec-Function76856677-k5ehIzbG2T6S)


✨  Final status of integ-cdk-exec/Function/Resource

Output:
{
  "succeed": true,
  "message": "Hello from Lambda"
}

✅  Execution succeeded

Resource Matching

Path matching

cdk-exec searches for resources matching the exact path you provide and any deeper nested resources. This is how we support both L1 & L2 constructs, but is also a convenient shortcut when your app has only one executable resource.

For example, if you have only one function or state machine in a stack, you can type cdk-exec my-stack and your resource will be found. If your entire app has only one executable resource, you can run cdk-exec without arguments to run it.

Tag matching

When running cdk-exec --tag mytag=value, cdk-exec will search for a resource matching tags that you have defined in your CDK app. If more than one resource would match, by default cdk-exec will produce an error message. But, if you want to execute several resources simultaneously, cdk-exec provides --all.

We have also added aliases and shorthands to streamline typing label-matching commands. For example, cdk-exec -at mytag will try to run all resources with a tag named mytag, regardless of the value of the tag. This has the same effect as typing the longer cdk-exec --all --tag mytag command.

Metadata matching

When running cdk-exec --metadata mymeta=myvalue, cdk-exec will search for and run resources containing the given metadata. Same as for tag matching, you can run one or more matching resources if you specify the --all option.

Notes

Path metadata

This tool requires path metadata to be enabled in your assembly.

0.1.491

2 days ago

0.1.490

3 days ago

0.1.489

5 days ago

0.1.488

6 days ago

0.1.487

7 days ago

0.1.486

8 days ago

0.1.485

9 days ago

0.1.484

10 days ago

0.1.483

11 days ago

0.1.482

12 days ago

0.1.481

13 days ago

0.1.480

14 days ago

0.1.479

15 days ago

0.1.478

16 days ago

0.1.477

17 days ago

0.1.476

18 days ago

0.1.475

19 days ago

0.1.474

20 days ago

0.1.473

21 days ago

0.1.472

22 days ago

0.1.471

23 days ago

0.1.470

25 days ago

0.1.469

27 days ago

0.1.468

28 days ago

0.1.467

29 days ago

0.1.466

30 days ago

0.1.465

1 month ago

0.1.464

1 month ago

0.1.463

1 month ago

0.1.462

1 month ago

0.1.461

1 month ago

0.1.460

1 month ago

0.1.459

1 month ago

0.1.458

1 month ago

0.1.457

1 month ago

0.1.456

1 month ago

0.1.455

1 month ago

0.1.454

1 month ago

0.1.453

1 month ago

0.1.452

1 month ago

0.1.451

1 month ago

0.1.450

2 months ago

0.1.449

2 months ago

0.1.448

2 months ago

0.1.447

2 months ago

0.1.446

2 months ago

0.1.445

2 months ago

0.1.444

2 months ago

0.1.443

2 months ago

0.1.442

2 months ago

0.1.439

2 months ago

0.1.440

2 months ago

0.1.441

2 months ago

0.1.438

2 months ago

0.1.437

2 months ago

0.1.436

2 months ago

0.1.435

2 months ago

0.1.434

2 months ago

0.1.433

2 months ago

0.1.432

2 months ago

0.1.431

2 months ago

0.1.430

2 months ago

0.1.429

2 months ago

0.1.428

2 months ago

0.1.426

2 months ago

0.1.427

2 months ago

0.1.425

2 months ago

0.1.422

3 months ago

0.1.421

3 months ago

0.1.424

2 months ago

0.1.423

2 months ago

0.1.420

3 months ago

0.1.419

3 months ago

0.1.417

3 months ago

0.1.418

3 months ago

0.1.416

3 months ago

0.1.415

3 months ago

0.1.414

3 months ago

0.1.413

3 months ago

0.1.412

3 months ago

0.1.411

3 months ago

0.1.410

3 months ago

0.1.409

3 months ago

0.1.408

3 months ago

0.1.407

3 months ago

0.1.406

3 months ago

0.1.405

3 months ago

0.1.404

3 months ago

0.1.403

3 months ago

0.1.402

3 months ago

0.1.401

3 months ago

0.1.400

3 months ago

0.1.399

3 months ago

0.1.398

3 months ago

0.1.397

3 months ago

0.1.396

3 months ago

0.1.395

3 months ago

0.1.378

1 year ago

0.1.377

1 year ago

0.1.379

1 year ago

0.1.374

1 year ago

0.1.373

1 year ago

0.1.376

1 year ago

0.1.375

1 year ago

0.1.370

1 year ago

0.1.372

1 year ago

0.1.371

1 year ago

0.1.389

1 year ago

0.1.388

1 year ago

0.1.385

1 year ago

0.1.384

1 year ago

0.1.387

1 year ago

0.1.386

1 year ago

0.1.381

1 year ago

0.1.380

1 year ago

0.1.383

1 year ago

0.1.382

1 year ago

0.1.390

1 year ago

0.1.392

1 year ago

0.1.391

1 year ago

0.1.394

1 year ago

0.1.393

1 year ago

0.1.367

1 year ago

0.1.369

1 year ago

0.1.368

1 year ago

0.1.239

2 years ago

0.1.118

2 years ago

0.1.359

1 year ago

0.1.238

2 years ago

0.1.117

2 years ago

0.1.119

2 years ago

0.1.356

1 year ago

0.1.235

2 years ago

0.1.114

2 years ago

0.1.355

1 year ago

0.1.234

2 years ago

0.1.113

2 years ago

0.1.358

1 year ago

0.1.237

2 years ago

0.1.116

2 years ago

0.1.357

1 year ago

0.1.236

2 years ago

0.1.115

2 years ago

0.1.352

1 year ago

0.1.231

2 years ago

0.1.110

2 years ago

0.1.351

1 year ago

0.1.230

2 years ago

0.1.354

1 year ago

0.1.233

2 years ago

0.1.112

2 years ago

0.1.353

1 year ago

0.1.232

2 years ago

0.1.111

2 years ago

0.1.350

1 year ago

0.1.129

2 years ago

0.1.249

2 years ago

0.1.128

2 years ago

0.1.246

2 years ago

0.1.125

2 years ago

0.1.366

1 year ago

0.1.245

2 years ago

0.1.124

2 years ago

0.1.248

2 years ago

0.1.127

2 years ago

0.1.247

2 years ago

0.1.126

2 years ago

0.1.363

1 year ago

0.1.242

2 years ago

0.1.121

2 years ago

0.1.362

1 year ago

0.1.241

2 years ago

0.1.120

2 years ago

0.1.365

1 year ago

0.1.244

2 years ago

0.1.123

2 years ago

0.1.364

1 year ago

0.1.243

2 years ago

0.1.122

2 years ago

0.1.361

1 year ago

0.1.240

2 years ago

0.1.360

1 year ago

0.1.139

2 years ago

0.1.257

2 years ago

0.1.136

2 years ago

0.1.256

2 years ago

0.1.135

2 years ago

0.1.259

2 years ago

0.1.138

2 years ago

0.1.258

2 years ago

0.1.137

2 years ago

0.1.253

2 years ago

0.1.132

2 years ago

0.1.252

2 years ago

0.1.131

2 years ago

0.1.255

2 years ago

0.1.134

2 years ago

0.1.254

2 years ago

0.1.133

2 years ago

0.1.251

2 years ago

0.1.130

2 years ago

0.1.250

2 years ago

0.1.268

1 year ago

0.1.147

2 years ago

0.1.267

1 year ago

0.1.146

2 years ago

0.1.149

2 years ago

0.1.269

1 year ago

0.1.148

2 years ago

0.1.264

1 year ago

0.1.143

2 years ago

0.1.263

2 years ago

0.1.142

2 years ago

0.1.266

1 year ago

0.1.145

2 years ago

0.1.265

1 year ago

0.1.144

2 years ago

0.1.260

2 years ago

0.1.262

2 years ago

0.1.141

2 years ago

0.1.261

2 years ago

0.1.140

2 years ago

0.1.309

1 year ago

0.1.308

1 year ago

0.1.316

1 year ago

0.1.315

1 year ago

0.1.318

1 year ago

0.1.317

1 year ago

0.1.312

1 year ago

0.1.311

1 year ago

0.1.314

1 year ago

0.1.313

1 year ago

0.1.310

1 year ago

0.1.319

1 year ago

0.1.327

1 year ago

0.1.206

2 years ago

0.1.326

1 year ago

0.1.205

2 years ago

0.1.329

1 year ago

0.1.208

2 years ago

0.1.328

1 year ago

0.1.207

2 years ago

0.1.323

1 year ago

0.1.202

2 years ago

0.1.322

1 year ago

0.1.201

2 years ago

0.1.325

1 year ago

0.1.204

2 years ago

0.1.324

1 year ago

0.1.203

2 years ago

0.1.321

1 year ago

0.1.200

2 years ago

0.1.320

1 year ago

0.1.209

2 years ago

0.1.338

1 year ago

0.1.217

2 years ago

0.1.337

1 year ago

0.1.216

2 years ago

0.1.219

2 years ago

0.1.339

1 year ago

0.1.218

2 years ago

0.1.334

1 year ago

0.1.213

2 years ago

0.1.333

1 year ago

0.1.212

2 years ago

0.1.336

1 year ago

0.1.215

2 years ago

0.1.335

1 year ago

0.1.214

2 years ago

0.1.330

1 year ago

0.1.332

1 year ago

0.1.211

2 years ago

0.1.331

1 year ago

0.1.210

2 years ago

0.1.349

1 year ago

0.1.228

2 years ago

0.1.107

2 years ago

0.1.348

1 year ago

0.1.227

2 years ago

0.1.106

2 years ago

0.1.109

2 years ago

0.1.229

2 years ago

0.1.108

2 years ago

0.1.345

1 year ago

0.1.224

2 years ago

0.1.103

2 years ago

0.1.344

1 year ago

0.1.223

2 years ago

0.1.102

2 years ago

0.1.347

1 year ago

0.1.226

2 years ago

0.1.105

2 years ago

0.1.346

1 year ago

0.1.225

2 years ago

0.1.104

2 years ago

0.1.341

1 year ago

0.1.220

2 years ago

0.1.340

1 year ago

0.1.343

1 year ago

0.1.222

2 years ago

0.1.101

2 years ago

0.1.342

1 year ago

0.1.221

2 years ago

0.1.100

2 years ago

0.1.190

2 years ago

0.1.52

2 years ago

0.1.53

2 years ago

0.1.192

2 years ago

0.1.54

2 years ago

0.1.191

2 years ago

0.1.55

2 years ago

0.1.56

2 years ago

0.1.57

2 years ago

0.1.58

2 years ago

0.1.59

2 years ago

0.1.50

2 years ago

0.1.51

2 years ago

0.1.198

2 years ago

0.1.49

2 years ago

0.1.197

2 years ago

0.1.199

2 years ago

0.1.194

2 years ago

0.1.193

2 years ago

0.1.196

2 years ago

0.1.195

2 years ago

0.1.41

2 years ago

0.1.42

2 years ago

0.1.43

2 years ago

0.1.44

2 years ago

0.1.45

2 years ago

0.1.46

2 years ago

0.1.47

2 years ago

0.1.48

2 years ago

0.1.40

2 years ago

0.1.38

2 years ago

0.1.39

2 years ago

0.1.30

2 years ago

0.1.31

2 years ago

0.1.32

2 years ago

0.1.33

2 years ago

0.1.34

2 years ago

0.1.35

2 years ago

0.1.36

2 years ago

0.1.37

2 years ago

0.1.27

2 years ago

0.1.28

2 years ago

0.1.29

2 years ago

0.1.22

2 years ago

0.1.23

2 years ago

0.1.24

2 years ago

0.1.25

2 years ago

0.1.26

2 years ago

0.1.305

1 year ago

0.1.304

1 year ago

0.1.307

1 year ago

0.1.306

1 year ago

0.1.301

1 year ago

0.1.300

1 year ago

0.1.303

1 year ago

0.1.302

1 year ago

0.1.96

2 years ago

0.1.97

2 years ago

0.1.98

2 years ago

0.1.99

2 years ago

0.1.90

2 years ago

0.1.91

2 years ago

0.1.92

2 years ago

0.1.93

2 years ago

0.1.94

2 years ago

0.1.95

2 years ago

0.1.279

1 year ago

0.1.158

2 years ago

0.1.278

1 year ago

0.1.157

2 years ago

0.1.159

2 years ago

0.1.275

1 year ago

0.1.154

2 years ago

0.1.274

1 year ago

0.1.153

2 years ago

0.1.277

1 year ago

0.1.156

2 years ago

0.1.276

1 year ago

0.1.155

2 years ago

0.1.271

1 year ago

0.1.150

2 years ago

0.1.270

1 year ago

0.1.273

1 year ago

0.1.152

2 years ago

0.1.272

1 year ago

0.1.151

2 years ago

0.1.85

2 years ago

0.1.86

2 years ago

0.1.280

1 year ago

0.1.87

2 years ago

0.1.88

2 years ago

0.1.89

2 years ago

0.1.80

2 years ago

0.1.81

2 years ago

0.1.82

2 years ago

0.1.83

2 years ago

0.1.84

2 years ago

0.1.169

2 years ago

0.1.289

1 year ago

0.1.168

2 years ago

0.1.286

1 year ago

0.1.165

2 years ago

0.1.285

1 year ago

0.1.164

2 years ago

0.1.288

1 year ago

0.1.167

2 years ago

0.1.287

1 year ago

0.1.166

2 years ago

0.1.282

1 year ago

0.1.161

2 years ago

0.1.281

1 year ago

0.1.160

2 years ago

0.1.284

1 year ago

0.1.163

2 years ago

0.1.283

1 year ago

0.1.162

2 years ago

0.1.74

2 years ago

0.1.75

2 years ago

0.1.291

1 year ago

0.1.170

2 years ago

0.1.76

2 years ago

0.1.290

1 year ago

0.1.77

2 years ago

0.1.78

2 years ago

0.1.79

2 years ago

0.1.70

2 years ago

0.1.71

2 years ago

0.1.72

2 years ago

0.1.73

2 years ago

0.1.179

2 years ago

0.1.297

1 year ago

0.1.176

2 years ago

0.1.296

1 year ago

0.1.175

2 years ago

0.1.299

1 year ago

0.1.178

2 years ago

0.1.298

1 year ago

0.1.177

2 years ago

0.1.293

1 year ago

0.1.172

2 years ago

0.1.292

1 year ago

0.1.171

2 years ago

0.1.295

1 year ago

0.1.174

2 years ago

0.1.294

1 year ago

0.1.173

2 years ago

0.1.63

2 years ago

0.1.64

2 years ago

0.1.181

2 years ago

0.1.65

2 years ago

0.1.180

2 years ago

0.1.66

2 years ago

0.1.67

2 years ago

0.1.68

2 years ago

0.1.69

2 years ago

0.1.60

2 years ago

0.1.61

2 years ago

0.1.62

2 years ago

0.1.187

2 years ago

0.1.186

2 years ago

0.1.189

2 years ago

0.1.188

2 years ago

0.1.183

2 years ago

0.1.182

2 years ago

0.1.185

2 years ago

0.1.184

2 years ago

0.1.21

2 years ago

0.1.20

2 years ago

0.1.19

2 years ago

0.1.18

2 years ago

0.1.17

2 years ago

0.1.16

2 years ago

0.1.15

2 years ago

0.1.14

2 years ago

0.1.13

2 years ago

0.1.12

2 years ago

0.1.11

2 years ago

0.1.10

2 years ago

0.1.9

2 years ago

0.1.8

2 years ago

0.1.7

2 years ago

0.1.6

2 years ago

0.1.5

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago

0.0.20

2 years ago

0.0.19

2 years ago

0.0.18

2 years ago

0.0.17

2 years ago

0.0.16

2 years ago

0.0.15

2 years ago

0.0.14

2 years ago

0.0.13

2 years ago

0.0.12

2 years ago

0.0.11

2 years ago

0.0.10

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago