awsebcli 3.27.1__tar.gz → 3.27.2__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.1 → awsebcli-3.27.2}/CHANGES.rst +5 -0
  2. {awsebcli-3.27.1/awsebcli.egg-info → awsebcli-3.27.2}/PKG-INFO +35 -5
  3. {awsebcli-3.27.1 → awsebcli-3.27.2/awsebcli.egg-info}/PKG-INFO +35 -5
  4. {awsebcli-3.27.1 → awsebcli-3.27.2}/awsebcli.egg-info/SOURCES.txt +3 -1
  5. {awsebcli-3.27.1 → awsebcli-3.27.2}/awsebcli.egg-info/entry_points.txt +0 -1
  6. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/__init__.py +1 -1
  7. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/localops.py +20 -5
  8. awsebcli-3.27.2/tests/test_dependencies_mismatch.py +145 -0
  9. awsebcli-3.27.2/tests/test_help_texts.py +1767 -0
  10. {awsebcli-3.27.1 → awsebcli-3.27.2}/LICENSE.txt +0 -0
  11. {awsebcli-3.27.1 → awsebcli-3.27.2}/MANIFEST.in +0 -0
  12. {awsebcli-3.27.1 → awsebcli-3.27.2}/README.rst +0 -0
  13. {awsebcli-3.27.1 → awsebcli-3.27.2}/awsebcli.egg-info/dependency_links.txt +0 -0
  14. {awsebcli-3.27.1 → awsebcli-3.27.2}/awsebcli.egg-info/requires.txt +0 -0
  15. {awsebcli-3.27.1 → awsebcli-3.27.2}/awsebcli.egg-info/top_level.txt +0 -0
  16. {awsebcli-3.27.1 → awsebcli-3.27.2}/bin/__init__.py +0 -0
  17. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/bundled/__init__.py +0 -0
  18. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/bundled/asciimatics/__init__.py +0 -0
  19. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/bundled/asciimatics/event.py +0 -0
  20. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/bundled/asciimatics/exceptions.py +0 -0
  21. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/bundled/asciimatics/overrides.py +0 -0
  22. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/bundled/asciimatics/screen.py +0 -0
  23. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/bundled/asciimatics/utilities.py +0 -0
  24. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/containers/__init__.py +0 -0
  25. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/containers/abstractcontainer.py +0 -0
  26. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/containers/commands.py +0 -0
  27. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/containers/compat.py +0 -0
  28. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/containers/compose.py +0 -0
  29. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/containers/container_viewmodel.py +0 -0
  30. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/containers/containerfiles/container_config.json +0 -0
  31. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/containers/containerfiles/glassfish-runtime-4.0-jdk7 +0 -0
  32. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/containers/containerfiles/glassfish-runtime-4.1-jdk8 +0 -0
  33. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/containers/containerfiles/glassfish-runtime-5.0-al +0 -0
  34. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/containers/containerfiles/golang-runtime-1.3 +0 -0
  35. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/containers/containerfiles/golang-runtime-1.4 +0 -0
  36. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/containers/containerfiles/python3-runtime +0 -0
  37. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/containers/containerops.py +0 -0
  38. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/containers/dockerrun.py +0 -0
  39. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/containers/envvarcollector.py +0 -0
  40. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/containers/factory.py +0 -0
  41. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/containers/fshandler.py +0 -0
  42. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/containers/generic_container.py +0 -0
  43. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/containers/log.py +0 -0
  44. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/containers/multicontainer.py +0 -0
  45. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/containers/pathconfig.py +0 -0
  46. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/containers/preconfigured_container.py +0 -0
  47. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/containers/utils.py +0 -0
  48. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/__init__.py +0 -0
  49. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/abort.py +0 -0
  50. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/appversion.py +0 -0
  51. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/clone.py +0 -0
  52. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/codesource.py +0 -0
  53. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/config.py +0 -0
  54. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/console.py +0 -0
  55. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/create.py +0 -0
  56. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/deploy.py +0 -0
  57. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/events.py +0 -0
  58. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/health.py +0 -0
  59. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/initialize.py +0 -0
  60. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/lifecycle.py +0 -0
  61. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/list.py +0 -0
  62. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/local.py +0 -0
  63. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/logs.py +0 -0
  64. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/migrate.py +0 -0
  65. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/migrate_scripts/add_virtual_dir_read_access.ps1 +0 -0
  66. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/migrate_scripts/arr_configuration_importer_script.ps1 +0 -0
  67. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/migrate_scripts/arr_msi_installer.ps1 +0 -0
  68. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/migrate_scripts/default_web_site_port_reassignment_template.ps1 +0 -0
  69. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/migrate_scripts/ebdeploy_utils.ps1 +0 -0
  70. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/migrate_scripts/modify_firewall_config.ps1 +0 -0
  71. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/migrate_scripts/noop.ps1 +0 -0
  72. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/migrate_scripts/reinstate_iisstart_htm_default_document.ps1 +0 -0
  73. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/migrate_scripts/site_installer_template.ps1 +0 -0
  74. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/migrate_scripts/site_removal_template.ps1 +0 -0
  75. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/migrate_scripts/site_restart_template.ps1 +0 -0
  76. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/migrate_scripts/windows_proxy_feature_enabler.ps1 +0 -0
  77. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/open.py +0 -0
  78. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/platform/__init__.py +0 -0
  79. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/platform/create.py +0 -0
  80. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/platform/delete.py +0 -0
  81. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/platform/events.py +0 -0
  82. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/platform/initialize.py +0 -0
  83. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/platform/list.py +0 -0
  84. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/platform/logs.py +0 -0
  85. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/platform/status.py +0 -0
  86. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/platform/use.py +0 -0
  87. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/printenv.py +0 -0
  88. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/restore.py +0 -0
  89. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/scale.py +0 -0
  90. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/setenv.py +0 -0
  91. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/ssh.py +0 -0
  92. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/status.py +0 -0
  93. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/swap.py +0 -0
  94. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/tags.py +0 -0
  95. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/terminate.py +0 -0
  96. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/upgrade.py +0 -0
  97. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/controllers/use.py +0 -0
  98. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/core/__init__.py +0 -0
  99. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/core/abstractcontroller.py +0 -0
  100. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/core/base.py +0 -0
  101. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/core/ebcore.py +0 -0
  102. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/core/ebglobals.py +0 -0
  103. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/core/ebpcore.py +0 -0
  104. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/core/ebrun.py +0 -0
  105. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/core/fileoperations.py +0 -0
  106. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/core/hooks.py +0 -0
  107. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/core/io.py +0 -0
  108. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/display/__init__.py +0 -0
  109. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/display/appversion.py +0 -0
  110. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/display/data_poller.py +0 -0
  111. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/display/environments.py +0 -0
  112. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/display/help.py +0 -0
  113. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/display/screen.py +0 -0
  114. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/display/specialtables.py +0 -0
  115. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/display/table.py +0 -0
  116. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/display/term.py +0 -0
  117. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/display/traditional.py +0 -0
  118. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/labs/__init__.py +0 -0
  119. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/labs/cleanupversions.py +0 -0
  120. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/labs/cloudwatchfiles/cwl-activity-logs-v1.config +0 -0
  121. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/labs/cloudwatchfiles/cwl-setup-v1.config +0 -0
  122. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/labs/cloudwatchfiles/eb-logs-v1.config +0 -0
  123. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/labs/cloudwatchsetup.py +0 -0
  124. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/labs/controller.py +0 -0
  125. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/labs/convertdockerrun.py +0 -0
  126. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/labs/download.py +0 -0
  127. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/labs/quicklink.py +0 -0
  128. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/labs/setupssl.py +0 -0
  129. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/lib/__init__.py +0 -0
  130. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/lib/aws.py +0 -0
  131. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/lib/botocoredata/elasticbeanstalk/2010-12-01/paginators-1.json +0 -0
  132. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/lib/botocoredata/elasticbeanstalk/2010-12-01/service-2.json +0 -0
  133. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/lib/botopatch.py +0 -0
  134. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/lib/cloudformation.py +0 -0
  135. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/lib/cloudwatch.py +0 -0
  136. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/lib/codebuild.py +0 -0
  137. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/lib/codecommit.py +0 -0
  138. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/lib/ec2.py +0 -0
  139. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/lib/elasticbeanstalk.py +0 -0
  140. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/lib/elb.py +0 -0
  141. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/lib/elbv2.py +0 -0
  142. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/lib/heuristics.py +0 -0
  143. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/lib/iam.py +0 -0
  144. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/lib/kms.py +0 -0
  145. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/lib/s3.py +0 -0
  146. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/lib/sns.py +0 -0
  147. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/lib/utils.py +0 -0
  148. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/objects/__init__.py +0 -0
  149. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/objects/api_filters.py +0 -0
  150. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/objects/application.py +0 -0
  151. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/objects/buildconfiguration.py +0 -0
  152. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/objects/cfn_stack.py +0 -0
  153. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/objects/conversionconfiguration.py +0 -0
  154. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/objects/environment.py +0 -0
  155. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/objects/environmentsettings.py +0 -0
  156. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/objects/event.py +0 -0
  157. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/objects/exceptions.py +0 -0
  158. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/objects/lifecycleconfiguration.py +0 -0
  159. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/objects/log_stream.py +0 -0
  160. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/objects/platform.py +0 -0
  161. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/objects/region.py +0 -0
  162. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/objects/requests.py +0 -0
  163. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/objects/solutionstack.py +0 -0
  164. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/objects/sourcecontrol.py +0 -0
  165. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/objects/tier.py +0 -0
  166. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/__init__.py +0 -0
  167. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/abortops.py +0 -0
  168. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/appversionops.py +0 -0
  169. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/buildspecops.py +0 -0
  170. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/cloneops.py +0 -0
  171. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/commonops.py +0 -0
  172. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/composeops.py +0 -0
  173. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/configops.py +0 -0
  174. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/consoleops.py +0 -0
  175. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/createops.py +0 -0
  176. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/deployops.py +0 -0
  177. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/envvarops.py +0 -0
  178. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/eventsops.py +0 -0
  179. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/gitops.py +0 -0
  180. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/healthops.py +0 -0
  181. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/initializeops.py +0 -0
  182. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/lifecycleops.py +0 -0
  183. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/listops.py +0 -0
  184. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/logsops.py +0 -0
  185. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/openops.py +0 -0
  186. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/platform_branch_ops.py +0 -0
  187. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/platform_version_ops.py +0 -0
  188. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/platformops.py +0 -0
  189. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/restoreops.py +0 -0
  190. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/saved_configs.py +0 -0
  191. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/scaleops.py +0 -0
  192. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/shared_lb_ops.py +0 -0
  193. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/solution_stack_ops.py +0 -0
  194. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/spotops.py +0 -0
  195. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/sshops.py +0 -0
  196. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/statusops.py +0 -0
  197. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/swapops.py +0 -0
  198. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/tagops/__init__.py +0 -0
  199. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/tagops/taglist.py +0 -0
  200. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/tagops/tagops.py +0 -0
  201. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/terminateops.py +0 -0
  202. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/upgradeops.py +0 -0
  203. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/operations/useops.py +0 -0
  204. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/resources/__init__.py +0 -0
  205. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/resources/regex.py +0 -0
  206. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/resources/statics.py +0 -0
  207. {awsebcli-3.27.1 → awsebcli-3.27.2}/ebcli/resources/strings.py +0 -0
  208. {awsebcli-3.27.1 → awsebcli-3.27.2}/requirements.txt +0 -0
  209. {awsebcli-3.27.1 → awsebcli-3.27.2}/setup.cfg +0 -0
  210. {awsebcli-3.27.1 → awsebcli-3.27.2}/setup.py +0 -0
