import { AccessLevelList } from '../shared/access-level' ; import { PolicyStatement , Operator } from '../shared' ; param sid export class Lambda extends PolicyStatement { public servicePrefix = 'lambda' ; param sid constructor ( sid ? ) { super ( sid ) ; } /**
     * 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
     */ public 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()
     *
     * https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html
     */ public 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
     */ public toCreateAlias ( ) { return this . to ( 'CreateAlias' ) ; } /**
     * Grants permission to create an AWS Lambda code signing config
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/lambda/latest/dg/API_CreateCodeSigningConfig.html
     */ public 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()
     *
     * https://docs.aws.amazon.com/lambda/latest/dg/API_CreateEventSourceMapping.html
     */ public toCreateEventSourceMapping ( ) { return this . to ( 'CreateEventSourceMapping' ) ; } /**
     * Grants permission to create an AWS Lambda function
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifLayer()
     * - .ifVpcIds()
     * - .ifSubnetIds()
     * - .ifSecurityGroupIds()
     * - .ifCodeSigningConfigArn()
     *
     * https://docs.aws.amazon.com/lambda/latest/dg/API_CreateFunction.html
     */ public toCreateFunction ( ) { return this . to ( 'CreateFunction' ) ; } /**
     * Grants permission to delete an AWS Lambda function alias
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/lambda/latest/dg/API_DeleteAlias.html
     */ public 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
     */ public 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
     */ public 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
     */ public 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
     */ public 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
     */ public 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
     */ public toDeleteFunctionEventInvokeConfig ( ) { return this . to ( 'DeleteFunctionEventInvokeConfig' ) ; } /**
     * 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
     */ public 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
     */ public toDeleteProvisionedConcurrencyConfig ( ) { return this . to ( 'DeleteProvisionedConcurrencyConfig' ) ; } /**
     * Grants permission to disable replication for a Lambda@Edge function
     *
     * Access Level: Permissions management
     */ public toDisableReplication ( ) { return this . to ( 'DisableReplication' ) ; } /**
     * Grants permission to enable replication for a Lambda@Edge function
     *
     * Access Level: Permissions management
     */ public 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
     */ public 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
     */ public 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
     */ public 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
     */ public 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
     */ public 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
     */ public 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
     */ public 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
     */ public 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
     */ public toGetFunctionEventInvokeConfig ( ) { return this . to ( 'GetFunctionEventInvokeConfig' ) ; } /**
     * 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
     */ public 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
     */ public 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
     */ public 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
     */ public toGetProvisionedConcurrencyConfig ( ) { return this . to ( 'GetProvisionedConcurrencyConfig' ) ; } /**
     * Grants permission to invoke a function asynchronously (Deprecated)
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/lambda/latest/dg/API_InvokeAsync.html
     */ public toInvokeAsync ( ) { return this . to ( 'InvokeAsync' ) ; } /**
     * Grants permission to invoke an AWS Lambda function
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html
     */ public toInvokeFunction ( ) { return this . to ( 'InvokeFunction' ) ; } /**
     * 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
     */ public 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
     */ public 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
     */ public 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
     */ public toListFunctionEventInvokeConfigs ( ) { return this . to ( 'ListFunctionEventInvokeConfigs' ) ; } /**
     * 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
     */ public 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
     */ public 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
     */ public 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
     */ public 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
     */ public toListProvisionedConcurrencyConfigs ( ) { return this . to ( 'ListProvisionedConcurrencyConfigs' ) ; } /**
     * Grants permission to retrieve a list of tags for an AWS Lambda function
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/lambda/latest/dg/API_ListTags.html
     */ public 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
     */ public 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
     */ public 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
     */ public 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
     */ public 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
     */ public 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
     */ public toPutFunctionEventInvokeConfig ( ) { return this . to ( 'PutFunctionEventInvokeConfig' ) ; } /**
     * 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
     */ public toPutProvisionedConcurrencyConfig ( ) { return this . to ( 'PutProvisionedConcurrencyConfig' ) ; } /**
     * 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
     */ public 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()
     *
     * https://docs.aws.amazon.com/lambda/latest/dg/API_RemovePermission.html
     */ public toRemovePermission ( ) { return this . to ( 'RemovePermission' ) ; } /**
     * Grants permission to add tags to an AWS Lambda function
     *
     * Access Level: Tagging
     *
     * https://docs.aws.amazon.com/lambda/latest/dg/API_TagResources.html
     */ public toTagResource ( ) { return this . to ( 'TagResource' ) ; } /**
     * Grants permission to remove tags from an AWS Lambda function
     *
     * Access Level: Tagging
     *
     * https://docs.aws.amazon.com/lambda/latest/dg/API_UntagResource.html
     */ public 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
     */ public 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
     */ public 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
     */ public 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
     */ public 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
     */ public 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
     */ public 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
     */ public toUpdateFunctionEventInvokeConfig ( ) { return this . to ( 'UpdateFunctionEventInvokeConfig' ) ; } protected accessLevelList : AccessLevelList = { 'Permissions management' : [ 'AddLayerVersionPermission' , 'AddPermission' , 'DisableReplication' , 'EnableReplication' , 'RemoveLayerVersionPermission' , 'RemovePermission' ] , Write : [ 'CreateAlias' , 'CreateCodeSigningConfig' , 'CreateEventSourceMapping' , 'CreateFunction' , 'DeleteAlias' , 'DeleteCodeSigningConfig' , 'DeleteEventSourceMapping' , 'DeleteFunction' , 'DeleteFunctionCodeSigningConfig' , 'DeleteFunctionConcurrency' , 'DeleteFunctionEventInvokeConfig' , 'DeleteLayerVersion' , 'DeleteProvisionedConcurrencyConfig' , 'InvokeAsync' , 'InvokeFunction' , 'PublishLayerVersion' , 'PublishVersion' , 'PutFunctionCodeSigningConfig' , 'PutFunctionConcurrency' , 'PutFunctionEventInvokeConfig' , 'PutProvisionedConcurrencyConfig' , 'UpdateAlias' , 'UpdateCodeSigningConfig' , 'UpdateEventSourceMapping' , 'UpdateFunctionCode' , 'UpdateFunctionCodeSigningConfig' , 'UpdateFunctionConfiguration' , 'UpdateFunctionEventInvokeConfig' ] , Read : [ 'GetAccountSettings' , 'GetAlias' , 'GetCodeSigningConfig' , 'GetEventSourceMapping' , 'GetFunction' , 'GetFunctionCodeSigningConfig' , 'GetFunctionConcurrency' , 'GetFunctionConfiguration' , 'GetFunctionEventInvokeConfig' , 'GetLayerVersion' , 'GetLayerVersionPolicy' , 'GetPolicy' , 'GetProvisionedConcurrencyConfig' , 'ListTags' ] , List : [ 'ListAliases' , 'ListCodeSigningConfigs' , 'ListEventSourceMappings' , 'ListFunctionEventInvokeConfigs' , 'ListFunctions' , 'ListFunctionsByCodeSigningConfig' , 'ListLayerVersions' , 'ListLayers' , 'ListProvisionedConcurrencyConfigs' , 'ListVersionsByFunction' ] , Tagging : [ 'TagResource' , 'UntagResource' ] } ; param codeSigningConfigId param account param region param partition public onCodeSigningConfig ( codeSigningConfigId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:lambda:${ region || '*' }:${ account || '*' }:code-signing-config:${ codeSigningConfigId }` ) ; } param uUID param account param region param partition public onEventSourceMapping ( uUID , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:lambda:${ region || '*' }:${ account || '*' }:event-source-mapping:${ uUID }` ) ; } param functionName param account param region param partition public onFunction ( functionName , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:lambda:${ region || '*' }:${ account || '*' }:function:${ functionName }` ) ; } param functionName param alias param account param region param partition public onFunctionAlias ( functionName , alias , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:lambda:${ region || '*' }:${ account || '*' }:function:${ functionName }:${ alias }` ) ; } param functionName param version param account param region param partition public onFunctionVersion ( functionName , version , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:lambda:${ region || '*' }:${ account || '*' }:function:${ functionName }:${ version }` ) ; } param layerName param account param region param partition public onLayer ( layerName , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:lambda:${ region || '*' }:${ account || '*' }:layer:${ layerName }` ) ; } param layerName param layerVersion param account param region param partition public onLayerVersion ( layerName , layerVersion , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:lambda:${ region || '*' }:${ account || '*' }:layer:${ layerName }:${ layerVersion }` ) ; } param value param operator public ifCodeSigningConfigArn ( value , operator ? ) { return this . if ( `CodeSigningConfigArn` , value , operator || 'StringLike' ) ; } param value param operator public ifFunctionArn ( value , operator ? ) { return this . if ( `FunctionArn` , value , operator || 'ArnLike' ) ; } param value param operator public ifLayer ( value , operator ? ) { return this . if ( `Layer` , value , operator || 'StringLike' ) ; } param value param operator public ifPrincipal ( value , operator ? ) { return this . if ( `Principal` , value , operator || 'StringLike' ) ; } param value param operator public ifSecurityGroupIds ( value , operator ? ) { return this . if ( `SecurityGroupIds` , value , operator || 'StringLike' ) ; } param value param operator public ifSubnetIds ( value , operator ? ) { return this . if ( `SubnetIds` , value , operator || 'StringLike' ) ; } param value param operator public ifVpcIds ( value , operator ? ) { return this . if ( `VpcIds` , value , operator || 'StringLike' ) ; } }