awsebcli 3.27.2__tar.gz → 3.27.4__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.27.2 → awsebcli-3.27.4}/CHANGES.rst +10 -0
  2. {awsebcli-3.27.2/awsebcli.egg-info → awsebcli-3.27.4}/PKG-INFO +15 -30
  3. {awsebcli-3.27.2 → awsebcli-3.27.4/awsebcli.egg-info}/PKG-INFO +15 -30
  4. {awsebcli-3.27.2 → awsebcli-3.27.4}/awsebcli.egg-info/SOURCES.txt +1 -3
  5. {awsebcli-3.27.2 → awsebcli-3.27.4}/awsebcli.egg-info/entry_points.txt +1 -0
  6. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/__init__.py +1 -1
  7. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/core/fileoperations.py +15 -9
  8. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/createops.py +1 -2
  9. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/logsops.py +2 -1
  10. awsebcli-3.27.2/tests/test_dependencies_mismatch.py +0 -145
  11. awsebcli-3.27.2/tests/test_help_texts.py +0 -1767
  12. {awsebcli-3.27.2 → awsebcli-3.27.4}/LICENSE.txt +0 -0
  13. {awsebcli-3.27.2 → awsebcli-3.27.4}/MANIFEST.in +0 -0
  14. {awsebcli-3.27.2 → awsebcli-3.27.4}/README.rst +0 -0
  15. {awsebcli-3.27.2 → awsebcli-3.27.4}/awsebcli.egg-info/dependency_links.txt +0 -0
  16. {awsebcli-3.27.2 → awsebcli-3.27.4}/awsebcli.egg-info/requires.txt +0 -0
  17. {awsebcli-3.27.2 → awsebcli-3.27.4}/awsebcli.egg-info/top_level.txt +0 -0
  18. {awsebcli-3.27.2 → awsebcli-3.27.4}/bin/__init__.py +0 -0
  19. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/bundled/__init__.py +0 -0
  20. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/bundled/asciimatics/__init__.py +0 -0
  21. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/bundled/asciimatics/event.py +0 -0
  22. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/bundled/asciimatics/exceptions.py +0 -0
  23. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/bundled/asciimatics/overrides.py +0 -0
  24. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/bundled/asciimatics/screen.py +0 -0
  25. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/bundled/asciimatics/utilities.py +0 -0
  26. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/containers/__init__.py +0 -0
  27. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/containers/abstractcontainer.py +0 -0
  28. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/containers/commands.py +0 -0
  29. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/containers/compat.py +0 -0
  30. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/containers/compose.py +0 -0
  31. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/containers/container_viewmodel.py +0 -0
  32. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/containers/containerfiles/container_config.json +0 -0
  33. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/containers/containerfiles/glassfish-runtime-4.0-jdk7 +0 -0
  34. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/containers/containerfiles/glassfish-runtime-4.1-jdk8 +0 -0
  35. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/containers/containerfiles/glassfish-runtime-5.0-al +0 -0
  36. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/containers/containerfiles/golang-runtime-1.3 +0 -0
  37. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/containers/containerfiles/golang-runtime-1.4 +0 -0
  38. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/containers/containerfiles/python3-runtime +0 -0
  39. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/containers/containerops.py +0 -0
  40. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/containers/dockerrun.py +0 -0
  41. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/containers/envvarcollector.py +0 -0
  42. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/containers/factory.py +0 -0
  43. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/containers/fshandler.py +0 -0
  44. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/containers/generic_container.py +0 -0
  45. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/containers/log.py +0 -0
  46. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/containers/multicontainer.py +0 -0
  47. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/containers/pathconfig.py +0 -0
  48. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/containers/preconfigured_container.py +0 -0
  49. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/containers/utils.py +0 -0
  50. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/__init__.py +0 -0
  51. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/abort.py +0 -0
  52. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/appversion.py +0 -0
  53. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/clone.py +0 -0
  54. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/codesource.py +0 -0
  55. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/config.py +0 -0
  56. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/console.py +0 -0
  57. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/create.py +0 -0
  58. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/deploy.py +0 -0
  59. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/events.py +0 -0
  60. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/health.py +0 -0
  61. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/initialize.py +0 -0
  62. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/lifecycle.py +0 -0
  63. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/list.py +0 -0
  64. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/local.py +0 -0
  65. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/logs.py +0 -0
  66. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/migrate.py +0 -0
  67. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/migrate_scripts/add_virtual_dir_read_access.ps1 +0 -0
  68. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/migrate_scripts/arr_configuration_importer_script.ps1 +0 -0
  69. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/migrate_scripts/arr_msi_installer.ps1 +0 -0
  70. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/migrate_scripts/default_web_site_port_reassignment_template.ps1 +0 -0
  71. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/migrate_scripts/ebdeploy_utils.ps1 +0 -0
  72. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/migrate_scripts/modify_firewall_config.ps1 +0 -0
  73. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/migrate_scripts/noop.ps1 +0 -0
  74. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/migrate_scripts/reinstate_iisstart_htm_default_document.ps1 +0 -0
  75. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/migrate_scripts/site_installer_template.ps1 +0 -0
  76. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/migrate_scripts/site_removal_template.ps1 +0 -0
  77. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/migrate_scripts/site_restart_template.ps1 +0 -0
  78. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/migrate_scripts/windows_proxy_feature_enabler.ps1 +0 -0
  79. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/open.py +0 -0
  80. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/platform/__init__.py +0 -0
  81. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/platform/create.py +0 -0
  82. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/platform/delete.py +0 -0
  83. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/platform/events.py +0 -0
  84. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/platform/initialize.py +0 -0
  85. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/platform/list.py +0 -0
  86. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/platform/logs.py +0 -0
  87. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/platform/status.py +0 -0
  88. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/platform/use.py +0 -0
  89. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/printenv.py +0 -0
  90. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/restore.py +0 -0
  91. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/scale.py +0 -0
  92. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/setenv.py +0 -0
  93. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/ssh.py +0 -0
  94. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/status.py +0 -0
  95. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/swap.py +0 -0
  96. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/tags.py +0 -0
  97. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/terminate.py +0 -0
  98. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/upgrade.py +0 -0
  99. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/controllers/use.py +0 -0
  100. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/core/__init__.py +0 -0
  101. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/core/abstractcontroller.py +0 -0
  102. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/core/base.py +0 -0
  103. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/core/ebcore.py +0 -0
  104. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/core/ebglobals.py +0 -0
  105. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/core/ebpcore.py +0 -0
  106. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/core/ebrun.py +0 -0
  107. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/core/hooks.py +0 -0
  108. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/core/io.py +0 -0
  109. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/display/__init__.py +0 -0
  110. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/display/appversion.py +0 -0
  111. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/display/data_poller.py +0 -0
  112. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/display/environments.py +0 -0
  113. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/display/help.py +0 -0
  114. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/display/screen.py +0 -0
  115. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/display/specialtables.py +0 -0
  116. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/display/table.py +0 -0
  117. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/display/term.py +0 -0
  118. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/display/traditional.py +0 -0
  119. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/labs/__init__.py +0 -0
  120. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/labs/cleanupversions.py +0 -0
  121. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/labs/cloudwatchfiles/cwl-activity-logs-v1.config +0 -0
  122. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/labs/cloudwatchfiles/cwl-setup-v1.config +0 -0
  123. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/labs/cloudwatchfiles/eb-logs-v1.config +0 -0
  124. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/labs/cloudwatchsetup.py +0 -0
  125. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/labs/controller.py +0 -0
  126. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/labs/convertdockerrun.py +0 -0
  127. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/labs/download.py +0 -0
  128. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/labs/quicklink.py +0 -0
  129. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/labs/setupssl.py +0 -0
  130. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/lib/__init__.py +0 -0
  131. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/lib/aws.py +0 -0
  132. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/lib/botocoredata/elasticbeanstalk/2010-12-01/paginators-1.json +0 -0
  133. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/lib/botocoredata/elasticbeanstalk/2010-12-01/service-2.json +0 -0
  134. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/lib/botopatch.py +0 -0
  135. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/lib/cloudformation.py +0 -0
  136. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/lib/cloudwatch.py +0 -0
  137. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/lib/codebuild.py +0 -0
  138. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/lib/codecommit.py +0 -0
  139. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/lib/ec2.py +0 -0
  140. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/lib/elasticbeanstalk.py +0 -0
  141. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/lib/elb.py +0 -0
  142. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/lib/elbv2.py +0 -0
  143. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/lib/heuristics.py +0 -0
  144. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/lib/iam.py +0 -0
  145. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/lib/kms.py +0 -0
  146. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/lib/s3.py +0 -0
  147. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/lib/sns.py +0 -0
  148. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/lib/utils.py +0 -0
  149. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/objects/__init__.py +0 -0
  150. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/objects/api_filters.py +0 -0
  151. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/objects/application.py +0 -0
  152. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/objects/buildconfiguration.py +0 -0
  153. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/objects/cfn_stack.py +0 -0
  154. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/objects/conversionconfiguration.py +0 -0
  155. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/objects/environment.py +0 -0
  156. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/objects/environmentsettings.py +0 -0
  157. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/objects/event.py +0 -0
  158. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/objects/exceptions.py +0 -0
  159. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/objects/lifecycleconfiguration.py +0 -0
  160. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/objects/log_stream.py +0 -0
  161. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/objects/platform.py +0 -0
  162. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/objects/region.py +0 -0
  163. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/objects/requests.py +0 -0
  164. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/objects/solutionstack.py +0 -0
  165. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/objects/sourcecontrol.py +0 -0
  166. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/objects/tier.py +0 -0
  167. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/__init__.py +0 -0
  168. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/abortops.py +0 -0
  169. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/appversionops.py +0 -0
  170. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/buildspecops.py +0 -0
  171. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/cloneops.py +0 -0
  172. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/commonops.py +0 -0
  173. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/composeops.py +0 -0
  174. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/configops.py +0 -0
  175. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/consoleops.py +0 -0
  176. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/deployops.py +0 -0
  177. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/envvarops.py +0 -0
  178. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/eventsops.py +0 -0
  179. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/gitops.py +0 -0
  180. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/healthops.py +0 -0
  181. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/initializeops.py +0 -0
  182. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/lifecycleops.py +0 -0
  183. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/listops.py +0 -0
  184. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/localops.py +0 -0
  185. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/openops.py +0 -0
  186. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/platform_branch_ops.py +0 -0
  187. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/platform_version_ops.py +0 -0
  188. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/platformops.py +0 -0
  189. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/restoreops.py +0 -0
  190. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/saved_configs.py +0 -0
  191. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/scaleops.py +0 -0
  192. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/shared_lb_ops.py +0 -0
  193. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/solution_stack_ops.py +0 -0
  194. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/spotops.py +0 -0
  195. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/sshops.py +0 -0
  196. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/statusops.py +0 -0
  197. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/swapops.py +0 -0
  198. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/tagops/__init__.py +0 -0
  199. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/tagops/taglist.py +0 -0
  200. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/tagops/tagops.py +0 -0
  201. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/terminateops.py +0 -0
  202. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/upgradeops.py +0 -0
  203. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/operations/useops.py +0 -0
  204. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/resources/__init__.py +0 -0
  205. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/resources/regex.py +0 -0
  206. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/resources/statics.py +0 -0
  207. {awsebcli-3.27.2 → awsebcli-3.27.4}/ebcli/resources/strings.py +0 -0
  208. {awsebcli-3.27.2 → awsebcli-3.27.4}/requirements.txt +0 -0
  209. {awsebcli-3.27.2 → awsebcli-3.27.4}/setup.cfg +0 -0
  210. {awsebcli-3.27.2 → awsebcli-3.27.4}/setup.py +0 -0
