ominfra 0.0.0.dev239__tar.gz → 0.0.0.dev241__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 (170) hide show
  1. {ominfra-0.0.0.dev239/ominfra.egg-info → ominfra-0.0.0.dev241}/PKG-INFO +3 -3
  2. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/models/services/ec2.py +138 -0
  3. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/scripts/manage.py +21 -12
  4. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/scripts/supervisor.py +21 -12
  5. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241/ominfra.egg-info}/PKG-INFO +3 -3
  6. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra.egg-info/requires.txt +2 -2
  7. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/pyproject.toml +3 -3
  8. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/LICENSE +0 -0
  9. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/MANIFEST.in +0 -0
  10. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/README.rst +0 -0
  11. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/.manifests.json +0 -0
  12. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/__about__.py +0 -0
  13. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/__init__.py +0 -0
  14. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/__init__.py +0 -0
  15. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/__init__.py +0 -0
  16. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/__main__.py +0 -0
  17. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/auth.py +0 -0
  18. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/cli.py +0 -0
  19. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/dataclasses.py +0 -0
  20. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/instancetypes/__init__.py +0 -0
  21. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/instancetypes/__main__.py +0 -0
  22. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/instancetypes/cache.json.gz +0 -0
  23. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/instancetypes/cache.py +0 -0
  24. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/instancetypes/cli.py +0 -0
  25. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/journald2aws/__init__.py +0 -0
  26. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/journald2aws/__main__.py +0 -0
  27. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/journald2aws/cursor.py +0 -0
  28. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/journald2aws/driver.py +0 -0
  29. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/journald2aws/main.py +0 -0
  30. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/journald2aws/poster.py +0 -0
  31. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/logs.py +0 -0
  32. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/metadata.py +0 -0
  33. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/models/__init__.py +0 -0
  34. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/models/base.py +0 -0
  35. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/models/gen/__init__.py +0 -0
  36. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/models/gen/__main__.py +0 -0
  37. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/models/gen/cli.py +0 -0
  38. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/models/gen/gen.py +0 -0
  39. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/models/services/__init__.py +0 -0
  40. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/models/services/lambda_.py +0 -0
  41. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/models/services/rds.py +0 -0
  42. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/models/services/s3.py +0 -0
  43. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/aws/models/services/services.toml +0 -0
  44. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/gcp/__init__.py +0 -0
  45. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/gcp/api.py +0 -0
  46. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/clouds/gcp/auth.py +0 -0
  47. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/commands/__init__.py +0 -0
  48. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/commands/runners.py +0 -0
  49. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/commands/ssh.py +0 -0
  50. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/journald/__init__.py +0 -0
  51. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/journald/fields.py +0 -0
  52. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/journald/genmessages.py +0 -0
  53. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/journald/messages.py +0 -0
  54. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/journald/tailer.py +0 -0
  55. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/__init__.py +0 -0
  56. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/__main__.py +0 -0
  57. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/bootstrap.py +0 -0
  58. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/bootstrap_.py +0 -0
  59. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/commands/__init__.py +0 -0
  60. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/commands/base.py +0 -0
  61. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/commands/inject.py +0 -0
  62. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/commands/injection.py +0 -0
  63. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/commands/local.py +0 -0
  64. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/commands/marshal.py +0 -0
  65. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/commands/ping.py +0 -0
  66. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/commands/subprocess.py +0 -0
  67. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/commands/types.py +0 -0
  68. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/config.py +0 -0
  69. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/deploy/__init__.py +0 -0
  70. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/deploy/apps.py +0 -0
  71. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/deploy/commands.py +0 -0
  72. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/deploy/conf/__init__.py +0 -0
  73. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/deploy/conf/inject.py +0 -0
  74. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/deploy/conf/manager.py +0 -0
  75. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/deploy/conf/specs.py +0 -0
  76. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/deploy/config.py +0 -0
  77. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/deploy/deploy.py +0 -0
  78. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/deploy/git.py +0 -0
  79. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/deploy/inject.py +0 -0
  80. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/deploy/injection.py +0 -0
  81. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/deploy/interp.py +0 -0
  82. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/deploy/nginx.py +0 -0
  83. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/deploy/paths/__init__.py +0 -0
  84. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/deploy/paths/inject.py +0 -0
  85. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/deploy/paths/manager.py +0 -0
  86. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/deploy/paths/owners.py +0 -0
  87. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/deploy/paths/paths.py +0 -0
  88. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/deploy/paths/specs.py +0 -0
  89. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/deploy/paths/types.py +0 -0
  90. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/deploy/specs.py +0 -0
  91. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/deploy/systemd.py +0 -0
  92. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/deploy/tags.py +0 -0
  93. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/deploy/tmp.py +0 -0
  94. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/deploy/types.py +0 -0
  95. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/deploy/venvs.py +0 -0
  96. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/inject.py +0 -0
  97. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/main.py +0 -0
  98. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/marshal.py +0 -0
  99. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/remote/__init__.py +0 -0
  100. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/remote/_main.py +0 -0
  101. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/remote/channel.py +0 -0
  102. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/remote/config.py +0 -0
  103. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/remote/connection.py +0 -0
  104. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/remote/execution.py +0 -0
  105. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/remote/inject.py +0 -0
  106. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/remote/payload.py +0 -0
  107. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/remote/spawning.py +0 -0
  108. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/system/__init__.py +0 -0
  109. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/system/commands.py +0 -0
  110. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/system/config.py +0 -0
  111. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/system/inject.py +0 -0
  112. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/system/packages.py +0 -0
  113. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/system/platforms.py +0 -0
  114. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/targets/__init__.py +0 -0
  115. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/targets/bestpython.py +0 -0
  116. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/targets/bestpython.sh +0 -0
  117. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/targets/connection.py +0 -0
  118. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/targets/inject.py +0 -0
  119. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/manage/targets/targets.py +0 -0
  120. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/pyremote.py +0 -0
  121. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/scripts/__init__.py +0 -0
  122. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/scripts/journald2aws.py +0 -0
  123. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/LICENSE.txt +0 -0
  124. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/__init__.py +0 -0
  125. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/__main__.py +0 -0
  126. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/configs.py +0 -0
  127. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/dispatchers.py +0 -0
  128. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/dispatchersimpl.py +0 -0
  129. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/events.py +0 -0
  130. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/exceptions.py +0 -0
  131. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/groups.py +0 -0
  132. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/groupsimpl.py +0 -0
  133. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/http.py +0 -0
  134. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/inject.py +0 -0
  135. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/io.py +0 -0
  136. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/main.py +0 -0
  137. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/pipes.py +0 -0
  138. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/privileges.py +0 -0
  139. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/process.py +0 -0
  140. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/processimpl.py +0 -0
  141. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/setup.py +0 -0
  142. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/setupimpl.py +0 -0
  143. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/signals.py +0 -0
  144. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/spawning.py +0 -0
  145. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/spawningimpl.py +0 -0
  146. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/states.py +0 -0
  147. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/supervisor.py +0 -0
  148. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/types.py +0 -0
  149. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/utils/__init__.py +0 -0
  150. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/utils/collections.py +0 -0
  151. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/utils/diag.py +0 -0
  152. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/utils/fds.py +0 -0
  153. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/utils/fs.py +0 -0
  154. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/utils/os.py +0 -0
  155. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/utils/ostypes.py +0 -0
  156. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/utils/signals.py +0 -0
  157. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/utils/strings.py +0 -0
  158. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/supervisor/utils/users.py +0 -0
  159. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/systemd.py +0 -0
  160. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/tailscale/__init__.py +0 -0
  161. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/tailscale/api.py +0 -0
  162. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/tailscale/cli.py +0 -0
  163. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/threadworkers.py +0 -0
  164. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/tools/__init__.py +0 -0
  165. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra/tools/listresources.py +0 -0
  166. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra.egg-info/SOURCES.txt +0 -0
  167. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra.egg-info/dependency_links.txt +0 -0
  168. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra.egg-info/entry_points.txt +0 -0
  169. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/ominfra.egg-info/top_level.txt +0 -0
  170. {ominfra-0.0.0.dev239 → ominfra-0.0.0.dev241}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ominfra
