Package: awsebcli
IntroductionThe AWS Elastic Beanstalk Command Line Interface (EB CLI) is a tool that helps you deploy and manage
your Elastic Beanstalk applications and environments. It also
provides integration with Git.For detailed information about the EB CLI, seeUsing the Elastic Beanstalk Command Line Interface (EB CLI)in theAWS Elastic Beanstalk Developer Guide.The EB CLI is now an open source project, hosted in this repository.
You’re welcome to participate by reporting issues, making suggestions, and submitting pull requests.
We value your contributions!InstallationIf you’d like to use the EB CLIThe easiest and recommended way to install the EB CLI is to use the EB CLI setup scripts available on a separate GitHub repository.
Use the scripts to install the EB CLI on Linux, macOS, or Windows. The scripts install the EB CLI and its dependencies, including Python and pip.
The scripts also create a virtual environment for the EB CLI.
For installation instructions, see theaws/aws-elastic-beanstalk-cli-setuprepository.If you’d like to contribute to the EB CLIDependenciesInstall Python and Pip. The most recent version of Python now includes pip.To install Python, gohere.If you already have Python, but need to install Pip, gohere.Install the EB CLI from this repositoryYou need administrator/sudo privileges unless you install into a virtual environment.To install the EB CLIClone or download this repository to your local environment.Navigate to the the root of the repository.Run the following command.pip install .Getting StartedThe EB CLI requires you to have AWS security credentials.
To learn how to get security credentials, seeManaging Access Keys for Your AWS Account Root Userin theAWS General Reference.To view a list of EB CLI commands, type:eb –helpFor more information about a specific command, type:eb {cmd} –helpFor a detailed command reference for all EB CLI commands, seeEB CLI Command Referencein theAWS Elastic Beanstalk Developer Guide.Changelog3.20.10 (2023-09-15)Removed Docker-compose as a dependancyFixed Codebuild image bug3.20.9 (2023-08-31)Updated botocore requirement to>1.23.41,<1.32.0Updated six requirement to>=1.11.0,<1.17.0Update dependabot configuration to only update minor versionBug fix for Cloudformation pagination token3.20.8 (2023-08-15)Updated botocore requirement to>1.23.41,<1.31.27Updated urllib3 requirement to>=1.26.5,<2Updated docker-compose requirement to>= 1.25.2, <= 1.29.2Updated PyYAML requirement to>=5.3.1,<6.13.20.7 (2023-06-21)Updated botocore requirement to>1.23.41,<1.29.159Updated requests requirement to>2.31Updated .gitignoreUpdated LauchedAt Attribute for DescribeInstancesHealth3.20.6 (2023-04-11)Updated botocore requirement to>1.23.41,<1.29.100Fixed platforms bugFixed Codebuild bugFixed Symlink and Performance Issues3.20.5 (2023-02-28)Updated botocore requirement to>1.23.41,<1.29.82Include requirements.txt into pypi distribution tarball3.20.4 (2023-02-27)Updated botocore requirement to>1.23.41,<1.29.81Removed usage of future packageOpened new regions (ap-southeast-3 and ap-northeast-3)Fixed symlinked files related issuesFixed modules related issuesFixed several unit testsFixed Docker AL2 platform Notfound bugIntegrated codecommit in new regions (eu-south-1,ap-northeast-3, af-south-1)Updated eb create command to create application elb as defaultUpdated to display full results when –version flag is specified3.20.3 (2022-01-21)Updated botocore requirement to>1.23.41,<1.24.0Updated pathspec requirement to==0.9.0Increased timestamp precision of version labelFix ssh bugs3.20.2 (2021-08-30)Updated urllib3 requirement to>=1.26.53.20.1 (2021-07-13)Changed IAM document for China regionUpdated botocore requirement to>=1.21.0,<1.22.03.20.0 (2021-06-09)Updated PyYAML requirement to>=5.3.1,<5.5Updated default log group for AL2 platformsAdded two new options for config commandAdded a new command appversion to create application versions without deploymentReplaced default service role policy3.19.4 (2021-03-11)Updated botocore requirement to>=1.19.0,<1.21.0Updated requests requirement to>=2.20.1,<=2.26Updated semantic_version requirement to2.8.5Updated six requirement to>=1.11.0,<1.15.0Updated platform lookup logic foreb config putcommandUpdated docker build command to use tags3.19.3 (2021-01-15)Fixed UnicodeDecode error causingeb logsandeb appversioncommand to failUpdated success event look up logic foreb logscommand3.19.2 (2020-10-26)Updated botocore requirement to>=1.19.0,<1.20.0Updated coloroma requirement to>=0.2.5,<0.4.4Updated python-dateutil requirement to>=2.1,<3.0.0Updated requests requirement to>=2.20.1,<=2.24Updated six requirement to>=1.12.0,<=1.15.0Updated urllib3 requirement to>=1.25.4,<1.25.8/1.263.19.1 (2020-10-15)Fixed bug that causedeb logs –all/–zipto fail for AL2 platforms3.19.0 (2020-09-08)Added support for shared application load balancer during environment creationAdded–shared-lband–shared-lb-portarguments to theeb createcommandRemoved default value of elb-type for non-interactive create environment flowUpdated botocore requirement to>=1.17,<1.18Updated pytest-cov requirement to<=2.93.18.2 (2020-07-06)Ignore socket files during app version creationAdd platform branch support to eb local runSet default value of elb-type to “application”Check for security-group ssh rule before attempting to create oneFix fetch logic for CodeCommit branchesAdd fallback for regions with unknown CodeCommit supportUnify boolean prompts to use a single implementation3.18.1 (2020-04-28)Added af-south-1 (Cape Town) regionAdded eu-south-1 (Milano) regionFixed bug causingeb logscommand to fail when logs contain unicode charactersFixed bug that causedeb platformlist to fail in un-initialized directory3.18.0 (2020-04-09)Updated eb init command’s –platform option to accept platform branch namesUpdated eb init command’s interactive platform menus to derive menu items from platform branchesUpdated eb init command to display platform end-of-life alerts based on platform branch lifecycle stateUpdated eb create –platform option to accept platform branch namesUpdated eb create command to display platform end-of-life alerts based on platform branch lifecycle stateUpdated eb platform select command’s interactive menus to derive menu items from platform branchesUpdated eb platform select command to display platform end-of-life alerts based on platform branch lifecycle stateUpdated eb deploy command to display platform end-of-life alerts based on platform branch lifecycle stateUpdated eb status command to display platform end-of-life alerts based on platform branch lifecycle stateImproving performance of .ebignore lookupUpgrading botocore requirement to resolve awscli conflictUpgrading pyyaml requirement to resolve awscli conflictUpgrading colorama requirement to resolve awscli conflict3.17.1 (2020-01-22)Updated botocore requirement to>=1.14.0,<1.15Updated PyYAML requirement to>=5.2,<5.3Updated docker-compose requirement to>=1.25.2,<1.26.03.17.0 (2019-12-20)Added–on-demand-base-capacityand–on-demand-above-base-capacityarguments to theeb createcommandAdded–min-instancesand–max-instancesarguments to theeb createcommandAdded ability to create a single instance spot environment3.16.0 (2019-11-22)Added support for spot fleet requests during environment creationUpdatedbotocorerequirement to>1.13.0,<1.14Updatedpython-dateutilrequirement to>=2.1,<2.8.13.15.3 (2019-07-18)Added me-south-1 Middle East (Bahrain) regionAdded–timeoutargument to theeb restorecommand3.15.2 (2019-05-22)Added ap-east-1 China (Hong Kong) region3.15.1 (2019-05-15)Fixed bug that rejected theeb platform list –region …command in an un-initialized directory3.15.0 (2019-04-04)Added ability to tag applications througheb initAdded ability to tag configuration templates througheb config saveAdded ability to tag custom platforms througheb platform createAdded support to tag resources with ARNs through the–resourceargument ofeb tags3.14.13 (2019-02-22)Fix Python 2.7 EBCLI breakage3.14.12 (2019-02-22)Fixedeb initbehaviour so that AWS credentials environment variables are checked before assuming “eb-cli” profileUpdatedpathspecrequirement to0.5.9Introduced direct dependency onwcwidth>=0.1.7,<0.2.03.14.11 (2019-02-07)Fixed behaviour ofebcommands whereby error events were being classified as successfulFixed bug that rejected–profileargument in favor of environment variables representing credentialsFixed bug that causedeb create/deployto abort following failure to delete temporary application versions directory3.14.10 (2019-01-21)Introduced direct dependency onrequests>=2.20.1,<2.21Fixed bug that failed–sourcearguments with ‘/’s in the branch name3.14.9 (2019-01-09)Updatedurllib3requirement to>=1.24.1,<1.25Updateddocker-composerequirement to>=1.23.2,<1.24Updatedbotocorerequirement to>=1.12.29,<1.13Updatedsixrequirement to>=1.11.0,<1.12.0Added ability to reference CodeCommit branch names containing ‘/’s3.14.8 (2018-12-12)Added eu-north-1 EU (Stockholm) region3.14.7 (2018-12-03)Fixed Python 2.7 Unicode tag deletion bugFixed bug that suggests unavailable CNAME to customersFixed logic to handle exceptions without error messagesFixed bug that avoids showing region list duringeb initFixed bug that fails to invoke CodeCommit credential helper on WindowsFixed failure to create empty README file in CodeCommit Git repository on WindowsModified ALB to be the default load balancer duringeb createModified NLB to be available in the China regionsModifiedeb sshlogic to usePrivateIpAddressrather thanPrivateDnsName3.14.6 (2018-09-11)Added–timeoutargument to theeb platform createcommandAdded–timeoutargument to theeb ssh –setupcommandPassedserviceIdas a parameter to thebotocore-managed service models patched by the EBCLIRemoved dependency ontabulateRestrictedurllib3requirement to range>1.21,<1.23to resolve dependency incompatibility betweenbotocoreandrequestsUpdatedbotocorerequirement to>=1.12.1,<1.133.14.5 (2018-09-07)Restrictedbotocoreversion to the range<1.12to avoid incompatibility with the EBCLI3.14.4 (2018-08-16)Fixedeb platform –helpandebp –helpusage texts to show all available commands and subcommands regardless of workspace typeFixedeb createandeb deploybehavior in cases where customer-specified timeout values are rejected3.14.3 (2018-07-18)Changedeb healthtable on non-Windows platforms to use Unicode U+25C4 and U+25BA for left and right arrow characters rather than U+25C0 and U+25B6 respectivelyUpdatedpyyamlversion requirement to the range >=3.10,<=3.13 to enable usage of the EBCLI with Python 3.7.0Added logic to show UTC timestamps for all event text output of allebcommands which wait on the Beanstalk serviceFixed bug in the interactive flow ofeb createrequiring customers to specifyvpc.publicip,vpc.elbsubnetsandvpc.elbpublicarguments for–tiertype “worker”Fixed bug in the interactive flow ofeb createrequiring customers to specifyvpc.elbsubnetsandvpc.elbpublicarguments for single-instance environments3.14.2 (2018-07-03)Amended solution stack precedence logic to prefer Amazon GlassFish to equivalent Debian GlassFish platformsFixed exceptions not inheriting fromEBCLIExceptionto forceebto exit with return code 4Fixed ability to create application versions from directories greater than 4GB in sizeFixedeb healthon WindowsFixedeb swapfailure which occurs when executing without argumentsRemoved support for usage of the EBCLI throughpy2exeRestrictedpyyamlversion to the range>=3.10,<=3.12to be compatible withdocker-composeandaws3.14.1 (2018-06-11)Added eu-west-3 (Paris) CodeCommit supportPrevented selection of ELB type in the interactive mode ofeb createfor worker-tier environmentsUpdated version ofcolorama3.14.0 (2018-06-04)Addeddocker-composeas a dependencyAddedpython-dateutilas a dependencyRemoved direct dependencies ondocker,dockerpty,docopt,requests, andwebsocket-clientAdded logic to polllogs#describe_log_groupsto wait for Custom Platform Builder log-group creationFixedeb clonebug which occurs while setting CNAME of cloned environmentFixedeb deploy –modules …bug which occurs when attempting to print failure message ofelasticbeanstalk#compose_environments3.13.0 (2018-05-15)Added ability to enable streaming environment-health logs to CloudWatchAdded explicit dependency on Python packagedockerFixed environment variables parsing logic duringeb createFixedeb healthfor environments using basic health and an ELBV2 load balancerFixedeb logsbehavior to choose an incorrect default log group for Windows platformsFixedeb platform delete’s inability to delete custom platforms in some situationsFixedeb tags –listfailure occurring when the default branch environment is absentFixed .gitignore problem on Windows whereby files specified for omission could also be stagedPrevented attempts to create convenience symlinks to latest logs when executing with Python 2.7 on WindowsRemoved code that installs Python packagedockeron the customer’s behalf3.12.4 (2018-03-07)FixedDescribeEventspolling logic to usedatetime.utcnow()instead ofdatetime.now()FixedTimeoutError`s to force `ebto exit with return code 4Fixedeb deploy –modules …bug preventing it from finding project rootFixedeb platform list –verbosebug preventing it from listing all custom platform ARNsFixedeb init –sourcebug by enforcing association with remote CodeCommit repositoryModifiedebto retry afterbotocore.parsers.ResponseParserErrors3.12.3 (2018-02-15)Fixed CodeCommit integration problem when there are multiple remotesFixed bug involvingeb initusing preexisting app3.12.2 (2018-02-06)Added eu-west-3 EU (Paris) and cn-northwest-1 China (Ningxia) regionsAdded support foreb local runwith major versions 2 of Python packagedocker-pyFixed–platformoption to take language name as argumentFixed behavior of–platformflag to pick the latest version of solution stack when input is ambiguousFixed .ebignore logic to recognize files with Unicode charactersFixed redundant downloading of Packer events published by CloudWatchFixed silent rescues ofUnicodeEncodeErrors when printing Packer eventsFixedDescribeEventspolling in the context of custom platformsFixedeb local runto work withPlatformArnsFixed local-remote inconsistency observed after deployments using CodeCommitFixed misspelling in the prompt for whether VPC ELB should be public3.12.1 (2017-11-08)Added ability for customers to download sample application duringeb createif using oneAdded graceful handling of errors when operatingebpcommands inebworkspacesFixed hyperlink to page describing ECS permissions necessary to create multi-container docker environmentsFixedDescribeEventspolling logic for environment creation after ASG per-region quota is reachedFixedDescribeEventspolling logic by filtering events returned accuratelyFixedeb list’s usage text by removing mention of environment name as a positional argumentIncreased default timeout foreb createwhen the-dbflag is specifiedModifiedeb sshlogic to use private IP address rather than private DNS when a public IP/DNS is not availableModified generic EBCLI timeout message to prompt customers to view the result ofeb events -fRemovedeb ssh –custom’s dependency on SSH private key in~/.ssh3.12.0 (2017-10-10)Added support for tagging Environments3.11.0 (2017-09-26)Added support for creation of environments with Network Load BalancersFixed bug that causedeb restoreto fail to begin3.10.6 (2017-08-21)Fixed 5-minute timeout bug involving CLI giving up on CodeBuild despite server-side successFixed module-creation bug whereeb createexits because it cannot find the .elasticbeanstalk directoryIncreased limit on the number of tags that can be created during environment creation to 47Fixed environment creation failures when platform names specified are from the list retrieved byeb platform list.3.10.5 (2017-07-28)Added ca-central-1 (Canada-Central), and ap-south-1 (Mumbai) CodeCommit supportMade .elasticbeanstalk/logs/local directory writable by all thorough ‘eb local run’Fixed Python 2.x character encoding bug that prevents ‘eb appversion’ from displaying3.10.4 (2017-07-14)Fixed bug in solution stack determination logic for Multi-Container Docker 17.03.1-ce platform version3.10.3 (2017-06-27)Added ability to zip git submodules for application versionsAdded us-west-1 (N. California), eu-west-2 (London), ap-northeast-2 (Seoul), and sa-east-1 (São Paulo) CodeCommit supportAdded exception handling for TooManyConfigurationTemplatesException3.10.2 (2017-06-09)Improved eb and ebp create default instance profile creation logic.Added eu-central-1 (Frankfurt), ap-northeast-1 (Tokyo), ap-southeast-1 (Singapore) and ap-southeast-2 (Sydney) CodeCommit supportAdded additional logging for 5xx retry messages3.10.1 (2017-03-30)Fixed python 3.x bug for eb local runFixed eb local docker version check failure for leading zerosFixed eb init to not create an application when picking an existing appFixed eb local run to accept volumes defined that are not prefixed with /var/app/current/3.10.0 (2017-02-21)Support for custom elastic beanstalk platformsFixed CodeBuild integration pulling CloudWatch URL link3.9.1 (2017-02-08)Changed Beanstalk CodeBuild integration to be optional by not specifying the header in buildspecFixed ‘eb config put’ to update DateModified fieldFixed ‘eb config put’ full path failureFixed exit codes to return correctlyRemoved CodeCommit failed prompt in eb init to avoid confusionAdded ‘process’ flag for eb create/deploy for preprocessing application versions3.9.0 (2016-12-22)Added native support in ‘eb logs’ for log streaming.Added ‘–log-group’ and ‘–cloudwatch-logs’ flags in ‘eb logs’Added ‘appversion’ command to managed application versionsAdded ‘appversion lifecycle’ sub command to manage application lifecycle configurations3.8.10 (2016-12-19)Fixed install bug for python 3.x3.8.9 (2016-12-16)Added ‘eb restore’ command, used to restore terminated environments3.8.8 (2016-12-13)Added eu-west-2 EU (London) region3.8.7 (2016-12-08)Fixed Windows installation bug3.8.6 (2016-12-08)Added support for working directories containing white-spacesAdded ca-central-1 Canada (Central) support3.8.5 (2016-12-01)Added support for CodeBuild by autodetecting a buildspec file and deploying with settings from that3.8.4 (2016-11-16)Added ‘–source’ flag to create, deploy, init and use to directly use source from CodeCommit repositoriesAdded us-west-2 (Oregon) and eu-west-1 (Ireland) CodeCommit support3.8.3 (2016-10-17)Added us-east-2 (Ohio) CodeCommit support3.8.2 (2016-10-17)Added us-east-2 (Ohio) region3.8.1 (2016-10-13)CodeCommit bug fixes3.8.0 (2016-10-13)Fixed elb prompt for single instance creationsFixed eb init to no longer call CreateApplication when a preexisting application is chosenAllowing eb ssh to attempt to access private ip address if public ip is not availableAdded support for CodeCommit deployment and integration3.7.8 (2016-08-22)Fixed ‘eb setenv –timeout’ problemUpdated ‘eb config’ inline doc to be clearer on functionalityFixed ‘eb deploy –nohang’ problemAdded commands ‘–command’ and ‘–custom’ to ‘eb ssh’Added support for Application Load Balancer with ‘create’, ‘health’ and ‘status’3.7.7 (2016-06-27)Added “ap-south-1” to region listChecking for existing app versions in application, local or in their account, before creating one when label is specified.Updating environment name length constraints to 40 char max.3.7.6 (2016-04-14)The Elastic Beanstalk Service role will now also be created during non-interactive environment createsAdded the AWSElasticBeanstalkService managed policy to the Elastic Beanstalk Service role3.7.5 (2016-04-01)Support new Enhanced Health featuresFix bug in “eb health” for basic health environmentsFix bug in “eb health” that causes a date parsing error for some locale settingsRoles created by the CLI now make use of AWS Managed Policies3.7.4 (2016-03-10)Fix an issue that prevents “eb local” subcommands from working with Docker 1.10Fix an issue that causes the EB CLI to crash when deploying multiple modules withcompose environments3.7.3 (2016-01-28)Fix bug with application version processingFix bug in “eb config delete”3.7.2 (2016-01-08)Fix bug where symlinks in application versions were not in their original locations3.7.1 (2016-01-07)Fix long type incompatibility bug with Python 33.7 (2016-01-06)Add “ap-northeast-2” to region listFix bug with symlinks on Unix systems3.6.2 (2015-12-14)Improved logic related to waiting for application version processingChange tag behavior to allow for ‘=’ in tag valuesPrompt for EnvironmentName when not present in env.yaml3.6.1 (2015-11-23)Remove pre-processing of application versions when no env.yaml file is presentFix bug with ‘eb logs’3.6 (2015-11-23)Support for Composable Applications3.5.6 (2015-11-20)Fix bug in ‘eb health’ causing errors in some localesChange the naming scheme of app versions when using GitChange strings related to timeout errors to indicate the presence of the timeout option3.5.5 (2015-10-27)Fix bug in “eb swap”Fix typo in string resource3.5.4 (2015-09-22)Add “cn-north-1” to region listAdjust client default ELB Healthcheck Interval to use service default3.5.3 (2015-09-14)Change contact detailsFix bug in “eb labs setup-ssl” which occurred on some versions of Python3.5.2 (2015-08-26)Fix bug in “eb health” command preventing it from running.3.5.1 (2015-08-25)Fix az column clipping.Unhide labs setup-cwl feature as well as logs –stream.Add pip install command when a new version is available.3.5 (2015-08-11)Add command “eb labs setup-ssl”Add command “eb labs cloudwatchlogs-setup”Changeeb opento now open https if load balancer http port is OFFAdd support for enhanced health witheb healthOther minor changes3.4.7 (2015-07-28)Fix issue with .gitignore being included on deployFix issue with streaming unicode events3.4.6 (2015-07-10)Fix issue with “eb labs download”Fix issue where folders in .ebignore were incorrectly being uploaded.3.4.5 (2015-06-08)SSH no longer attempts to open port 22 if a Source restriction is in placeAdded –force flag to override above behaviorSSH errors now show properly with the -o optionEnvironment variables are less strict and can now contain the ‘=’ sign3.4.4 (2015-05-18)Changed how Sample Application is handled internally3.4.3 (2015-05-12)Fix issue with “eb config” when adding new option settingsUpdate golang local container fileFix issue with overwriting docker environment variables during local3.4.2 (2015-05-09)Fix issue with installation for eb local files3.4 (2015-05-07)Added ‘localContainerDefinitions’ section for multi-continer dockerMulti-container docker containers now correctly read ‘environment’Added printenv/setenv commands to eb localt2.micro is now default instance type for accounts with a default vpcadd –staged option to eb deploy for deploying git stage rather then commitFix config file path resolution3.3.2 (2015-04-30)Fix “eb open” for windows3.3.1 (2015-04-28)Fix –force option on “eb labs cleanup-versions”3.3 (2015-04-28)Added “local” commandsAdded “eb labs cleanup-versions” for cleaning up old app versionsAdded support for an .ebignore fileusing “eb terminate –all” now removes application bundles from s3Add support for branch specific defaults in config.ymlFix interactive vpc bugFix “eb open” race conditionIncomplete credentials errors are now more verbose3.2.2 (2015-04-06)Fix issue with creating single instance environments3.2.1 (2015-04-02)Added warning string for Multi-container permissions on “create”3.2 (2015-03-30)Added “platform” commandsAdded “upgrade” commandAdded “abort” commandAdded “labs” commandsPrinted events now look nicerLogs and events are automatically paged.Health based rolling updates are now default for new environments.3.1.3 (2015-03-13)Added option on create for specifying database version (–database.version)3.1.2 (2015-02-26)Fix multithreaded issue on python 3.4.3Fix environment names printing in columnsUpdate botocore to 0.93.03.1.1 (2015-02-24)Fix git issue on windowsSupport older versions of gitSaved Configurations now work with Worker tier3.1 (2015-02-17)Editor backup files (file.txt~) no longer included in application zipAdded commands for Saved Configurations (eb config –help)Now receive alerts for an outdated cli and outdated environment platform.Deploy now works in subdirectoriesConfig now works in subdirectoriesCan now specify your own timeout period with “–timeout x”Can now specify environment variables on environment create with “–envvars”Can now get the latest platform version when you clone an environment. “eb clone”Application Bundle uploads now show statusLarge file uploads are now multi-threadedAdded warning on deploy if unstaged git changes existCan now swap environment CNAME’s using “eb swap”Exposed –vpc option on createAdded –no-verify-ssl optionUpdated Botocore to 0.88.03.0.11 (2015-02-09)Fixed Zipping issue for Windows Containers3.0.10 (2014-11-24)Fixed parsing error for uploads in a s3 bucket with auto-deletion policyFixed terminated environment issuesNo longer uploads application if the application version already exists in s3Default database username changed from admin to ebrootTrim application version description if it is too longApplication version no longer includes git hash