@@ -1,5 +1,15 @@
1
1
  Changelog
2
2
  =========
3
+ --------------------
4
+ 3.27.4 (2026-10-13)
5
+ --------------------
6
+ - Sanitize path separators in CloudWatch log stream names when saving logs with ``eb logs``
7
+
8
+ --------------------
9
+ 3.27.3 (2026-06-29)
10
+ --------------------
11
+ - Fix path traversal vulnerability in zip extraction for ``eb labs download`` and ``eb create``
12
+
3
13
  --------------------
4
14
  3.27.2 (2026-05-13)
5
15
  --------------------
@@ -1,11 +1,12 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.1
2
2
  Name: awsebcli
3
- Version: 3.27.2
3
+ Version: 3.27.4
4
4
  Summary: Command Line Interface for AWS EB.
5
5
  Home-page: http://aws.amazon.com/elasticbeanstalk/
6
6
  Author: AWS Elastic Beanstalk
7
7
  Author-email: aws-eb-cli@amazon.com
8
8
  License: Apache License 2.0
9
+ Platform: UNKNOWN
9
10
  Classifier: Development Status :: 5 - Production/Stable
10
11
  Classifier: Intended Audience :: Developers
11
12
  Classifier: Intended Audience :: System Administrators
@@ -19,34 +20,6 @@ Classifier: Programming Language :: Python :: 3.10
19
20
  Classifier: Programming Language :: Python :: 3.11
