import { AccessLevelList } from '../shared/access-level' ; import { PolicyStatement } from '../shared' ; param sid export class Freertos extends PolicyStatement { public servicePrefix = 'freertos' ; param sid constructor ( sid ? ) { super ( sid ) ; } /**
     * Creates a software configuration.
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     *
     * https://docs.aws.amazon.com/freertos/latest/userguide/freertos-ocw.html
     */ public toCreateSoftwareConfiguration ( ) { return this . to ( 'CreateSoftwareConfiguration' ) ; } /**
     * Deletes the software configuration.
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/freertos/latest/userguide/freertos-ocw.html
     */ public toDeleteSoftwareConfiguration ( ) { return this . to ( 'DeleteSoftwareConfiguration' ) ; } /**
     * Describes the hardware platform.
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/freertos/latest/userguide/freertos-ocw.html
     */ public toDescribeHardwarePlatform ( ) { return this . to ( 'DescribeHardwarePlatform' ) ; } /**
     * Describes the software configuration.
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/freertos/latest/userguide/freertos-ocw.html
     */ public toDescribeSoftwareConfiguration ( ) { return this . to ( 'DescribeSoftwareConfiguration' ) ; } /**
     * Get the URL for Amazon FreeRTOS software download.
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/freertos/latest/userguide/freertos-ocw.html
     */ public toGetSoftwareURL ( ) { return this . to ( 'GetSoftwareURL' ) ; } /**
     * Get the URL for Amazon FreeRTOS software download based on the configuration.
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/freertos/latest/userguide/freertos-ocw.html
     */ public toGetSoftwareURLForConfiguration ( ) { return this . to ( 'GetSoftwareURLForConfiguration' ) ; } /**
     * Lists versions of AmazonFreeRTOS.
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/freertos/latest/userguide/freertos-ocw.html
     */ public toListFreeRTOSVersions ( ) { return this . to ( 'ListFreeRTOSVersions' ) ; } /**
     * Lists the hardware platforms.
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/freertos/latest/userguide/freertos-ocw.html
     */ public toListHardwarePlatforms ( ) { return this . to ( 'ListHardwarePlatforms' ) ; } /**
     * Lists the hardware vendors.
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/freertos/latest/userguide/freertos-ocw.html
     */ public toListHardwareVendors ( ) { return this . to ( 'ListHardwareVendors' ) ; } /**
     * Lists the software configurations.
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/freertos/latest/userguide/freertos-ocw.html
     */ public toListSoftwareConfigurations ( ) { return this . to ( 'ListSoftwareConfigurations' ) ; } /**
     * Updates the software configuration.
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/freertos/latest/userguide/freertos-ocw.html
     */ public toUpdateSoftwareConfiguration ( ) { return this . to ( 'UpdateSoftwareConfiguration' ) ; } protected accessLevelList : AccessLevelList = { Write : [ 'CreateSoftwareConfiguration' , 'DeleteSoftwareConfiguration' , 'UpdateSoftwareConfiguration' ] , Read : [ 'DescribeHardwarePlatform' , 'DescribeSoftwareConfiguration' , 'GetSoftwareURL' , 'GetSoftwareURLForConfiguration' ] , List : [ 'ListFreeRTOSVersions' , 'ListHardwarePlatforms' , 'ListHardwareVendors' , 'ListSoftwareConfigurations' ] } ; param configurationName param account param region param partition public onConfiguration ( configurationName , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:freertos:${ region || '*' }:${ account || '*' }:configuration/${ configurationName }` ) ; } }