import { AccessLevelList } from '../shared/access-level' ; import { PolicyStatement } from '../shared' ; param sid export class Iotfleethub extends PolicyStatement { public servicePrefix = 'iotfleethub' ; param sid constructor ( sid ? ) { super ( sid ) ; } /**
     * Grants permission to create an application
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     *
     * Dependent actions:
     * - sso:CreateManagedApplicationInstance
     * - sso:DescribeRegisteredRegions
     *
     * https://docs.aws.amazon.com/iot/latest/apireference/API_iotfleethub_CreateApplication.html
     */ public toCreateApplication ( ) { return this . to ( 'CreateApplication' ) ; } /**
     * Grants permission to delete an application
     *
     * Access Level: Write
     *
     * Dependent actions:
     * - sso:DeleteManagedApplicationInstance
     *
     * https://docs.aws.amazon.com/iot/latest/apireference/API_iotfleethub_DeleteApplication.html
     */ public toDeleteApplication ( ) { return this . to ( 'DeleteApplication' ) ; } /**
     * Grants permission to describe an application
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/iot/latest/apireference/API_iotfleethub_DescribeApplication.html
     */ public toDescribeApplication ( ) { return this . to ( 'DescribeApplication' ) ; } /**
     * Grants permission to list all applications
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/iot/latest/apireference/API_iotfleethub_ListApplications.html
     */ public toListApplications ( ) { return this . to ( 'ListApplications' ) ; } /**
     * Grants permission to list all tags for a resource
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/iot/latest/apireference/API_iotfleethub_ListTagsForResource.html
     */ public toListTagsForResource ( ) { return this . to ( 'ListTagsForResource' ) ; } /**
     * Grants permission to tag a resource
     *
     * Access Level: Tagging
     *
     * Possible conditions:
     * - .ifAwsTagKeys()
     * - .ifAwsRequestTag()
     *
     * https://docs.aws.amazon.com/iot/latest/apireference/API_iotfleethub_TagResource.html
     */ public toTagResource ( ) { return this . to ( 'TagResource' ) ; } /**
     * Grants permission to untag a resource
     *
     * Access Level: Tagging
     *
     * Possible conditions:
     * - .ifAwsTagKeys()
     *
     * https://docs.aws.amazon.com/iot/latest/apireference/API_iotfleethub_UntagResource.html
     */ public toUntagResource ( ) { return this . to ( 'UntagResource' ) ; } /**
     * Grants permission to update an application
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/iot/latest/apireference/API_iotfleethub_UpdateApplication.html
     */ public toUpdateApplication ( ) { return this . to ( 'UpdateApplication' ) ; } protected accessLevelList : AccessLevelList = { Write : [ 'CreateApplication' , 'DeleteApplication' , 'UpdateApplication' ] , Read : [ 'DescribeApplication' , 'ListTagsForResource' ] , List : [ 'ListApplications' ] , Tagging : [ 'TagResource' , 'UntagResource' ] } ; param applicationId param account param partition public onApplication ( applicationId , account ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:iotfleethub::${ account || '*' }:application/${ applicationId }` ) ; } }