stratosphere-0.2.0: EDSL for AWS CloudFormation

Safe HaskellNone
LanguageHaskell2010

Stratosphere.Resources.LambdaPermission

Description

The AWS::Lambda::Permission resource associates a policy statement with a specific AWS Lambda (Lambda) function's access policy. The function policy grants a specific AWS service or application permission to invoke the function. For more information, see AddPermission in the AWS Lambda Developer Guide.

Synopsis

Documentation

data LambdaPermission Source #

Full data type definition for LambdaPermission. See lambdaPermission for a more convenient constructor.

Instances

Show LambdaPermission Source # 
Generic LambdaPermission Source # 
ToJSON LambdaPermission Source # 
FromJSON LambdaPermission Source # 
type Rep LambdaPermission Source # 
type Rep LambdaPermission = D1 (MetaData "LambdaPermission" "Stratosphere.Resources.LambdaPermission" "stratosphere-0.2.0-B1WeL9cnxuQ3qer3csMa6f" False) (C1 (MetaCons "LambdaPermission" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_lambdaPermissionAction") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Val Text))) (S1 (MetaSel (Just Symbol "_lambdaPermissionFunctionName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Val Text)))) ((:*:) (S1 (MetaSel (Just Symbol "_lambdaPermissionPrincipal") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Val Text))) ((:*:) (S1 (MetaSel (Just Symbol "_lambdaPermissionSourceAccount") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Text)))) (S1 (MetaSel (Just Symbol "_lambdaPermissionSourceArn") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Text))))))))

lambdaPermission Source #

Constructor for LambdaPermission containing required fields as arguments.

lpAction :: Lens' LambdaPermission (Val Text) Source #

The Lambda actions that you want to allow in this statement. For example, you can specify lambda:CreateFunction to specify a certain action, or use a wildcard (lambda:*) to grant permission to all Lambda actions. For a list of actions, see Actions and Condition Context Keys for AWS Lambda in the IAM User Guide.

lpFunctionName :: Lens' LambdaPermission (Val Text) Source #

The name (physical ID) or Amazon Resource Name (ARN) of the Lambda function that you want to associate with this statement. Lambda adds this statement to the function's access policy.

lpPrincipal :: Lens' LambdaPermission (Val Text) Source #

The entity for which you are granting permission to invoke the Lambda function. This entity can be any valid AWS service principal, such as s3.amazonaws.com or sns.amazonaws.com, or, if you are granting cross-account permission, an AWS account ID. For example, you might want to allow a custom application in another AWS account to push events to Lambda by invoking your function.

lpSourceAccount :: Lens' LambdaPermission (Maybe (Val Text)) Source #

The AWS account ID (without hyphens) of the source owner. For example, if you specify an S3 bucket in the SourceArn property, this value is the bucket owner's account ID. You can use this property to ensure that all source principals are owned by a specific account. Important This property is not supported by all event sources. For more information, see the SourceAccount parameter for the AddPermission action in the AWS Lambda Developer Guide.

lpSourceArn :: Lens' LambdaPermission (Maybe (Val Text)) Source #

The ARN of a resource that is invoking your function. When granting Amazon Simple Storage Service (Amazon S3) permission to invoke your function, specify this property with the bucket ARN as its value. This ensures that events generated only from the specified bucket, not just any bucket from any AWS account that creates a mapping to your function, can invoke the function. Important This property is not supported by all event sources. For more information, see the SourceArn parameter for the AddPermission action in the AWS Lambda Developer Guide.