@Generated(value="software.amazon.awssdk:codegen") public final class AddPermissionRequest extends LambdaRequest implements ToCopyableBuilder<AddPermissionRequest.Builder,AddPermissionRequest>
Modifier and Type | Class and Description |
---|---|
static interface |
AddPermissionRequest.Builder |
Modifier and Type | Method and Description |
---|---|
String |
action()
The AWS Lambda action you want to allow in this statement.
|
static AddPermissionRequest.Builder |
builder() |
boolean |
equals(Object obj) |
String |
eventSourceToken()
A unique token that must be supplied by the principal invoking the function.
|
String |
functionName()
Name of the Lambda function whose resource policy you are updating by adding a new permission.
|
<T> Optional<T> |
getValueForField(String fieldName,
Class<T> clazz)
Used to retrieve the value of a field from any class that extends
SdkRequest . |
int |
hashCode() |
String |
principal()
The principal who is getting this permission.
|
String |
qualifier()
You can use this optional query parameter to describe a qualified ARN using a function version or an alias name.
|
String |
revisionId()
An optional value you can use to ensure you are updating the latest update of the function version or alias.
|
static Class<? extends AddPermissionRequest.Builder> |
serializableBuilderClass() |
String |
sourceAccount()
This parameter is used for S3 and SES.
|
String |
sourceArn()
This is optional; however, when granting permission to invoke your function, you should specify this field with
the Amazon Resource Name (ARN) as its value.
|
String |
statementId()
A unique statement identifier.
|
AddPermissionRequest.Builder |
toBuilder()
Take this object and create a builder that contains all of the current property values of this object.
|
String |
toString() |
overrideConfiguration
copy
public String 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 characters
in length.
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 characters in length.
public String statementId()
A unique statement identifier.
public String 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 . For example, lambda:CreateFunction
. You can use
wildcard (lambda:*
) to grant permission for all AWS Lambda actions.
lambda:
followed by the API name . For example, lambda:CreateFunction
. You can
use wildcard (lambda:*
) to grant permission for all AWS Lambda actions.public String 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.
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 sourceArn()
This is optional; however, when granting permission to invoke your function, you should specify this field with the Amazon Resource Name (ARN) as its value. This ensures that only events generated from the specified source can invoke the function.
If you add a permission without providing the source ARN, any AWS account that creates a mapping to your function ARN can send events to invoke your Lambda function.
If you add a permission without providing the source ARN, any AWS account that creates a mapping to your function ARN can send events to invoke your Lambda function.
public String sourceAccount()
This parameter is used for S3 and SES. 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.
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 eventSourceToken()
A unique token that must be supplied by the principal invoking the function. This is currently only used for Alexa Smart Home functions.
public String 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
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 revisionId()
An optional value you can use to ensure you are updating the latest update of the function version or alias. If
the RevisionID
you pass doesn't match the latest RevisionId
of the function or alias,
it will fail with an error message, advising you to retrieve the latest function version or alias
RevisionID
using either or .
RevisionID
you pass doesn't match the latest RevisionId
of the
function or alias, it will fail with an error message, advising you to retrieve the latest function
version or alias RevisionID
using either or .public AddPermissionRequest.Builder toBuilder()
ToCopyableBuilder
toBuilder
in interface ToCopyableBuilder<AddPermissionRequest.Builder,AddPermissionRequest>
toBuilder
in class LambdaRequest
public static AddPermissionRequest.Builder builder()
public static Class<? extends AddPermissionRequest.Builder> serializableBuilderClass()
public <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
SdkRequest
SdkRequest
. The field name
specified should match the member name from the corresponding service-2.json model specified in the
codegen-resources folder for a given service. The class specifies what class to cast the returned value to.
If the returned value is also a modeled class, the SdkRequest.getValueForField(String, Class)
method will
again be available.getValueForField
in class SdkRequest
fieldName
- The name of the member to be retrieved.clazz
- The class to cast the returned object to.Copyright © 2017 Amazon Web Services, Inc. All Rights Reserved.