import { AccessLevelList } from '../shared/access-level' ; import { PolicyStatement } from '../shared' ; param sid export class Appconfig extends PolicyStatement { public servicePrefix = 'appconfig' ; param sid constructor ( sid ? ) { super ( sid ) ; } /**
     * Grants permission to create an application
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_CreateApplication.html
     */ public toCreateApplication ( ) { return this . to ( 'CreateApplication' ) ; } /**
     * Grants permission to create a configuration profile
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_CreateConfigurationProfile.html
     */ public toCreateConfigurationProfile ( ) { return this . to ( 'CreateConfigurationProfile' ) ; } /**
     * Grants permission to create a deployment strategy
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_CreateDeploymentStrategy.html
     */ public toCreateDeploymentStrategy ( ) { return this . to ( 'CreateDeploymentStrategy' ) ; } /**
     * Grants permission to create an environment
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_CreateEnvironment.html
     */ public toCreateEnvironment ( ) { return this . to ( 'CreateEnvironment' ) ; } /**
     * Grants permission to create a hosted configuration version
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_CreateHostedConfigurationVersion.html
     */ public toCreateHostedConfigurationVersion ( ) { return this . to ( 'CreateHostedConfigurationVersion' ) ; } /**
     * Grants permission to delete an application
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_DeleteApplication.html
     */ public toDeleteApplication ( ) { return this . to ( 'DeleteApplication' ) ; } /**
     * Grants permission to delete a configuration profile
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_DeleteConfigurationProfile.html
     */ public toDeleteConfigurationProfile ( ) { return this . to ( 'DeleteConfigurationProfile' ) ; } /**
     * Grants permission to delete a deployment strategy
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_DeleteDeploymentStrategy.html
     */ public toDeleteDeploymentStrategy ( ) { return this . to ( 'DeleteDeploymentStrategy' ) ; } /**
     * Grants permission to delete an environment
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_DeleteEnvironment.html
     */ public toDeleteEnvironment ( ) { return this . to ( 'DeleteEnvironment' ) ; } /**
     * Grants permission to delete a hosted configuration version
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_DeleteHostedConfigurationVersion.html
     */ public toDeleteHostedConfigurationVersion ( ) { return this . to ( 'DeleteHostedConfigurationVersion' ) ; } /**
     * Grants permission to view details about an application
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_GetApplication.html
     */ public toGetApplication ( ) { return this . to ( 'GetApplication' ) ; } /**
     * Grants permission to view details about a configuration
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_GetConfiguration.html
     */ public toGetConfiguration ( ) { return this . to ( 'GetConfiguration' ) ; } /**
     * Grants permission to view details about a configuration profile
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_GetConfigurationProfile.html
     */ public toGetConfigurationProfile ( ) { return this . to ( 'GetConfigurationProfile' ) ; } /**
     * Grants permission to view details about a deployment
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_GetDeployment.html
     */ public toGetDeployment ( ) { return this . to ( 'GetDeployment' ) ; } /**
     * Grants permission to view details about a deployment strategy
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_GetDeploymentStrategy.html
     */ public toGetDeploymentStrategy ( ) { return this . to ( 'GetDeploymentStrategy' ) ; } /**
     * Grants permission to view details about an environment
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_GetEnvironment.html
     */ public toGetEnvironment ( ) { return this . to ( 'GetEnvironment' ) ; } /**
     * Grants permission to view details about a hosted configuration version
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_GetHostedConfigurationVersion.html
     */ public toGetHostedConfigurationVersion ( ) { return this . to ( 'GetHostedConfigurationVersion' ) ; } /**
     * Grants permission to retrieve a deployed configuration
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html
     */ public toGetLatestConfiguration ( ) { return this . to ( 'GetLatestConfiguration' ) ; } /**
     * Grants permission to list the applications in your account
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_ListApplications.html
     */ public toListApplications ( ) { return this . to ( 'ListApplications' ) ; } /**
     * Grants permission to list the configuration profiles for an application
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_ListConfigurationProfiles.html
     */ public toListConfigurationProfiles ( ) { return this . to ( 'ListConfigurationProfiles' ) ; } /**
     * Grants permission to list the deployment strategies for your account
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_ListDeploymentStrategies.html
     */ public toListDeploymentStrategies ( ) { return this . to ( 'ListDeploymentStrategies' ) ; } /**
     * Grants permission to list the deployments for an environment
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_ListDeployments.html
     */ public toListDeployments ( ) { return this . to ( 'ListDeployments' ) ; } /**
     * Grants permission to list the environments for an application
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_ListEnvironments.html
     */ public toListEnvironments ( ) { return this . to ( 'ListEnvironments' ) ; } /**
     * Grants permission to list the hosted configuration versions for a configuration profile
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_ListHostedConfigurationVersions.html
     */ public toListHostedConfigurationVersions ( ) { return this . to ( 'ListHostedConfigurationVersions' ) ; } /**
     * Grants permission to view a list of resource tags for a specified resource
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_ListTagsForResource.html
     */ public toListTagsForResource ( ) { return this . to ( 'ListTagsForResource' ) ; } /**
     * Grants permission to start a configuration session
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_StartConfigurationSession.html
     */ public toStartConfigurationSession ( ) { return this . to ( 'StartConfigurationSession' ) ; } /**
     * Grants permission to initiate a deployment
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_StartDeployment.html
     */ public toStartDeployment ( ) { return this . to ( 'StartDeployment' ) ; } /**
     * Grants permission to stop a deployment
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_StopDeployment.html
     */ public toStopDeployment ( ) { return this . to ( 'StopDeployment' ) ; } /**
     * Grants permission to tag an appconfig resource
     *
     * Access Level: Tagging
     *
     * Possible conditions:
     * - .ifAwsTagKeys()
     * - .ifAwsRequestTag()
     * - .ifAwsResourceTag()
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_TagResource.html
     */ public toTagResource ( ) { return this . to ( 'TagResource' ) ; } /**
     * Grants permission to untag an appconfig resource
     *
     * Access Level: Tagging
     *
     * Possible conditions:
     * - .ifAwsTagKeys()
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_UntagResource.html
     */ public toUntagResource ( ) { return this . to ( 'UntagResource' ) ; } /**
     * Grants permission to modify an application
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_UpdateApplication.html
     */ public toUpdateApplication ( ) { return this . to ( 'UpdateApplication' ) ; } /**
     * Grants permission to modify a configuration profile
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_UpdateConfigurationProfile.html
     */ public toUpdateConfigurationProfile ( ) { return this . to ( 'UpdateConfigurationProfile' ) ; } /**
     * Grants permission to modify a deployment strategy
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_UpdateDeploymentStrategy.html
     */ public toUpdateDeploymentStrategy ( ) { return this . to ( 'UpdateDeploymentStrategy' ) ; } /**
     * Grants permission to modify an environment
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_UpdateEnvironment.html
     */ public toUpdateEnvironment ( ) { return this . to ( 'UpdateEnvironment' ) ; } /**
     * Grants permission to validate a configuration
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_ValidateConfiguration.html
     */ public toValidateConfiguration ( ) { return this . to ( 'ValidateConfiguration' ) ; } protected accessLevelList : AccessLevelList = { Write : [ 'CreateApplication' , 'CreateConfigurationProfile' , 'CreateDeploymentStrategy' , 'CreateEnvironment' , 'CreateHostedConfigurationVersion' , 'DeleteApplication' , 'DeleteConfigurationProfile' , 'DeleteDeploymentStrategy' , 'DeleteEnvironment' , 'DeleteHostedConfigurationVersion' , 'StartConfigurationSession' , 'StartDeployment' , 'StopDeployment' , 'UpdateApplication' , 'UpdateConfigurationProfile' , 'UpdateDeploymentStrategy' , 'UpdateEnvironment' , 'ValidateConfiguration' ] , Read : [ 'GetApplication' , 'GetConfiguration' , 'GetConfigurationProfile' , 'GetDeployment' , 'GetDeploymentStrategy' , 'GetEnvironment' , 'GetHostedConfigurationVersion' , 'GetLatestConfiguration' , 'ListTagsForResource' ] , List : [ 'ListApplications' , 'ListConfigurationProfiles' , 'ListDeploymentStrategies' , 'ListDeployments' , 'ListEnvironments' , 'ListHostedConfigurationVersions' ] , Tagging : [ 'TagResource' , 'UntagResource' ] } ; param applicationId param account param region param partition public onApplication ( applicationId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:appconfig:${ region || '*' }:${ account || '*' }:application/${ applicationId }` ) ; } param applicationId param environmentId param account param region param partition public onEnvironment ( applicationId , environmentId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:appconfig:${ region || '*' }:${ account || '*' }:application/${ applicationId }/environment/${ environmentId }` ) ; } param applicationId param configurationProfileId param account param region param partition public onConfigurationprofile ( applicationId , configurationProfileId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:appconfig:${ region || '*' }:${ account || '*' }:application/${ applicationId }/configurationprofile/${ configurationProfileId }` ) ; } param deploymentStrategyId param account param region param partition public onDeploymentstrategy ( deploymentStrategyId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:appconfig:${ region || '*' }:${ account || '*' }:deploymentstrategy/${ deploymentStrategyId }` ) ; } param applicationId param environmentId param deploymentNumber param account param region param partition public onDeployment ( applicationId , environmentId , deploymentNumber , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:appconfig:${ region || '*' }:${ account || '*' }:application/${ applicationId }/environment/${ environmentId }/deployment/${ deploymentNumber }` ) ; } param applicationId param configurationProfileId param versionNumber param account param region param partition public onHostedconfigurationversion ( applicationId , configurationProfileId , versionNumber , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:appconfig:${ region || '*' }:${ account || '*' }:application/${ applicationId }/configurationprofile/${ configurationProfileId }/hostedconfigurationversion/${ versionNumber }` ) ; } param applicationId param environmentId param configurationProfileId param account param region param partition public onConfiguration ( applicationId , environmentId , configurationProfileId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:appconfig:${ region || '*' }:${ account || '*' }:application/${ applicationId }/environment/${ environmentId }/configuration/${ configurationProfileId }` ) ; } }