awsebcli 3.25.3__tar.gz → 3.27__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. {awsebcli-3.25.3 → awsebcli-3.27}/CHANGES.rst +11 -0
  2. {awsebcli-3.25.3/awsebcli.egg-info → awsebcli-3.27}/PKG-INFO +12 -1
  3. {awsebcli-3.25.3 → awsebcli-3.27/awsebcli.egg-info}/PKG-INFO +12 -1
  4. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/__init__.py +1 -1
  5. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/create.py +1 -4
  6. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/logs.py +23 -0
  7. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/lib/elasticbeanstalk.py +9 -1
  8. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/objects/region.py +8 -0
  9. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/commonops.py +2 -0
  10. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/logsops.py +37 -4
  11. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/resources/statics.py +1 -0
  12. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/resources/strings.py +11 -0
  13. {awsebcli-3.25.3 → awsebcli-3.27}/LICENSE.txt +0 -0
  14. {awsebcli-3.25.3 → awsebcli-3.27}/MANIFEST.in +0 -0
  15. {awsebcli-3.25.3 → awsebcli-3.27}/README.rst +0 -0
  16. {awsebcli-3.25.3 → awsebcli-3.27}/awsebcli.egg-info/SOURCES.txt +0 -0
  17. {awsebcli-3.25.3 → awsebcli-3.27}/awsebcli.egg-info/dependency_links.txt +0 -0
  18. {awsebcli-3.25.3 → awsebcli-3.27}/awsebcli.egg-info/entry_points.txt +0 -0
  19. {awsebcli-3.25.3 → awsebcli-3.27}/awsebcli.egg-info/requires.txt +0 -0
  20. {awsebcli-3.25.3 → awsebcli-3.27}/awsebcli.egg-info/top_level.txt +0 -0
  21. {awsebcli-3.25.3 → awsebcli-3.27}/bin/__init__.py +0 -0
  22. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/bundled/__init__.py +0 -0
  23. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/bundled/asciimatics/__init__.py +0 -0
  24. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/bundled/asciimatics/event.py +0 -0
  25. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/bundled/asciimatics/exceptions.py +0 -0
  26. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/bundled/asciimatics/overrides.py +0 -0
  27. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/bundled/asciimatics/screen.py +0 -0
  28. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/bundled/asciimatics/utilities.py +0 -0
  29. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/containers/__init__.py +0 -0
  30. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/containers/abstractcontainer.py +0 -0
  31. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/containers/commands.py +0 -0
  32. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/containers/compat.py +0 -0
  33. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/containers/compose.py +0 -0
  34. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/containers/container_viewmodel.py +0 -0
  35. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/containers/containerfiles/container_config.json +0 -0
  36. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/containers/containerfiles/glassfish-runtime-4.0-jdk7 +0 -0
  37. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/containers/containerfiles/glassfish-runtime-4.1-jdk8 +0 -0
  38. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/containers/containerfiles/glassfish-runtime-5.0-al +0 -0
  39. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/containers/containerfiles/golang-runtime-1.3 +0 -0
  40. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/containers/containerfiles/golang-runtime-1.4 +0 -0
  41. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/containers/containerfiles/python3-runtime +0 -0
  42. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/containers/containerops.py +0 -0
  43. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/containers/dockerrun.py +0 -0
  44. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/containers/envvarcollector.py +0 -0
  45. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/containers/factory.py +0 -0
  46. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/containers/fshandler.py +0 -0
  47. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/containers/generic_container.py +0 -0
  48. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/containers/log.py +0 -0
  49. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/containers/multicontainer.py +0 -0
  50. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/containers/pathconfig.py +0 -0
  51. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/containers/preconfigured_container.py +0 -0
  52. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/containers/utils.py +0 -0
  53. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/__init__.py +0 -0
  54. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/abort.py +0 -0
  55. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/appversion.py +0 -0
  56. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/clone.py +0 -0
  57. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/codesource.py +0 -0
  58. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/config.py +0 -0
  59. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/console.py +0 -0
  60. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/deploy.py +0 -0
  61. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/events.py +0 -0
  62. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/health.py +0 -0
  63. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/initialize.py +0 -0
  64. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/lifecycle.py +0 -0
  65. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/list.py +0 -0
  66. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/local.py +0 -0
  67. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/migrate.py +0 -0
  68. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/migrate_scripts/add_virtual_dir_read_access.ps1 +0 -0
  69. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/migrate_scripts/arr_configuration_importer_script.ps1 +0 -0
  70. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/migrate_scripts/arr_msi_installer.ps1 +0 -0
  71. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/migrate_scripts/default_web_site_port_reassignment_template.ps1 +0 -0
  72. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/migrate_scripts/ebdeploy_utils.ps1 +0 -0
  73. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/migrate_scripts/modify_firewall_config.ps1 +0 -0
  74. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/migrate_scripts/noop.ps1 +0 -0
  75. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/migrate_scripts/reinstate_iisstart_htm_default_document.ps1 +0 -0
  76. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/migrate_scripts/site_installer_template.ps1 +0 -0
  77. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/migrate_scripts/site_removal_template.ps1 +0 -0
  78. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/migrate_scripts/site_restart_template.ps1 +0 -0
  79. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/migrate_scripts/windows_proxy_feature_enabler.ps1 +0 -0
  80. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/open.py +0 -0
  81. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/platform/__init__.py +0 -0
  82. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/platform/create.py +0 -0
  83. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/platform/delete.py +0 -0
  84. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/platform/events.py +0 -0
  85. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/platform/initialize.py +0 -0
  86. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/platform/list.py +0 -0
  87. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/platform/logs.py +0 -0
  88. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/platform/status.py +0 -0
  89. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/platform/use.py +0 -0
  90. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/printenv.py +0 -0
  91. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/restore.py +0 -0
  92. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/scale.py +0 -0
  93. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/setenv.py +0 -0
  94. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/ssh.py +0 -0
  95. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/status.py +0 -0
  96. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/swap.py +0 -0
  97. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/tags.py +0 -0
  98. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/terminate.py +0 -0
  99. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/upgrade.py +0 -0
  100. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/controllers/use.py +0 -0
  101. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/core/__init__.py +0 -0
  102. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/core/abstractcontroller.py +0 -0
  103. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/core/base.py +0 -0
  104. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/core/ebcore.py +0 -0
  105. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/core/ebglobals.py +0 -0
  106. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/core/ebpcore.py +0 -0
  107. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/core/ebrun.py +0 -0
  108. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/core/fileoperations.py +0 -0
  109. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/core/hooks.py +0 -0
  110. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/core/io.py +0 -0
  111. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/display/__init__.py +0 -0
  112. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/display/appversion.py +0 -0
  113. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/display/data_poller.py +0 -0
  114. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/display/environments.py +0 -0
  115. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/display/help.py +0 -0
  116. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/display/screen.py +0 -0
  117. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/display/specialtables.py +0 -0
  118. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/display/table.py +0 -0
  119. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/display/term.py +0 -0
  120. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/display/traditional.py +0 -0
  121. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/labs/__init__.py +0 -0
  122. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/labs/cleanupversions.py +0 -0
  123. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/labs/cloudwatchfiles/cwl-activity-logs-v1.config +0 -0
  124. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/labs/cloudwatchfiles/cwl-setup-v1.config +0 -0
  125. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/labs/cloudwatchfiles/eb-logs-v1.config +0 -0
  126. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/labs/cloudwatchsetup.py +0 -0
  127. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/labs/controller.py +0 -0
  128. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/labs/convertdockerrun.py +0 -0
  129. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/labs/download.py +0 -0
  130. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/labs/quicklink.py +0 -0
  131. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/labs/setupssl.py +0 -0
  132. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/lib/__init__.py +0 -0
  133. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/lib/aws.py +0 -0
  134. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/lib/botocoredata/elasticbeanstalk/2010-12-01/paginators-1.json +0 -0
  135. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/lib/botocoredata/elasticbeanstalk/2010-12-01/service-2.json +0 -0
  136. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/lib/botopatch.py +0 -0
  137. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/lib/cloudformation.py +0 -0
  138. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/lib/cloudwatch.py +0 -0
  139. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/lib/codebuild.py +0 -0
  140. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/lib/codecommit.py +0 -0
  141. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/lib/ec2.py +0 -0
  142. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/lib/elb.py +0 -0
  143. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/lib/elbv2.py +0 -0
  144. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/lib/heuristics.py +0 -0
  145. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/lib/iam.py +0 -0
  146. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/lib/kms.py +0 -0
  147. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/lib/s3.py +0 -0
  148. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/lib/sns.py +0 -0
  149. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/lib/utils.py +0 -0
  150. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/objects/__init__.py +0 -0
  151. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/objects/api_filters.py +0 -0
  152. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/objects/application.py +0 -0
  153. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/objects/buildconfiguration.py +0 -0
  154. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/objects/cfn_stack.py +0 -0
  155. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/objects/conversionconfiguration.py +0 -0
  156. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/objects/environment.py +0 -0
  157. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/objects/environmentsettings.py +0 -0
  158. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/objects/event.py +0 -0
  159. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/objects/exceptions.py +0 -0
  160. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/objects/lifecycleconfiguration.py +0 -0
  161. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/objects/log_stream.py +0 -0
  162. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/objects/platform.py +0 -0
  163. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/objects/requests.py +0 -0
  164. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/objects/solutionstack.py +0 -0
  165. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/objects/sourcecontrol.py +0 -0
  166. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/objects/tier.py +0 -0
  167. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/__init__.py +0 -0
  168. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/abortops.py +0 -0
  169. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/appversionops.py +0 -0
  170. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/buildspecops.py +0 -0
  171. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/cloneops.py +0 -0
  172. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/composeops.py +0 -0
  173. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/configops.py +0 -0
  174. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/consoleops.py +0 -0
  175. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/createops.py +0 -0
  176. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/deployops.py +0 -0
  177. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/envvarops.py +0 -0
  178. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/eventsops.py +0 -0
  179. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/gitops.py +0 -0
  180. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/healthops.py +0 -0
  181. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/initializeops.py +0 -0
  182. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/lifecycleops.py +0 -0
  183. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/listops.py +0 -0
  184. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/localops.py +0 -0
  185. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/openops.py +0 -0
  186. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/platform_branch_ops.py +0 -0
  187. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/platform_version_ops.py +0 -0
  188. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/platformops.py +0 -0
  189. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/restoreops.py +0 -0
  190. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/saved_configs.py +0 -0
  191. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/scaleops.py +0 -0
  192. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/shared_lb_ops.py +0 -0
  193. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/solution_stack_ops.py +0 -0
  194. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/spotops.py +0 -0
  195. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/sshops.py +0 -0
  196. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/statusops.py +0 -0
  197. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/swapops.py +0 -0
  198. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/tagops/__init__.py +0 -0
  199. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/tagops/taglist.py +0 -0
  200. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/tagops/tagops.py +0 -0
  201. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/terminateops.py +0 -0
  202. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/upgradeops.py +0 -0
  203. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/operations/useops.py +0 -0
  204. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/resources/__init__.py +0 -0
  205. {awsebcli-3.25.3 → awsebcli-3.27}/ebcli/resources/regex.py +0 -0
  206. {awsebcli-3.25.3 → awsebcli-3.27}/requirements.txt +0 -0
  207. {awsebcli-3.25.3 → awsebcli-3.27}/setup.cfg +0 -0
  208. {awsebcli-3.25.3 → awsebcli-3.27}/setup.py +0 -0
  209. {awsebcli-3.25.3 → awsebcli-3.27}/tests/test_dependencies_mismatch.py +0 -0
  210. {awsebcli-3.25.3 → awsebcli-3.27}/tests/test_help_texts.py +0 -0