20
21
  Classifier: Programming Language :: Python :: 3.12
21
22
  License-File: LICENSE.txt
22
- Requires-Dist: botocore<2,>=1.35.0
23
- Requires-Dist: cement==2.10.14
24
- Requires-Dist: colorama<0.5,>=0.4.6
25
- Requires-Dist: pathspec==0.12.1
26
- Requires-Dist: python-dateutil<3.0.0,>=2.1
27
- Requires-Dist: requests<3,>=2.31
28
- Requires-Dist: setuptools>=20.0
29
- Requires-Dist: semantic_version<2.11,>=2.10.0
30
- Requires-Dist: termcolor<3,>=2.4.0
31
- Requires-Dist: wcwidth<0.3,>=0.2.13
32
- Requires-Dist: PyYAML<6.1,>=5.3.1
33
- Requires-Dist: urllib3<2,>=1.26.5; python_version < "3.10"
34
- Requires-Dist: urllib3<3,>=1.26.5; python_version >= "3.10"
35
- Requires-Dist: packaging<27.0,>=24.2
36
- Requires-Dist: blessed>=1.20.0
37
- Requires-Dist: fabric==3.2.2
38
- Requires-Dist: pythonnet<4,>=3.0.5; platform_system == "Windows"
39
- Requires-Dist: pypiwin32==219; sys_platform == "win32" and python_version < "3.6"
40
- Requires-Dist: pypiwin32==223; sys_platform == "win32" and python_version >= "3.6"
41
- Dynamic: author
42
- Dynamic: author-email
43
- Dynamic: classifier
44
- Dynamic: description
45
- Dynamic: home-page
46
- Dynamic: license
47
- Dynamic: provides-extra
48
- Dynamic: requires-dist
49
- Dynamic: summary
50
23
 