3
- Version: 0.0.0.dev239
3
+ Version: 0.0.0.dev241
4
4
  Summary: ominfra
5
5
  Author: wrmsr
6
6
  License: BSD-3-Clause
@@ -12,8 +12,8 @@ Classifier: Operating System :: OS Independent
12
12
  Classifier: Operating System :: POSIX
13
13
  Requires-Python: >=3.12
14
14
  License-File: LICENSE
15
- Requires-Dist: omdev==0.0.0.dev239
16
- Requires-Dist: omlish==0.0.0.dev239
15
+ Requires-Dist: omdev==0.0.0.dev241
16
+ Requires-Dist: omlish==0.0.0.dev241
17
17
  Provides-Extra: all
18
18
  Requires-Dist: paramiko~=3.5; extra == "all"
19
19
  Requires-Dist: asyncssh~=2.18; extra == "all"
@@ -1609,6 +1609,31 @@ class VpcCidrBlockStateCode(_enum.Enum):
1609
1609
  FAILED = 'failed'
1610
1610
 
1611
1611
 
1612
+ class VpcEncryptionControlExclusionState(_enum.Enum):
1613
+ ENABLING = 'enabling'
1614
+ ENABLED = 'enabled'
1615
+ DISABLING = 'disabling'
1616
+ DISABLED = 'disabled'
1617
+
1618
+
1619
+ VpcEncryptionControlId = _ta.NewType('VpcEncryptionControlId', str)
1620
+
1621
+
1622
+ class VpcEncryptionControlMode(_enum.Enum):
1623
+ MONITOR = 'monitor'
1624
+ ENFORCE = 'enforce'
1625
+
1626
+
1627
+ class VpcEncryptionControlState(_enum.Enum):
1628
+ ENFORCE_IN_PROGRESS = 'enforce-in-progress'
1629
+ MONITOR_IN_PROGRESS = 'monitor-in-progress'
1630
+ ENFORCE_FAILED = 'enforce-failed'
1631
+ MONITOR_FAILED = 'monitor-failed'
1632
+ DELETING = 'deleting'
1633
+ DELETED = 'deleted'
1634
+ AVAILABLE = 'available'
1635
+
1636
+
1612
1637
  VpcEndpointId = _ta.NewType('VpcEndpointId', str)