@@ -1,5 +1,10 @@
1
1
  Changelog
2
2
  =========
3
+ --------------------
4
+ 3.27.2 (2026-05-13)
5
+ --------------------
6
+ - Restrict pickle class loading for ``.localstate`` deserialization in ``eb local`` commands
7
+
3
8
  --------------------
4
9
  3.27.1 (2026-03-25)
5
10
  --------------------
@@ -1,12 +1,11 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: awsebcli
3
- Version: 3.27.1
3
+ Version: 3.27.2
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
10
9
  Classifier: Development Status :: 5 - Production/Stable
11
10
  Classifier: Intended Audience :: Developers
12
11
  Classifier: Intended Audience :: System Administrators
@@ -20,6 +19,34 @@ Classifier: Programming Language :: Python :: 3.10
20
19
  Classifier: Programming Language :: Python :: 3.11
21
20
  Classifier: Programming Language :: Python :: 3.12
22
21
  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
23
50
 
24
51
  ======
25
52
  EB CLI
@@ -99,6 +126,11 @@ in the *AWS Elastic Beanstalk Developer Guide*.
99
126
 
100
127
  Changelog
101
128
  =========
129
+ --------------------
130
+ 3.27.2 (2026-05-13)
131
+ --------------------
132
+ - Restrict pickle class loading for ``.localstate`` deserialization in ``eb local`` commands
133
+
102
134
  --------------------
