ominfra 0.0.0.dev315__py3-none-any.whl → 0.0.0.dev317__py3-none-any.whl

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.
@@ -1498,6 +1498,7 @@ class ResourceType(_enum.Enum):
1498
1498
  INSTANCE_CONNECT_ENDPOINT = 'instance-connect-endpoint'
1499
1499
  VERIFIED_ACCESS_ENDPOINT_TARGET = 'verified-access-endpoint-target'
1500
1500
  IPAM_EXTERNAL_RESOURCE_VERIFICATION_TOKEN = 'ipam-external-resource-verification-token'
1501
+ MAC_MODIFICATION_TASK = 'mac-modification-task'
1501
1502
 
1502
1503
 
1503
1504
  class RootDeviceType(_enum.Enum):
@@ -1955,9 +1955,16 @@ def format_num_bytes(num_bytes: int) -> str:
1955
1955
  # ../../../../../omlish/logs/filters.py
1956
1956
 
1957
1957
 
1958
+ ##
1959
+
1960
+
1958
1961
  class TidLogFilter(logging.Filter):
1959
1962
  def filter(self, record):
1960
- record.tid = threading.get_native_id()
1963
+ # FIXME: handle better - missing from wasm and cosmos
1964
+ if hasattr(threading, 'get_native_id'):
1965
+ record.tid = threading.get_native_id()
1966
+ else:
1967
+ record.tid = '?'
1961
1968
  return True
1962
1969
 
1963
1970
 
@@ -1965,6 +1972,9 @@ class TidLogFilter(logging.Filter):
1965
1972
  # ../../../../../omlish/logs/proxy.py
1966
1973
 
1967
1974
 
1975
+ ##
1976
+
1977
+
1968
1978
  class ProxyLogFilterer(logging.Filterer):
1969
1979
  def __init__(self, underlying: logging.Filterer) -> None: # noqa
1970
1980
  self._underlying = underlying