1613
1638
 
1614
1639
  VpcId = _ta.NewType('VpcId', str)
@@ -3675,6 +3700,24 @@ class VpcCidrBlockState(
3675
3700
  ))
3676
3701
 
3677
3702
 
3703
+ @_dc.dataclass(frozen=True, kw_only=True)
3704
+ class VpcEncryptionControlExclusion(
3705
+ _base.Shape,
3706
+ shape_name='VpcEncryptionControlExclusion',
3707
+ ):
3708
+ state: VpcEncryptionControlExclusionState | None = _dc.field(default=None, metadata=_base.field_metadata(
3709
+ member_name='State',
3710
+ serialization_name='state',
3711
+ shape_name='VpcEncryptionControlExclusionState',
3712
+ ))
3713
+
3714
+ state_message: str | None = _dc.field(default=None, metadata=_base.field_metadata(
3715
+ member_name='StateMessage',
3716
+ serialization_name='stateMessage',
3717
+ shape_name='String',
3718
+ ))
3719
+
3720
+
3678
3721
  VpcIdStringList: _ta.TypeAlias = _ta.Sequence[VpcId]
3679
3722
 
3680
3723
  AddressList: _ta.TypeAlias = _ta.Sequence[Address]
@@ -4500,6 +4543,42 @@ class VpcCidrBlockAssociation(
4500
4543
  ))
4501
4544
 
4502
4545
 
4546
+ @_dc.dataclass(frozen=True, kw_only=True)
4547
+ class VpcEncryptionControlExclusions(
4548
+ _base.Shape,
4549
+ shape_name='VpcEncryptionControlExclusions',
4550
+ ):
4551
+ internet_gateway: VpcEncryptionControlExclusion | None = _dc.field(default=None, metadata=_base.field_metadata(
4552
+ member_name='InternetGateway',
4553
+ serialization_name='internetGateway',
4554
+ shape_name='VpcEncryptionControlExclusion',
4555
+ ))
4556
+
4557
+ egress_only_internet_gateway: VpcEncryptionControlExclusion | None = _dc.field(default=None, metadata=_base.field_metadata(
4558
+ member_name='EgressOnlyInternetGateway',
4559
+ serialization_name='egressOnlyInternetGateway',
4560
+ shape_name='VpcEncryptionControlExclusion',
4561
+ ))
4562
+
4563
+ nat_gateway: VpcEncryptionControlExclusion | None = _dc.field(default=None, metadata=_base.field_metadata(
4564
+ member_name='NatGateway',
4565
+ serialization_name='natGateway',
4566
+ shape_name='VpcEncryptionControlExclusion',
4567
+ ))
4568
+
4569
+ virtual_private_gateway: VpcEncryptionControlExclusion | None = _dc.field(default=None, metadata=_base.field_metadata(
4570
+ member_name='VirtualPrivateGateway',
4571
+ serialization_name='virtualPrivateGateway',
4572
+ shape_name='VpcEncryptionControlExclusion',
4573
+ ))
4574
+
4575
+ vpc_peering: VpcEncryptionControlExclusion | None = _dc.field(default=None, metadata=_base.field_metadata(
4576
+ member_name='VpcPeering',
4577
+ serialization_name='vpcPeering',
4578
+ shape_name='VpcEncryptionControlExclusion',
4579
+ ))
4580
+
4581
+
4503
4582
  @_dc.dataclass(frozen=True, kw_only=True)
