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 a 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, the permissions you add are specific to
 the Lambda function version or alias you specify in the
 AddPermission request via the Qualifier
 parameter. For more information about versioning, see
  AWS Lambda Function Versioning and Aliases 
 .
 
 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 | getEventSourceToken()Returns the value of the EventSourceToken property for this object. | 
| 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 use this optional query parameter to describe a qualified ARN
 using a function version or an 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 | setEventSourceToken(String eventSourceToken)Sets the value of the EventSourceToken property for this object. | 
| 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 use this optional query parameter to describe a qualified ARN
 using a function version or an 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 | withEventSourceToken(String eventSourceToken)Sets the value of the EventSourceToken property for this object. | 
| 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 use this optional query parameter to describe a qualified ARN
 using a function version or an 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 a 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 partial ARN (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 a 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 partial ARN (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 a 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 partial ARN (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 a 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 partial ARN (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 a 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 partial ARN (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 a 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 partial ARN (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()
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.
 
 Constraints:
 Pattern: (lambda:[*]|lambda:[a-zA-Z]+|[*])
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 void setAction(String action)
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.
 
 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)
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.
 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()
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.
 
 Constraints:
 Pattern: .*
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 void setPrincipal(String 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.
 
 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)
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.
 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 getEventSourceToken()
 Constraints:
 Length: 0 - 256
 Pattern: [a-zA-Z0-9._\-]+
public void setEventSourceToken(String eventSourceToken)
 Constraints:
 Length: 0 - 256
 Pattern: [a-zA-Z0-9._\-]+
eventSourceToken - The new value for the EventSourceToken property for this object.public AddPermissionRequest withEventSourceToken(String eventSourceToken)
Returns a reference to this object so that method calls can be chained together.
 Constraints:
 Length: 0 - 256
 Pattern: [a-zA-Z0-9._\-]+
eventSourceToken - The new value for the EventSourceToken property for this object.public String getQualifier()
arn:aws:lambda:aws-region:acct-id:function:function-name:2
 
If you specify an 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 an 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 an 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 use this optional query parameter to describe a qualified ARN
         using a function version or an 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 an 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 an 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 use this optional query parameter to describe a qualified ARN
         using a function version or an 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 an 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.