51
24
  ======
52
25
  EB CLI
@@ -126,6 +99,16 @@ in the *AWS Elastic Beanstalk Developer Guide*.
126
99
 
127
100
  Changelog
128
101
  =========
102
+ --------------------
103
+ 3.27.4 (2026-10-13)
104
+ --------------------
105
+ - Sanitize path separators in CloudWatch log stream names when saving logs with ``eb logs``
106
+
107
+ --------------------
108
+ 3.27.3 (2026-06-29)
109
+ --------------------
110
+ - Fix path traversal vulnerability in zip extraction for ``eb labs download`` and ``eb create``
111
+
129
112
  --------------------
130
113
  3.27.2 (2026-05-13)
131
114
  --------------------
@@ -1009,3 +992,5 @@ Changelog
1009
992
  - Default database username changed from admin to ebroot
1010
993
  - Trim application version description if it is too long
1011
994
  - Application version no longer includes git hash
995
+
996
+
@@ -1,11 +1,12 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.1
2
2
  Name: awsebcli
3
- Version: 3.27.2
3
+ Version: 3.27.4
4
4
  Summary: Command Line Interface for AWS EB.
5
5
  Home-page: http://aws.amazon.com/elasticbeanstalk/
6
6
  Author: AWS Elastic Beanstalk