103
135
  3.27.1 (2026-03-25)
104
136
  --------------------
@@ -977,5 +1009,3 @@ Changelog
977
1009
  - Default database username changed from admin to ebroot
978
1010
  - Trim application version description if it is too long
979
1011
  - Application version no longer includes git hash
980
-
981
-
@@ -1,12 +1,11 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: awsebcli
3
- Version: 3.27.1
3
+ Version: 3.27.2
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
10
9
  Classifier: Development Status :: 5 - Production/Stable
11
10
  Classifier: Intended Audience :: Developers
12
11
  Classifier: Intended Audience :: System Administrators
@@ -20,6 +19,34 @@ Classifier: Programming Language :: Python :: 3.10
20
19
  Classifier: Programming Language :: Python :: 3.11
21
20
  Classifier: Programming Language :: Python :: 3.12
22
21
  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
23
50
 
24
51
  ======
25
52
  EB CLI
@@ -99,6 +126,11 @@ in the *AWS Elastic Beanstalk Developer Guide*.
99
126
 
100
127
  Changelog
101
128
  =========
129
+ --------------------
130
+ 3.27.2 (2026-05-13)
131
+ --------------------
132
+ - Restrict pickle class loading for ``.localstate`` deserialization in ``eb local`` commands
133
+
102
134
  --------------------