@@ -4022,6 +4032,9 @@ TODO:
4022
4032
  """
4023
4033
 
4024
4034
 
4035
+ ##
4036
+
4037
+
4025
4038
  class JsonLogFormatter(logging.Formatter):
4026
4039
  KEYS: ta.Mapping[str, bool] = {
4027
4040
  'name': False,
ominfra/scripts/manage.py CHANGED
@@ -102,6 +102,9 @@ CheckOnRaiseFn = ta.Callable[[Exception], None] # ta.TypeAlias
102
102
  CheckExceptionFactory = ta.Callable[..., Exception] # ta.TypeAlias
103
103
  CheckArgsRenderer = ta.Callable[..., ta.Optional[str]] # ta.TypeAlias
104
104
 
105
+ # ../../omlish/lite/maybes.py
106
+ U = ta.TypeVar('U')
107
+
105
108
  # ../../omlish/lite/timeouts.py
106
109
  TimeoutLike = ta.Union['Timeout', ta.Type['Timeout.DEFAULT'], ta.Iterable['TimeoutLike'], float, None] # ta.TypeAlias
107
110
 
@@ -133,7 +136,6 @@ ExitStackedT = ta.TypeVar('ExitStackedT', bound='ExitStacked')
133
136
  AsyncExitStackedT = ta.TypeVar('AsyncExitStackedT', bound='AsyncExitStacked')
134
137
 
135
138
  # ../../omlish/lite/inject.py
136
- U = ta.TypeVar('U')
137
139
  InjectorKeyCls = ta.Union[type, ta.NewType]
138
140
  InjectorProviderFn = ta.Callable[['Injector'], ta.Any]
139
141
  InjectorProviderFnMap = ta.Mapping['InjectorKey', 'InjectorProviderFn']
@@ -3011,7 +3013,13 @@ log = logging.getLogger(__name__)
3011
3013
  ##
3012
3014
 
3013
3015
 
3016
+ @functools.total_ordering
3014
3017
  class Maybe(ta.Generic[T]):
3018
+ class ValueNotPresentError(BaseException):
3019
+ pass
3020
+
3021
+ #
3022
+
3015
3023
  @property
3016
3024
  @abc.abstractmethod
3017
3025
  def present(self) -> bool:
@@ -3021,9 +3029,102 @@ class Maybe(ta.Generic[T]):
3021
3029
  def must(self) -> T:
3022
3030
  raise NotImplementedError
3023
3031
 
3032
+ #
3033
+
3034
+ @abc.abstractmethod
3035
+ def __repr__(self) -> str:
3036
+ raise NotImplementedError
3037
+
3038
+ @abc.abstractmethod
3039
+ def __hash__(self) -> int:
3040
+ raise NotImplementedError
3041
+
3042
+ @abc.abstractmethod
3043
+ def __eq__(self, other) -> bool:
3044
+ raise NotImplementedError
3045
+
3046
+ @abc.abstractmethod
3047
+ def __lt__(self, other) -> bool:
3048
+ raise NotImplementedError
3049
+
3050
+ #
3051
+
3052
+ @ta.final
3053
+ def __ne__(self, other):
3054
+ return not (self == other)
3055
+
3056
+ @ta.final
3057
+ def __iter__(self) -> ta.Iterator[T]:
3058
+ if self.present:
3059
+ yield self.must()
3060
+
3061
+ @ta.final
3062
+ def __bool__(self) -> ta.NoReturn:
3063
+ raise TypeError
3064
+
3065
+ #
3066
+
3067
+ @ta.final
3068
+ def if_present(self, consumer: ta.Callable[[T], None]) -> None:
3069
+ if self.present:
3070
+ consumer(self.must())
3071
+
3072
+ @ta.final
3073
+ def filter(self, predicate: ta.Callable[[T], bool]) -> 'Maybe[T]':
3074
+ if self.present and predicate(self.must()):
3075
+ return self
3076
+ else:
3077
+ return Maybe.empty()
3078
+
3079
+ @ta.final
3080
+ def map(self, mapper: ta.Callable[[T], U]) -> 'Maybe[U]':
3081
+ if self.present:
3082
+ return Maybe.just(mapper(self.must()))
3083
+ else:
3084
+ return Maybe.empty()
3085
+
3086
+ @ta.final
3087
+ def flat_map(self, mapper: ta.Callable[[T], 'Maybe[U]']) -> 'Maybe[U]':
3088
+ if self.present:
3089
+ if not isinstance(v := mapper(self.must()), Maybe):
3090
+ raise TypeError(v)
3091
+ return v
3092
+ else:
3093
+ return Maybe.empty()
3094
+
3095
+ @ta.final
3096
+ def or_else(self, other: ta.Union[T, U]) -> ta.Union[T, U]:
3097
+ if self.present:
3098
+ return self.must()
3099
+ else:
3100
+ return other
3101
+
3102
+ @ta.final
3103
+ def or_else_get(self, supplier: ta.Callable[[], ta.Union[T, U]]) -> ta.Union[T, U]:
3104
+ if self.present:
3105
+ return self.must()
3106
+ else:
3107
+ return supplier()
3108
+
3109
+ @ta.final
3110
+ def or_else_raise(self, exception_supplier: ta.Callable[[], Exception]) -> T:
3111
+ if self.present:
3112
+ return self.must()
3113
+ else:
3114
+ raise exception_supplier()
3115
+
3116
+ #
3117
+
3118
+ @classmethod
3119
+ def of_optional(cls, v: ta.Optional[T]) -> 'Maybe[T]':
3120
+ if v is not None:
3121
+ return cls.just(v)
3122
+ else:
3123
+ return cls.empty()
3124
+
3024
3125
  @classmethod
3025
3126
  def just(cls, v: T) -> 'Maybe[T]':
3026
- return tuple.__new__(_Maybe, (v,)) # noqa
3127
+ return _JustMaybe(v)
3027
3128
 
3028
3129
  _empty: ta.ClassVar['Maybe']
3029
3130
 
@@ -3032,36 +3133,81 @@ class Maybe(ta.Generic[T]):
3032
3133
  return Maybe._empty
3033
3134
 
3034
3135
 
3035
- class _Maybe(Maybe[T], tuple):
3036
- __slots__ = ()
3136
+ ##
3037
3137
 
3038
- def __init_subclass__(cls, **kwargs):
3039
- raise TypeError
3138
+
3139
+ class _Maybe(Maybe[T], abc.ABC):
3140
+ def __lt__(self, other):
3141
+ if not isinstance(other, _Maybe):
3142
+ return NotImplemented
3143
+ sp = self.present
3144
+ op = other.present
3145
+ if self.present and other.present:
3146
+ return self.must() < other.must()
3147
+ else:
3148
+ return op and not sp
3149
+
3150
+
3151
+ class _JustMaybe(_Maybe[T]):
3152
+ __slots__ = ('_v', '_hash')
3153
+
3154
+ def __init__(self, v: T) -> None:
3155
+ super().__init__()
3156
+
3157
+ self._v = v
3040
3158
 
3041
3159
  @property
3042
3160
  def present(self) -> bool:
3043
- return bool(self)
3161
+ return True
3044
3162
 
3045
3163
  def must(self) -> T:
3046
- if not self:
3047
- raise ValueError
3048
- return self[0]
3164
+ return self._v
3049
3165
 
3166
+ #
3050
3167
 
3051
- Maybe._empty = tuple.__new__(_Maybe, ()) # noqa
3168
+ def __repr__(self) -> str:
3169
+ return f'just({self._v!r})'
3052
3170
 
3171
+ _hash: int
3053
3172
 
3054
- ##
3173
+ def __hash__(self) -> int:
3174
+ try:
3175
+ return self._hash
3176
+ except AttributeError:
3177
+ pass
3178
+ h = self._hash = hash((_JustMaybe, self._v))
3179
+ return h
3055
3180
 
3181
+ def __eq__(self, other):
3182
+ return (
3183
+ self.__class__ is other.__class__ and
3184
+ self._v == other._v # noqa
3185
+ )
3186
+
3187
+
3188
+ class _EmptyMaybe(_Maybe[T]):
3189
+ __slots__ = ()
3190
+
3191
+ @property
3192
+ def present(self) -> bool:
3193
+ return False
3056
3194
 
3057
- @functools.singledispatch
3058
- def as_maybe(obj: ta.Any) -> Maybe:
3059
- raise TypeError(obj)
3195
+ def must(self) -> T:
3196
+ raise Maybe.ValueNotPresentError
3060
3197
 
3198
+ #
3061
3199
 
3062
- @as_maybe.register
3063
- def _(obj: Maybe) -> Maybe:
3064
- return obj
3200
+ def __repr__(self) -> str:
3201
+ return 'empty()'
3202
+
3203
+ def __hash__(self) -> int:
3204
+ return hash(_EmptyMaybe)
3205
+
3206
+ def __eq__(self, other):
3207
+ return self.__class__ is other.__class__
3208
+
3209
+
3210
+ Maybe._empty = _EmptyMaybe() # noqa
3065
3211
 
3066
3212
 
3067
3213
  ########################################
@@ -3563,9 +3709,16 @@ class Func3(ta.Generic[A0, A1, A2, T]):
3563
3709
  # ../../../omlish/logs/filters.py
3564
3710
 
3565
3711
 
3712
+ ##
3713
+
3714
+
3566
3715
  class TidLogFilter(logging.Filter):
3567
3716
  def filter(self, record):
3568
- record.tid = threading.get_native_id()
3717
+ # FIXME: handle better - missing from wasm and cosmos
3718
+ if hasattr(threading, 'get_native_id'):
3719
+ record.tid = threading.get_native_id()
3720
+ else:
3721
+ record.tid = '?'
3569
3722
  return True
3570
3723
 
3571
3724
 
@@ -3573,6 +3726,9 @@ class TidLogFilter(logging.Filter):
3573
3726
  # ../../../omlish/logs/proxy.py
3574
3727
 
3575
3728
 
3729
+ ##
3730
+
3731
+
3576
3732
  class ProxyLogFilterer(logging.Filterer):
3577
3733
  def __init__(self, underlying: logging.Filterer) -> None: # noqa
3578
3734
  self._underlying = underlying
@@ -7612,6 +7768,9 @@ TODO:
7612
7768
  """