7
7
  Author-email: aws-eb-cli@amazon.com
8
8
  License: Apache License 2.0
9
+ Platform: UNKNOWN
9
10
  Classifier: Development Status :: 5 - Production/Stable
10
11
  Classifier: Intended Audience :: Developers
11
12
  Classifier: Intended Audience :: System Administrators
@@ -19,34 +20,6 @@ Classifier: Programming Language :: Python :: 3.10
19
20
  Classifier: Programming Language :: Python :: 3.11
20
21
  Classifier: Programming Language :: Python :: 3.12
21
22
  License-File: LICENSE.txt
22
- Requires-Dist: botocore<2,>=1.35.0
23
- Requires-Dist: cement==2.10.14
24
- Requires-Dist: colorama<0.5,>=0.4.6
25
- Requires-Dist: pathspec==0.12.1
26
- Requires-Dist: python-dateutil<3.0.0,>=2.1
27
- Requires-Dist: requests<3,>=2.31
28
- Requires-Dist: setuptools>=20.0
29
- Requires-Dist: semantic_version<2.11,>=2.10.0
30
- Requires-Dist: termcolor<3,>=2.4.0
31
- Requires-Dist: wcwidth<0.3,>=0.2.13
32
- Requires-Dist: PyYAML<6.1,>=5.3.1
33
- Requires-Dist: urllib3<2,>=1.26.5; python_version < "3.10"
34
- Requires-Dist: urllib3<3,>=1.26.5; python_version >= "3.10"
35
- Requires-Dist: packaging<27.0,>=24.2
36
- Requires-Dist: blessed>=1.20.0
37
- Requires-Dist: fabric==3.2.2
38
- Requires-Dist: pythonnet<4,>=3.0.5; platform_system == "Windows"
39
- Requires-Dist: pypiwin32==219; sys_platform == "win32" and python_version < "3.6"
40
- Requires-Dist: pypiwin32==223; sys_platform == "win32" and python_version >= "3.6"
41
- Dynamic: author
42
- Dynamic: author-email
43
- Dynamic: classifier
44
- Dynamic: description
45
- Dynamic: home-page
46
- Dynamic: license
47
- Dynamic: provides-extra
48
- Dynamic: requires-dist
49
- Dynamic: summary
50
23
 
51
24
  ======
52
25
  EB CLI
@@ -126,6 +99,16 @@ in the *AWS Elastic Beanstalk Developer Guide*.
126
99
 
127
100
  Changelog
128
101
  =========
102
+ --------------------
103
+ 3.27.4 (2026-10-13)
104
+ --------------------
105
+ - Sanitize path separators in CloudWatch log stream names when saving logs with ``eb logs``
106
+
107
+ --------------------
108
+ 3.27.3 (2026-06-29)
109
+ --------------------
110
+ - Fix path traversal vulnerability in zip extraction for ``eb labs download`` and ``eb create``
111
+
129
112
  --------------------
130
113
  3.27.2 (2026-05-13)
131
114
  --------------------
@@ -1009,3 +992,5 @@ Changelog
1009
992
  - Default database username changed from admin to ebroot
1010
993
  - Trim application version description if it is too long
1011
994
  - Application version no longer includes git hash
995
+
996
+
@@ -203,6 +203,4 @@ ebcli/operations/tagops/tagops.py
203
203
  ebcli/resources/__init__.py
204
204
  ebcli/resources/regex.py
205
205
  ebcli/resources/statics.py
206
- ebcli/resources/strings.py
207
- tests/test_dependencies_mismatch.py
208
- tests/test_help_texts.py
206
+ ebcli/resources/strings.py
@@ -1,3 +1,4 @@
1
1
  [console_scripts]
2
2
  eb = ebcli.core.ebcore:main
3
3
  ebp = ebcli.core.ebpcore:main
4
+
@@ -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.27.2'
14
+ __version__ = '3.27.4'
@@ -40,7 +40,8 @@ from ebcli.resources.strings import prompts, strings
40
40
  from ebcli.objects.exceptions import (
41
41
  NotInitializedError,
42
42
  InvalidSyntaxError,
43
- NotFoundError
43
+ NotFoundError,
44
+ ValidationError
44
45
  )
