diff --git a/main.go b/main.go index a7a2e29..8a43875 100644 --- a/main.go +++ b/main.go @@ -174,6 +174,11 @@ func main() { Usage: "A description of the function.", EnvVars: []string{"PLUGIN_DESCRIPTION", "DESCRIPTION", "INPUT_DESCRIPTION"}, }, + &cli.StringFlag{ + Name: "tracing-mode", + Usage: "The function's X-Ray tracing configuration.", + EnvVars: []string{"PLUGIN_TRACING_MODE", "TRACING_MODE", "INPUT_TRACING_MODE"}, + }, } if err := app.Run(os.Args); err != nil { @@ -210,6 +215,7 @@ func run(c *cli.Context) error { SecurityGroups: c.StringSlice("securitygroups"), Description: c.String("description"), SessionToken: c.String("session-token"), + TracingMode: c.String("tracing-mode"), }, Commit: Commit{ Sha: c.String("commit.sha"), diff --git a/plugin.go b/plugin.go index ed6d828..440d14d 100644 --- a/plugin.go +++ b/plugin.go @@ -45,6 +45,7 @@ type ( Description string Layers []string SessionToken string + TracingMode string } // Commit information. @@ -213,6 +214,13 @@ func (p Plugin) Exec() error { }) } + if p.Config.TracingMode != "" { + isUpdateConfig = true + cfg.SetTracingConfig(&lambda.TracingConfig{ + Mode: aws.String(p.Config.TracingMode), + }) + } + svc := lambda.New(sess, config) if isUpdateConfig {