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() |
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.
|
copyBaseTo, getCloneRoot, getCloneSource, getCustomQueryParameters, getCustomRequestHeaders, getGeneralProgressListener, getReadLimit, getRequestClientOptions, getRequestCredentials, getRequestMetricCollector, getSdkClientExecutionTimeout, getSdkRequestTimeout, putCustomQueryParameter, putCustomRequestHeader, setGeneralProgressListener, setRequestCredentials, setRequestMetricCollector, setSdkClientExecutionTimeout, setSdkRequestTimeout, withGeneralProgressListener, withRequestMetricCollector, withSdkClientExecutionTimeout, withSdkRequestTimeout
public 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 Object
Object.toString()
public AddPermissionRequest clone()
clone
in class AmazonWebServiceRequest
Copyright © 2016. All rights reserved.