7613
7769
 
7614
7770
 
7771
+ ##
7772
+
7773
+
7615
7774
  class JsonLogFormatter(logging.Formatter):
7616
7775
  KEYS: ta.Mapping[str, bool] = {
7617
7776
  'name': False,
@@ -57,6 +57,7 @@ import fractions
57
57
  import functools
58
58
  import grp
59
59
  import html
60
+ import http
60
61
  import http.client
61
62
  import http.server
62
63
  import inspect
@@ -127,6 +128,9 @@ CheckOnRaiseFn = ta.Callable[[Exception], None] # ta.TypeAlias
127
128
  CheckExceptionFactory = ta.Callable[..., Exception] # ta.TypeAlias
128
129
  CheckArgsRenderer = ta.Callable[..., ta.Optional[str]] # ta.TypeAlias
129
130
 
131
+ # ../../omlish/lite/maybes.py
132
+ U = ta.TypeVar('U')
133
+
130
134
  # ../../omlish/lite/typing.py
131
135
  A0 = ta.TypeVar('A0')
132
136
  A1 = ta.TypeVar('A1')
@@ -146,7 +150,6 @@ ConfigDataT = ta.TypeVar('ConfigDataT', bound='ConfigData')
146
150
  HttpHeaders = http.client.HTTPMessage # ta.TypeAlias
147
151
 
148
152
  # ../../omlish/lite/inject.py
149
- U = ta.TypeVar('U')
150
153
  InjectorKeyCls = ta.Union[type, ta.NewType]
151
154
  InjectorProviderFn = ta.Callable[['Injector'], ta.Any]
152
155
  InjectorProviderFnMap = ta.Mapping['InjectorKey', 'InjectorProviderFn']
@@ -2541,7 +2544,13 @@ log = logging.getLogger(__name__)
2541
2544
  ##
2542
2545
 
2543
2546
 
2547
+ @functools.total_ordering
2544
2548
  class Maybe(ta.Generic[T]):
2549
+ class ValueNotPresentError(BaseException):
2550
+ pass
2551
+
2552
+ #
2553
+
2545
2554
  @property
2546
2555
  @abc.abstractmethod
2547
2556
  def present(self) -> bool:
@@ -2551,9 +2560,102 @@ class Maybe(ta.Generic[T]):
2551
2560
  def must(self) -> T:
2552
2561
  raise NotImplementedError
2553
2562
 
2563
+ #
2564
+
2565
+ @abc.abstractmethod
2566
+ def __repr__(self) -> str:
2567
+ raise NotImplementedError
2568
+
2569
+ @abc.abstractmethod
2570
+ def __hash__(self) -> int:
2571
+ raise NotImplementedError
2572
+
2573
+ @abc.abstractmethod
2574
+ def __eq__(self, other) -> bool:
2575
+ raise NotImplementedError
2576
+
2577
+ @abc.abstractmethod
2578
+ def __lt__(self, other) -> bool:
2579
+ raise NotImplementedError
2580
+
2581
+ #
2582
+
2583
+ @ta.final
2584
+ def __ne__(self, other):
2585
+ return not (self == other)
2586
+
2587
+ @ta.final
2588
+ def __iter__(self) -> ta.Iterator[T]:
2589
+ if self.present:
2590
+ yield self.must()
2591
+
2592
+ @ta.final
2593
+ def __bool__(self) -> ta.NoReturn:
2594
+ raise TypeError
2595
+
2596
+ #
2597
+
2598
+ @ta.final
2599
+ def if_present(self, consumer: ta.Callable[[T], None]) -> None:
2600
+ if self.present:
2601
+ consumer(self.must())
2602
+
2603
+ @ta.final
2604
+ def filter(self, predicate: ta.Callable[[T], bool]) -> 'Maybe[T]':
2605
+ if self.present and predicate(self.must()):
2606
+ return self
2607
+ else:
2608
+ return Maybe.empty()
2609
+
2610
+ @ta.final
2611
+ def map(self, mapper: ta.Callable[[T], U]) -> 'Maybe[U]':
2612
+ if self.present:
2613
+ return Maybe.just(mapper(self.must()))
2614
+ else:
2615
+ return Maybe.empty()
2616
+
2617
+ @ta.final
2618
+ def flat_map(self, mapper: ta.Callable[[T], 'Maybe[U]']) -> 'Maybe[U]':
2619
+ if self.present:
2620
+ if not isinstance(v := mapper(self.must()), Maybe):
2621
+ raise TypeError(v)
2622
+ return v
2623
+ else:
2624
+ return Maybe.empty()
2625
+
2626
+ @ta.final
2627
+ def or_else(self, other: ta.Union[T, U]) -> ta.Union[T, U]:
2628
+ if self.present:
2629
+ return self.must()
2630
+ else:
2631
+ return other
2632
+
2633
+ @ta.final
2634
+ def or_else_get(self, supplier: ta.Callable[[], ta.Union[T, U]]) -> ta.Union[T, U]:
2635
+ if self.present:
2636
+ return self.must()
2637
+ else:
2638
+ return supplier()
2639
+
2640
+ @ta.final
2641
+ def or_else_raise(self, exception_supplier: ta.Callable[[], Exception]) -> T:
2642
+ if self.present:
2643
+ return self.must()
2644
+ else:
2645
+ raise exception_supplier()
2646
+
2647
+ #
2648
+
2649
+ @classmethod
2650
+ def of_optional(cls, v: ta.Optional[T]) -> 'Maybe[T]':
2651
+ if v is not None:
2652
+ return cls.just(v)
2653
+ else:
2654
+ return cls.empty()
2655
+
2554
2656
  @classmethod
2555
2657
  def just(cls, v: T) -> 'Maybe[T]':
2556
- return tuple.__new__(_Maybe, (v,)) # noqa
2658
+ return _JustMaybe(v)
2557
2659
 
2558
2660
  _empty: ta.ClassVar['Maybe']
2559
2661
 
@@ -2562,36 +2664,81 @@ class Maybe(ta.Generic[T]):
2562
2664
  return Maybe._empty
2563
2665
 
2564
2666
 
2565
- class _Maybe(Maybe[T], tuple):
2566
- __slots__ = ()
2667
+ ##
2567
2668
 
2568
- def __init_subclass__(cls, **kwargs):
2569
- raise TypeError
2669
+
2670
+ class _Maybe(Maybe[T], abc.ABC):
2671
+ def __lt__(self, other):
2672
+ if not isinstance(other, _Maybe):
2673
+ return NotImplemented
2674
+ sp = self.present
2675
+ op = other.present
2676
+ if self.present and other.present:
2677
+ return self.must() < other.must()
2678
+ else:
2679
+ return op and not sp
2680
+
2681
+
2682
+ class _JustMaybe(_Maybe[T]):
2683
+ __slots__ = ('_v', '_hash')
2684
+
2685
+ def __init__(self, v: T) -> None:
2686
+ super().__init__()
2687
+
2688
+ self._v = v
2570
2689
 
2571
2690
  @property
2572
2691
  def present(self) -> bool:
2573
- return bool(self)
2692
+ return True
2574
2693
 
2575
2694
  def must(self) -> T:
2576
- if not self:
2577
- raise ValueError
2578
- return self[0]
2695
+ return self._v
2579
2696
 
2697
+ #
2580
2698
 
2581
- Maybe._empty = tuple.__new__(_Maybe, ()) # noqa
2699
+ def __repr__(self) -> str:
2700
+ return f'just({self._v!r})'
2582
2701
 
2702
+ _hash: int
2583
2703
 
2584
- ##
2704
+ def __hash__(self) -> int:
2705
+ try:
2706
+ return self._hash
2707
+ except AttributeError:
2708
+ pass
2709
+ h = self._hash = hash((_JustMaybe, self._v))
2710
+ return h
2585
2711
 
2712
+ def __eq__(self, other):
2713
+ return (
2714
+ self.__class__ is other.__class__ and
2715
+ self._v == other._v # noqa
2716
+ )
2717
+
2718
+
2719
+ class _EmptyMaybe(_Maybe[T]):
2720
+ __slots__ = ()
2721
+
2722
+ @property
2723
+ def present(self) -> bool:
2724
+ return False
2586
2725
 
2587
- @functools.singledispatch
2588
- def as_maybe(obj: ta.Any) -> Maybe:
2589
- raise TypeError(obj)
2726
+ def must(self) -> T:
2727
+ raise Maybe.ValueNotPresentError
2590
2728
 
2729
+ #
2591
2730
 
2592
- @as_maybe.register
2593
- def _(obj: Maybe) -> Maybe:
2594
- return obj
2731
+ def __repr__(self) -> str:
2732
+ return 'empty()'
2733
+
2734
+ def __hash__(self) -> int:
2735
+ return hash(_EmptyMaybe)
2736
+
2737
+ def __eq__(self, other):
2738
+ return self.__class__ is other.__class__
2739
+
2740
+
2741
+ Maybe._empty = _EmptyMaybe() # noqa
2595
2742
 
2596
2743
 
2597
2744
  ########################################
@@ -2832,9 +2979,16 @@ class Func3(ta.Generic[A0, A1, A2, T]):
2832
2979
  # ../../../omlish/logs/filters.py
2833
2980
 
2834
2981
 
2982
+ ##
2983
+
2984
+
2835
2985
  class TidLogFilter(logging.Filter):
2836
2986
  def filter(self, record):
2837
- record.tid = threading.get_native_id()
2987
+ # FIXME: handle better - missing from wasm and cosmos
2988
+ if hasattr(threading, 'get_native_id'):
2989
+ record.tid = threading.get_native_id()
2990
+ else:
2991
+ record.tid = '?'
2838
2992
  return True
2839
2993
 
2840
2994
 
@@ -2842,6 +2996,9 @@ class TidLogFilter(logging.Filter):
2842
2996
  # ../../../omlish/logs/proxy.py
2843
2997
 
2844
2998
 
2999
+ ##
3000
+
3001
+
2845
3002
  class ProxyLogFilterer(logging.Filterer):
2846
3003
  def __init__(self, underlying: logging.Filterer) -> None: # noqa
2847
3004
  self._underlying = underlying
@@ -6357,6 +6514,9 @@ TODO:
6357
6514
  """
6358
6515
 
6359
6516
 
6517
+ ##
6518
+
6519
+
6360
6520
  class JsonLogFormatter(logging.Formatter):
6361
6521
  KEYS: ta.Mapping[str, bool] = {
6362
6522
  'name': False,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ominfra
3
- Version: 0.0.0.dev315
3
+ Version: 0.0.0.dev317
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.dev315
16
- Requires-Dist: omlish==0.0.0.dev315
15
+ Requires-Dist: omdev==0.0.0.dev317
16
+ Requires-Dist: omlish==0.0.0.dev317
17
17
  Provides-Extra: all
18
18
  Requires-Dist: paramiko~=3.5; extra == "all"
19
19
  Requires-Dist: asyncssh~=2.21; extra == "all"
@@ -30,7 +30,7 @@ ominfra/clouds/aws/models/gen/__main__.py,sha256=Jsrv3P7LX2Cg08W7ByZfZ1JQT4lgLDP
30
30
  ominfra/clouds/aws/models/gen/cli.py,sha256=vcI8_-BOv4f-s_TFAqvnyzvBexZ_9y5akiUEGfioCqA,3857
31
31
  ominfra/clouds/aws/models/gen/gen.py,sha256=4pftOlyEIxDDoe73c5Z7NaJ1uhFsTBnMwmS1nlDiLOE,15903
32
32
  ominfra/clouds/aws/models/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
- ominfra/clouds/aws/models/services/ec2.py,sha256=BZin_J8nxEJxIgBs-L43-Ycs7GWU26BwTMMOxD1Tu0Y,270085
33
+ ominfra/clouds/aws/models/services/ec2.py,sha256=pW0yCA5yyXwErMHtnyZN6ITj6cHVnBM54Cik205-HIg,270137
34
34
  ominfra/clouds/aws/models/services/lambda_.py,sha256=dp2I4ZVDb6Dci15XcjPPURUElyzH8cwhM911J_HM7Qo,25823
35
35
  ominfra/clouds/aws/models/services/rds.py,sha256=cYjqdM3Sm3F0qpxinA8A8ofXi_HZflK3epu_sog7LzQ,59759
36
36
  ominfra/clouds/aws/models/services/s3.py,sha256=bEWMu3oxNDX26RlihLdw_-v_x-cnwR7lQxfwrxKIZyo,51024
@@ -112,9 +112,9 @@ ominfra/manage/targets/connection.py,sha256=rVI1YJxFClcF-sdttqWyIz9_XjPI01GUdwxY
112
112
  ominfra/manage/targets/inject.py,sha256=P4597xWM-V3I_gCt2O71OLhYQkkXtuJvkYRsIbhhMcE,1561
113
113
  ominfra/manage/targets/targets.py,sha256=7GP6UAZyJFEhpkJN6UQdpr_WN3p7C76v-s445y-WB6U,1885
114
114
  ominfra/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
115
- ominfra/scripts/journald2aws.py,sha256=dV6pWFzAY6U7K2N6Gtoydu8y6wC5I9C4b_Uhcg4PX0E,171737
116
- ominfra/scripts/manage.py,sha256=Tn3o5IVguQLEFJfbG6hTmsItemFLSIp0YaV-OcvPQ5A,382096
117
- ominfra/scripts/supervisor.py,sha256=fOMuqsQLtJESMctonn6Ll4CwUpZzfiBpxmWZKq78Sro,300369
115
+ ominfra/scripts/journald2aws.py,sha256=SnIJej3-Vu9Ui0K1BHw49nbr73SeT4aqHF_zvdH6W6c,171909
116
+ ominfra/scripts/manage.py,sha256=bDK-duck8aF4dWGsu7DvIlJ2r76SvqMBXSoq2O-E7zA,385599
117
+ ominfra/scripts/supervisor.py,sha256=y6jxJQEcrUhZ8jYz7cRSHEo-cy6uSe_cZEy1PFu3uKQ,303884
118
118
  ominfra/supervisor/LICENSE.txt,sha256=ZrHY15PVR98y26Yg6iQfa-SXnUaYTDhrUsPVcEO5OKM,1874
119
119
  ominfra/supervisor/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
120
120
  ominfra/supervisor/__main__.py,sha256=I0yFw-C08OOiZ3BF6lF1Oiv789EQXu-_j6whDhQUTEA,66
@@ -156,9 +156,9 @@ ominfra/tailscale/api.py,sha256=C5-t_b6jZXUWcy5k8bXm7CFnk73pSdrlMOgGDeGVrpw,1370
156
156
  ominfra/tailscale/cli.py,sha256=zRV7-tKB7kBah1oTVZlol-vwx1FBlnfzYAPGkeU5jX4,3543
157
157
  ominfra/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
158
158
  ominfra/tools/listresources.py,sha256=auGP1LlbBJSFKUWNvQo_UzA8IsBNZBTMwEkFFRJ4FX4,6185
159
- ominfra-0.0.0.dev315.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
160
- ominfra-0.0.0.dev315.dist-info/METADATA,sha256=szo1k7yFoM4utSk1bRPKFG5J1Ur7fr10uuhYQs2W2DA,753
161
- ominfra-0.0.0.dev315.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
162
- ominfra-0.0.0.dev315.dist-info/entry_points.txt,sha256=kgecQ2MgGrM9qK744BoKS3tMesaC3yjLnl9pa5CRczg,37
163
- ominfra-0.0.0.dev315.dist-info/top_level.txt,sha256=E-b2OHkk_AOBLXHYZQ2EOFKl-_6uOGd8EjeG-Zy6h_w,8
164
- ominfra-0.0.0.dev315.dist-info/RECORD,,
159
+ ominfra-0.0.0.dev317.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
160
+ ominfra-0.0.0.dev317.dist-info/METADATA,sha256=Hg36q9Q5VpzRgyNpw4MVJOmFyIL6cEcgN7edY7ms12s,753
161
+ ominfra-0.0.0.dev317.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
162
+ ominfra-0.0.0.dev317.dist-info/entry_points.txt,sha256=kgecQ2MgGrM9qK744BoKS3tMesaC3yjLnl9pa5CRczg,37
163
+ ominfra-0.0.0.dev317.dist-info/top_level.txt,sha256=E-b2OHkk_AOBLXHYZQ2EOFKl-_6uOGd8EjeG-Zy6h_w,8
164
+ ominfra-0.0.0.dev317.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.7.1)
2
+ Generator: setuptools (80.8.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5