public class AddPermissionRequest extends AmazonWebServiceRequest implements Serializable, Cloneable
AddPermission operation.
 Adds a permission to the resource policy associated with the specified AWS Lambda function. You use resource policies to grant permissions to event sources that use "push" model. In "push" model, event sources (such as Amazon S3 and custom applications) invoke your Lambda function. Each permission you add to the resource policy allows an event source, permission to invoke the Lambda function.
For information about the push model, see AWS Lambda: How it Works .
 If you are using versioning feature (see
  AWS Lambda Function Versioning and Aliases 
 ), a Lambda function can have multiple ARNs that can be used to
 invoke the function. Note that, each permission you add to resource
 policy using this API is specific to an ARN, specified using the
 Qualifier parameter
 
 This operation requires permission for the
 lambda:AddPermission action.
 
NOOP| Constructor and Description | 
|---|
| AddPermissionRequest() | 
| Modifier and Type | Method and Description | 
|---|---|
| AddPermissionRequest | clone()Creates a shallow clone of this request. | 
| boolean | equals(Object obj) | 
| String | getAction()The AWS Lambda action you want to allow in this statement. | 
| String | getFunctionName()Name of the Lambda function whose resource policy you are updating by
 adding a new permission. | 
| String | getPrincipal()The principal who is getting this permission. | 
| String | getQualifier()You can specify this optional query parameter to specify function
 version or alias name. | 
| String | getSourceAccount()The AWS account ID (without a hyphen) of the source owner. | 
| String | getSourceArn()This is optional; however, when granting Amazon S3 permission to
 invoke your function, you should specify this field with the bucket
 Amazon Resource Name (ARN) as its value. | 
| String | getStatementId()A unique statement identifier. | 
| int | hashCode() | 
| void | setAction(String action)The AWS Lambda action you want to allow in this statement. | 
| void | setFunctionName(String functionName)Name of the Lambda function whose resource policy you are updating by
 adding a new permission. | 
| void | setPrincipal(String principal)The principal who is getting this permission. | 
| void | setQualifier(String qualifier)You can specify this optional query parameter to specify function
 version or alias name. | 
| void | setSourceAccount(String sourceAccount)The AWS account ID (without a hyphen) of the source owner. | 
| void | setSourceArn(String sourceArn)This is optional; however, when granting Amazon S3 permission to
 invoke your function, you should specify this field with the bucket
 Amazon Resource Name (ARN) as its value. | 
| void | setStatementId(String statementId)A unique statement identifier. | 
| String | toString()Returns a string representation of this object; useful for testing and
 debugging. | 
| AddPermissionRequest | withAction(String action)The AWS Lambda action you want to allow in this statement. | 
| AddPermissionRequest | withFunctionName(String functionName)Name of the Lambda function whose resource policy you are updating by
 adding a new permission. | 
| AddPermissionRequest | withPrincipal(String principal)The principal who is getting this permission. | 
| AddPermissionRequest | withQualifier(String qualifier)You can specify this optional query parameter to specify function
 version or alias name. | 
| AddPermissionRequest | withSourceAccount(String sourceAccount)The AWS account ID (without a hyphen) of the source owner. | 
| AddPermissionRequest | withSourceArn(String sourceArn)This is optional; however, when granting Amazon S3 permission to
 invoke your function, you should specify this field with the bucket
 Amazon Resource Name (ARN) as its value. | 
