Documentation ¶
Index ¶
- Variables
- func CreateLambdaCommand(name, role string, pkg []byte) lambda.CreateFunctionInput
- func Package(path string) ([]byte, error)
- func UpdateLambdaCommand(name string, pkg []byte) lambda.UpdateFunctionCodeInput
- func Validate(path string) error
- type Action
- type CreateAction
- type ExecutionRole
- type Lambda
- type LambdaClient
- type LambdaOptions
- type ResourcePolicy
- type RoleOptions
- type UpdateAction
Constants ¶
This section is empty.
Variables ¶
View Source
var ( DefaultAssumeRolePolicy = `` /* 130-byte string literal not displayed */ AWSLambdaBasicExecutionRole = `arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole` ThisAWSAccountCondition = `"Condition":{"StringEquals":{"aws:PrincipalAccount": "${aws:accountId}"}}"` )
Functions ¶
func CreateLambdaCommand ¶
func CreateLambdaCommand(name, role string, pkg []byte) lambda.CreateFunctionInput
func UpdateLambdaCommand ¶
func UpdateLambdaCommand(name string, pkg []byte) lambda.UpdateFunctionCodeInput
Types ¶
type Action ¶
type Action interface {
Do(c LambdaClient) error
}
func PrepareAction ¶
func PrepareAction(c LambdaClient, name, path, roleARN string) (Action, error)
type CreateAction ¶
func (CreateAction) Do ¶
func (a CreateAction) Do(c LambdaClient) error
type ExecutionRole ¶
type ExecutionRole struct { RoleName string AssumeRolePolicyDocument string ManagedPolicies []string InLinePolicy string }
func (ExecutionRole) AttachInLinePolicyCommand ¶
func (e ExecutionRole) AttachInLinePolicyCommand(policyName string) iam.PutRolePolicyInput
func (ExecutionRole) AttachManagedPolicyCommand ¶
func (e ExecutionRole) AttachManagedPolicyCommand(policyARN string) iam.AttachRolePolicyInput
func (ExecutionRole) CreateRoleCommand ¶
func (e ExecutionRole) CreateRoleCommand() iam.CreateRoleInput
type Lambda ¶
type Lambda struct { Name string HandlerPath string ExecutionRole ExecutionRole ResourcePolicy ResourcePolicy // contains filtered or unexported fields }
func NewLambda ¶
func NewLambda(name, handlerPath string, opts ...LambdaOptions) Lambda
func (Lambda) PrepareExecutionRole ¶
type LambdaClient ¶
type LambdaClient interface { CreateFunction(ctx context.Context, params *lambda.CreateFunctionInput, optFns ...func(*lambda.Options)) (*lambda.CreateFunctionOutput, error) UpdateFunctionCode(ctx context.Context, params *lambda.UpdateFunctionCodeInput, optFns ...func(*lambda.Options)) (*lambda.UpdateFunctionCodeOutput, error) GetFunction(ctx context.Context, params *lambda.GetFunctionInput, optFns ...func(*lambda.Options)) (*lambda.GetFunctionOutput, error) }
type LambdaOptions ¶
func WithAWSConfig ¶
func WithAWSConfig(cfg aws.Config) LambdaOptions
func WithExecutionRole ¶
func WithExecutionRole(name string, opts ...RoleOptions) LambdaOptions
func WithResourcePolicy ¶
func WithResourcePolicy(serviceName string) LambdaOptions
type ResourcePolicy ¶
type ResourcePolicy struct { Sid string Effect string Principal string Action string Resource string Condition string }
func (ResourcePolicy) CreateCommand ¶
func (r ResourcePolicy) CreateCommand(lambdaName, accountID string) lambda.AddPermissionInput
type RoleOptions ¶
type RoleOptions func(role *ExecutionRole)
func WithInlinePolicy ¶
func WithInlinePolicy(policy string) RoleOptions
func WithManagedPolicies ¶
func WithManagedPolicies(policyARNs ...string) RoleOptions
type UpdateAction ¶
func (UpdateAction) Do ¶
func (a UpdateAction) Do(c LambdaClient) error
Click to show internal directories.
Click to hide internal directories.