ominfra 0.0.0.dev142__py3-none-any.whl → 0.0.0.dev144__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- ominfra/manage/__init__.py +10 -0
- ominfra/manage/__main__.py +4 -0
- ominfra/manage/bootstrap.py +11 -0
- ominfra/manage/bootstrap_.py +18 -0
- ominfra/manage/commands/base.py +133 -1
- ominfra/manage/commands/execution.py +23 -0
- ominfra/manage/commands/inject.py +122 -0
- ominfra/manage/commands/marshal.py +26 -0
- ominfra/manage/config.py +10 -0
- ominfra/manage/deploy/__init__.py +0 -0
- ominfra/manage/deploy/command.py +23 -0
- ominfra/manage/deploy/inject.py +19 -0
- ominfra/manage/inject.py +58 -0
- ominfra/manage/main.py +64 -90
- ominfra/manage/marshal.py +12 -0
- ominfra/manage/remote/__init__.py +0 -0
- ominfra/manage/{protocol.py → remote/channel.py} +9 -2
- ominfra/manage/remote/config.py +12 -0
- ominfra/manage/remote/execution.py +193 -0
- ominfra/manage/remote/inject.py +29 -0
- ominfra/manage/{payload.py → remote/payload.py} +7 -1
- ominfra/manage/{spawning.py → remote/spawning.py} +29 -29
- ominfra/pyremote.py +40 -3
- ominfra/scripts/journald2aws.py +98 -50
- ominfra/scripts/manage.py +2025 -295
- ominfra/scripts/supervisor.py +99 -50
- ominfra/supervisor/inject.py +2 -1
- {ominfra-0.0.0.dev142.dist-info → ominfra-0.0.0.dev144.dist-info}/METADATA +3 -3
- {ominfra-0.0.0.dev142.dist-info → ominfra-0.0.0.dev144.dist-info}/RECORD +33 -17
- {ominfra-0.0.0.dev142.dist-info → ominfra-0.0.0.dev144.dist-info}/LICENSE +0 -0
- {ominfra-0.0.0.dev142.dist-info → ominfra-0.0.0.dev144.dist-info}/WHEEL +0 -0
- {ominfra-0.0.0.dev142.dist-info → ominfra-0.0.0.dev144.dist-info}/entry_points.txt +0 -0
- {ominfra-0.0.0.dev142.dist-info → ominfra-0.0.0.dev144.dist-info}/top_level.txt +0 -0
ominfra/scripts/journald2aws.py
CHANGED
@@ -2166,21 +2166,26 @@ TODO:
|
|
2166
2166
|
##
|
2167
2167
|
|
2168
2168
|
|
2169
|
+
@dc.dataclass(frozen=True)
|
2170
|
+
class ObjMarshalOptions:
|
2171
|
+
raw_bytes: bool = False
|
2172
|
+
|
2173
|
+
|
2169
2174
|
class ObjMarshaler(abc.ABC):
|
2170
2175
|
@abc.abstractmethod
|
2171
|
-
def marshal(self, o: ta.Any) -> ta.Any:
|
2176
|
+
def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2172
2177
|
raise NotImplementedError
|
2173
2178
|
|
2174
2179
|
@abc.abstractmethod
|
2175
|
-
def unmarshal(self, o: ta.Any) -> ta.Any:
|
2180
|
+
def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2176
2181
|
raise NotImplementedError
|
2177
2182
|
|
2178
2183
|
|
2179
2184
|
class NopObjMarshaler(ObjMarshaler):
|
2180
|
-
def marshal(self, o: ta.Any) -> ta.Any:
|
2185
|
+
def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2181
2186
|
return o
|
2182
2187
|
|
2183
|
-
def unmarshal(self, o: ta.Any) -> ta.Any:
|
2188
|
+
def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2184
2189
|
return o
|
2185
2190
|
|
2186
2191
|
|
@@ -2188,29 +2193,29 @@ class NopObjMarshaler(ObjMarshaler):
|
|
2188
2193
|
class ProxyObjMarshaler(ObjMarshaler):
|
2189
2194
|
m: ta.Optional[ObjMarshaler] = None
|
2190
2195
|
|
2191
|
-
def marshal(self, o: ta.Any) -> ta.Any:
|
2192
|
-
return check_not_none(self.m).marshal(o)
|
2196
|
+
def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2197
|
+
return check_not_none(self.m).marshal(o, opts)
|
2193
2198
|
|
2194
|
-
def unmarshal(self, o: ta.Any) -> ta.Any:
|
2195
|
-
return check_not_none(self.m).unmarshal(o)
|
2199
|
+
def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2200
|
+
return check_not_none(self.m).unmarshal(o, opts)
|
2196
2201
|
|
2197
2202
|
|
2198
2203
|
@dc.dataclass(frozen=True)
|
2199
2204
|
class CastObjMarshaler(ObjMarshaler):
|
2200
2205
|
ty: type
|
2201
2206
|
|
2202
|
-
def marshal(self, o: ta.Any) -> ta.Any:
|
2207
|
+
def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2203
2208
|
return o
|
2204
2209
|
|
2205
|
-
def unmarshal(self, o: ta.Any) -> ta.Any:
|
2210
|
+
def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2206
2211
|
return self.ty(o)
|
2207
2212
|
|
2208
2213
|
|
2209
2214
|
class DynamicObjMarshaler(ObjMarshaler):
|
2210
|
-
def marshal(self, o: ta.Any) -> ta.Any:
|
2215
|
+
def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2211
2216
|
return marshal_obj(o)
|
2212
2217
|
|
2213
|
-
def unmarshal(self, o: ta.Any) -> ta.Any:
|
2218
|
+
def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2214
2219
|
return o
|
2215
2220
|
|
2216
2221
|
|
@@ -2218,21 +2223,36 @@ class DynamicObjMarshaler(ObjMarshaler):
|
|
2218
2223
|
class Base64ObjMarshaler(ObjMarshaler):
|
2219
2224
|
ty: type
|
2220
2225
|
|
2221
|
-
def marshal(self, o: ta.Any) -> ta.Any:
|
2226
|
+
def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2222
2227
|
return base64.b64encode(o).decode('ascii')
|
2223
2228
|
|
2224
|
-
def unmarshal(self, o: ta.Any) -> ta.Any:
|
2229
|
+
def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2225
2230
|
return self.ty(base64.b64decode(o))
|
2226
2231
|
|
2227
2232
|
|
2233
|
+
@dc.dataclass(frozen=True)
|
2234
|
+
class BytesSwitchedObjMarshaler(ObjMarshaler):
|
2235
|
+
m: ObjMarshaler
|
2236
|
+
|
2237
|
+
def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2238
|
+
if opts.raw_bytes:
|
2239
|
+
return o
|
2240
|
+
return self.m.marshal(o, opts)
|
2241
|
+
|
2242
|
+
def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2243
|
+
if opts.raw_bytes:
|
2244
|
+
return o
|
2245
|
+
return self.m.unmarshal(o, opts)
|
2246
|
+
|
2247
|
+
|
2228
2248
|
@dc.dataclass(frozen=True)
|
2229
2249
|
class EnumObjMarshaler(ObjMarshaler):
|
2230
2250
|
ty: type
|
2231
2251
|
|
2232
|
-
def marshal(self, o: ta.Any) -> ta.Any:
|
2252
|
+
def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2233
2253
|
return o.name
|
2234
2254
|
|
2235
|
-
def unmarshal(self, o: ta.Any) -> ta.Any:
|
2255
|
+
def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2236
2256
|
return self.ty.__members__[o] # type: ignore
|
2237
2257
|
|
2238
2258
|
|
@@ -2240,15 +2260,15 @@ class EnumObjMarshaler(ObjMarshaler):
|
|
2240
2260
|
class OptionalObjMarshaler(ObjMarshaler):
|
2241
2261
|
item: ObjMarshaler
|
2242
2262
|
|
2243
|
-
def marshal(self, o: ta.Any) -> ta.Any:
|
2263
|
+
def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2244
2264
|
if o is None:
|
2245
2265
|
return None
|
2246
|
-
return self.item.marshal(o)
|
2266
|
+
return self.item.marshal(o, opts)
|
2247
2267
|
|
2248
|
-
def unmarshal(self, o: ta.Any) -> ta.Any:
|
2268
|
+
def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2249
2269
|
if o is None:
|
2250
2270
|
return None
|
2251
|
-
return self.item.unmarshal(o)
|
2271
|
+
return self.item.unmarshal(o, opts)
|
2252
2272
|
|
2253
2273
|
|
2254
2274
|
@dc.dataclass(frozen=True)
|
@@ -2257,11 +2277,11 @@ class MappingObjMarshaler(ObjMarshaler):
|
|
2257
2277
|
km: ObjMarshaler
|
2258
2278
|
vm: ObjMarshaler
|
2259
2279
|
|
2260
|
-
def marshal(self, o: ta.Any) -> ta.Any:
|
2261
|
-
return {self.km.marshal(k): self.vm.marshal(v) for k, v in o.items()}
|
2280
|
+
def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2281
|
+
return {self.km.marshal(k, opts): self.vm.marshal(v, opts) for k, v in o.items()}
|
2262
2282
|
|
2263
|
-
def unmarshal(self, o: ta.Any) -> ta.Any:
|
2264
|
-
return self.ty((self.km.unmarshal(k), self.vm.unmarshal(v)) for k, v in o.items())
|
2283
|
+
def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2284
|
+
return self.ty((self.km.unmarshal(k, opts), self.vm.unmarshal(v, opts)) for k, v in o.items())
|
2265
2285
|
|
2266
2286
|
|
2267
2287
|
@dc.dataclass(frozen=True)
|
@@ -2269,11 +2289,11 @@ class IterableObjMarshaler(ObjMarshaler):
|
|
2269
2289
|
ty: type
|
2270
2290
|
item: ObjMarshaler
|
2271
2291
|
|
2272
|
-
def marshal(self, o: ta.Any) -> ta.Any:
|
2273
|
-
return [self.item.marshal(e) for e in o]
|
2292
|
+
def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2293
|
+
return [self.item.marshal(e, opts) for e in o]
|
2274
2294
|
|
2275
|
-
def unmarshal(self, o: ta.Any) -> ta.Any:
|
2276
|
-
return self.ty(self.item.unmarshal(e) for e in o)
|
2295
|
+
def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2296
|
+
return self.ty(self.item.unmarshal(e, opts) for e in o)
|
2277
2297
|
|
2278
2298
|
|
2279
2299
|
@dc.dataclass(frozen=True)
|
@@ -2282,11 +2302,11 @@ class DataclassObjMarshaler(ObjMarshaler):
|
|
2282
2302
|
fs: ta.Mapping[str, ObjMarshaler]
|
2283
2303
|
nonstrict: bool = False
|
2284
2304
|
|
2285
|
-
def marshal(self, o: ta.Any) -> ta.Any:
|
2286
|
-
return {k: m.marshal(getattr(o, k)) for k, m in self.fs.items()}
|
2305
|
+
def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2306
|
+
return {k: m.marshal(getattr(o, k), opts) for k, m in self.fs.items()}
|
2287
2307
|
|
2288
|
-
def unmarshal(self, o: ta.Any) -> ta.Any:
|
2289
|
-
return self.ty(**{k: self.fs[k].unmarshal(v) for k, v in o.items() if not self.nonstrict or k in self.fs})
|
2308
|
+
def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2309
|
+
return self.ty(**{k: self.fs[k].unmarshal(v, opts) for k, v in o.items() if not self.nonstrict or k in self.fs})
|
2290
2310
|
|
2291
2311
|
|
2292
2312
|
@dc.dataclass(frozen=True)
|
@@ -2306,50 +2326,50 @@ class PolymorphicObjMarshaler(ObjMarshaler):
|
|
2306
2326
|
{i.tag: i for i in impls},
|
2307
2327
|
)
|
2308
2328
|
|
2309
|
-
def marshal(self, o: ta.Any) -> ta.Any:
|
2329
|
+
def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2310
2330
|
impl = self.impls_by_ty[type(o)]
|
2311
|
-
return {impl.tag: impl.m.marshal(o)}
|
2331
|
+
return {impl.tag: impl.m.marshal(o, opts)}
|
2312
2332
|
|
2313
|
-
def unmarshal(self, o: ta.Any) -> ta.Any:
|
2333
|
+
def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2314
2334
|
[(t, v)] = o.items()
|
2315
2335
|
impl = self.impls_by_tag[t]
|
2316
|
-
return impl.m.unmarshal(v)
|
2336
|
+
return impl.m.unmarshal(v, opts)
|
2317
2337
|
|
2318
2338
|
|
2319
2339
|
@dc.dataclass(frozen=True)
|
2320
2340
|
class DatetimeObjMarshaler(ObjMarshaler):
|
2321
2341
|
ty: type
|
2322
2342
|
|
2323
|
-
def marshal(self, o: ta.Any) -> ta.Any:
|
2343
|
+
def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2324
2344
|
return o.isoformat()
|
2325
2345
|
|
2326
|
-
def unmarshal(self, o: ta.Any) -> ta.Any:
|
2346
|
+
def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2327
2347
|
return self.ty.fromisoformat(o) # type: ignore
|
2328
2348
|
|
2329
2349
|
|
2330
2350
|
class DecimalObjMarshaler(ObjMarshaler):
|
2331
|
-
def marshal(self, o: ta.Any) -> ta.Any:
|
2351
|
+
def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2332
2352
|
return str(check_isinstance(o, decimal.Decimal))
|
2333
2353
|
|
2334
|
-
def unmarshal(self, v: ta.Any) -> ta.Any:
|
2354
|
+
def unmarshal(self, v: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2335
2355
|
return decimal.Decimal(check_isinstance(v, str))
|
2336
2356
|
|
2337
2357
|
|
2338
2358
|
class FractionObjMarshaler(ObjMarshaler):
|
2339
|
-
def marshal(self, o: ta.Any) -> ta.Any:
|
2359
|
+
def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2340
2360
|
fr = check_isinstance(o, fractions.Fraction)
|
2341
2361
|
return [fr.numerator, fr.denominator]
|
2342
2362
|
|
2343
|
-
def unmarshal(self, v: ta.Any) -> ta.Any:
|
2363
|
+
def unmarshal(self, v: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2344
2364
|
num, denom = check_isinstance(v, list)
|
2345
2365
|
return fractions.Fraction(num, denom)
|
2346
2366
|
|
2347
2367
|
|
2348
2368
|
class UuidObjMarshaler(ObjMarshaler):
|
2349
|
-
def marshal(self, o: ta.Any) -> ta.Any:
|
2369
|
+
def marshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2350
2370
|
return str(o)
|
2351
2371
|
|
2352
|
-
def unmarshal(self, o: ta.Any) -> ta.Any:
|
2372
|
+
def unmarshal(self, o: ta.Any, opts: ObjMarshalOptions) -> ta.Any:
|
2353
2373
|
return uuid.UUID(o)
|
2354
2374
|
|
2355
2375
|
|
@@ -2359,7 +2379,7 @@ class UuidObjMarshaler(ObjMarshaler):
|
|
2359
2379
|
_DEFAULT_OBJ_MARSHALERS: ta.Dict[ta.Any, ObjMarshaler] = {
|
2360
2380
|
**{t: NopObjMarshaler() for t in (type(None),)},
|
2361
2381
|
**{t: CastObjMarshaler(t) for t in (int, float, str, bool)},
|
2362
|
-
**{t: Base64ObjMarshaler(t) for t in (bytes, bytearray)},
|
2382
|
+
**{t: BytesSwitchedObjMarshaler(Base64ObjMarshaler(t)) for t in (bytes, bytearray)},
|
2363
2383
|
**{t: IterableObjMarshaler(t, DynamicObjMarshaler()) for t in (list, tuple, set, frozenset)},
|
2364
2384
|
**{t: MappingObjMarshaler(t, DynamicObjMarshaler(), DynamicObjMarshaler()) for t in (dict,)},
|
2365
2385
|
|
@@ -2392,12 +2412,16 @@ class ObjMarshalerManager:
|
|
2392
2412
|
def __init__(
|
2393
2413
|
self,
|
2394
2414
|
*,
|
2415
|
+
default_options: ObjMarshalOptions = ObjMarshalOptions(),
|
2416
|
+
|
2395
2417
|
default_obj_marshalers: ta.Dict[ta.Any, ObjMarshaler] = _DEFAULT_OBJ_MARSHALERS, # noqa
|
2396
2418
|
generic_mapping_types: ta.Dict[ta.Any, type] = _OBJ_MARSHALER_GENERIC_MAPPING_TYPES, # noqa
|
2397
2419
|
generic_iterable_types: ta.Dict[ta.Any, type] = _OBJ_MARSHALER_GENERIC_ITERABLE_TYPES, # noqa
|
2398
2420
|
) -> None:
|
2399
2421
|
super().__init__()
|
2400
2422
|
|
2423
|
+
self._default_options = default_options
|
2424
|
+
|
2401
2425
|
self._obj_marshalers = dict(default_obj_marshalers)
|
2402
2426
|
self._generic_mapping_types = generic_mapping_types
|
2403
2427
|
self._generic_iterable_types = generic_iterable_types
|
@@ -2506,11 +2530,35 @@ class ObjMarshalerManager:
|
|
2506
2530
|
|
2507
2531
|
#
|
2508
2532
|
|
2509
|
-
def marshal_obj(
|
2510
|
-
|
2511
|
-
|
2512
|
-
|
2513
|
-
|
2533
|
+
def marshal_obj(
|
2534
|
+
self,
|
2535
|
+
o: ta.Any,
|
2536
|
+
ty: ta.Any = None,
|
2537
|
+
opts: ta.Optional[ObjMarshalOptions] = None,
|
2538
|
+
) -> ta.Any:
|
2539
|
+
m = self.get_obj_marshaler(ty if ty is not None else type(o))
|
2540
|
+
return m.marshal(o, opts or self._default_options)
|
2541
|
+
|
2542
|
+
def unmarshal_obj(
|
2543
|
+
self,
|
2544
|
+
o: ta.Any,
|
2545
|
+
ty: ta.Union[ta.Type[T], ta.Any],
|
2546
|
+
opts: ta.Optional[ObjMarshalOptions] = None,
|
2547
|
+
) -> T:
|
2548
|
+
m = self.get_obj_marshaler(ty)
|
2549
|
+
return m.unmarshal(o, opts or self._default_options)
|
2550
|
+
|
2551
|
+
def roundtrip_obj(
|
2552
|
+
self,
|
2553
|
+
o: ta.Any,
|
2554
|
+
ty: ta.Any = None,
|
2555
|
+
opts: ta.Optional[ObjMarshalOptions] = None,
|
2556
|
+
) -> ta.Any:
|
2557
|
+
if ty is None:
|
2558
|
+
ty = type(o)
|
2559
|
+
m: ta.Any = self.marshal_obj(o, ty, opts)
|
2560
|
+
u: ta.Any = self.unmarshal_obj(m, ty, opts)
|
2561
|
+
return u
|
2514
2562
|
|
2515
2563
|
|
2516
2564
|
##
|