103
135
  3.27.1 (2026-03-25)
104
136
  --------------------
@@ -977,5 +1009,3 @@ Changelog
977
1009
  - Default database username changed from admin to ebroot
978
1010
  - Trim application version description if it is too long
979
1011
  - Application version no longer includes git hash
980
-
981
-
@@ -203,4 +203,6 @@ 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
206
+ ebcli/resources/strings.py
207
+ tests/test_dependencies_mismatch.py
208
+ tests/test_help_texts.py
@@ -1,4 +1,3 @@
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.1'
14
+ __version__ = '3.27.2'
@@ -10,7 +10,8 @@
10
10
  # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
11
  # ANY KIND, either express or implied. See the License for the specific
12
12
  # language governing permissions and limitations under the License.
13
- from botocore.compat import six
13
+ import io as _io
14
+ import pickle
14
15
 
15
16
  from ebcli.containers.envvarcollector import EnvvarCollector
16
17
  from ebcli.containers.pathconfig import PathConfig
@@ -18,7 +19,21 @@ from ebcli.core import fileoperations, io
18
19
  from ebcli.lib import utils
19
20
  from ebcli.operations import commonops, envvarops
20
21
  from ebcli.resources.strings import strings
21
- cPickle = six.moves.cPickle
22
+
23
+
24
+ class _SafeUnpickler(pickle.Unpickler):
25
+ """Only allow deserializing LocalState and EnvvarCollector."""
26
+ _ALLOWED = {
27
+ ('ebcli.operations.localops', 'LocalState'),
28
+ ('ebcli.containers.envvarcollector', 'EnvvarCollector'),
29
+ ('__builtin__', 'set'),
30
+ ('builtins', 'set'),
31
+ }
32
+
33
+ def find_class(self, module, name):
34
+ if (module, name) in self._ALLOWED:
35
+ return super().find_class(module, name)
36
+ raise pickle.UnpicklingError(f"Forbidden: {module}.{name}")
22
37
 
23
38
 
24
39
  class LocalState(object):
@@ -30,15 +45,15 @@ class LocalState(object):
30
45
  self.envvarcollector = envvarcollector
31
46
 
32
47
  def dumps(self, path):
33
- fileoperations.write_to_data_file(data=cPickle.dumps(self, protocol=2),
48
+ fileoperations.write_to_data_file(data=pickle.dumps(self, protocol=2),
34
49
  location=path)
35
50
 
36
51
  @classmethod
37
52
  def loads(cls, path):
38
53
  try:
39
54
  data = fileoperations.read_from_data_file(path)
40
- return cPickle.loads(data)
41
- except IOError:
55
+ return _SafeUnpickler(_io.BytesIO(data)).load()
56
+ except (IOError, pickle.UnpicklingError):
42
57
  return cls(EnvvarCollector())
43
58
 
44
59
  @classmethod
@@ -0,0 +1,145 @@
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()