UNPKG

cdk-iam-floyd

Version:

AWS IAM policy statement generator with fluent interface for AWS CDK

933 lines 96 kB
"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_awselasticbeanstalk.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 * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * 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 * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * 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 * * Possible conditions: * - .ifFromApplication() * - .ifFromApplicationVersion() * - .ifFromConfigurationTemplate() * - .ifFromEnvironment() * - .ifFromSolutionStack() * - .ifFromPlatform() * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * 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 * * Possible conditions: * - .ifFromApplicationVersion() * - .ifFromConfigurationTemplate() * - .ifFromSolutionStack() * - .ifFromPlatform() * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * 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 * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * 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 * * Possible conditions: * - .ifAwsTagKeys() * * 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 * * Possible conditions: * - .ifFromEnvironment() * * 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 * * Possible conditions: * - .ifFromApplication() * - .ifFromApplicationVersion() * - .ifFromConfigurationTemplate() * - .ifFromEnvironment() * - .ifFromSolutionStack() * - .ifFromPlatform() * * 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 * * Possible conditions: * - .ifFromApplicationVersion() * - .ifFromConfigurationTemplate() * - .ifFromSolutionStack() * - .ifFromPlatform() * * 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 * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * 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 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}`); } /** * 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}`); } /** * 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 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() * - .toApplyEnvironmentManagedAction() * - .toComposeEnvironments() * - .toCreateApplicationVersion() * - .toCreateConfigurationTemplate() * - .toCreateEnvironment() * - .toDeleteApplicationVersion() * - .toDeleteConfigurationTemplate() * - .toDeleteEnvironmentConfiguration() * - .toDescribeApplicationVersions() * - .toDescribeConfigurationOptions() * - .toDescribeConfigurationSettings() * - .toDescribeEnvironmentManagedActionHistory() * - .toDescribeEnvironmentManagedActions() * - .toDescribeEnvironmentResources() * - .toDescribeEnvironments() * - .toDescribeEvents() * - .toRebuildEnvironment() * - .toRequestEnvironmentInfo() * - .toRestartAppServer() * - .toRetrieveEnvironmentInfo() * - .toSwapEnvironmentCNAMEs() * - .toTerminateEnvironment() * - .toUpdateApplicationVersion() * - .toUpdateConfigurationTemplate() * - .toUpdateEnvironment() * - .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_awselasticbeanstalk.html). * */ constructor(props) { super(props); this.servicePrefix = 'elasticbeanstalk'; this.accessLevelList = { Write: [ 'AbortEnvironmentUpdate', 'ApplyEnvironmentManagedAction', 'AssociateEnvironmentOperationsRole', 'ComposeEnvironments', 'CreateApplication', 'CreateApplicationVersion', 'CreateConfigurationTemplate', 'CreateEnvironment', 'CreatePlatformVersion', 'CreateStorageLocation', 'DeleteApplication', 'DeleteApplicationVersion', 'DeleteConfigurationTemplate', 'DeleteEnvironmentConfiguration', 'DeletePlatformVersion', 'DisassociateEnvironmentOperationsRole', 'PutInstanceStatistics', 'RebuildEnvironment', 'RestartAppServer', 'SwapEnvironmentCNAMEs', 'TerminateEnvironment', 'UpdateApplication', 'UpdateApplicationResourceLifecycle', 'UpdateApplicationVersion', 'UpdateConfigurationTemplate', 'UpdateEnvironment' ], 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpY2JlYW5zdGFsay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImVsYXN0aWNiZWFuc3RhbGsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseUNBQXlEO0FBR3pEOzs7O0dBSUc7QUFDSCxNQUFhLGdCQUFpQixTQUFRLHdCQUFlO0lBR25EOzs7Ozs7T0FNRztJQUNJLHdCQUF3QjtRQUM3QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNJLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLCtCQUErQjtRQUNwQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsK0JBQStCLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksb0NBQW9DO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxzQkFBc0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHFCQUFxQjtRQUMxQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNJLG1CQUFtQjtRQUN4QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksMEJBQTBCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7OztPQWdCRztJQUNJLDZCQUE2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QyxtQ0FBbUM7Z0JBQ25DLDhCQUE4QjtnQkFDOUIsZ0JBQWdCO2dCQUNoQix5QkFBeUI7Z0JBQ3pCLHlCQUF5QjtnQkFDekIscUJBQXFCO2dCQUNyQix3QkFBd0I7Z0JBQ3hCLHlCQUF5QjtnQkFDekIsK0JBQStCO2FBQ2hDO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLDZCQUE2QjtnQkFDN0Isc0JBQXNCO2dCQUN0QixzQkFBc0I7Z0JBQ3RCLDZCQUE2QjtnQkFDN0Isc0JBQXNCO2dCQUN0QixzQkFBc0I7YUFDdkI7U0FDRixDQUFDO0lBa1VGLENBQUM7Q0FDRjtBQTc5QkQsNENBNjlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjY2Vzc0xldmVsTGlzdCB9IGZyb20gJy4uLy4uL3NoYXJlZC9hY2Nlc3MtbGV2ZWwnO1xuaW1wb3J0IHsgUG9saWN5U3RhdGVtZW50LCBPcGVyYXRvciB9IGZyb20gJy4uLy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBhd3NfaWFtIGFzIGlhbSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuXG4vKipcbiAqIFN0YXRlbWVudCBwcm92aWRlciBmb3Igc2VydmljZSBbZWxhc3RpY2JlYW5zdGFsa10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2UtYXV0aG9yaXphdGlvbi9sYXRlc3QvcmVmZXJlbmNlL2xpc3RfYXdzZWxhc3RpY2JlYW5zdGFsay5odG1sKS5cbiAqXG4gKiBAcGFyYW0gc2lkIFtTSURdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfc2lkLmh0bWwpIG9mIHRoZSBzdGF0ZW1lbnRcbiAqL1xuZXhwb3J0IGNsYXNzIEVsYXN0aWNiZWFuc3RhbGsgZXh0ZW5kcyBQb2xpY3lTdGF0ZW1lbnQge1xuICBwdWJsaWMgc2VydmljZVByZWZpeCA9ICdlbGFzdGljYmVhbnN0YWxrJztcblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gY2FuY2VsIGluLXByb2dyZXNzIGVudmlyb25tZW50IGNvbmZpZ3VyYXRpb24gdXBkYXRlIG9yIGFwcGxpY2F0aW9uIHZlcnNpb24gZGVwbG95bWVudFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9lbGFzdGljYmVhbnN0YWxrL2xhdGVzdC9hcGkvQVBJX0Fib3J0RW52aXJvbm1lbnRVcGRhdGUuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQWJvcnRFbnZpcm9ubWVudFVwZGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQWJvcnRFbnZpcm9ubWVudFVwZGF0ZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGFkZCB0YWdzIHRvIGFuIEVsYXN0aWMgQmVhbnN0YWxrIHJlc291cmNlIGFuZCB0byB1cGRhdGUgdGFnIHZhbHVlc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFRhZ2dpbmdcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBd3NSZXF1ZXN0VGFnKClcbiAgICogLSAuaWZBd3NUYWdLZXlzKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2VsYXN0aWNiZWFuc3RhbGsvbGF0ZXN0L2FwaS9BUElfVXBkYXRlVGFnc0ZvclJlc291cmNlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0FkZFRhZ3MoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0FkZFRhZ3MnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBhcHBseSBhIHNjaGVkdWxlZCBtYW5hZ2VkIGFjdGlvbiBpbW1lZGlhdGVseVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9lbGFzdGljYmVhbnN0YWxrL2xhdGVzdC9hcGkvQVBJX0FwcGx5RW52aXJvbm1lbnRNYW5hZ2VkQWN0aW9uLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0FwcGx5RW52aXJvbm1lbnRNYW5hZ2VkQWN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdBcHBseUVudmlyb25tZW50TWFuYWdlZEFjdGlvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGFzc29jaWF0ZSBhbiBvcGVyYXRpb25zIHJvbGUgd2l0aCBhbiBlbnZpcm9ubWVudFxuICAgKlxuI