UNPKG

iam-floyd

Version:

AWS IAM policy statement generator with fluent interface

1,208 lines 118 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Lambda = void 0; const shared_1 = require("../../shared"); /** * Statement provider for service [lambda](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awslambda.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ class Lambda extends shared_1.PolicyStatement { /** * Statement provider for service [lambda](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awslambda.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ constructor(sid) { super(sid); this.servicePrefix = 'lambda'; this.accessLevelList = { 'Permissions management': [ 'AddLayerVersionPermission', 'AddPermission', 'DisableReplication', 'EnableReplication', 'RemoveLayerVersionPermission', 'RemovePermission' ], Write: [ 'CreateAlias', 'CreateCodeSigningConfig', 'CreateEventSourceMapping', 'CreateFunction', 'CreateFunctionUrlConfig', 'DeleteAlias', 'DeleteCodeSigningConfig', 'DeleteEventSourceMapping', 'DeleteFunction', 'DeleteFunctionCodeSigningConfig', 'DeleteFunctionConcurrency', 'DeleteFunctionEventInvokeConfig', 'DeleteFunctionUrlConfig', 'DeleteLayerVersion', 'DeleteProvisionedConcurrencyConfig', 'InvokeAsync', 'InvokeFunction', 'InvokeFunctionUrl', 'PublishLayerVersion', 'PublishVersion', 'PutFunctionCodeSigningConfig', 'PutFunctionConcurrency', 'PutFunctionEventInvokeConfig', 'PutFunctionRecursionConfig', 'PutProvisionedConcurrencyConfig', 'PutRuntimeManagementConfig', 'UpdateAlias', 'UpdateCodeSigningConfig', 'UpdateEventSourceMapping', 'UpdateFunctionCode', 'UpdateFunctionCodeSigningConfig', 'UpdateFunctionConfiguration', 'UpdateFunctionEventInvokeConfig', 'UpdateFunctionUrlConfig' ], Read: [ 'GetAccountSettings', 'GetAlias', 'GetCodeSigningConfig', 'GetEventSourceMapping', 'GetFunction', 'GetFunctionCodeSigningConfig', 'GetFunctionConcurrency', 'GetFunctionConfiguration', 'GetFunctionEventInvokeConfig', 'GetFunctionRecursionConfig', 'GetFunctionUrlConfig', 'GetLayerVersion', 'GetLayerVersionPolicy', 'GetPolicy', 'GetProvisionedConcurrencyConfig', 'GetRuntimeManagementConfig', 'ListTags' ], List: [ 'ListAliases', 'ListCodeSigningConfigs', 'ListEventSourceMappings', 'ListFunctionEventInvokeConfigs', 'ListFunctionUrlConfigs', 'ListFunctions', 'ListFunctionsByCodeSigningConfig', 'ListLayerVersions', 'ListLayers', 'ListProvisionedConcurrencyConfigs', 'ListVersionsByFunction' ], Tagging: [ 'TagResource', 'UntagResource' ] }; } /** * Grants permission to add permissions to the resource-based policy of a version of an AWS Lambda layer * * Access Level: Permissions management * * https://docs.aws.amazon.com/lambda/latest/dg/API_AddLayerVersionPermission.html */ toAddLayerVersionPermission() { return this.to('AddLayerVersionPermission'); } /** * Grants permission to give an AWS service or another account permission to use an AWS Lambda function * * Access Level: Permissions management * * Possible conditions: * - .ifPrincipal() * - .ifFunctionUrlAuthType() * * https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html */ toAddPermission() { return this.to('AddPermission'); } /** * Grants permission to create an alias for a Lambda function version * * Access Level: Write * * https://docs.aws.amazon.com/lambda/latest/dg/API_CreateAlias.html */ toCreateAlias() { return this.to('CreateAlias'); } /** * Grants permission to create an AWS Lambda code signing config * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/lambda/latest/dg/API_CreateCodeSigningConfig.html */ toCreateCodeSigningConfig() { return this.to('CreateCodeSigningConfig'); } /** * Grants permission to create a mapping between an event source and an AWS Lambda function * * Access Level: Write * * Possible conditions: * - .ifFunctionArn() * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/lambda/latest/dg/API_CreateEventSourceMapping.html */ toCreateEventSourceMapping() { return this.to('CreateEventSourceMapping'); } /** * Grants permission to create an AWS Lambda function * * Access Level: Write * * Possible conditions: * - .ifLayer() * - .ifVpcIds() * - .ifSubnetIds() * - .ifSecurityGroupIds() * - .ifCodeSigningConfigArn() * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * Dependent actions: * - iam:PassRole * * https://docs.aws.amazon.com/lambda/latest/dg/API_CreateFunction.html */ toCreateFunction() { return this.to('CreateFunction'); } /** * Grants permission to create a function url configuration for a Lambda function * * Access Level: Write * * Possible conditions: * - .ifFunctionUrlAuthType() * - .ifFunctionArn() * * https://docs.aws.amazon.com/lambda/latest/dg/API_CreateFunctionUrlConfig.html */ toCreateFunctionUrlConfig() { return this.to('CreateFunctionUrlConfig'); } /** * Grants permission to delete an AWS Lambda function alias * * Access Level: Write * * https://docs.aws.amazon.com/lambda/latest/dg/API_DeleteAlias.html */ toDeleteAlias() { return this.to('DeleteAlias'); } /** * Grants permission to delete an AWS Lambda code signing config * * Access Level: Write * * https://docs.aws.amazon.com/lambda/latest/dg/API_DeleteCodeSigningConfig.html */ toDeleteCodeSigningConfig() { return this.to('DeleteCodeSigningConfig'); } /** * Grants permission to delete an AWS Lambda event source mapping * * Access Level: Write * * Possible conditions: * - .ifFunctionArn() * * https://docs.aws.amazon.com/lambda/latest/dg/API_DeleteEventSourceMapping.html */ toDeleteEventSourceMapping() { return this.to('DeleteEventSourceMapping'); } /** * Grants permission to delete an AWS Lambda function * * Access Level: Write * * https://docs.aws.amazon.com/lambda/latest/dg/API_DeleteFunction.html */ toDeleteFunction() { return this.to('DeleteFunction'); } /** * Grants permission to detach a code signing config from an AWS Lambda function * * Access Level: Write * * https://docs.aws.amazon.com/lambda/latest/dg/API_DeleteFunctionCodeSigningConfig.html */ toDeleteFunctionCodeSigningConfig() { return this.to('DeleteFunctionCodeSigningConfig'); } /** * Grants permission to remove a concurrent execution limit from an AWS Lambda function * * Access Level: Write * * https://docs.aws.amazon.com/lambda/latest/dg/API_DeleteFunctionConcurrency.html */ toDeleteFunctionConcurrency() { return this.to('DeleteFunctionConcurrency'); } /** * Grants permission to delete the configuration for asynchronous invocation for an AWS Lambda function, version, or alias * * Access Level: Write * * https://docs.aws.amazon.com/lambda/latest/dg/API_DeleteFunctionEventInvokeConfig.html */ toDeleteFunctionEventInvokeConfig() { return this.to('DeleteFunctionEventInvokeConfig'); } /** * Grants permission to delete function url configuration for a Lambda function * * Access Level: Write * * Possible conditions: * - .ifFunctionUrlAuthType() * - .ifFunctionArn() * * https://docs.aws.amazon.com/lambda/latest/dg/API_DeleteFunctionUrlConfig.html */ toDeleteFunctionUrlConfig() { return this.to('DeleteFunctionUrlConfig'); } /** * Grants permission to delete a version of an AWS Lambda layer * * Access Level: Write * * https://docs.aws.amazon.com/lambda/latest/dg/API_DeleteLayerVersion.html */ toDeleteLayerVersion() { return this.to('DeleteLayerVersion'); } /** * Grants permission to delete the provisioned concurrency configuration for an AWS Lambda function * * Access Level: Write * * https://docs.aws.amazon.com/lambda/latest/dg/API_DeleteProvisionedConcurrencyConfig.html */ toDeleteProvisionedConcurrencyConfig() { return this.to('DeleteProvisionedConcurrencyConfig'); } /** * Grants permission to disable replication for a Lambda@Edge function * * Access Level: Permissions management * * https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-edge-permissions.html */ toDisableReplication() { return this.to('DisableReplication'); } /** * Grants permission to enable replication for a Lambda@Edge function * * Access Level: Permissions management * * https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-edge-permissions.html */ toEnableReplication() { return this.to('EnableReplication'); } /** * Grants permission to view details about an account's limits and usage in an AWS Region * * Access Level: Read * * https://docs.aws.amazon.com/lambda/latest/dg/API_GetAccountSettings.html */ toGetAccountSettings() { return this.to('GetAccountSettings'); } /** * Grants permission to view details about an AWS Lambda function alias * * Access Level: Read * * https://docs.aws.amazon.com/lambda/latest/dg/API_GetAlias.html */ toGetAlias() { return this.to('GetAlias'); } /** * Grants permission to view details about an AWS Lambda code signing config * * Access Level: Read * * https://docs.aws.amazon.com/lambda/latest/dg/API_GetCodeSigningConfig.html */ toGetCodeSigningConfig() { return this.to('GetCodeSigningConfig'); } /** * Grants permission to view details about an AWS Lambda event source mapping * * Access Level: Read * * Possible conditions: * - .ifFunctionArn() * * https://docs.aws.amazon.com/lambda/latest/dg/API_GetEventSourceMapping.html */ toGetEventSourceMapping() { return this.to('GetEventSourceMapping'); } /** * Grants permission to view details about an AWS Lambda function * * Access Level: Read * * https://docs.aws.amazon.com/lambda/latest/dg/API_GetFunction.html */ toGetFunction() { return this.to('GetFunction'); } /** * Grants permission to view the code signing config arn attached to an AWS Lambda function * * Access Level: Read * * https://docs.aws.amazon.com/lambda/latest/dg/API_GetFunctionCodeSigningConfig.html */ toGetFunctionCodeSigningConfig() { return this.to('GetFunctionCodeSigningConfig'); } /** * Grants permission to view details about the reserved concurrency configuration for a function * * Access Level: Read * * https://docs.aws.amazon.com/lambda/latest/dg/API_GetFunctionConcurrency.html */ toGetFunctionConcurrency() { return this.to('GetFunctionConcurrency'); } /** * Grants permission to view details about the version-specific settings of an AWS Lambda function or version * * Access Level: Read * * https://docs.aws.amazon.com/lambda/latest/dg/API_GetFunctionConfiguration.html */ toGetFunctionConfiguration() { return this.to('GetFunctionConfiguration'); } /** * Grants permission to view the configuration for asynchronous invocation for a function, version, or alias * * Access Level: Read * * https://docs.aws.amazon.com/lambda/latest/dg/API_GetFunctionEventInvokeConfig.html */ toGetFunctionEventInvokeConfig() { return this.to('GetFunctionEventInvokeConfig'); } /** * Grants permission to view the recursion configuration of an AWS Lambda function * * Access Level: Read * * https://docs.aws.amazon.com/lambda/latest/dg/API_GetFunctionRecursionConfig.html */ toGetFunctionRecursionConfig() { return this.to('GetFunctionRecursionConfig'); } /** * Grants permission to read function url configuration for a Lambda function * * Access Level: Read * * Possible conditions: * - .ifFunctionUrlAuthType() * - .ifFunctionArn() * * https://docs.aws.amazon.com/lambda/latest/dg/API_GetFunctionUrlConfig.html */ toGetFunctionUrlConfig() { return this.to('GetFunctionUrlConfig'); } /** * Grants permission to view details about a version of an AWS Lambda layer. Note this action also supports GetLayerVersionByArn API * * Access Level: Read * * https://docs.aws.amazon.com/lambda/latest/dg/API_GetLayerVersion.html */ toGetLayerVersion() { return this.to('GetLayerVersion'); } /** * Grants permission to view the resource-based policy for a version of an AWS Lambda layer * * Access Level: Read * * https://docs.aws.amazon.com/lambda/latest/dg/API_GetLayerVersionPolicy.html */ toGetLayerVersionPolicy() { return this.to('GetLayerVersionPolicy'); } /** * Grants permission to view the resource-based policy for an AWS Lambda function, version, or alias * * Access Level: Read * * https://docs.aws.amazon.com/lambda/latest/dg/API_GetPolicy.html */ toGetPolicy() { return this.to('GetPolicy'); } /** * Grants permission to view the provisioned concurrency configuration for an AWS Lambda function's alias or version * * Access Level: Read * * https://docs.aws.amazon.com/lambda/latest/dg/API_GetProvisionedConcurrencyConfig.html */ toGetProvisionedConcurrencyConfig() { return this.to('GetProvisionedConcurrencyConfig'); } /** * Grants permission to view the runtime management configuration of an AWS Lambda function * * Access Level: Read * * https://docs.aws.amazon.com/lambda/latest/dg/API_GetRuntimeManagementConfig.html */ toGetRuntimeManagementConfig() { return this.to('GetRuntimeManagementConfig'); } /** * Grants permission to invoke a function asynchronously (Deprecated) * * Access Level: Write * * https://docs.aws.amazon.com/lambda/latest/dg/API_InvokeAsync.html */ toInvokeAsync() { return this.to('InvokeAsync'); } /** * Grants permission to invoke an AWS Lambda function * * Access Level: Write * * Possible conditions: * - .ifEventSourceToken() * * https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html */ toInvokeFunction() { return this.to('InvokeFunction'); } /** * Grants permission to invoke an AWS Lambda function through url * * Access Level: Write * * Possible conditions: * - .ifFunctionUrlAuthType() * - .ifFunctionArn() * - .ifEventSourceToken() * * https://docs.aws.amazon.com/lambda/latest/dg/API_InvokeFunctionUrl.html */ toInvokeFunctionUrl() { return this.to('InvokeFunctionUrl'); } /** * Grants permission to retrieve a list of aliases for an AWS Lambda function * * Access Level: List * * https://docs.aws.amazon.com/lambda/latest/dg/API_ListAliases.html */ toListAliases() { return this.to('ListAliases'); } /** * Grants permission to retrieve a list of AWS Lambda code signing configs * * Access Level: List * * https://docs.aws.amazon.com/lambda/latest/dg/API_ListCodeSigningConfigs.html */ toListCodeSigningConfigs() { return this.to('ListCodeSigningConfigs'); } /** * Grants permission to retrieve a list of AWS Lambda event source mappings * * Access Level: List * * https://docs.aws.amazon.com/lambda/latest/dg/API_ListEventSourceMappings.html */ toListEventSourceMappings() { return this.to('ListEventSourceMappings'); } /** * Grants permission to retrieve a list of configurations for asynchronous invocation for a function * * Access Level: List * * https://docs.aws.amazon.com/lambda/latest/dg/API_ListFunctionEventInvokeConfigs.html */ toListFunctionEventInvokeConfigs() { return this.to('ListFunctionEventInvokeConfigs'); } /** * Grants permission to read function url configurations for a function * * Access Level: List * * Possible conditions: * - .ifFunctionUrlAuthType() * * https://docs.aws.amazon.com/lambda/latest/dg/API_ListFunctionUrlConfigs.html */ toListFunctionUrlConfigs() { return this.to('ListFunctionUrlConfigs'); } /** * Grants permission to retrieve a list of AWS Lambda functions, with the version-specific configuration of each function * * Access Level: List * * https://docs.aws.amazon.com/lambda/latest/dg/API_ListFunctions.html */ toListFunctions() { return this.to('ListFunctions'); } /** * Grants permission to retrieve a list of AWS Lambda functions by the code signing config assigned * * Access Level: List * * https://docs.aws.amazon.com/lambda/latest/dg/API_ListFunctionsByCodeSigningConfig.html */ toListFunctionsByCodeSigningConfig() { return this.to('ListFunctionsByCodeSigningConfig'); } /** * Grants permission to retrieve a list of versions of an AWS Lambda layer * * Access Level: List * * https://docs.aws.amazon.com/lambda/latest/dg/API_ListLayerVersions.html */ toListLayerVersions() { return this.to('ListLayerVersions'); } /** * Grants permission to retrieve a list of AWS Lambda layers, with details about the latest version of each layer * * Access Level: List * * https://docs.aws.amazon.com/lambda/latest/dg/API_ListLayers.html */ toListLayers() { return this.to('ListLayers'); } /** * Grants permission to retrieve a list of provisioned concurrency configurations for an AWS Lambda function * * Access Level: List * * https://docs.aws.amazon.com/lambda/latest/dg/API_ListProvisionedConcurrencyConfigs.html */ toListProvisionedConcurrencyConfigs() { return this.to('ListProvisionedConcurrencyConfigs'); } /** * Grants permission to retrieve a list of tags for an AWS Lambda function, event source mapping or code signing configuration resource * * Access Level: Read * * https://docs.aws.amazon.com/lambda/latest/dg/API_ListTags.html */ toListTags() { return this.to('ListTags'); } /** * Grants permission to retrieve a list of versions for an AWS Lambda function * * Access Level: List * * https://docs.aws.amazon.com/lambda/latest/dg/API_ListVersionsByFunction.html */ toListVersionsByFunction() { return this.to('ListVersionsByFunction'); } /** * Grants permission to create an AWS Lambda layer * * Access Level: Write * * https://docs.aws.amazon.com/lambda/latest/dg/API_PublishLayerVersion.html */ toPublishLayerVersion() { return this.to('PublishLayerVersion'); } /** * Grants permission to create an AWS Lambda function version * * Access Level: Write * * https://docs.aws.amazon.com/lambda/latest/dg/API_PublishVersion.html */ toPublishVersion() { return this.to('PublishVersion'); } /** * Grants permission to attach a code signing config to an AWS Lambda function * * Access Level: Write * * Possible conditions: * - .ifCodeSigningConfigArn() * * https://docs.aws.amazon.com/lambda/latest/dg/API_PutFunctionCodeSigningConfig.html */ toPutFunctionCodeSigningConfig() { return this.to('PutFunctionCodeSigningConfig'); } /** * Grants permission to configure reserved concurrency for an AWS Lambda function * * Access Level: Write * * https://docs.aws.amazon.com/lambda/latest/dg/API_PutFunctionConcurrency.html */ toPutFunctionConcurrency() { return this.to('PutFunctionConcurrency'); } /** * Grants permission to configures options for asynchronous invocation on an AWS Lambda function, version, or alias * * Access Level: Write * * https://docs.aws.amazon.com/lambda/latest/dg/API_PutFunctionEventInvokeConfig.html */ toPutFunctionEventInvokeConfig() { return this.to('PutFunctionEventInvokeConfig'); } /** * Grants permission to update the recursion configuration of an AWS Lambda function * * Access Level: Write * * https://docs.aws.amazon.com/lambda/latest/dg/API_PutFunctionRecursionConfig.html */ toPutFunctionRecursionConfig() { return this.to('PutFunctionRecursionConfig'); } /** * Grants permission to configure provisioned concurrency for an AWS Lambda function's alias or version * * Access Level: Write * * https://docs.aws.amazon.com/lambda/latest/dg/API_PutProvisionedConcurrencyConfig.html */ toPutProvisionedConcurrencyConfig() { return this.to('PutProvisionedConcurrencyConfig'); } /** * Grants permission to update the runtime management configuration of an AWS Lambda function * * Access Level: Write * * https://docs.aws.amazon.com/lambda/latest/dg/API_PutRuntimeManagementConfig.html */ toPutRuntimeManagementConfig() { return this.to('PutRuntimeManagementConfig'); } /** * Grants permission to remove a statement from the permissions policy for a version of an AWS Lambda layer * * Access Level: Permissions management * * https://docs.aws.amazon.com/lambda/latest/dg/API_RemoveLayerVersionPermission.html */ toRemoveLayerVersionPermission() { return this.to('RemoveLayerVersionPermission'); } /** * Grants permission to revoke function-use permission from an AWS service or another account * * Access Level: Permissions management * * Possible conditions: * - .ifPrincipal() * - .ifFunctionUrlAuthType() * * https://docs.aws.amazon.com/lambda/latest/dg/API_RemovePermission.html */ toRemovePermission() { return this.to('RemovePermission'); } /** * Grants permission to add tags to an AWS Lambda function, event source mapping or code signing configuration resource * * Access Level: Tagging * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/lambda/latest/dg/API_TagResources.html */ toTagResource() { return this.to('TagResource'); } /** * Grants permission to remove tags from an AWS Lambda function, event source mapping or code signing configuration resource * * Access Level: Tagging * * Possible conditions: * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/lambda/latest/dg/API_UntagResource.html */ toUntagResource() { return this.to('UntagResource'); } /** * Grants permission to update the configuration of an AWS Lambda function's alias * * Access Level: Write * * https://docs.aws.amazon.com/lambda/latest/dg/API_UpdateAlias.html */ toUpdateAlias() { return this.to('UpdateAlias'); } /** * Grants permission to update an AWS Lambda code signing config * * Access Level: Write * * https://docs.aws.amazon.com/lambda/latest/dg/API_UpdateCodeSigningConfig.html */ toUpdateCodeSigningConfig() { return this.to('UpdateCodeSigningConfig'); } /** * Grants permission to update the configuration of an AWS Lambda event source mapping * * Access Level: Write * * Possible conditions: * - .ifFunctionArn() * * https://docs.aws.amazon.com/lambda/latest/dg/API_UpdateEventSourceMapping.html */ toUpdateEventSourceMapping() { return this.to('UpdateEventSourceMapping'); } /** * Grants permission to update the code of an AWS Lambda function * * Access Level: Write * * https://docs.aws.amazon.com/lambda/latest/dg/API_UpdateFunctionCode.html */ toUpdateFunctionCode() { return this.to('UpdateFunctionCode'); } /** * Grants permission to update the code signing config of an AWS Lambda function * * Access Level: Write * * https://docs.aws.amazon.com/lambda/latest/dg/API_UpdateFunctionCodeSigningConfig.html */ toUpdateFunctionCodeSigningConfig() { return this.to('UpdateFunctionCodeSigningConfig'); } /** * Grants permission to modify the version-specific settings of an AWS Lambda function * * Access Level: Write * * Possible conditions: * - .ifLayer() * - .ifVpcIds() * - .ifSubnetIds() * - .ifSecurityGroupIds() * * https://docs.aws.amazon.com/lambda/latest/dg/API_UpdateFunctionConfiguration.html */ toUpdateFunctionConfiguration() { return this.to('UpdateFunctionConfiguration'); } /** * Grants permission to modify the configuration for asynchronous invocation for an AWS Lambda function, version, or alias * * Access Level: Write * * https://docs.aws.amazon.com/lambda/latest/dg/API_UpdateFunctionEventInvokeConfig.html */ toUpdateFunctionEventInvokeConfig() { return this.to('UpdateFunctionEventInvokeConfig'); } /** * Grants permission to update a function url configuration for a Lambda function * * Access Level: Write * * Possible conditions: * - .ifFunctionUrlAuthType() * - .ifFunctionArn() * * https://docs.aws.amazon.com/lambda/latest/dg/API_UpdateFunctionUrlConfig.html */ toUpdateFunctionUrlConfig() { return this.to('UpdateFunctionUrlConfig'); } /** * Adds a resource of type code signing config to the statement * * https://docs.aws.amazon.com/lambda/latest/dg/lambda-api-permissions-ref.html * * @param codeSigningConfigId - Identifier for the codeSigningConfigId. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onCodeSigningConfig(codeSigningConfigId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:lambda:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:code-signing-config:${codeSigningConfigId}`); } /** * Adds a resource of type eventSourceMapping to the statement * * https://docs.aws.amazon.com/lambda/latest/dg/lambda-api-permissions-ref.html * * @param uUID - Identifier for the uUID. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onEventSourceMapping(uUID, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:lambda:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:event-source-mapping:${uUID}`); } /** * Adds a resource of type function to the statement * * https://docs.aws.amazon.com/lambda/latest/dg/lambda-api-permissions-ref.html * * @param functionName - Identifier for the functionName. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onFunction(functionName, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:lambda:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:function:${functionName}`); } /** * Adds a resource of type function alias to the statement * * https://docs.aws.amazon.com/lambda/latest/dg/lambda-api-permissions-ref.html * * @param functionName - Identifier for the functionName. * @param alias - Identifier for the alias. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onFunctionAlias(functionName, alias, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:lambda:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:function:${functionName}:${alias}`); } /** * Adds a resource of type function version to the statement * * https://docs.aws.amazon.com/lambda/latest/dg/lambda-api-permissions-ref.html * * @param functionName - Identifier for the functionName. * @param version - Identifier for the version. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onFunctionVersion(functionName, version, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:lambda:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:function:${functionName}:${version}`); } /** * Adds a resource of type layer to the statement * * https://docs.aws.amazon.com/lambda/latest/dg/lambda-api-permissions-ref.html * * @param layerName - Identifier for the layerName. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. */ onLayer(layerName, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:lambda:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:layer:${layerName}`); } /** * Adds a resource of type layerVersion to the statement * * https://docs.aws.amazon.com/lambda/latest/dg/lambda-api-permissions-ref.html * * @param layerName - Identifier for the layerName. * @param layerVersion - Identifier for the layerVersion. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. */ onLayerVersion(layerName, layerVersion, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:lambda:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:layer:${layerName}:${layerVersion}`); } /** * Filters access by the tags that are passed in the request * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag * * Applies to actions: * - .toCreateCodeSigningConfig() * - .toCreateEventSourceMapping() * - .toCreateFunction() * - .toTagResource() * * @param tagKey The tag key to check * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsRequestTag(tagKey, value, operator) { return this.if(`aws:RequestTag/${tagKey}`, value, operator ?? 'StringLike'); } /** * Filters access by the tags associated with the resource * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag * * Applies to resource types: * - code signing config * - eventSourceMapping * - function * - function alias * - function version * * @param tagKey The tag key to check * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsResourceTag(tagKey, value, operator) { return this.if(`aws:ResourceTag/${tagKey}`, value, operator ?? 'StringLike'); } /** * Filters access by the tag keys that are passed in the request * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys * * Applies to actions: * - .toCreateCodeSigningConfig() * - .toCreateEventSourceMapping() * - .toCreateFunction() * - .toTagResource() * - .toUntagResource() * * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsTagKeys(value, operator) { return this.if(`aws:TagKeys`, value, operator ?? 'StringLike'); } /** * Filters access by the ARN of an AWS Lambda code signing config * * https://docs.aws.amazon.com/lambda/latest/dg/lambda-api-permissions-ref.html * * Applies to actions: * - .toCreateFunction() * - .toPutFunctionCodeSigningConfig() * * @param value The value(s) to check * @param operator Works with [arn operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN). **Default:** `ArnLike` */ ifCodeSigningConfigArn(value, operator) { return this.if(`CodeSigningConfigArn`, value, operator ?? 'ArnLike'); } /** * Filters access by the ID from a non-AWS event source configured for the AWS Lambda function * * https://docs.aws.amazon.com/lambda/latest/dg/lambda-api-permissions-ref.html * * Applies to actions: * - .toInvokeFunction() * - .toInvokeFunctionUrl() * * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifEventSourceToken(value, operator) { return this.if(`EventSourceToken`, value, operator ?? 'StringLike'); } /** * Filters access by the ARN of an AWS Lambda function * * https://docs.aws.amazon.com/lambda/latest/dg/lambda-api-permissions-ref.html * * Applies to actions: * - .toCreateEventSourceMapping() * - .toCreateFunctionUrlConfig() * - .toDeleteEventSourceMapping() * - .toDeleteFunctionUrlConfig() * - .toGetEventSourceMapping() * - .toGetFunctionUrlConfig() * - .toInvokeFunctionUrl() * - .toUpdateEventSourceMapping() * - .toUpdateFunctionUrlConfig() * * @param value The value(s) to check * @param operator Works with [arn operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN). **Default:** `ArnLike` */ ifFunctionArn(value, operator) { return this.if(`FunctionArn`, value, operator ?? 'ArnLike'); } /** * Filters access by authorization type specified in request. Available during CreateFunctionUrlConfig, UpdateFunctionUrlConfig, DeleteFunctionUrlConfig, GetFunctionUrlConfig, ListFunctionUrlConfig, AddPermission and RemovePermission operations * * https://docs.aws.amazon.com/lambda/latest/dg/lambda-api-permissions-ref.html * * Applies to actions: * - .toAddPermission() * - .toCreateFunctionUrlConfig() * - .toDeleteFunctionUrlConfig() * - .toGetFunctionUrlConfig() * - .toInvokeFunctionUrl() * - .toListFunctionUrlConfigs() * - .toRemovePermission() * - .toUpdateFunctionUrlConfig() * * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifFunctionUrlAuthType(value, operator) { return this.if(`FunctionUrlAuthType`, value, operator ?? 'StringLike'); } /** * Filters access by the ARN of a version of an AWS Lambda layer * * https://docs.aws.amazon.com/lambda/latest/dg/lambda-api-permissions-ref.html * * Applies to actions: * - .toCreateFunction() * - .toUpdateFunctionConfiguration() * * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifLayer(value, operator) { return this.if(`Layer`, value, operator ?? 'StringLike'); } /** * Filters access by restricting the AWS service or account that can invoke a function * * https://docs.aws.amazon.com/lambda/latest/dg/lambda-api-permissions-ref.html * * Applies to actions: * - .toAddPermission() * - .toRemovePermission() * * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifPrincipal(value, operator) { return this.if(`Principal`, value, operator ?? 'StringLike'); } /** * Filters access by the ID of security groups configured for the AWS Lambda function * * https://docs.aws.amazon.com/lambda/latest/dg/lambda-api-permissions-ref.html * * Applies to actions: * - .toCreateFunction() * - .toUpdateFunctionConfiguration() * * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifSecurityGroupIds(value, operator) { return this.if(`SecurityGroupIds`, value, operator ?? 'StringLike'); } /** * Filters access by the ARN of the AWS Lambda function from which the request originated * * https://docs.aws.amazon.com/lambda/latest/dg/lambda-api-permissions-ref.html * * @param value The value(s) to check * @param operator Works with [arn operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN). **Default:** `ArnLike` */ ifSourceFunctionArn(value, operator) { return this.if(`SourceFunctionArn`, value, operator ?? 'ArnLike'); } /** * Filters access by the ID of subnets configured for the AWS Lambda function * * https://docs.aws.amazon.com/lambda/latest/dg/lambda-api-permissions-ref.html * * Applies to actions: * - .toCreateFunction() * - .toUpdateFunctionConfiguration() * * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifSubnetIds(value, operator) { return this.if(`SubnetIds`, value, operator ?? 'StringLike'); } /** * Filters access by the ID of the VPC configured for the AWS Lambda function * * https://docs.aws.amazon.com/lambda/latest/dg/lambda-api-permissions-ref.html * * Applies to actions: * - .toCreateFunction() * - .toUpdateFunctionConfiguration() * * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifVpcIds(value, operator) { return this.if(`VpcIds`, value, operator ?? 'StringLike'); } } exports.Lambda = Lambda; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFtYmRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibGFtYmRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHlDQUF5RDtBQUV6RDs7OztHQUlHO0FBQ0gsTUFBYSxNQUFPLFNBQVEsd0JBQWU7SUFHekM7Ozs7T0FJRztJQUNILFlBQVksR0FBWTtRQUN0QixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFSTixrQkFBYSxHQUFHLFFBQVEsQ0FBQztRQTgxQnRCLG9CQUFlLEdBQW9CO1lBQzNDLHdCQUF3QixFQUFFO2dCQUN4QiwyQkFBMkI7Z0JBQzNCLGVBQWU7Z0JBQ2Ysb0JBQW9CO2dCQUNwQixtQkFBbUI7Z0JBQ25CLDhCQUE4QjtnQkFDOUIsa0JBQWtCO2FBQ25CO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLGFBQWE7Z0JBQ2IseUJBQXlCO2dCQUN6QiwwQkFBMEI7Z0JBQzFCLGdCQUFnQjtnQkFDaEIseUJBQXlCO2dCQUN6QixhQUFhO2dCQUNiLHlCQUF5QjtnQkFDekIsMEJBQTBCO2dCQUMxQixnQkFBZ0I7Z0JBQ2hCLGlDQUFpQztnQkFDakMsMkJBQTJCO2dCQUMzQixpQ0FBaUM7Z0JBQ2pDLHlCQUF5QjtnQkFDekIsb0JBQW9CO2dCQUNwQixvQ0FBb0M7Z0JBQ3BDLGFBQWE7Z0JBQ2IsZ0JBQWdCO2dCQUNoQixtQkFBbUI7Z0JBQ25CLHFCQUFxQjtnQkFDckIsZ0JBQWdCO2dCQUNoQiw4QkFBOEI7Z0JBQzlCLHdCQUF3QjtnQkFDeEIsOEJBQThCO2dCQUM5Qiw0QkFBNEI7Z0JBQzVCLGlDQUFpQztnQkFDakMsNEJBQTRCO2dCQUM1QixhQUFhO2dCQUNiLHlCQUF5QjtnQkFDekIsMEJBQTBCO2dCQUMxQixvQkFBb0I7Z0JBQ3BCLGlDQUFpQztnQkFDakMsNkJBQTZCO2dCQUM3QixpQ0FBaUM7Z0JBQ2pDLHlCQUF5QjthQUMxQjtZQUNELElBQUksRUFBRTtnQkFDSixvQkFBb0I7Z0JBQ3BCLFVBQVU7Z0JBQ1Ysc0JBQXNCO2dC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