Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions plugins/aws/plugin.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ func New() schema.Plugin {
Executables: []schema.Executable{
AWSCLI(),
AWSCDKToolkit(),
AWSSAMCLI(),
},
}
}
31 changes: 31 additions & 0 deletions plugins/aws/sam.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package aws

import (
"github.com/1Password/shell-plugins/sdk"
"github.com/1Password/shell-plugins/sdk/needsauth"
"github.com/1Password/shell-plugins/sdk/schema"
"github.com/1Password/shell-plugins/sdk/schema/credname"
)

func AWSSAMCLI() schema.Executable {
return schema.Executable{
Name: "AWS SAM CLI",
Runs: []string{"sam"},
DocsURL: sdk.URL("https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/reference-sam-cli.html"),
NeedsAuth: needsauth.IfAll(
needsauth.NotForHelpOrVersion(),
needsauth.NotWithoutArgs(),
// skip 1Password authentication for "sam docs", "sam init", "sam local" and "sam validate" and their subcommands
needsauth.NotWhenContainsArgs("docs"),
needsauth.NotWhenContainsArgs("init"),
needsauth.NotWhenContainsArgs("local"),
needsauth.NotWhenContainsArgs("validate"),
),
Uses: []schema.CredentialUsage{
{
Name: credname.AccessKey,
Provisioner: CLIProvisioner{},
},
},
}
}