@@ -1,5 +1,16 @@
1
1
  Changelog
2
2
  =========
3
+ --------------------
4
+ 3.27 (2026-03-16)
5
+ --------------------
6
+ - Added `--analyze` flag to `eb logs` command for AI-powered log analysis
7
+
8
+ --------------------
9
+ 3.26 (2026-01-07)
10
+ --------------------
11
+ - Added ap-southeast-6 (New Zealand), ap-southeast-4 (Melbourne), ca-west-1 (Calgary), ap-south-2 (Hyderabad), eu-central-2 (Zurich), eu-south-2 (Spain), ap-southeast-7 (Thailand), and ap-southeast-5 (Malaysia) to regions list
12
+ - Updated bucket naming with hash suffixes for newer regions
13
+
3
14
  --------------------
4
15
  3.25.3 (2025-11-11)
5
16
  --------------------
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: awsebcli
3
- Version: 3.25.3
3
+ Version: 3.27
4
4
  Summary: Command Line Interface for AWS EB.
5
5
  Home-page: http://aws.amazon.com/elasticbeanstalk/
6
6
  Author: AWS Elastic Beanstalk
@@ -126,6 +126,17 @@ in the *AWS Elastic Beanstalk Developer Guide*.
126
126
 
127
127
  Changelog
128
128
  =========
