import { AccessLevelList } from '../shared/access-level' ; import { PolicyStatement , Operator } from '../shared' ; param sid export class Signer extends PolicyStatement { public servicePrefix = 'signer' ; param sid constructor ( sid ? ) { super ( sid ) ; } /**
     * Grants permission to add cross-account permissions to a Signing Profile
     *
     * Access Level: Permissions management
     *
     * Possible conditions:
     * - .ifProfileVersion()
     *
     * https://docs.aws.amazon.com/signer/latest/api/API_AddProfilePermission.html
     */ public toAddProfilePermission ( ) { return this . to ( 'AddProfilePermission' ) ; } /**
     * Grants permission to change the state of a Signing Profile to CANCELED
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifProfileVersion()
     *
     * https://docs.aws.amazon.com/signer/latest/api/API_CancelSigningProfile.html
     */ public toCancelSigningProfile ( ) { return this . to ( 'CancelSigningProfile' ) ; } /**
     * Grants permission to return information about a specific Signing Job
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/signer/latest/api/API_DescribeSigningJob.html
     */ public toDescribeSigningJob ( ) { return this . to ( 'DescribeSigningJob' ) ; } /**
     * Grants permission to return information about a specific Signing Platform
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/signer/latest/api/API_GetSigningPlatform.html
     */ public toGetSigningPlatform ( ) { return this . to ( 'GetSigningPlatform' ) ; } /**
     * Grants permission to return information about a specific Signing Profile
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifProfileVersion()
     *
     * https://docs.aws.amazon.com/signer/latest/api/API_GetSigningProfile.html
     */ public toGetSigningProfile ( ) { return this . to ( 'GetSigningProfile' ) ; } /**
     * Grants permission to list the cross-account permissions associated with a Signing Profile
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/signer/latest/api/API_ListProfilePermissions.html
     */ public toListProfilePermissions ( ) { return this . to ( 'ListProfilePermissions' ) ; } /**
     * Grants permission to list all Signing Jobs in your account
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/signer/latest/api/API_ListSigningJobs.html
     */ public toListSigningJobs ( ) { return this . to ( 'ListSigningJobs' ) ; } /**
     * Grants permission to list all available Signing Platforms
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/signer/latest/api/API_ListSigningPlatforms.html
     */ public toListSigningPlatforms ( ) { return this . to ( 'ListSigningPlatforms' ) ; } /**
     * Grants permission to list all Signing Profiles in your account
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/signer/latest/api/API_ListSigningProfiles.html
     */ public toListSigningProfiles ( ) { return this . to ( 'ListSigningProfiles' ) ; } /**
     * Grants permission to list the tags associated with a Signing Profile
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/signer/latest/api/API_ListTagsForResource.html
     */ public toListTagsForResource ( ) { return this . to ( 'ListTagsForResource' ) ; } /**
     * Grants permission to create a new Signing Profile
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     *
     * https://docs.aws.amazon.com/signer/latest/api/API_PutSigningProfile.html
     */ public toPutSigningProfile ( ) { return this . to ( 'PutSigningProfile' ) ; } /**
     * Grants permission to remove cross-account permissions from a Signing Profile
     *
     * Access Level: Permissions management
     *
     * Possible conditions:
     * - .ifProfileVersion()
     *
     * https://docs.aws.amazon.com/signer/latest/api/API_RemoveProfilePermission.html
     */ public toRemoveProfilePermission ( ) { return this . to ( 'RemoveProfilePermission' ) ; } /**
     * Grants permission to change the state of a Signing Job to REVOKED
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifProfileVersion()
     *
     * https://docs.aws.amazon.com/signer/latest/api/API_RevokeSignature.html
     */ public toRevokeSignature ( ) { return this . to ( 'RevokeSignature' ) ; } /**
     * Grants permission to change the state of a Signing Profile to REVOKED
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifProfileVersion()
     *
     * https://docs.aws.amazon.com/signer/latest/api/API_RevokeSigningProfile.html
     */ public toRevokeSigningProfile ( ) { return this . to ( 'RevokeSigningProfile' ) ; } /**
     * Grants permission to initiate a Signing Job on the provided code
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifProfileVersion()
     *
     * https://docs.aws.amazon.com/signer/latest/api/API_StartSigningJob.html
     */ public toStartSigningJob ( ) { return this . to ( 'StartSigningJob' ) ; } /**
     * Grants permission to add one or more tags to a Signing Profile
     *
     * Access Level: Tagging
     *
     * Possible conditions:
     * - .ifAwsTagKeys()
     * - .ifAwsRequestTag()
     *
     * https://docs.aws.amazon.com/signer/latest/api/API_TagResource.html
     */ public toTagResource ( ) { return this . to ( 'TagResource' ) ; } /**
     * Grants permission to remove one or more tags from a Signing Profile
     *
     * Access Level: Tagging
     *
     * Possible conditions:
     * - .ifAwsTagKeys()
     * - .ifAwsRequestTag()
     *
     * https://docs.aws.amazon.com/signer/latest/api/API_UntagResource.html
     */ public toUntagResource ( ) { return this . to ( 'UntagResource' ) ; } protected accessLevelList : AccessLevelList = { 'Permissions management' : [ 'AddProfilePermission' , 'RemoveProfilePermission' ] , Write : [ 'CancelSigningProfile' , 'PutSigningProfile' , 'RevokeSignature' , 'RevokeSigningProfile' , 'StartSigningJob' ] , Read : [ 'DescribeSigningJob' , 'GetSigningPlatform' , 'GetSigningProfile' , 'ListProfilePermissions' , 'ListTagsForResource' ] , List : [ 'ListSigningJobs' , 'ListSigningPlatforms' , 'ListSigningProfiles' ] , Tagging : [ 'TagResource' , 'UntagResource' ] } ; param profileName param account param region param partition public onSigningProfile ( profileName , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:signer:${ region || '*' }:${ account || '*' }:/signing-profiles/${ profileName }` ) ; } param jobId param account param region param partition public onSigningJob ( jobId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:signer:${ region || '*' }:${ account || '*' }:/signing-jobs/${ jobId }` ) ; } param value param operator public ifProfileVersion ( value , operator ? ) { return this . if ( `ProfileVersion` , value , operator || 'StringLike' ) ; } }