import { AccessLevelList } from '../shared/access-level' ; import { PolicyStatement } from '../shared' ; param sid export class ElasticInference extends PolicyStatement { public servicePrefix = 'elastic-inference' ; param sid constructor ( sid ? ) { super ( sid ) ; } /**
     * Grants permission to customer for connecting to Elastic Inference accelerator
     *
     * Access Level: Write
     */ public toConnect ( ) { return this . to ( 'Connect' ) ; } /**
     * Grants permission to describe the locations in which a given accelerator type or set of types is present in a given region
     *
     * Access Level: List
     */ public toDescribeAcceleratorOfferings ( ) { return this . to ( 'DescribeAcceleratorOfferings' ) ; } /**
     * Grants permission to describe the accelerator types available in a given region, as well as their characteristics, such as memory and throughput
     *
     * Access Level: List
     */ public toDescribeAcceleratorTypes ( ) { return this . to ( 'DescribeAcceleratorTypes' ) ; } /**
     * Grants permission to describe information over a provided set of accelerators belonging to an account
     *
     * Access Level: List
     */ public toDescribeAccelerators ( ) { return this . to ( 'DescribeAccelerators' ) ; } /**
     * Grants permission to list all tags on an Amazon RDS resource
     *
     * Access Level: Read
     */ public toListTagsForResource ( ) { return this . to ( 'ListTagsForResource' ) ; } /**
     * Grants permission to assign one or more tags (key-value pairs) to the specified QuickSight resource
     *
     * Access Level: Tagging
     */ public toTagResource ( ) { return this . to ( 'TagResource' ) ; } /**
     * Grants permission to remove a tag or tags from a resource
     *
     * Access Level: Tagging
     */ public toUntagResource ( ) { return this . to ( 'UntagResource' ) ; } protected accessLevelList : AccessLevelList = { Write : [ 'Connect' ] , List : [ 'DescribeAcceleratorOfferings' , 'DescribeAcceleratorTypes' , 'DescribeAccelerators' ] , Read : [ 'ListTagsForResource' ] , Tagging : [ 'TagResource' , 'UntagResource' ] } ; param acceleratorId param account param region param partition public onAccelerator ( acceleratorId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:elastic-inference:${ region || '*' }:${ account || '*' }:elastic-inference-accelerator/${ acceleratorId }` ) ; } }