4504
4583
  class VpcIpv6CidrBlockAssociation(
4505
4584
  _base.Shape,
@@ -5139,6 +5218,56 @@ SubnetIpv6CidrBlockAssociationSet: _ta.TypeAlias = _ta.Sequence[SubnetIpv6CidrBl
5139
5218
 
5140
5219
  VpcCidrBlockAssociationSet: _ta.TypeAlias = _ta.Sequence[VpcCidrBlockAssociation]
5141
5220
 
5221
+
5222
+ @_dc.dataclass(frozen=True, kw_only=True)
5223
+ class VpcEncryptionControl(
5224
+ _base.Shape,
5225
+ shape_name='VpcEncryptionControl',
5226
+ ):
5227
+ vpc_id: VpcId | None = _dc.field(default=None, metadata=_base.field_metadata(
5228
+ member_name='VpcId',
5229
+ serialization_name='vpcId',
5230
+ shape_name='VpcId',
5231
+ ))
5232
+
5233
+ vpc_encryption_control_id: VpcEncryptionControlId | None = _dc.field(default=None, metadata=_base.field_metadata(
5234
+ member_name='VpcEncryptionControlId',
5235
+ serialization_name='vpcEncryptionControlId',
5236
+ shape_name='VpcEncryptionControlId',
5237
+ ))
5238
+
5239
+ mode: VpcEncryptionControlMode | None = _dc.field(default=None, metadata=_base.field_metadata(
5240
+ member_name='Mode',
5241
+ serialization_name='mode',
5242
+ shape_name='VpcEncryptionControlMode',
5243
+ ))
5244
+
5245
+ state: VpcEncryptionControlState | None = _dc.field(default=None, metadata=_base.field_metadata(
5246
+ member_name='State',
5247
+ serialization_name='state',
5248
+ shape_name='VpcEncryptionControlState',
5249
+ ))
5250
+
5251
+ state_message: str | None = _dc.field(default=None, metadata=_base.field_metadata(
5252
+ member_name='StateMessage',
5253
+ serialization_name='stateMessage',
5254
+ shape_name='String',
5255
+ ))
5256
+
5257
+ resource_exclusions: VpcEncryptionControlExclusions | None = _dc.field(default=None, metadata=_base.field_metadata(
5258
+ member_name='ResourceExclusions',
5259
+ serialization_name='resourceExclusions',
5260
+ shape_name='VpcEncryptionControlExclusions',
5261
+ ))
5262
+
5263
+ tags: _base.TagList | None = _dc.field(default=None, metadata=_base.field_metadata(
5264
+ member_name='Tags',
5265
+ serialization_name='tagSet',
5266
+ value_type=_base.ListValueType(_base.Tag),
5267
+ shape_name='TagList',
5268
+ ))
5269
+
5270
+
5142
5271
  VpcIpv6CidrBlockAssociationSet: _ta.TypeAlias = _ta.Sequence[VpcIpv6CidrBlockAssociation]
5143
5272
 
5144
5273
 
@@ -6478,6 +6607,12 @@ class Vpc(
6478
6607
  shape_name='Boolean',
6479
6608
  ))
6480
6609
 
6610
+ encryption_control: VpcEncryptionControl | None = _dc.field(default=None, metadata=_base.field_metadata(
6611
+ member_name='EncryptionControl',
6612
+ serialization_name='encryptionControl',
6613
+ shape_name='VpcEncryptionControl',
6614
+ ))
6615
+
6481
6616
  tags: _base.TagList | None = _dc.field(default=None, metadata=_base.field_metadata(
6482
6617
  member_name='Tags',
6483
6618
  serialization_name='tagSet',
@@ -7805,6 +7940,9 @@ ALL_SHAPES: frozenset[type[_base.Shape]] = frozenset([
7805
7940
  Vpc,
7806
7941
  VpcCidrBlockAssociation,
7807
7942
  VpcCidrBlockState,
7943
+ VpcEncryptionControl,
7944
+ VpcEncryptionControlExclusion,
7945
+ VpcEncryptionControlExclusions,
7808
7946
  VpcIpv6CidrBlockAssociation,
7809
7947
  ])
7810
7948
 
@@ -6100,14 +6100,6 @@ _INJECTION_INSPECTION_CACHE: ta.MutableMapping[ta.Any, _InjectionInspection] = w
6100
6100
 
6101
6101
  def _do_injection_inspect(obj: ta.Any) -> _InjectionInspection:
6102
6102
  tgt = obj
6103
- if isinstance(tgt, type) and tgt.__init__ is not object.__init__: # type: ignore[misc]
6104
- # Python 3.8's inspect.signature can't handle subclasses overriding __new__, always generating *args/**kwargs.
6105
- # - https://bugs.python.org/issue40897
6106
- # - https://github.com/python/cpython/commit/df7c62980d15acd3125dfbd81546dad359f7add7
6107
- tgt = tgt.__init__ # type: ignore[misc]
6108
- has_generic_base = True
6109
- else:
6110
- has_generic_base = False
6111
6103
 
6112
6104
  # inspect.signature(eval_str=True) was added in 3.10 and we have to support 3.8, so we have to get_type_hints to
6113
6105
  # eval str annotations *in addition to* getting the signature for parameter information.
@@ -6115,23 +6107,40 @@ def _do_injection_inspect(obj: ta.Any) -> _InjectionInspection:
6115
6107
  has_partial = False
6116
6108
  while True:
6117
6109
  if isinstance(uw, functools.partial):
6118
- has_partial = True
6119
6110
  uw = uw.func
6111
+ has_partial = True
6120
6112
  else:
6121
6113
  if (uw2 := inspect.unwrap(uw)) is uw:
6122
6114
  break
6123
6115
  uw = uw2
6124
6116
 
6125
- if has_generic_base and has_partial:
6117
+ has_args_offset = False
6118
+
6119
+ if isinstance(tgt, type) and tgt.__new__ is not object.__new__:
6120
+ # Python 3.8's inspect.signature can't handle subclasses overriding __new__, always generating *args/**kwargs.
6121
+ # - https://bugs.python.org/issue40897
6122
+ # - https://github.com/python/cpython/commit/df7c62980d15acd3125dfbd81546dad359f7add7
6123
+ tgt = tgt.__init__ # type: ignore[misc]
6124
+ has_args_offset = True
6125
+
6126
+ if tgt in (object.__init__, object.__new__):
6127
+ # inspect strips self for types but not the underlying methods.
6128
+ def dummy(self):
6129
+ pass
6130
+ tgt = dummy
6131
+ has_args_offset = True
6132
+
6133
+ if has_partial and has_args_offset:
6134
+ # TODO: unwrap partials masking parameters like modern python
6126
6135
  raise InjectorError(
6127
- 'Injector inspection does not currently support both a typing.Generic base and a functools.partial: '
6136
+ 'Injector inspection does not currently support both an args offset and a functools.partial: '
6128
6137
  f'{obj}',
6129
6138
  )
6130
6139
 
6131
6140
  return _InjectionInspection(
6132
6141
  inspect.signature(tgt),
6133
6142
  ta.get_type_hints(uw),
6134
- 1 if has_generic_base else 0,
6143
+ 1 if has_args_offset else 0,
6135
6144
  )
6136
6145
 
6137
6146
 
@@ -4942,14 +4942,6 @@ _INJECTION_INSPECTION_CACHE: ta.MutableMapping[ta.Any, _InjectionInspection] = w
4942
4942
 
4943
4943
  def _do_injection_inspect(obj: ta.Any) -> _InjectionInspection:
4944
4944
  tgt = obj
4945
- if isinstance(tgt, type) and tgt.__init__ is not object.__init__: # type: ignore[misc]
4946
- # Python 3.8's inspect.signature can't handle subclasses overriding __new__, always generating *args/**kwargs.
4947
- # - https://bugs.python.org/issue40897
4948
- # - https://github.com/python/cpython/commit/df7c62980d15acd3125dfbd81546dad359f7add7
4949
- tgt = tgt.__init__ # type: ignore[misc]
4950
- has_generic_base = True
4951
- else:
4952
- has_generic_base = False
4953
4945
 
4954
4946
  # inspect.signature(eval_str=True) was added in 3.10 and we have to support 3.8, so we have to get_type_hints to
4955
4947
  # eval str annotations *in addition to* getting the signature for parameter information.
@@ -4957,23 +4949,40 @@ def _do_injection_inspect(obj: ta.Any) -> _InjectionInspection:
4957
4949
  has_partial = False
4958
4950
  while True:
4959
4951
  if isinstance(uw, functools.partial):
4960
- has_partial = True
4961
4952
  uw = uw.func
4953
+ has_partial = True
4962
4954
  else:
4963
4955
  if (uw2 := inspect.unwrap(uw)) is uw:
4964
4956
  break
4965
4957
  uw = uw2
4966
4958
 
4967
- if has_generic_base and has_partial:
4959
+ has_args_offset = False
4960
+
4961
+ if isinstance(tgt, type) and tgt.__new__ is not object.__new__:
4962
+ # Python 3.8's inspect.signature can't handle subclasses overriding __new__, always generating *args/**kwargs.
4963
+ # - https://bugs.python.org/issue40897
4964
+ # - https://github.com/python/cpython/commit/df7c62980d15acd3125dfbd81546dad359f7add7
4965
+ tgt = tgt.__init__ # type: ignore[misc]
4966
+ has_args_offset = True
4967
+
4968
+ if tgt in (object.__init__, object.__new__):
4969
+ # inspect strips self for types but not the underlying methods.
4970
+ def dummy(self):
4971
+ pass
4972
+ tgt = dummy
4973
+ has_args_offset = True
4974
+
4975
+ if has_partial and has_args_offset:
4976
+ # TODO: unwrap partials masking parameters like modern python
4968
4977
  raise InjectorError(
4969
- 'Injector inspection does not currently support both a typing.Generic base and a functools.partial: '
4978
+ 'Injector inspection does not currently support both an args offset and a functools.partial: '
4970
4979
  f'{obj}',
4971
4980
  )
4972
4981
 
4973
4982
  return _InjectionInspection(
4974
4983
  inspect.signature(tgt),
4975
4984
  ta.get_type_hints(uw),
4976
- 1 if has_generic_base else 0,
4985
+ 1 if has_args_offset else 0,
4977
4986
  )
4978
4987
 
4979
4988
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ominfra
3
- Version: 0.0.0.dev239
3
+ Version: 0.0.0.dev241
4
4
  Summary: ominfra
5
5
  Author: wrmsr
6
6
  License: BSD-3-Clause
@@ -12,8 +12,8 @@ Classifier: Operating System :: OS Independent
12
12
  Classifier: Operating System :: POSIX
13
13
  Requires-Python: >=3.12
14
14
  License-File: LICENSE
15
- Requires-Dist: omdev==0.0.0.dev239
16
- Requires-Dist: omlish==0.0.0.dev239
15
+ Requires-Dist: omdev==0.0.0.dev241
16
+ Requires-Dist: omlish==0.0.0.dev241
17
17
  Provides-Extra: all
18
18
  Requires-Dist: paramiko~=3.5; extra == "all"
19
19
  Requires-Dist: asyncssh~=2.18; extra == "all"
@@ -1,5 +1,5 @@
1
- omdev==0.0.0.dev239
2
- omlish==0.0.0.dev239
1
+ omdev==0.0.0.dev241
2
+ omlish==0.0.0.dev241
3
3
 
4
4
  [all]
5
5
  paramiko~=3.5
@@ -12,7 +12,7 @@ authors = [
12
12
  urls = {source = 'https://github.com/wrmsr/omlish'}
13
13
  license = {text = 'BSD-3-Clause'}
14
14
  requires-python = '>=3.12'
15
- version = '0.0.0.dev239'
15
+ version = '0.0.0.dev241'
16
16
  classifiers = [
17
17
  'License :: OSI Approved :: BSD License',
18
18
  'Development Status :: 2 - Pre-Alpha',
@@ -22,8 +22,8 @@ classifiers = [
22
22
  ]
23
23
  description = 'ominfra'
24
24
  dependencies = [
25
- 'omdev == 0.0.0.dev239',
26
- 'omlish == 0.0.0.dev239',
25
+ 'omdev == 0.0.0.dev241',
26
+ 'omlish == 0.0.0.dev241',
27
27
  ]
28
28
 
29
29
  [project.optional-dependencies]
File without changes
File without changes