129
+ --------------------
130
+ 3.27 (2026-03-16)
131
+ --------------------
132
+ - Added `--analyze` flag to `eb logs` command for AI-powered log analysis
133
+
134
+ --------------------
135
+ 3.26 (2026-01-07)
136
+ --------------------
137
+ - Added ap-southeast-6 (New Zealand), ap-southeast-4 (Melbourne), ca-west-1 (Calgary), ap-south-2 (Hyderabad), eu-central-2 (Zurich), eu-south-2 (Spain), ap-southeast-7 (Thailand), and ap-southeast-5 (Malaysia) to regions list
138
+ - Updated bucket naming with hash suffixes for newer regions
139
+
129
140
  --------------------
130
141
  3.25.3 (2025-11-11)
131
142
  --------------------
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: awsebcli
3
- Version: 3.25.3
3
+ Version: 3.27
4
4
  Summary: Command Line Interface for AWS EB.
5
5
  Home-page: http://aws.amazon.com/elasticbeanstalk/
6
6
  Author: AWS Elastic Beanstalk
@@ -126,6 +126,17 @@ in the *AWS Elastic Beanstalk Developer Guide*.
126
126
 
127
127
  Changelog
128
128
  =========
129
+ --------------------
130
+ 3.27 (2026-03-16)
131
+ --------------------
132
+ - Added `--analyze` flag to `eb logs` command for AI-powered log analysis
133
+
134
+ --------------------
135
+ 3.26 (2026-01-07)
136
+ --------------------
137
+ - Added ap-southeast-6 (New Zealand), ap-southeast-4 (Melbourne), ca-west-1 (Calgary), ap-south-2 (Hyderabad), eu-central-2 (Zurich), eu-south-2 (Spain), ap-southeast-7 (Thailand), and ap-southeast-5 (Malaysia) to regions list
138
+ - Updated bucket naming with hash suffixes for newer regions
139
+
129
140
  --------------------
