import { AccessLevelList } from '../shared/access-level' ; import { PolicyStatement } from '../shared' ; param sid export class Mediapackage extends PolicyStatement { public servicePrefix = 'mediapackage' ; param sid constructor ( sid ? ) { super ( sid ) ; } /**
     * Grants permission to configure access logs for a Channel
     *
     * Access Level: Write
     *
     * Dependent actions:
     * - iam:CreateServiceLinkedRole
     *
     * https://docs.aws.amazon.com/mediapackage/latest/apireference/channels-id-configure_logs.html#channels-id-configure_logsput
     */ public toConfigureLogs ( ) { return this . to ( 'ConfigureLogs' ) ; } /**
     * Grants permission to create a channel in AWS Elemental MediaPackage
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     *
     * https://docs.aws.amazon.com/mediapackage/latest/apireference/channels.html#channelspost
     */ public toCreateChannel ( ) { return this . to ( 'CreateChannel' ) ; } /**
     * Grants permission to create a harvest job in AWS Elemental MediaPackage
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     *
     * https://docs.aws.amazon.com/mediapackage/latest/apireference/harvest_jobs.html#harvest_jobspost
     */ public toCreateHarvestJob ( ) { return this . to ( 'CreateHarvestJob' ) ; } /**
     * Grants permission to create an endpoint in AWS Elemental MediaPackage
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     *
     * https://docs.aws.amazon.com/mediapackage/latest/apireference/origin_endpoints.html#origin_endpointspost
     */ public toCreateOriginEndpoint ( ) { return this . to ( 'CreateOriginEndpoint' ) ; } /**
     * Grants permission to delete a channel in AWS Elemental MediaPackage
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/mediapackage/latest/apireference/channels-id.html#channels-iddelete
     */ public toDeleteChannel ( ) { return this . to ( 'DeleteChannel' ) ; } /**
     * Grants permission to delete an endpoint in AWS Elemental MediaPackage
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/mediapackage/latest/apireference/origin_endpoints-id.html#origin_endpoints-iddelete
     */ public toDeleteOriginEndpoint ( ) { return this . to ( 'DeleteOriginEndpoint' ) ; } /**
     * Grants permission to view the details of a channel in AWS Elemental MediaPackage
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/mediapackage/latest/apireference/channels-id.html#channels-idget
     */ public toDescribeChannel ( ) { return this . to ( 'DescribeChannel' ) ; } /**
     * Grants permission to view the details of a harvest job in AWS Elemental MediaPackage
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/mediapackage/latest/apireference/harvest_jobs-id.html#harvest_jobs-idget
     */ public toDescribeHarvestJob ( ) { return this . to ( 'DescribeHarvestJob' ) ; } /**
     * Grants permission to view the details of an endpoint in AWS Elemental MediaPackage
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/mediapackage/latest/apireference/origin_endpoints-id.html#origin_endpoints-idget
     */ public toDescribeOriginEndpoint ( ) { return this . to ( 'DescribeOriginEndpoint' ) ; } /**
     * Grants permission to view a list of channels in AWS Elemental MediaPackage
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/mediapackage/latest/apireference/channels.html#channelsget
     */ public toListChannels ( ) { return this . to ( 'ListChannels' ) ; } /**
     * Grants permission to view a list of harvest jobs in AWS Elemental MediaPackage
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/mediapackage/latest/apireference/harvest_jobs.html#harvest_jobsget
     */ public toListHarvestJobs ( ) { return this . to ( 'ListHarvestJobs' ) ; } /**
     * Grants permission to view a list of endpoints in AWS Elemental MediaPackage
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/mediapackage/latest/apireference/origin_endpoints.html#origin_endpointsget
     */ public toListOriginEndpoints ( ) { return this . to ( 'ListOriginEndpoints' ) ; } /**
     * Grants permission to list the tags assigned to a Channel or OriginEndpoint
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/mediapackage/latest/apireference/tags-resource-arn.html#tags-resource-arnget
     */ public toListTagsForResource ( ) { return this . to ( 'ListTagsForResource' ) ; } /**
     * Grants permission to rotate credentials for the first IngestEndpoint of a Channel in AWS Elemental MediaPackage
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/mediapackage/latest/apireference/channels-id-credentials.html#channels-id-credentialsput
     */ public toRotateChannelCredentials ( ) { return this . to ( 'RotateChannelCredentials' ) ; } /**
     * Grants permission to rotate IngestEndpoint credentials for a Channel in AWS Elemental MediaPackage
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/mediapackage/latest/apireference/channels-id-ingest_endpoints-ingest_endpoint_id-credentials.html#channels-id-ingest_endpoints-ingest_endpoint_id-credentialsput
     */ public toRotateIngestEndpointCredentials ( ) { return this . to ( 'RotateIngestEndpointCredentials' ) ; } /**
     * Grants permission to tag a MediaPackage resource
     *
     * Access Level: Tagging
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     *
     * https://docs.aws.amazon.com/mediapackage/latest/apireference/hj-create.html
     */ public toTagResource ( ) { return this . to ( 'TagResource' ) ; } /**
     * Grants permission to delete tags to a Channel or OriginEndpoint
     *
     * Access Level: Tagging
     *
     * Possible conditions:
     * - .ifAwsTagKeys()
     *
     * https://docs.aws.amazon.com/mediapackage/latest/apireference/tags-resource-arn.html#tags-resource-arndelete
     */ public toUntagResource ( ) { return this . to ( 'UntagResource' ) ; } /**
     * Grants permission to make changes to a channel in AWS Elemental MediaPackage
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/mediapackage/latest/apireference/channels-id.html#channels-idput
     */ public toUpdateChannel ( ) { return this . to ( 'UpdateChannel' ) ; } /**
     * Grants permission to make changes to an endpoint in AWS Elemental MediaPackage
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/mediapackage/latest/apireference/origin_endpoints-id.html#origin_endpoints-idput
     */ public toUpdateOriginEndpoint ( ) { return this . to ( 'UpdateOriginEndpoint' ) ; } protected accessLevelList : AccessLevelList = { Write : [ 'ConfigureLogs' , 'CreateChannel' , 'CreateHarvestJob' , 'CreateOriginEndpoint' , 'DeleteChannel' , 'DeleteOriginEndpoint' , 'RotateChannelCredentials' , 'RotateIngestEndpointCredentials' , 'UpdateChannel' , 'UpdateOriginEndpoint' ] , Read : [ 'DescribeChannel' , 'DescribeHarvestJob' , 'DescribeOriginEndpoint' , 'ListChannels' , 'ListHarvestJobs' , 'ListOriginEndpoints' , 'ListTagsForResource' ] , Tagging : [ 'TagResource' , 'UntagResource' ] } ; param channelIdentifier param account param region param partition public onChannels ( channelIdentifier , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:mediapackage:${ region || '*' }:${ account || '*' }:channels/${ channelIdentifier }` ) ; } param originEndpointIdentifier param account param region param partition public onOriginEndpoints ( originEndpointIdentifier , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:mediapackage:${ region || '*' }:${ account || '*' }:origin_endpoints/${ originEndpointIdentifier }` ) ; } param harvestJobIdentifier param account param region param partition public onHarvestJobs ( harvestJobIdentifier , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:mediapackage:${ region || '*' }:${ account || '*' }:harvest_jobs/${ harvestJobIdentifier }` ) ; } }