| AddPermissionRequest | withStatementId(String statementId)A unique statement identifier. | 
getCloneRoot, getCloneSource, getCustomQueryParameters, getCustomRequestHeaders, getGeneralProgressListener, getReadLimit, getRequestClientOptions, getRequestCredentials, getRequestMetricCollector, getSdkClientExecutionTimeout, getSdkRequestTimeout, putCustomQueryParameter, putCustomRequestHeader, setGeneralProgressListener, setRequestCredentials, setRequestMetricCollector, setSdkClientExecutionTimeout, setSdkRequestTimeout, withGeneralProgressListener, withRequestMetricCollector, withSdkClientExecutionTimeout, withSdkRequestTimeoutpublic String getFunctionName()
You can specify an unqualified function name (for example, "Thumbnail") or you can specify Amazon Resource Name (ARN) of the function (for example, "arn:aws:lambda:us-west-2:account-id:function:ThumbNail"). AWS Lambda also allows you to specify only the account ID qualifier (for example, "account-id:Thumbnail"). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.
 Constraints:
 Length: 1 - 140
 Pattern: (arn:aws:lambda:)?([a-z]{2}-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?
You can specify an unqualified function name (for example, "Thumbnail") or you can specify Amazon Resource Name (ARN) of the function (for example, "arn:aws:lambda:us-west-2:account-id:function:ThumbNail"). AWS Lambda also allows you to specify only the account ID qualifier (for example, "account-id:Thumbnail"). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.
public void setFunctionName(String functionName)
You can specify an unqualified function name (for example, "Thumbnail") or you can specify Amazon Resource Name (ARN) of the function (for example, "arn:aws:lambda:us-west-2:account-id:function:ThumbNail"). AWS Lambda also allows you to specify only the account ID qualifier (for example, "account-id:Thumbnail"). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.
 Constraints:
 Length: 1 - 140
 Pattern: (arn:aws:lambda:)?([a-z]{2}-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?
functionName - Name of the Lambda function whose resource policy you are updating by
         adding a new permission. You can specify an unqualified function name (for example, "Thumbnail") or you can specify Amazon Resource Name (ARN) of the function (for example, "arn:aws:lambda:us-west-2:account-id:function:ThumbNail"). AWS Lambda also allows you to specify only the account ID qualifier (for example, "account-id:Thumbnail"). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.
public AddPermissionRequest withFunctionName(String functionName)
You can specify an unqualified function name (for example, "Thumbnail") or you can specify Amazon Resource Name (ARN) of the function (for example, "arn:aws:lambda:us-west-2:account-id:function:ThumbNail"). AWS Lambda also allows you to specify only the account ID qualifier (for example, "account-id:Thumbnail"). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.
Returns a reference to this object so that method calls can be chained together.
 Constraints:
 Length: 1 - 140
 Pattern: (arn:aws:lambda:)?([a-z]{2}-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?
functionName - Name of the Lambda function whose resource policy you are updating by
         adding a new permission. You can specify an unqualified function name (for example, "Thumbnail") or you can specify Amazon Resource Name (ARN) of the function (for example, "arn:aws:lambda:us-west-2:account-id:function:ThumbNail"). AWS Lambda also allows you to specify only the account ID qualifier (for example, "account-id:Thumbnail"). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.
public String getStatementId()
 Constraints:
 Length: 1 - 100
 Pattern: ([a-zA-Z0-9-_]+)
public void setStatementId(String statementId)
 Constraints:
 Length: 1 - 100
 Pattern: ([a-zA-Z0-9-_]+)
statementId - A unique statement identifier.public AddPermissionRequest withStatementId(String statementId)
Returns a reference to this object so that method calls can be chained together.
 Constraints:
 Length: 1 - 100
 Pattern: ([a-zA-Z0-9-_]+)
statementId - A unique statement identifier.public String getAction()
 Constraints:
 Pattern: (lambda:[*]|lambda:[a-zA-Z]+|[*])
public void setAction(String action)
 Constraints:
 Pattern: (lambda:[*]|lambda:[a-zA-Z]+|[*])
action - The AWS Lambda action you want to allow in this statement. Each Lambda
         action is a string starting with "lambda:" followed by the API name
         (see Operations). For example, "lambda:CreateFunction". You can
         use wildcard ("lambda:*") to grant permission for all AWS Lambda
         actions.public AddPermissionRequest withAction(String action)
Returns a reference to this object so that method calls can be chained together.
 Constraints:
 Pattern: (lambda:[*]|lambda:[a-zA-Z]+|[*])
action - The AWS Lambda action you want to allow in this statement. Each Lambda
         action is a string starting with "lambda:" followed by the API name
         (see Operations). For example, "lambda:CreateFunction". You can
         use wildcard ("lambda:*") to grant permission for all AWS Lambda
         actions.public String getPrincipal()
 Constraints:
 Pattern: .*
public void setPrincipal(String principal)
 Constraints:
 Pattern: .*
principal - The principal who is getting this permission. It can be Amazon S3
         service Principal ("s3.amazonaws.com") if you want Amazon S3 to invoke
         the function, an AWS account ID if you are granting cross-account
         permission, or any valid AWS service principal such as
         "sns.amazonaws.com". For example, you might want to allow a custom
         application in another AWS account to push events to AWS Lambda by
         invoking your function.public AddPermissionRequest withPrincipal(String principal)
Returns a reference to this object so that method calls can be chained together.
 Constraints:
 Pattern: .*
principal - The principal who is getting this permission. It can be Amazon S3
         service Principal ("s3.amazonaws.com") if you want Amazon S3 to invoke
         the function, an AWS account ID if you are granting cross-account
         permission, or any valid AWS service principal such as
         "sns.amazonaws.com". For example, you might want to allow a custom
         application in another AWS account to push events to AWS Lambda by
         invoking your function.public String getSourceArn()
 Constraints:
 Pattern: arn:aws:([a-zA-Z0-9\-])+:([a-z]{2}-[a-z]+-\d{1})?:(\d{12})?:(.*)
public void setSourceArn(String sourceArn)
 Constraints:
 Pattern: arn:aws:([a-zA-Z0-9\-])+:([a-z]{2}-[a-z]+-\d{1})?:(\d{12})?:(.*)
sourceArn - This is optional; however, when granting Amazon S3 permission to
         invoke your function, you should specify this field with the bucket
         Amazon Resource Name (ARN) as its value. This ensures that only events
         generated from the specified bucket can invoke the function.
         public AddPermissionRequest withSourceArn(String sourceArn)
Returns a reference to this object so that method calls can be chained together.
 Constraints:
 Pattern: arn:aws:([a-zA-Z0-9\-])+:([a-z]{2}-[a-z]+-\d{1})?:(\d{12})?:(.*)
sourceArn - This is optional; however, when granting Amazon S3 permission to
         invoke your function, you should specify this field with the bucket
         Amazon Resource Name (ARN) as its value. This ensures that only events
         generated from the specified bucket can invoke the function.
         public String getSourceAccount()
SourceArn identifies a bucket, then this
 is the bucket owner's account ID. You can use this additional
 condition to ensure the bucket you specify is owned by a specific
 account (it is possible the bucket owner deleted the bucket and some
 other AWS account created the bucket). You can also use this condition
 to specify all sources (that is, you don't specify the
 SourceArn) owned by a specific account.
 
 Constraints:
 Pattern: \d{12}
SourceArn identifies a bucket, then this
         is the bucket owner's account ID. You can use this additional
         condition to ensure the bucket you specify is owned by a specific
         account (it is possible the bucket owner deleted the bucket and some
         other AWS account created the bucket). You can also use this condition
         to specify all sources (that is, you don't specify the
         SourceArn) owned by a specific account.public void setSourceAccount(String sourceAccount)
SourceArn identifies a bucket, then this
 is the bucket owner's account ID. You can use this additional
 condition to ensure the bucket you specify is owned by a specific
 account (it is possible the bucket owner deleted the bucket and some
 other AWS account created the bucket). You can also use this condition
 to specify all sources (that is, you don't specify the
 SourceArn) owned by a specific account.
 
 Constraints:
 Pattern: \d{12}
sourceAccount - The AWS account ID (without a hyphen) of the source owner. For
         example, if the SourceArn identifies a bucket, then this
         is the bucket owner's account ID. You can use this additional
         condition to ensure the bucket you specify is owned by a specific
         account (it is possible the bucket owner deleted the bucket and some
         other AWS account created the bucket). You can also use this condition
         to specify all sources (that is, you don't specify the
         SourceArn) owned by a specific account.public AddPermissionRequest withSourceAccount(String sourceAccount)
SourceArn identifies a bucket, then this
 is the bucket owner's account ID. You can use this additional
 condition to ensure the bucket you specify is owned by a specific
 account (it is possible the bucket owner deleted the bucket and some
 other AWS account created the bucket). You can also use this condition
 to specify all sources (that is, you don't specify the
 SourceArn) owned by a specific account.
 Returns a reference to this object so that method calls can be chained together.
 Constraints:
 Pattern: \d{12}
sourceAccount - The AWS account ID (without a hyphen) of the source owner. For
         example, if the SourceArn identifies a bucket, then this
         is the bucket owner's account ID. You can use this additional
         condition to ensure the bucket you specify is owned by a specific
         account (it is possible the bucket owner deleted the bucket and some
         other AWS account created the bucket). You can also use this condition
         to specify all sources (that is, you don't specify the
         SourceArn) owned by a specific account.public String getQualifier()
arn:aws:lambda:aws-region:acct-id:function:function-name:2
 
If you specify alias name, for example "PROD", then the permission is valid only for requests made using the alias ARN:
arn:aws:lambda:aws-region:acct-id:function:function-name:PROD
 
If the qualifier is not specified, the permission is valid only when requests is made using unqualified function ARN.
arn:aws:lambda:aws-region:acct-id:function:function-name
 
 Constraints:
 Length: 1 - 128
 Pattern: (|[a-zA-Z0-9$_]+)
arn:aws:lambda:aws-region:acct-id:function:function-name:2
         
If you specify alias name, for example "PROD", then the permission is valid only for requests made using the alias ARN:
arn:aws:lambda:aws-region:acct-id:function:function-name:PROD
         
If the qualifier is not specified, the permission is valid only when requests is made using unqualified function ARN.
arn:aws:lambda:aws-region:acct-id:function:function-name
public void setQualifier(String qualifier)
arn:aws:lambda:aws-region:acct-id:function:function-name:2
 
If you specify alias name, for example "PROD", then the permission is valid only for requests made using the alias ARN:
arn:aws:lambda:aws-region:acct-id:function:function-name:PROD
 
If the qualifier is not specified, the permission is valid only when requests is made using unqualified function ARN.
arn:aws:lambda:aws-region:acct-id:function:function-name
 
 Constraints:
 Length: 1 - 128
 Pattern: (|[a-zA-Z0-9$_]+)
qualifier - You can specify this optional query parameter to specify function
         version or alias name. The permission will then apply to the specific
         qualified ARN. For example, if you specify function version 2 as the
         qualifier, then permission applies only when request is made using
         qualified function ARN:
         arn:aws:lambda:aws-region:acct-id:function:function-name:2
         
If you specify alias name, for example "PROD", then the permission is valid only for requests made using the alias ARN:
arn:aws:lambda:aws-region:acct-id:function:function-name:PROD
         
If the qualifier is not specified, the permission is valid only when requests is made using unqualified function ARN.
arn:aws:lambda:aws-region:acct-id:function:function-name
public AddPermissionRequest withQualifier(String qualifier)
arn:aws:lambda:aws-region:acct-id:function:function-name:2
 
If you specify alias name, for example "PROD", then the permission is valid only for requests made using the alias ARN:
arn:aws:lambda:aws-region:acct-id:function:function-name:PROD
 
If the qualifier is not specified, the permission is valid only when requests is made using unqualified function ARN.
arn:aws:lambda:aws-region:acct-id:function:function-name
 
Returns a reference to this object so that method calls can be chained together.
 Constraints:
 Length: 1 - 128
 Pattern: (|[a-zA-Z0-9$_]+)
qualifier - You can specify this optional query parameter to specify function
         version or alias name. The permission will then apply to the specific
         qualified ARN. For example, if you specify function version 2 as the
         qualifier, then permission applies only when request is made using
         qualified function ARN:
         arn:aws:lambda:aws-region:acct-id:function:function-name:2
         
If you specify alias name, for example "PROD", then the permission is valid only for requests made using the alias ARN:
arn:aws:lambda:aws-region:acct-id:function:function-name:PROD
         
If the qualifier is not specified, the permission is valid only when requests is made using unqualified function ARN.
arn:aws:lambda:aws-region:acct-id:function:function-name
public String toString()
toString in class ObjectObject.toString()public AddPermissionRequest clone()
AmazonWebServiceRequestclone in class AmazonWebServiceRequestObject.clone()Copyright © 2013 Amazon Web Services, Inc. All Rights Reserved.