130
141
  3.25.3 (2025-11-11)
131
142
  --------------------
@@ -11,4 +11,4 @@
11
11
  # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
12
12
  # ANY KIND, either express or implied. See the License for the specific
13
13
  # language governing permissions and limitations under the License.
14
- __version__ = '3.25.3'
14
+ __version__ = '3.27'
@@ -20,7 +20,6 @@ from ebcli.lib import elasticbeanstalk, utils, iam
20
20
  from ebcli.objects.exceptions import (
21
21
  AlreadyExistsError,
22
22
  InvalidOptionsError,
23
- RetiredPlatformBranchError,
24
23
  NotFoundError,
25
24
  )
26
25
  from ebcli.objects.platform import PlatformVersion, PlatformBranch
@@ -42,7 +41,7 @@ from ebcli.operations import (
42
41
  )
43
42
  from ebcli.operations.tagops import tagops
44
43
  from ebcli.resources.strings import strings, prompts, flag_text, alerts
45
- from ebcli.resources.statics import elb_names, platform_branch_lifecycle_states
44
+ from ebcli.resources.statics import elb_names
46
45
 
47
46
 
48
47
  class CreateController(AbstractBaseController):
@@ -625,8 +624,6 @@ def _determine_platform(platform_string=None, iprofile=None):
625
624
  io.log_warning(prompts['ecs.permissions'])
626
625
  if isinstance(platform, PlatformVersion):
627
626
  platform.hydrate(elasticbeanstalk.describe_platform_version)
628
- if platform.platform_branch_lifecycle_state == platform_branch_lifecycle_states.RETIRED:
629
- raise RetiredPlatformBranchError(alerts['platformbranch.retired'])
630
627
  statusops.alert_platform_status(platform)
631
628
  if 'Multi-container Docker' in platform.platform_name and not iprofile:
632
629
  io.log_warning(prompts['ecs.permissions'])
@@ -33,6 +33,8 @@ class LogsController(AbstractBaseController):
33
33
  action='store_true', help=flag_text['logs.all'])),
34
34
  (['-z', '--zip'], dict(
35
35
  action='store_true', help=flag_text['logs.zip'])),
