import { AccessLevelList } from '../shared/access-level' ; import { PolicyStatement , Operator } from '../shared' ; param sid export class EmrContainers extends PolicyStatement { public servicePrefix = 'emr-containers' ; param sid constructor ( sid ? ) { super ( sid ) ; } /**
     * Grants permission to cancel a job run
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_CancelJobRun.html
     */ public toCancelJobRun ( ) { return this . to ( 'CancelJobRun' ) ; } /**
     * Grants permission to create a managed endpoint
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     * - .ifExecutionRoleArn()
     *
     * https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_CreateManagedEndpoint.html
     */ public toCreateManagedEndpoint ( ) { return this . to ( 'CreateManagedEndpoint' ) ; } /**
     * Grants permission to create a virtual cluster
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     *
     * https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_CreateVirtualCluster.html
     */ public toCreateVirtualCluster ( ) { return this . to ( 'CreateVirtualCluster' ) ; } /**
     * Grants permission to delete a managed endpoint
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_DeleteManagedEndpoint.html
     */ public toDeleteManagedEndpoint ( ) { return this . to ( 'DeleteManagedEndpoint' ) ; } /**
     * Grants permission to delete a virtual cluster
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_DeleteVirtualCluster.html
     */ public toDeleteVirtualCluster ( ) { return this . to ( 'DeleteVirtualCluster' ) ; } /**
     * Grants permission to describe a job run
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_DescribeJobRun.html
     */ public toDescribeJobRun ( ) { return this . to ( 'DescribeJobRun' ) ; } /**
     * Grants permission to describe a managed endpoint
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_DescribeManagedEndpoint.html
     */ public toDescribeManagedEndpoint ( ) { return this . to ( 'DescribeManagedEndpoint' ) ; } /**
     * Grants permission to describe a virtual cluster
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_DescribeVirtualCluster.html
     */ public toDescribeVirtualCluster ( ) { return this . to ( 'DescribeVirtualCluster' ) ; } /**
     * Grants permission to list job runs associated with a virtual cluster
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_ListJobRuns.html
     */ public toListJobRuns ( ) { return this . to ( 'ListJobRuns' ) ; } /**
     * Grants permission to list managed endpoints associated with a virtual cluster
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_ListManagedEndpoints.html
     */ public toListManagedEndpoints ( ) { return this . to ( 'ListManagedEndpoints' ) ; } /**
     * Grants permission to list tags for the specified resource
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_ListTagsForResource.html
     */ public toListTagsForResource ( ) { return this . to ( 'ListTagsForResource' ) ; } /**
     * Grants permission to list virtual clusters
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_ListVirtualClusters.html
     */ public toListVirtualClusters ( ) { return this . to ( 'ListVirtualClusters' ) ; } /**
     * Grants permission to start a job run
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     * - .ifExecutionRoleArn()
     *
     * https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_StartJobRun.html
     */ public toStartJobRun ( ) { return this . to ( 'StartJobRun' ) ; } /**
     * Grants permission to tag the specified resource
     *
     * Access Level: Tagging
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     *
     * https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_TagResource.html
     */ public toTagResource ( ) { return this . to ( 'TagResource' ) ; } /**
     * Grants permission to untag the specified resource
     *
     * Access Level: Tagging
     *
     * Possible conditions:
     * - .ifAwsTagKeys()
     *
     * https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_UnTagResource.html
     */ public toUntagResource ( ) { return this . to ( 'UntagResource' ) ; } protected accessLevelList : AccessLevelList = { Write : [ 'CancelJobRun' , 'CreateManagedEndpoint' , 'CreateVirtualCluster' , 'DeleteManagedEndpoint' , 'DeleteVirtualCluster' , 'StartJobRun' ] , Read : [ 'DescribeJobRun' , 'DescribeManagedEndpoint' , 'DescribeVirtualCluster' ] , List : [ 'ListJobRuns' , 'ListManagedEndpoints' , 'ListTagsForResource' , 'ListVirtualClusters' ] , Tagging : [ 'TagResource' , 'UntagResource' ] } ; param virtualClusterId param account param region param partition public onVirtualCluster ( virtualClusterId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:emr-containers:${ region || '*' }:${ account || '*' }:/virtualclusters/${ virtualClusterId }` ) ; } param virtualClusterId param jobRunId param account param region param partition public onJobRun ( virtualClusterId , jobRunId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:emr-containers:${ region || '*' }:${ account || '*' }:/virtualclusters/${ virtualClusterId }/jobruns/${ jobRunId }` ) ; } param virtualClusterId param endpointId param account param region param partition public onManagedEndpoint ( virtualClusterId , endpointId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:emr-containers:${ region || '*' }:${ account || '*' }:/virtualclusters/${ virtualClusterId }/endpoints/${ endpointId }` ) ; } param value param operator public ifExecutionRoleArn ( value , operator ? ) { return this . if ( `ExecutionRoleArn` , value , operator || 'StringLike' ) ; } }