import { AccessLevelList } from '../shared/access-level' ; import { PolicyStatement } from '../shared' ; param sid export class Cur extends PolicyStatement { public servicePrefix = 'cur' ; param sid constructor ( sid ? ) { super ( sid ) ; } /**
     * Delete Cost and Usage Report Definition
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/delete-report-definition.html
     */ public toDeleteReportDefinition ( ) { return this . to ( 'DeleteReportDefinition' ) ; } /**
     * Get Cost and Usage Report Definitions
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/describe-report-definitions.html
     */ public toDescribeReportDefinitions ( ) { return this . to ( 'DescribeReportDefinitions' ) ; } /**
     * Modify Cost and Usage Report Definition
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/modify-report-definition.html
     */ public toModifyReportDefinition ( ) { return this . to ( 'ModifyReportDefinition' ) ; } /**
     * Write Cost and Usage Report Definition
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/put-report-definition.html
     */ public toPutReportDefinition ( ) { return this . to ( 'PutReportDefinition' ) ; } protected accessLevelList : AccessLevelList = { Write : [ 'DeleteReportDefinition' , 'ModifyReportDefinition' , 'PutReportDefinition' ] , Read : [ 'DescribeReportDefinitions' ] } ; param reportName param account param region param partition public onCur ( reportName , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:cur:${ region || '*' }:${ account || '*' }:definition/${ reportName }` ) ; } }