import { AccessLevelList } from '../shared/access-level' ; import { PolicyStatement , Operator } from '../shared' ; param sid export class Dataexchange extends PolicyStatement { public servicePrefix = 'dataexchange' ; param sid constructor ( sid ? ) { super ( sid ) ; } /**
     * Grants permission to cancel a job
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/data-exchange/latest/apireference/v1-jobs.html#CancelJob
     */ public toCancelJob ( ) { return this . to ( 'CancelJob' ) ; } /**
     * Grants permission to create an asset (for example, in a Job)
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsResourceTag()
     * - .ifAwsTagKeys()
     *
     * https://docs.aws.amazon.com/data-exchange/latest/apireference/v1-data-sets-datasetid-revisions.html#CreateAsset
     */ public toCreateAsset ( ) { return this . to ( 'CreateAsset' ) ; } /**
     * Grants permission to create a data set
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsResourceTag()
     * - .ifAwsTagKeys()
     *
     * https://docs.aws.amazon.com/data-exchange/latest/apireference/v1-data-sets.html#CreateDataSet
     */ public toCreateDataSet ( ) { return this . to ( 'CreateDataSet' ) ; } /**
     * Grants permission to create an event action
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/data-exchange/latest/userguide/api-permission-ref.html
     */ public toCreateEventAction ( ) { return this . to ( 'CreateEventAction' ) ; } /**
     * Grants permission to create a job to import or export assets
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/data-exchange/latest/apireference/v1-jobs.html#CreateJob
     */ public toCreateJob ( ) { return this . to ( 'CreateJob' ) ; } /**
     * Grants permission to create a revision
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsResourceTag()
     * - .ifAwsTagKeys()
     *
     * https://docs.aws.amazon.com/data-exchange/latest/apireference/v1-data-sets-datasetid-revisions.html#CreateRevision
     */ public toCreateRevision ( ) { return this . to ( 'CreateRevision' ) ; } /**
     * Grants permission to delete an asset
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/data-exchange/latest/apireference/v1-data-sets-datasetid-revisions-revisionid-assets-assetid.html#DeleteAsset
     */ public toDeleteAsset ( ) { return this . to ( 'DeleteAsset' ) ; } /**
     * Grants permission to delete a data set
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/data-exchange/latest/apireference/v1-data-sets-datasetid.html#DeleteDataSet
     */ public toDeleteDataSet ( ) { return this . to ( 'DeleteDataSet' ) ; } /**
     * Grants permission to delete an event action
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/data-exchange/latest/userguide/api-permission-ref.html
     */ public toDeleteEventAction ( ) { return this . to ( 'DeleteEventAction' ) ; } /**
     * Grants permission to delete a revision
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/data-exchange/latest/apireference/v1-data-sets-datasetid-revisions-revisionid.html#DeleteRevision
     */ public toDeleteRevision ( ) { return this . to ( 'DeleteRevision' ) ; } /**
     * Grants permission to get information about an asset and to export it (for example, in a Job)
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/data-exchange/latest/apireference/v1-data-sets-datasetid-revisions-revisionid-assets-assetid.html#GetAsset
     */ public toGetAsset ( ) { return this . to ( 'GetAsset' ) ; } /**
     * Grants permission to get information about a data set
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/data-exchange/latest/apireference/v1-data-sets-datasetid.html#GetDataSet
     */ public toGetDataSet ( ) { return this . to ( 'GetDataSet' ) ; } /**
     * Grants permission to get an event action
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/data-exchange/latest/userguide/api-permission-ref.html
     */ public toGetEventAction ( ) { return this . to ( 'GetEventAction' ) ; } /**
     * Grants permission to get information about a job
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/data-exchange/latest/apireference/v1-jobs.html#GetJob
     */ public toGetJob ( ) { return this . to ( 'GetJob' ) ; } /**
     * Grants permission to get information about a revision
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/data-exchange/latest/apireference/v1-data-sets-datasetid-revisions-revisionid.html#GetRevision
     */ public toGetRevision ( ) { return this . to ( 'GetRevision' ) ; } /**
     * Grants permission to list the revisions of a data set
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/data-exchange/latest/apireference/v1-data-sets-datasetid-revisions.html#ListDataSetRevisions
     */ public toListDataSetRevisions ( ) { return this . to ( 'ListDataSetRevisions' ) ; } /**
     * Grants permission to list data sets for the account
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/data-exchange/latest/apireference/v1-data-sets.html#ListDataSets
     */ public toListDataSets ( ) { return this . to ( 'ListDataSets' ) ; } /**
     * Grants permission to list event actions for the account
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/data-exchange/latest/userguide/api-permission-ref.html
     */ public toListEventActions ( ) { return this . to ( 'ListEventActions' ) ; } /**
     * Grants permission to list jobs for the account
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/data-exchange/latest/apireference/v1-jobs.html#ListJobs
     */ public toListJobs ( ) { return this . to ( 'ListJobs' ) ; } /**
     * Grants permission to get list the assets of a revision
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/data-exchange/latest/apireference/v1-data-sets-datasetid-revisions-revisionid-assets.html#ListRevisionAssets
     */ public toListRevisionAssets ( ) { return this . to ( 'ListRevisionAssets' ) ; } /**
     * Grants permission to list the tags that you associated with the specified resource
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/data-exchange/latest/apireference/tags-resource-arn.html#ListTagsForResource
     */ public toListTagsForResource ( ) { return this . to ( 'ListTagsForResource' ) ; } /**
     * Grants permission to publish a data set
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/data-exchange/latest/userguide/api-permission-ref.html
     */ public toPublishDataSet ( ) { return this . to ( 'PublishDataSet' ) ; } /**
     * Grants permission to send a request to an API asset
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/data-exchange/latest/userguide/api-permission-ref.html
     */ public toSendApiAsset ( ) { return this . to ( 'SendApiAsset' ) ; } /**
     * Grants permission to start a job
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/data-exchange/latest/apireference/v1-jobs.html#StartJob
     */ public toStartJob ( ) { return this . to ( 'StartJob' ) ; } /**
     * Grants permission to add one or more tags to a specified resource
     *
     * Access Level: Tagging
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     *
     * https://docs.aws.amazon.com/data-exchange/latest/apireference/tags-resource-arn.html#TagResource
     */ public toTagResource ( ) { return this . to ( 'TagResource' ) ; } /**
     * Grants permission to remove one or more tags from a specified resource
     *
     * Access Level: Tagging
     *
     * Possible conditions:
     * - .ifAwsTagKeys()
     *
     * https://docs.aws.amazon.com/data-exchange/latest/apireference/tags-resource-arn.html#UntagResource
     */ public toUntagResource ( ) { return this . to ( 'UntagResource' ) ; } /**
     * Grants permission to get update information about an asset
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/data-exchange/latest/apireference/v1-data-sets-datasetid-revisions-revisionid-assets-assetid.html#UpdateAsset
     */ public toUpdateAsset ( ) { return this . to ( 'UpdateAsset' ) ; } /**
     * Grants permission to update information about a data set
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/data-exchange/latest/apireference/v1-data-sets-datasetid.html#UpdateDataSet
     */ public toUpdateDataSet ( ) { return this . to ( 'UpdateDataSet' ) ; } /**
     * Grants permission to update information for an event action
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/data-exchange/latest/userguide/api-permission-ref.html
     */ public toUpdateEventAction ( ) { return this . to ( 'UpdateEventAction' ) ; } /**
     * Grants permission to update information about a revision
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/data-exchange/latest/apireference/v1-data-sets-datasetid-revisions-revisionid.html#UpdateRevision
     */ public toUpdateRevision ( ) { return this . to ( 'UpdateRevision' ) ; } protected accessLevelList : AccessLevelList = { Write : [ 'CancelJob' , 'CreateAsset' , 'CreateDataSet' , 'CreateEventAction' , 'CreateJob' , 'CreateRevision' , 'DeleteAsset' , 'DeleteDataSet' , 'DeleteEventAction' , 'DeleteRevision' , 'PublishDataSet' , 'SendApiAsset' , 'StartJob' , 'UpdateAsset' , 'UpdateDataSet' , 'UpdateEventAction' , 'UpdateRevision' ] , Read : [ 'GetAsset' , 'GetDataSet' , 'GetEventAction' , 'GetJob' , 'GetRevision' , 'ListDataSetRevisions' , 'ListDataSets' , 'ListEventActions' , 'ListJobs' , 'ListRevisionAssets' , 'ListTagsForResource' ] , Tagging : [ 'TagResource' , 'UntagResource' ] } ; param jobId param account param region param partition public onJobs ( jobId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:dataexchange:${ region || '*' }:${ account || '*' }:jobs/${ jobId }` ) ; } param dataSetId param account param region param partition public onDataSets ( dataSetId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:dataexchange:${ region || '*' }:${ account || '*' }:data-sets/${ dataSetId }` ) ; } param dataSetId param revisionId param account param region param partition public onRevisions ( dataSetId , revisionId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:dataexchange:${ region || '*' }:${ account || '*' }:data-sets/${ dataSetId }/revisions/${ revisionId }` ) ; } param dataSetId param revisionId param assetId param account param region param partition public onAssets ( dataSetId , revisionId , assetId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:dataexchange:${ region || '*' }:${ account || '*' }:data-sets/${ dataSetId }/revisions/${ revisionId }/assets/${ assetId }` ) ; } param eventActionId param account param region param partition public onEventActions ( eventActionId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:dataexchange:${ region || '*' }:${ account || '*' }:event-actions/${ eventActionId }` ) ; } param value param operator public ifJobType ( value , operator ? ) { return this . if ( `JobType` , value , operator || 'StringLike' ) ; } }