45
46
  from ebcli.core.ebglobals import Constants
46
47
 
@@ -482,14 +483,19 @@ def unzip_folder(file_location, directory):
482
483
  if not os.path.isdir(directory):
483
484
  os.makedirs(directory)
484
485
 
485
- zip = zipfile.ZipFile(file_location, 'r', allowZip64=True)
486
- for cur_file in zip.namelist():
487
- if not cur_file.endswith('/'):
488
- root, name = os.path.split(cur_file)
489
- path = os.path.normpath(os.path.join(directory, root))
490
- if not os.path.isdir(path):
491
- os.makedirs(path)
492
- open(os.path.join(path, name), 'wb').write(zip.read(cur_file))
486
+ real_directory = os.path.realpath(directory)
487
+ with zipfile.ZipFile(file_location, 'r', allowZip64=True) as zf:
488
+ for cur_file in zf.namelist():
489
+ if not cur_file.endswith('/'):
490
+ root, name = os.path.split(cur_file)
491
+ path = os.path.normpath(os.path.join(directory, root))
492
+ target_file = os.path.realpath(os.path.join(path, name))
493
+ if not target_file.startswith(real_directory + os.sep):
494
+ raise ValidationError(
495
+ 'Zip entry "{}" would extract outside the target directory'.format(cur_file))
496
+ if not os.path.isdir(path):
497
+ os.makedirs(path)
498
+ open(os.path.join(path, name), 'wb').write(zf.read(cur_file))
493
499
 
494
500
 
495
501
  def delete_app_file(app_name):
@@ -12,7 +12,6 @@
12
12
  # language governing permissions and limitations under the License.
13
13
  import os
14
14
  import re
15
- from zipfile import ZipFile
16
15
 
17
16
  from cement.utils.misc import minimal_logger
18
17
 
@@ -164,7 +163,7 @@ def download_and_extract_sample_app(env_name):
164
163
  zip_file_location = '.elasticbeanstalk/.sample_app_download.zip'
165
164
  io.echo('INFO: {}'.format(strings['create.downloading_sample_application']))
166
165
  download_application_version(url, zip_file_location)
167
- ZipFile(zip_file_location, 'r', allowZip64=True).extractall()
166
+ fileoperations.unzip_folder(zip_file_location, os.getcwd())
168
167
  os.remove(zip_file_location)
169
168
  io.echo('INFO: {}'.format(strings['create.sample_application_download_complete']))
170
169
  except NotAuthorizedError as e:
