cdk-iam-floyd
Version:
AWS IAM policy statement generator with fluent interface for AWS CDK
934 lines • 97.6 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Elasticbeanstalk = void 0;
const shared_1 = require("../../shared");
/**
* Statement provider for service [elasticbeanstalk](https://docs.aws.amazon.com/service-authorization/latest/reference/list_elasticbeanstalk.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
class Elasticbeanstalk extends shared_1.PolicyStatement {
/**
* Grants permission to cancel in-progress environment configuration update or application version deployment
*
* Access Level: Write
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_AbortEnvironmentUpdate.html
*/
toAbortEnvironmentUpdate() {
return this.to('AbortEnvironmentUpdate');
}
/**
* Grants permission to add tags to an Elastic Beanstalk resource and to update tag values
*
* Access Level: Tagging, Write
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_UpdateTagsForResource.html
*/
toAddTags() {
return this.to('AddTags');
}
/**
* Grants permission to apply a scheduled managed action immediately
*
* Access Level: Write
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_ApplyEnvironmentManagedAction.html
*/
toApplyEnvironmentManagedAction() {
return this.to('ApplyEnvironmentManagedAction');
}
/**
* Grants permission to associate an operations role with an environment
*
* Access Level: Write
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_AssociateEnvironmentOperationsRole.html
*/
toAssociateEnvironmentOperationsRole() {
return this.to('AssociateEnvironmentOperationsRole');
}
/**
* Grants permission to check CNAME availability
*
* Access Level: Read
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_CheckDNSAvailability.html
*/
toCheckDNSAvailability() {
return this.to('CheckDNSAvailability');
}
/**
* Grants permission to create or update a group of environments, each running a separate component of a single application
*
* Access Level: Write
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_ComposeEnvironments.html
*/
toComposeEnvironments() {
return this.to('ComposeEnvironments');
}
/**
* Grants permission to create a new application
*
* Access Level: Write
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_CreateApplication.html
*/
toCreateApplication() {
return this.to('CreateApplication');
}
/**
* Grants permission to create an application version for an application
*
* Access Level: Write
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_CreateApplicationVersion.html
*/
toCreateApplicationVersion() {
return this.to('CreateApplicationVersion');
}
/**
* Grants permission to create a configuration template
*
* Access Level: Write
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_CreateConfigurationTemplate.html
*/
toCreateConfigurationTemplate() {
return this.to('CreateConfigurationTemplate');
}
/**
* Grants permission to launch an environment for an application
*
* Access Level: Write
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_CreateEnvironment.html
*/
toCreateEnvironment() {
return this.to('CreateEnvironment');
}
/**
* Grants permission to create a new version of a custom platform
*
* Access Level: Write
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_CreatePlatformVersion.html
*/
toCreatePlatformVersion() {
return this.to('CreatePlatformVersion');
}
/**
* Grants permission to create the Amazon S3 storage location for the account
*
* Access Level: Write
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_CreateStorageLocation.html
*/
toCreateStorageLocation() {
return this.to('CreateStorageLocation');
}
/**
* Grants permission to delete an application along with all associated versions and configurations
*
* Access Level: Write
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DeleteApplication.html
*/
toDeleteApplication() {
return this.to('DeleteApplication');
}
/**
* Grants permission to delete an application version from an application
*
* Access Level: Write
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DeleteApplicationVersion.html
*/
toDeleteApplicationVersion() {
return this.to('DeleteApplicationVersion');
}
/**
* Grants permission to delete a configuration template
*
* Access Level: Write
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DeleteConfigurationTemplate.html
*/
toDeleteConfigurationTemplate() {
return this.to('DeleteConfigurationTemplate');
}
/**
* Grants permission to delete the draft configuration associated with the running environment
*
* Access Level: Write
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DeleteEnvironmentConfiguration.html
*/
toDeleteEnvironmentConfiguration() {
return this.to('DeleteEnvironmentConfiguration');
}
/**
* Grants permission to delete a version of a custom platform
*
* Access Level: Write
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DeletePlatformVersion.html
*/
toDeletePlatformVersion() {
return this.to('DeletePlatformVersion');
}
/**
* Grants permission to retrieve a list of account attributes, including resource quotas
*
* Access Level: Read
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeAccountAttributes.html
*/
toDescribeAccountAttributes() {
return this.to('DescribeAccountAttributes');
}
/**
* Grants permission to retrieve a list of application versions stored in an AWS Elastic Beanstalk storage bucket
*
* Access Level: List
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeApplicationVersions.html
*/
toDescribeApplicationVersions() {
return this.to('DescribeApplicationVersions');
}
/**
* Grants permission to retrieve the descriptions of existing applications
*
* Access Level: List
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeApplications.html
*/
toDescribeApplications() {
return this.to('DescribeApplications');
}
/**
* Grants permission to retrieve descriptions of environment configuration options
*
* Access Level: Read
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeConfigurationOptions.html
*/
toDescribeConfigurationOptions() {
return this.to('DescribeConfigurationOptions');
}
/**
* Grants permission to retrieve a description of the settings for a configuration set
*
* Access Level: Read
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeConfigurationSettings.html
*/
toDescribeConfigurationSettings() {
return this.to('DescribeConfigurationSettings');
}
/**
* Grants permission to retrieve information about the overall health of an environment
*
* Access Level: Read
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironmentHealth.html
*/
toDescribeEnvironmentHealth() {
return this.to('DescribeEnvironmentHealth');
}
/**
* Grants permission to retrieve a list of an environment's completed and failed managed actions
*
* Access Level: Read
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironmentManagedActionHistory.html
*/
toDescribeEnvironmentManagedActionHistory() {
return this.to('DescribeEnvironmentManagedActionHistory');
}
/**
* Grants permission to retrieve a list of an environment's upcoming and in-progress managed actions
*
* Access Level: Read
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironmentManagedActions.html
*/
toDescribeEnvironmentManagedActions() {
return this.to('DescribeEnvironmentManagedActions');
}
/**
* Grants permission to retrieve a list of AWS resources for an environment
*
* Access Level: Read
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironmentResources.html
*/
toDescribeEnvironmentResources() {
return this.to('DescribeEnvironmentResources');
}
/**
* Grants permission to retrieve descriptions for existing environments
*
* Access Level: List
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironments.html
*/
toDescribeEnvironments() {
return this.to('DescribeEnvironments');
}
/**
* Grants permission to retrieve a list of event descriptions matching a set of criteria
*
* Access Level: Read
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEvents.html
*/
toDescribeEvents() {
return this.to('DescribeEvents');
}
/**
* Grants permission to retrieve more detailed information about the health of environment instances
*
* Access Level: Read
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeInstancesHealth.html
*/
toDescribeInstancesHealth() {
return this.to('DescribeInstancesHealth');
}
/**
* Grants permission to retrieve a description of a managed platform version
*
* Access Level: Read
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribePlatformVersion.html
*/
toDescribePlatformVersion() {
return this.to('DescribePlatformVersion');
}
/**
* Grants permission to disassociate an operations role with an environment
*
* Access Level: Write
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DisassociateEnvironmentOperationsRole.html
*/
toDisassociateEnvironmentOperationsRole() {
return this.to('DisassociateEnvironmentOperationsRole');
}
/**
* Grants permission to retrieve a list of the available solution stack names
*
* Access Level: List
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_ListAvailableSolutionStacks.html
*/
toListAvailableSolutionStacks() {
return this.to('ListAvailableSolutionStacks');
}
/**
* Grants permission to retrieve a list of the available platform branches
*
* Access Level: List
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_ListPlatformBranches.html
*/
toListPlatformBranches() {
return this.to('ListPlatformBranches');
}
/**
* Grants permission to retrieve a list of the available platforms
*
* Access Level: List
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_ListPlatformVersions.html
*/
toListPlatformVersions() {
return this.to('ListPlatformVersions');
}
/**
* Grants permission to retrieve a list of tags of an Elastic Beanstalk resource
*
* Access Level: Read
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_ListTagsForResource.html
*/
toListTagsForResource() {
return this.to('ListTagsForResource');
}
/**
* Grants permission to submit instance statistics for enhanced health
*
* Access Level: Write
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced.html#health-enhanced-authz
*/
toPutInstanceStatistics() {
return this.to('PutInstanceStatistics');
}
/**
* Grants permission to delete and recreate all of the AWS resources for an environment and to force a restart
*
* Access Level: Write
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_RebuildEnvironment.html
*/
toRebuildEnvironment() {
return this.to('RebuildEnvironment');
}
/**
* Grants permission to remove tags from an Elastic Beanstalk resource
*
* Access Level: Tagging, Write
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_UpdateTagsForResource.html
*/
toRemoveTags() {
return this.to('RemoveTags');
}
/**
* Grants permission to initiate a request to compile information of the deployed environment
*
* Access Level: Read
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_RequestEnvironmentInfo.html
*/
toRequestEnvironmentInfo() {
return this.to('RequestEnvironmentInfo');
}
/**
* Grants permission to request an environment to restart the application container server running on each Amazon EC2 instance
*
* Access Level: Write
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_RestartAppServer.html
*/
toRestartAppServer() {
return this.to('RestartAppServer');
}
/**
* Grants permission to retrieve the compiled information from a RequestEnvironmentInfo request
*
* Access Level: Read
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_RetrieveEnvironmentInfo.html
*/
toRetrieveEnvironmentInfo() {
return this.to('RetrieveEnvironmentInfo');
}
/**
* Grants permission to swap the CNAMEs of two environments
*
* Access Level: Write
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_SwapEnvironmentCNAMEs.html
*/
toSwapEnvironmentCNAMEs() {
return this.to('SwapEnvironmentCNAMEs');
}
/**
* Grants permission to terminate an environment
*
* Access Level: Write
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_TerminateEnvironment.html
*/
toTerminateEnvironment() {
return this.to('TerminateEnvironment');
}
/**
* Grants permission to update an application with specified properties
*
* Access Level: Write
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_UpdateApplication.html
*/
toUpdateApplication() {
return this.to('UpdateApplication');
}
/**
* Grants permission to update the application version lifecycle policy associated with the application
*
* Access Level: Write
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_UpdateApplicationResourceLifecycle.html
*/
toUpdateApplicationResourceLifecycle() {
return this.to('UpdateApplicationResourceLifecycle');
}
/**
* Grants permission to update an application version with specified properties
*
* Access Level: Write
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_UpdateApplicationVersion.html
*/
toUpdateApplicationVersion() {
return this.to('UpdateApplicationVersion');
}
/**
* Grants permission to update a configuration template with specified properties or configuration option values
*
* Access Level: Write
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_UpdateConfigurationTemplate.html
*/
toUpdateConfigurationTemplate() {
return this.to('UpdateConfigurationTemplate');
}
/**
* Grants permission to update an environment
*
* Access Level: Write
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_UpdateEnvironment.html
*/
toUpdateEnvironment() {
return this.to('UpdateEnvironment');
}
/**
* Doesn't grant permission to update tags. To grant permission to add tags to an Elastic Beanstalk resource, remove tags, and to update tag values, specify elasticbeanstalk:AddTags and elasticbeanstalk:RemoveTags
*
* Access Level: Tagging, Write
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_UpdateTagsForResource.html
*/
toUpdateTagsForResource() {
return this.to('UpdateTagsForResource');
}
/**
* Grants permission to check the validity of a set of configuration settings for a configuration template or an environment
*
* Access Level: Read
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_ValidateConfigurationSettings.html
*/
toValidateConfigurationSettings() {
return this.to('ValidateConfigurationSettings');
}
/**
* Adds a resource of type application to the statement
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.iam.policies.arn.html
*
* @param applicationName - Identifier for the applicationName.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
onApplication(applicationName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:elasticbeanstalk:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:application/${applicationName}`);
}
/**
* Adds a resource of type applicationversion to the statement
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.iam.policies.arn.html
*
* @param applicationName - Identifier for the applicationName.
* @param versionLabel - Identifier for the versionLabel.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
* - .ifInApplication()
*/
onApplicationversion(applicationName, versionLabel, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:elasticbeanstalk:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:applicationversion/${applicationName}/${versionLabel}`);
}
/**
* Adds a resource of type configurationtemplate to the statement
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.iam.policies.arn.html
*
* @param applicationName - Identifier for the applicationName.
* @param templateName - Identifier for the templateName.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
* - .ifInApplication()
*/
onConfigurationtemplate(applicationName, templateName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:elasticbeanstalk:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:configurationtemplate/${applicationName}/${templateName}`);
}
/**
* Adds a resource of type environment to the statement
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.iam.policies.arn.html
*
* @param applicationName - Identifier for the applicationName.
* @param environmentName - Identifier for the environmentName.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
* - .ifInApplication()
*/
onEnvironment(applicationName, environmentName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:elasticbeanstalk:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:environment/${applicationName}/${environmentName}`);
}
/**
* Adds a resource of type platform to the statement
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.iam.policies.arn.html
*
* @param platformNameWithVersion - Identifier for the platformNameWithVersion.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*/
onPlatform(platformNameWithVersion, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:elasticbeanstalk:${region ?? this.defaultRegion}::platform/${platformNameWithVersion}`);
}
/**
* Adds a resource of type solutionstack to the statement
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.iam.policies.arn.html
*
* @param solutionStackName - Identifier for the solutionStackName.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*/
onSolutionstack(solutionStackName, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:elasticbeanstalk:${region ?? this.defaultRegion}::solutionstack/${solutionStackName}`);
}
/**
* Filters actions based on the presence of tag key-value pairs in the request
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.iam.policies.actions.html#AWSHowTo.iam.policies.conditions
*
* Applies to actions:
* - .toAddTags()
* - .toCreateApplication()
* - .toCreateApplicationVersion()
* - .toCreateConfigurationTemplate()
* - .toCreateEnvironment()
* - .toCreatePlatformVersion()
* - .toUpdateTagsForResource()
*
* @param tagKey The tag key to check
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifAwsRequestTag(tagKey, value, operator) {
return this.if(`aws:RequestTag/${tagKey}`, value, operator ?? 'StringLike');
}
/**
* Filters actions based on tag key-value pairs attached to the resource
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.iam.policies.actions.html#AWSHowTo.iam.policies.conditions
*
* Applies to actions:
* - .toAbortEnvironmentUpdate()
* - .toAddTags()
* - .toApplyEnvironmentManagedAction()
* - .toAssociateEnvironmentOperationsRole()
* - .toComposeEnvironments()
* - .toCreateApplication()
* - .toCreateApplicationVersion()
* - .toCreateConfigurationTemplate()
* - .toCreateEnvironment()
* - .toDeleteApplication()
* - .toDeleteApplicationVersion()
* - .toDeleteConfigurationTemplate()
* - .toDeleteEnvironmentConfiguration()
* - .toDescribeApplicationVersions()
* - .toDescribeApplications()
* - .toDescribeConfigurationOptions()
* - .toDescribeConfigurationSettings()
* - .toDescribeEnvironmentHealth()
* - .toDescribeEnvironmentManagedActionHistory()
* - .toDescribeEnvironmentManagedActions()
* - .toDescribeEnvironmentResources()
* - .toDescribeEnvironments()
* - .toDescribeEvents()
* - .toDescribeInstancesHealth()
* - .toDisassociateEnvironmentOperationsRole()
* - .toListTagsForResource()
* - .toPutInstanceStatistics()
* - .toRebuildEnvironment()
* - .toRemoveTags()
* - .toRequestEnvironmentInfo()
* - .toRestartAppServer()
* - .toRetrieveEnvironmentInfo()
* - .toSwapEnvironmentCNAMEs()
* - .toTerminateEnvironment()
* - .toUpdateApplication()
* - .toUpdateApplicationResourceLifecycle()
* - .toUpdateApplicationVersion()
* - .toUpdateConfigurationTemplate()
* - .toUpdateEnvironment()
* - .toUpdateTagsForResource()
* - .toValidateConfigurationSettings()
*
* Applies to resource types:
* - application
* - applicationversion
* - configurationtemplate
* - environment
*
* @param tagKey The tag key to check
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifAwsResourceTag(tagKey, value, operator) {
return this.if(`aws:ResourceTag/${tagKey}`, value, operator ?? 'StringLike');
}
/**
* Filters actions based on the presence of tag keys in the request
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.iam.policies.actions.html#AWSHowTo.iam.policies.conditions
*
* Applies to actions:
* - .toAddTags()
* - .toCreateApplication()
* - .toCreateApplicationVersion()
* - .toCreateConfigurationTemplate()
* - .toCreateEnvironment()
* - .toCreatePlatformVersion()
* - .toRemoveTags()
* - .toUpdateTagsForResource()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifAwsTagKeys(value, operator) {
return this.if(`aws:TagKeys`, value, operator ?? 'StringLike');
}
/**
* Filters access by an application as a dependency or a constraint on an input parameter
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.iam.policies.actions.html#AWSHowTo.iam.policies.conditions
*
* Applies to actions:
* - .toCreateConfigurationTemplate()
* - .toUpdateConfigurationTemplate()
*
* @param value The value(s) to check
* @param operator Works with [arn operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN). **Default:** `ArnLike`
*/
ifFromApplication(value, operator) {
return this.if(`FromApplication`, value, operator ?? 'ArnLike');
}
/**
* Filters access by an application version as a dependency or a constraint on an input parameter
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.iam.policies.actions.html#AWSHowTo.iam.policies.conditions
*
* Applies to actions:
* - .toCreateConfigurationTemplate()
* - .toCreateEnvironment()
* - .toUpdateConfigurationTemplate()
* - .toUpdateEnvironment()
*
* @param value The value(s) to check
* @param operator Works with [arn operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN). **Default:** `ArnLike`
*/
ifFromApplicationVersion(value, operator) {
return this.if(`FromApplicationVersion`, value, operator ?? 'ArnLike');
}
/**
* Filters access by a configuration template as a dependency or a constraint on an input parameter
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.iam.policies.actions.html#AWSHowTo.iam.policies.conditions
*
* Applies to actions:
* - .toCreateConfigurationTemplate()
* - .toCreateEnvironment()
* - .toUpdateConfigurationTemplate()
* - .toUpdateEnvironment()
*
* @param value The value(s) to check
* @param operator Works with [arn operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN). **Default:** `ArnLike`
*/
ifFromConfigurationTemplate(value, operator) {
return this.if(`FromConfigurationTemplate`, value, operator ?? 'ArnLike');
}
/**
* Filters access by an environment as a dependency or a constraint on an input parameter
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.iam.policies.actions.html#AWSHowTo.iam.policies.conditions
*
* Applies to actions:
* - .toCreateConfigurationTemplate()
* - .toSwapEnvironmentCNAMEs()
* - .toUpdateConfigurationTemplate()
*
* @param value The value(s) to check
* @param operator Works with [arn operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN). **Default:** `ArnLike`
*/
ifFromEnvironment(value, operator) {
return this.if(`FromEnvironment`, value, operator ?? 'ArnLike');
}
/**
* Filters access by a platform as a dependency or a constraint on an input parameter
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.iam.policies.actions.html#AWSHowTo.iam.policies.conditions
*
* Applies to actions:
* - .toCreateConfigurationTemplate()
* - .toCreateEnvironment()
* - .toUpdateConfigurationTemplate()
* - .toUpdateEnvironment()
*
* @param value The value(s) to check
* @param operator Works with [arn operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN). **Default:** `ArnLike`
*/
ifFromPlatform(value, operator) {
return this.if(`FromPlatform`, value, operator ?? 'ArnLike');
}
/**
* Filters access by a solution stack as a dependency or a constraint on an input parameter
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.iam.policies.actions.html#AWSHowTo.iam.policies.conditions
*
* Applies to actions:
* - .toCreateConfigurationTemplate()
* - .toCreateEnvironment()
* - .toUpdateConfigurationTemplate()
* - .toUpdateEnvironment()
*
* @param value The value(s) to check
* @param operator Works with [arn operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN). **Default:** `ArnLike`
*/
ifFromSolutionStack(value, operator) {
return this.if(`FromSolutionStack`, value, operator ?? 'ArnLike');
}
/**
* Filters access by the application that contains the resource that the action operates on
*
* https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.iam.policies.actions.html#AWSHowTo.iam.policies.conditions
*
* Applies to actions:
* - .toAbortEnvironmentUpdate()
* - .toAddTags()
* - .toApplyEnvironmentManagedAction()
* - .toAssociateEnvironmentOperationsRole()
* - .toComposeEnvironments()
* - .toCreateApplicationVersion()
* - .toCreateConfigurationTemplate()
* - .toCreateEnvironment()
* - .toDeleteApplicationVersion()
* - .toDeleteConfigurationTemplate()
* - .toDeleteEnvironmentConfiguration()
* - .toDescribeApplicationVersions()
* - .toDescribeConfigurationOptions()
* - .toDescribeConfigurationSettings()
* - .toDescribeEnvironmentHealth()
* - .toDescribeEnvironmentManagedActionHistory()
* - .toDescribeEnvironmentManagedActions()
* - .toDescribeEnvironmentResources()
* - .toDescribeEnvironments()
* - .toDescribeEvents()
* - .toDescribeInstancesHealth()
* - .toDisassociateEnvironmentOperationsRole()
* - .toListTagsForResource()
* - .toPutInstanceStatistics()
* - .toRebuildEnvironment()
* - .toRemoveTags()
* - .toRequestEnvironmentInfo()
* - .toRestartAppServer()
* - .toRetrieveEnvironmentInfo()
* - .toSwapEnvironmentCNAMEs()
* - .toTerminateEnvironment()
* - .toUpdateApplicationVersion()
* - .toUpdateConfigurationTemplate()
* - .toUpdateEnvironment()
* - .toUpdateTagsForResource()
* - .toValidateConfigurationSettings()
*
* Applies to resource types:
* - applicationversion
* - configurationtemplate
* - environment
*
* @param value The value(s) to check
* @param operator Works with [arn operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN). **Default:** `ArnLike`
*/
ifInApplication(value, operator) {
return this.if(`InApplication`, value, operator ?? 'ArnLike');
}
/**
* Statement provider for service [elasticbeanstalk](https://docs.aws.amazon.com/service-authorization/latest/reference/list_elasticbeanstalk.html).
*
*/
constructor(props) {
super(props);
this.servicePrefix = 'elasticbeanstalk';
this.accessLevelList = {
Write: [
'AbortEnvironmentUpdate',
'AddTags',
'ApplyEnvironmentManagedAction',
'AssociateEnvironmentOperationsRole',
'ComposeEnvironments',
'CreateApplication',
'CreateApplicationVersion',
'CreateConfigurationTemplate',
'CreateEnvironment',
'CreatePlatformVersion',
'CreateStorageLocation',
'DeleteApplication',
'DeleteApplicationVersion',
'DeleteConfigurationTemplate',
'DeleteEnvironmentConfiguration',
'DeletePlatformVersion',
'DisassociateEnvironmentOperationsRole',
'PutInstanceStatistics',
'RebuildEnvironment',
'RemoveTags',
'RestartAppServer',
'SwapEnvironmentCNAMEs',
'TerminateEnvironment',
'UpdateApplication',
'UpdateApplicationResourceLifecycle',
'UpdateApplicationVersion',
'UpdateConfigurationTemplate',
'UpdateEnvironment',
'UpdateTagsForResource'
],
Tagging: [
'AddTags',
'RemoveTags',
'UpdateTagsForResource'
],
Read: [
'CheckDNSAvailability',
'DescribeAccountAttributes',
'DescribeConfigurationOptions',
'DescribeConfigurationSettings',
'DescribeEnvironmentHealth',
'DescribeEnvironmentManagedActionHistory',
'DescribeEnvironmentManagedActions',
'DescribeEnvironmentResources',
'DescribeEvents',
'DescribeInstancesHealth',
'DescribePlatformVersion',
'ListTagsForResource',
'RequestEnvironmentInfo',
'RetrieveEnvironmentInfo',
'ValidateConfigurationSettings'
],
List: [
'DescribeApplicationVersions',
'DescribeApplications',
'DescribeEnvironments',
'ListAvailableSolutionStacks',
'ListPlatformBranches',
'ListPlatformVersions'
]
};
}
}
exports.Elasticbeanstalk = Elasticbeanstalk;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpY2JlYW5zdGFsay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImVsYXN0aWNiZWFuc3RhbGsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseUNBQXlEO0FBR3pEOzs7O0dBSUc7QUFDSCxNQUFhLGdCQUFpQixTQUFRLHdCQUFlO0lBR25EOzs7Ozs7T0FNRztJQUNJLHdCQUF3QjtRQUM3QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksK0JBQStCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxvQ0FBb0M7UUFDekMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLG9DQUFvQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHNCQUFzQjtRQUMzQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0kscUJBQXFCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxtQkFBbUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLDBCQUEwQjtRQUMvQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksNkJBQTZCO1FBQ2xDLE9BQU8sSUFBSSxD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O2dCQUMvQiwyQkFBMkI7Z0JBQzNCLHlDQUF5QztnQkFDekMsbUNBQW1DO2dCQUNuQyw4QkFBOEI7Z0JBQzlCLGdCQUFnQjtnQkFDaEIseUJBQXlCO2dCQUN6Qix5QkFBeUI7Z0JBQ3pCLHFCQUFxQjtnQkFDckIsd0JBQXdCO2dCQUN4Qix5QkFBeUI7Z0JBQ3pCLCtCQUErQjthQUNoQztZQUNELElBQUksRUFBRTtnQkFDSiw2QkFBNkI7Z0JBQzdCLHNCQUFzQjtnQkFDdEIsc0JBQXNCO2dCQUN0Qiw2QkFBNkI7Z0JBQzdCLHNCQUFzQjtnQkFDdEIsc0JBQXNCO2FBQ3ZCO1NBQ0YsQ0FBQztJQXNYRixDQUFDO0NBQ0Y7QUE5OUJELDRDQTg5QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY2Nlc3NMZXZlbExpc3QgfSBmcm9tICcuLi8uLi9zaGFyZWQvYWNjZXNzLWxldmVsJztcbmltcG9ydCB7IFBvbGljeVN0YXRlbWVudCwgT3BlcmF0b3IgfSBmcm9tICcuLi8uLi9zaGFyZWQnO1xuaW1wb3J0IHsgYXdzX2lhbSBhcyBpYW0gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcblxuLyoqXG4gKiBTdGF0ZW1lbnQgcHJvdmlkZXIgZm9yIHNlcnZpY2UgW2VsYXN0aWNiZWFuc3RhbGtdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zZXJ2aWNlLWF1dGhvcml6YXRpb24vbGF0ZXN0L3JlZmVyZW5jZS9saXN0X2VsYXN0aWNiZWFuc3RhbGsuaHRtbCkuXG4gKlxuICogQHBhcmFtIHNpZCBbU0lEXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX3NpZC5odG1sKSBvZiB0aGUgc3RhdGVtZW50XG4gKi9cbmV4cG9ydCBjbGFzcyBFbGFzdGljYmVhbnN0YWxrIGV4dGVuZHMgUG9saWN5U3RhdGVtZW50IHtcbiAgcHVibGljIHNlcnZpY2VQcmVmaXggPSAnZWxhc3RpY2JlYW5zdGFsayc7XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNhbmNlbCBpbi1wcm9ncmVzcyBlbnZpcm9ubWVudCBjb25maWd1cmF0aW9uIHVwZGF0ZSBvciBhcHBsaWNhdGlvbiB2ZXJzaW9uIGRlcGxveW1lbnRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZWxhc3RpY2JlYW5zdGFsay9sYXRlc3QvYXBpL0FQSV9BYm9ydEVudmlyb25tZW50VXBkYXRlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Fib3J0RW52aXJvbm1lbnRVcGRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Fib3J0RW52aXJvbm1lbnRVcGRhdGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBhZGQgdGFncyB0byBhbiBFbGFzdGljIEJlYW5zdGFsayByZXNvdXJjZSBhbmQgdG8gdXBkYXRlIHRhZyB2YWx1ZXNcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBUYWdnaW5nLCBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZWxhc3RpY2JlYW5zdGFsay9sYXRlc3QvYXBpL0FQSV9VcGRhdGVUYWdzRm9yUmVzb3VyY2UuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQWRkVGFncygpIHtcbiAgICByZXR1cm