{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/AddPermissionRequest",
"title": "AddPermissionRequest",
"type": "object",
"required": [
"StatementId",
"Action",
"Principal"
],
"properties": {
"StatementId": {
"allOf": [
{
"$ref": "#/components/schemas/StatementId"
},
{
"description": "A statement identifier that differentiates the statement from others in the same policy."
}
]
},
"Action": {
"allOf": [
{
"$ref": "#/components/schemas/Action"
},
{
"description": "The action that the principal can use on the function. For example, lambda:InvokeFunction or lambda:GetFunction."
}
]
},
"Principal": {
"allOf": [
{
"$ref": "#/components/schemas/Principal"
},
{
"description": "The Amazon Web Service or Amazon Web Services account that invokes the function. If you specify a service, use SourceArn or SourceAccount to limit who can invoke the function through that service."
}
]
},
"SourceArn": {
"allOf": [
{
"$ref": "#/components/schemas/Arn"
},
{
"description": "
For Amazon Web Services, the ARN of the Amazon Web Services resource that invokes the function. For example, an Amazon S3 bucket or Amazon SNS topic.
Note that Lambda configures the comparison using the StringLike operator.
SourceArn to ensure that the specified account owns the resource. It is possible for an Amazon S3 bucket to be deleted by its owner and recreated by another account."
}
]
},
"EventSourceToken": {
"allOf": [
{
"$ref": "#/components/schemas/EventSourceToken"
},
{
"description": "For Alexa Smart Home functions, a token that the invoker must supply."
}
]
},
"RevisionId": {
"allOf": [
{
"$ref": "#/components/schemas/String"
},
{
"description": "Update the policy only if the revision ID matches the ID that's specified. Use this option to avoid modifying a policy that has changed since you last read it."
}
]
},
"PrincipalOrgID": {
"allOf": [
{
"$ref": "#/components/schemas/PrincipalOrgID"
},
{
"description": "The identifier for your organization in Organizations. Use this to grant permissions to all the Amazon Web Services accounts under this organization."
}
]
},
"FunctionUrlAuthType": {
"allOf": [
{
"$ref": "#/components/schemas/FunctionUrlAuthType"
},
{
"description": "The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs."
}
]
}
}
}