@@ -876,7 +876,8 @@ def _get_cloudwatch_messages(
876
876
 
877
877
 
878
878
  def __get_full_path_for_instance_logs(logs_location, instance_id):
879
- return '{0}/{1}.log'.format(logs_location, instance_id)
879
+ filename = instance_id.replace('/', '_').replace('\\', '_')
880
+ return '{0}/{1}.log'.format(logs_location, filename)
880
881
 
881
882
 
882
883
  def _get_platform_builder_group_name(platform_name):
@@ -1,145 +0,0 @@
1
- # Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License"). You
4
- # may not use this file except in compliance with the License. A copy of
5
- # the License is located at
6
- #
7
- # http://aws.amazon.com/apache2.0/
8
- #
9
- # or in the "license" file accompanying this file. This file is
10
- # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
- # ANY KIND, either express or implied. See the License for the specific
12
- # language governing permissions and limitations under the License.
13
-
14
-
15
- try:
16
- from pip._internal.operations.check import (
17
- check_package_set,
18
- create_package_set_from_installed,
19
- )
20
- except ImportError:
21
- raise RuntimeError('You need pip==21.1 to check for dependency incompatibilities.')
22
-
23
- from ebcli.core import io
24
-
25
- _indent = ' '
26
-
27
-
28
- def color_red(message):
29
- io.echo(io.bold(io.color('red', message)))
30
-
31
-
32
- def color_green(message):
33
- io.echo(io.bold(io.color('green', message)))
34
-
35
-
36
- def collect_package_requirements_by_requirement_name(req_name, package_set):
37
- required_by = dict()
38
- for pkg_name, package in package_set.items():
39
- for req in package.dependencies:
40
- if req.name.lower() == req_name.lower():
41
- required_by[pkg_name] = req.specifier
42
-
43
- return required_by
44
-
45
-
46
- def collect_package_set():
47
- package_set = create_package_set_from_installed()[0]
48
-
49
- return package_set
50
-
51
-
52
- def check_for_missing_requirements_and_dependency_incompatibilities():
53
- try:
54
- package_set = collect_package_set()
55
- missing, conflicting = check_package_set(package_set)
56
-
57
- io.echo('- Checking for missing requirements ... ')
58
- if missing:
59
- color_red('{}Found unmet dependencies'.format(_indent * 1))
60
- missing_description = describe_missing_results(missing, package_set)
61
- color_red(missing_description)
62
- else:
63
- color_green('{}OK!'.format(_indent * 2))
64
-
65
- io.echo('- Checking for dependency incompatibilities ... ')
66
- if conflicting:
67
- color_red('{}Found dependency incompatibilities'.format(_indent * 1))
68
- conflicting_description = describe_conflicting_results(conflicting, package_set)
69
- color_red(conflicting_description)
70
- else:
71
- color_green('{}OK!'.format(_indent * 1))
72
-
73
- if missing or conflicting:
74
- exit(1)
75
- except Exception as e:
76
- raise RuntimeError(
77
- ' Something went wrong while attempting to find missing and/or incompatible dependencies. '
78
- 'The following exception was raised: \n {}'.format(str(e))
79
- )
80
-
81
-
82
- def describe_conflicting_results(conflicting, package_set):
83
- conflicting_reqs = dict()
84
- description = '{}Confliciting dependencies:\n'.format(_indent * 2)
85
-
86
- for pkg_name in conflicting:
87
- for result in conflicting[pkg_name]:
88
-
89
- req_name = result[0]
90
- req_version = result[1]
91
- req = result[2]
92
-
93
- if not req_name in conflicting_reqs:
94
- conflicting_reqs[req_name] = {
95
- 'required_by': collect_package_requirements_by_requirement_name(req_name, package_set),
96
- 'package_details': package_set[req_name]
97
- }
98
-
99
- for req_name, req in conflicting_reqs.items():
100
- req_version = req['package_details'].version
101
- description += '{}{}:\n'.format(_indent * 3, req_name)
102
- description += '{}Installed version: {}\n'.format(_indent * 4, req_version)
103
- description += '{}Required by:\n'.format(_indent * 4)
104
- for pkg_name, specifier in req['required_by'].items():
105
- is_conflict = not specifier.contains(req_version, prereleases=True)
106
- description += '{}{} {} ({}: {}) {}\n'.format(
107
- _indent * 5,
108
- pkg_name,
109
- package_set[pkg_name].version,
110
- req_name,
111
- specifier,
112
- '[CONFLICT]' if is_conflict else ''
113
- )
114
-
115
- return description
116
-
117
-
118
- def describe_missing_results(missing, package_set):
119
- missing_reqs = dict()
120
- description = '{}Missing dependencies:\n'.format(_indent * 2)
121
-
122
- for pkg_name in missing:
123
- for result in missing[pkg_name]:
124
-
125
- req_name = result[0]
126
-
127
- if not req_name in missing_reqs:
128
- missing_reqs[req_name] = collect_package_requirements_by_requirement_name(req_name, package_set)
129
-
130
- for req_name, required_by in missing_reqs.items():
131
- description += '{}{}:\n'.format(_indent * 3, req_name)
132
- description += '{}Required by:\n'.format(_indent * 4)
133
- for pkg_name, specifier in required_by.items():
134
- description += '{}{} {} ({}: {})\n'.format(
135
- _indent * 5,
136
- pkg_name,
137
- package_set[pkg_name].version,
138
- req_name,
139
- specifier,
140
- )
141
-
142
- return description
143
-
144
- io.echo('Checking for dependency mismatches ...')
145
- check_for_missing_requirements_and_dependency_incompatibilities()