36
+ (['-ai', '--analyze'], dict(action='store_true',
37
+ help=flag_text['logs.analyze'])),
36
38
  (['-i', '--instance'], dict(help=flag_text['logs.instance'])),
37
39
  (['-g', '--log-group'], dict(help=flag_text['logs.log-group'])),
38
40
  (['-cw', '--cloudwatch-logs'], dict(help=flag_text['logs.cloudwatch_logs'], nargs='?',
@@ -51,6 +53,7 @@ class LogsController(AbstractBaseController):
51
53
  self.instance = self.app.pargs.instance
52
54
  self.all = self.app.pargs.all
53
55
  self.zip = self.app.pargs.zip
56
+ self.analyze = self.app.pargs.analyze
54
57
  self.cloudwatch_logs = self.app.pargs.cloudwatch_logs
55
58
  self.cloudwatch_log_source = self.app.pargs.cloudwatch_log_source
56
59
  self.stream = self.app.pargs.stream
@@ -61,6 +64,8 @@ class LogsController(AbstractBaseController):
61
64
  self.__modify_log_streaming()
62
65
  elif self.stream:
63
66
  self.__stream_cloudwatch_logs()
67
+ elif self.analyze:
68
+ self.__analyze_logs()
64
69
  else:
65
70
  self.__get_logs()
66
71
 
@@ -144,6 +149,18 @@ class LogsController(AbstractBaseController):
144
149
  if self.cloudwatch_logs and self.zip:
145
150
  raise InvalidOptionsError(strings['logs.cloudwatch_logs_argument_and_zip_argument'])
146
151
 
152
+ if self.analyze and self.instance:
153
+ raise InvalidOptionsError(strings['logs.analyze_argument_and_instance_argument'])
154
+
155
+ if self.analyze and self.all:
156
+ raise InvalidOptionsError(strings['logs.analyze_argument_and_all_argument'])
157
+
158
+ if self.analyze and self.zip:
159
+ raise InvalidOptionsError(strings['logs.analyze_argument_and_zip_argument'])
160
+
161
+ if self.analyze and self.log_group:
162
+ raise InvalidOptionsError(strings['logs.analyze_argument_and_log_group_argument'])
163
+
147
164
  if self.cloudwatch_log_source and self.cloudwatch_log_source not in [
148
165
  logs_operations_constants.LOG_SOURCES.ALL_LOG_SOURCES,
149
166
  logs_operations_constants.LOG_SOURCES.INSTANCE_LOG_SOURCE,
@@ -184,3 +201,9 @@ class LogsController(AbstractBaseController):
184
201
  raise InvalidOptionsError(strings['logs.environment_health_log_streaming_disabled'].format(self.env_name))
185
202
 
186
203
  logsops.stream_instance_logs_from_cloudwatch(log_group=self.__normalized_log_group_name())
204
+
205
+ def __analyze_logs(self):
206
+ logsops.retrieve_beanstalk_logs(
207
+ self.env_name,
208
+ logs_operations_constants.INFORMATION_FORMAT.ANALYZE,
209
+ )
@@ -323,7 +323,15 @@ def _get_env_resources_bucket_name(region):
323
323
  Some regions have different bucket naming patterns with suffixes.
324
324
  """
325
325
  region_suffix_mapping = {
326
- 'me-central-1': 'f08b818c'
326
+ 'me-central-1': 'f08b818c',
327
+ 'ap-southeast-7': '81bc2d85',
328
+ 'ap-southeast-5': '152a81b8',
329
+ 'eu-south-2': '55d6b528',
330
+ 'ap-southeast-6': '11e75a81',
331
+ 'ap-south-2': '756e067d',
332
+ 'ap-southeast-4': 'e33a8980',
333
+ 'ca-west-1': 'e09147ba',
334
+ 'eu-central-2': '2742d7fd'
327
335
  }
328
336
 
329
337
  base_name = 'elasticbeanstalk-env-resources-' + region
@@ -40,6 +40,14 @@ def get_all_regions():
40
40
  Region('ap-northeast-3', 'Asia Pacific (Osaka)'),
41
41
  Region('il-central-1', 'Israel (Tel Aviv)'),
42
42
  Region('me-central-1', 'Middle East (UAE)'),
43
+ Region('ap-southeast-6', 'Asia Pacific (New Zealand)'),
44
+ Region('ap-southeast-4', 'Asia Pacific (Melbourne)'),
45
+ Region('ca-west-1', 'Canada West (Calgary)'),
46
+ Region('ap-south-2', 'Asia Pacific (Hyderabad)'),
47
+ Region('eu-central-2', 'Europe (Zurich)'),
48
+ Region('eu-south-2', 'Europe (Spain)'),
49
+ Region('ap-southeast-7', 'Asia Pacific (Thailand)'),
50
+ Region('ap-southeast-5', 'Asia Pacific (Malaysia)'),
43
51
  ]
44
52
 
45
53
 
@@ -303,6 +303,8 @@ def _is_success_event(message, log_events=False):
303
303
  return True
304
304
  if responses['logs.successbundle'] in message:
305
305
  return True
306
+ if responses['logs.successanalyze'] in message:
307
+ return True
306
308
  if responses['tags.tag_update_successful'] in message:
307
309
  return True
308
310
  if message.startswith(responses['event.platformdeletesuccess']):
@@ -330,24 +330,47 @@ def get_instance_log_url_mappings(env_name, info_type):
330
330
  return instance_id_list
331
331
 
332
332
 
333
+ def _get_latest_instance_log_url_mappings(env_name, info_type):
334
+ result = elasticbeanstalk.retrieve_environment_info(env_name, info_type)
335
+
336
+ instance_id_list = dict()
337
+ instance_timestamps = dict()
338
+
339
+ for log in result['EnvironmentInfo']:
340
+ instance_id = log['Ec2InstanceId']
341
+ url = log['Message']
342
+ timestamp = log.get('SampleTimestamp')
343
+
344
+ if instance_id not in instance_id_list or timestamp > instance_timestamps[instance_id]:
345
+ instance_id_list[instance_id] = url
346
+ instance_timestamps[instance_id] = timestamp
347
+
348
+ return instance_id_list
349
+
350
+
333
351
  def get_logs(env_name, info_type, do_zip=False, instance_id=None):
334
352
  """
335
353
  Obtains the set of logs from ElasticBeanstalk for the environment `env_name` from ElasticBeanstalk
336
354
  (and not CloudWatch) for the environment, `env_name` and determines whether to tail it or bundle/zip
337
355
  it.
338
356
  :param env_name: An Elastic Beanstalk environment name
339
- :param info_type: The type of information to request. Possible values: tail, bundle
357
+ :param info_type: The type of information to request. Possible values: tail, bundle, analyze
340
358
  :param do_zip: Whether the information retrieved should be zipped; works only with info_type 'bundle'
341
359
  :param instance_id: The specific EC2 instance associated with `env_name` whose log information to retrieve
342
360
  :return: None
343
361
  """
344
- instance_id_list = get_instance_log_url_mappings(env_name, info_type)
362
+ if info_type == logs_operations_constants.INFORMATION_FORMAT.ANALYZE:
363
+ instance_id_list = _get_latest_instance_log_url_mappings(env_name, info_type)
364
+ else:
365
+ instance_id_list = get_instance_log_url_mappings(env_name, info_type)
345
366
 
346
367
  if instance_id:
347
368
  instance_id_list = _updated_instance_id_list(instance_id_list, instance_id)
348
369
 
349
370
  if info_type == logs_operations_constants.INFORMATION_FORMAT.BUNDLE:
350
371
  _handle_bundle_logs(instance_id_list, do_zip)
372
+ elif info_type == logs_operations_constants.INFORMATION_FORMAT.ANALYZE:
373
+ _handle_analyze_logs(instance_id_list)
351
374
  else:
352
375
  _handle_tail_logs(instance_id_list)
353
376
 
@@ -473,7 +496,7 @@ def retrieve_beanstalk_logs(env_name, info_type, do_zip=False, instance_id=None)
473
496
  """
474
497
  Obtains the set of logs from ElasticBeanstalk for the environment `env_name`.
475
498
  :param env_name: An Elastic Beanstalk environment name
476
- :param info_type: The type of information to request. Possible values: tail, bundle
499
+ :param info_type: The type of information to request. Possible values: tail, bundle, analyze
477
500
  :param do_zip: Whether the information retrieved should be zipped; works only with info_type 'bundle'
478
501
  :param instance_id: The specific EC2 instance associated with `env_name` whose log information to retrieve
479
502
  :return: None
@@ -481,7 +504,11 @@ def retrieve_beanstalk_logs(env_name, info_type, do_zip=False, instance_id=None)
481
504
  result = elasticbeanstalk.request_environment_info(env_name, info_type)
482
505
 
483
506
  request_id = result['ResponseMetadata']['RequestId']
484
- io.echo(prompts['logs.retrieving'])
507
+
508
+ if info_type == logs_operations_constants.INFORMATION_FORMAT.ANALYZE:
509
+ io.echo(prompts['logs.analyzing'])
510
+ else:
511
+ io.echo(prompts['logs.retrieving'])
485
512
 
486
513
  commonops.wait_for_success_events(
487
514
  request_id,
@@ -898,6 +925,12 @@ def _handle_tail_logs(instance_id_list):
898
925
  io.echo_with_pager(os.linesep.join(data))
899
926
 
900
927
 
928
+ def _handle_analyze_logs(instance_id_list):
929
+ for instance_id, url in iteritems(instance_id_list):
930
+ log_result = utils.get_data_from_url(url)
931
+ io.echo(utils.decode_bytes(log_result))
932
+
933
+
901
934
  def _instance_log_streaming_option_setting(disable=False):
902
935
  return elasticbeanstalk.create_option_setting(
903
936
  namespaces.CLOUDWATCH_LOGS,
@@ -22,6 +22,7 @@ class logs_operations_constants(object):
22
22
  class INFORMATION_FORMAT(object):
23
23
  BUNDLE = 'bundle'
24
24
  TAIL = 'tail'
25
+ ANALYZE = 'analyze'
25
26
 
26
27
 
27
28
  class iam_documents(object):
@@ -384,6 +384,14 @@ To get started enter "eb platform init". Then enter "eb platform create".""",
384
384
  'logs.cloudwatch_logs_argument_and_zip_argument':
385
385
  'You can\'t use the "--zip" option when setting log streaming. This is an '
386
386
  'output option for log retrieval commands.',
387
+ 'logs.analyze_argument_and_instance_argument':
388
+ 'You can\'t use the "--instance" option with the "--analyze" option.',
389
+ 'logs.analyze_argument_and_all_argument':
390
+ 'You can\'t use the "--all" option with the "--analyze" option.',
391
+ 'logs.analyze_argument_and_zip_argument':
392
+ 'You can\'t use the "--zip" option with the "--analyze" option.',
393
+ 'logs.analyze_argument_and_log_group_argument':
394
+ 'You can\'t use the "--log-group" option with the "--analyze" option.',
387
395
  'logs.health_and_instance_argument':
388
396
  'You can\'t use the "--instance" option when retrieving environment-health '
389
397
  'logs. The scope for these logs is the entire environment.',
@@ -619,6 +627,7 @@ prompts = {
619
627
  'vpc.elbpublic': 'Do you want the load balancer to be public? (Select no for internal)',
620
628
  'vpc.dbsubnets': 'Enter a comma-separated list of database subnets',
621
629
  'logs.retrieving': 'Retrieving logs...',
630
+ 'logs.analyzing': 'Analyzing environment...',
622
631
  'swap.envprompt': 'Select the environment with which you want to swap CNAMEs.',
623
632
  'abort.envprompt': 'Select the environment you want to stop updating.',
624
633
  'clone.latest': 'There is a newer version of the platform used by the environment '
@@ -853,6 +862,7 @@ flag_text = {
853
862
 
854
863
  'logs.all': 'retrieve all logs',
855
864
  'logs.zip': 'retrieve all logs as .zip',
865
+ 'logs.analyze': 'AI-powered analysis of logs, events, and environment health',
856
866
  'logs.instance': 'retrieve logs only for this instance',
857
867
  'logs.log-group': 'retrieve logs only for this log group',
858
868
  'logs.stream': 'enable/disable log streaming to CloudWatch Logs',
@@ -1052,6 +1062,7 @@ responses = {
1052
1062
  'logs.pulled': 'Pulled logs for environment instances.',
1053
1063
  'logs.successtail': 'Successfully finished tailing',
1054
1064
  'logs.successbundle': 'Successfully finished bundling',
1065
+ 'logs.successanalyze': 'AI analysis request has completed.',
1055
1066
  'logs.fail': 'Failed to pull logs for environment instances.',
1056
1067
  'env.terminated': 'terminateEnvironment completed successfully.',
1057
1068
  'env.invalidstate': 'Environment named {env-name} is in an invalid state for this operation. '
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes