ominfra 0.0.0.dev448__py3-none-any.whl → 0.0.0.dev488__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.
- ominfra/__about__.py +4 -1
- ominfra/clouds/aws/instancetypes/cache.json.gz +0 -0
- ominfra/clouds/aws/models/{base.py → base/__init__.py} +6 -0
- ominfra/clouds/aws/models/base/_dataclasses.py +721 -0
- ominfra/clouds/aws/models/gen/cli.py +2 -1
- ominfra/clouds/aws/models/gen/gen.py +16 -7
- ominfra/clouds/aws/models/services/{ec2.py → ec2/__init__.py} +121 -1
- ominfra/clouds/aws/models/services/ec2/_dataclasses.py +30654 -0
- ominfra/clouds/aws/models/services/{lambda_.py → lambda_/__init__.py} +139 -1
- ominfra/clouds/aws/models/services/lambda_/_dataclasses.py +4182 -0
- ominfra/clouds/aws/models/services/{rds.py → rds/__init__.py} +244 -78
- ominfra/clouds/aws/models/services/rds/_dataclasses.py +8231 -0
- ominfra/clouds/aws/models/services/{s3.py → s3/__init__.py} +9 -1
- ominfra/clouds/aws/models/services/s3/_dataclasses.py +5014 -0
- ominfra/manage/main.py +1 -2
- ominfra/manage/targets/bestpython.sh +1 -1
- ominfra/scripts/journald2aws.py +253 -29
- ominfra/scripts/manage.py +276 -42
- ominfra/scripts/supervisor.py +299 -25
- {ominfra-0.0.0.dev448.dist-info → ominfra-0.0.0.dev488.dist-info}/METADATA +5 -3
- {ominfra-0.0.0.dev448.dist-info → ominfra-0.0.0.dev488.dist-info}/RECORD +25 -20
- {ominfra-0.0.0.dev448.dist-info → ominfra-0.0.0.dev488.dist-info}/WHEEL +0 -0
- {ominfra-0.0.0.dev448.dist-info → ominfra-0.0.0.dev488.dist-info}/entry_points.txt +0 -0
- {ominfra-0.0.0.dev448.dist-info → ominfra-0.0.0.dev488.dist-info}/licenses/LICENSE +0 -0
- {ominfra-0.0.0.dev448.dist-info → ominfra-0.0.0.dev488.dist-info}/top_level.txt +0 -0
|
@@ -86,7 +86,8 @@ class Cli(ap.Cli):
|
|
|
86
86
|
fn = svc.name
|
|
87
87
|
if fn in keyword.kwlist:
|
|
88
88
|
fn += '_'
|
|
89
|
-
output_file = os.path.join(output_dir,
|
|
89
|
+
output_file = os.path.join(output_dir, fn, '__init__.py')
|
|
90
|
+
os.makedirs(os.path.dirname(output_file), exist_ok=True)
|
|
90
91
|
with open(output_file, 'w') as f:
|
|
91
92
|
f.write(mod)
|
|
92
93
|
|
|
@@ -17,7 +17,7 @@ from omlish.lite.strings import snake_case
|
|
|
17
17
|
|
|
18
18
|
if ta.TYPE_CHECKING:
|
|
19
19
|
import botocore.loaders
|
|
20
|
-
import botocore.
|
|
20
|
+
import botocore.model
|
|
21
21
|
import botocore.session
|
|
22
22
|
else:
|
|
23
23
|
botocore = lang.proxy_import('botocore', extras=[
|
|
@@ -175,10 +175,13 @@ class ModelGen:
|
|
|
175
175
|
|
|
176
176
|
def get_type_ann(
|
|
177
177
|
self,
|
|
178
|
-
name: str,
|
|
178
|
+
name: str | None,
|
|
179
179
|
*,
|
|
180
180
|
unquoted_names: bool = False,
|
|
181
181
|
) -> str | None:
|
|
182
|
+
if name is None:
|
|
183
|
+
return None
|
|
184
|
+
|
|
182
185
|
try:
|
|
183
186
|
return self.BASE_TYPE_ANNS[name]
|
|
184
187
|
except KeyError:
|
|
@@ -300,7 +303,13 @@ class ModelGen:
|
|
|
300
303
|
'',
|
|
301
304
|
'from omlish import dataclasses as _dc # noqa',
|
|
302
305
|
'',
|
|
303
|
-
'from
|
|
306
|
+
'from ... import base as _base # noqa',
|
|
307
|
+
'',
|
|
308
|
+
'',
|
|
309
|
+
'_dc.init_package(',
|
|
310
|
+
' globals(),',
|
|
311
|
+
' codegen=True,',
|
|
312
|
+
')',
|
|
304
313
|
'',
|
|
305
314
|
'',
|
|
306
315
|
'##',
|
|
@@ -434,17 +443,17 @@ class ModelGen:
|
|
|
434
443
|
elif isinstance(shape, botocore.model.MapShape):
|
|
435
444
|
# shape.key, shape.value
|
|
436
445
|
kn = shape.key.name
|
|
437
|
-
|
|
446
|
+
ka2 = self.get_type_ann(
|
|
438
447
|
kn,
|
|
439
448
|
unquoted_names=unquoted_names,
|
|
440
449
|
)
|
|
441
450
|
vn = shape.key.name
|
|
442
|
-
|
|
451
|
+
va2 = self.get_type_ann(
|
|
443
452
|
vn,
|
|
444
453
|
unquoted_names=unquoted_names,
|
|
445
454
|
)
|
|
446
|
-
l = f'{san_name}: _ta.TypeAlias = _ta.Mapping[{
|
|
447
|
-
if
|
|
455
|
+
l = f'{san_name}: _ta.TypeAlias = _ta.Mapping[{ka2 or kn}, {va2 or vn}]'
|
|
456
|
+
if ka2 is None or va2 is None:
|
|
448
457
|
l = '# ' + l
|
|
449
458
|
return self.ShapeSrc(l)
|
|
450
459
|
|
|
@@ -7,7 +7,13 @@ import typing as _ta # noqa
|
|
|
7
7
|
|
|
8
8
|
from omlish import dataclasses as _dc # noqa
|
|
9
9
|
|
|
10
|
-
from
|
|
10
|
+
from ... import base as _base # noqa
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
_dc.init_package(
|
|
14
|
+
globals(),
|
|
15
|
+
codegen=True,
|
|
16
|
+
)
|
|
11
17
|
|
|
12
18
|
|
|
13
19
|
##
|
|
@@ -298,6 +304,7 @@ class InstanceLifecycleType(_enum.Enum):
|
|
|
298
304
|
SPOT = 'spot'
|
|
299
305
|
SCHEDULED = 'scheduled'
|
|
300
306
|
CAPACITY_BLOCK = 'capacity-block'
|
|
307
|
+
INTERRUPTIBLE_CAPACITY_RESERVATION = 'interruptible-capacity-reservation'
|
|
301
308
|
|
|
302
309
|
|
|
303
310
|
class InstanceMetadataEndpointState(_enum.Enum):
|
|
@@ -1361,6 +1368,86 @@ class InstanceType(_enum.Enum):
|
|
|
1361
1368
|
I8GE_METAL_48XL = 'i8ge.metal-48xl'
|
|
1362
1369
|
MAC_M4_METAL = 'mac-m4.metal'
|
|
1363
1370
|
MAC_M4PRO_METAL = 'mac-m4pro.metal'
|
|
1371
|
+
R8GN_MEDIUM = 'r8gn.medium'
|
|
1372
|
+
R8GN_LARGE = 'r8gn.large'
|
|
1373
|
+
R8GN_XLARGE = 'r8gn.xlarge'
|
|
1374
|
+
R8GN_2XLARGE = 'r8gn.2xlarge'
|
|
1375
|
+
R8GN_4XLARGE = 'r8gn.4xlarge'
|
|
1376
|
+
R8GN_8XLARGE = 'r8gn.8xlarge'
|
|
1377
|
+
R8GN_12XLARGE = 'r8gn.12xlarge'
|
|
1378
|
+
R8GN_16XLARGE = 'r8gn.16xlarge'
|
|
1379
|
+
R8GN_24XLARGE = 'r8gn.24xlarge'
|
|
1380
|
+
R8GN_48XLARGE = 'r8gn.48xlarge'
|
|
1381
|
+
R8GN_METAL_24XL = 'r8gn.metal-24xl'
|
|
1382
|
+
R8GN_METAL_48XL = 'r8gn.metal-48xl'
|
|
1383
|
+
C8I_LARGE = 'c8i.large'
|
|
1384
|
+
C8I_XLARGE = 'c8i.xlarge'
|
|
1385
|
+
C8I_2XLARGE = 'c8i.2xlarge'
|
|
1386
|
+
C8I_4XLARGE = 'c8i.4xlarge'
|
|
1387
|
+
C8I_8XLARGE = 'c8i.8xlarge'
|
|
1388
|
+
C8I_12XLARGE = 'c8i.12xlarge'
|
|
1389
|
+
C8I_16XLARGE = 'c8i.16xlarge'
|
|
1390
|
+
C8I_24XLARGE = 'c8i.24xlarge'
|
|
1391
|
+
C8I_32XLARGE = 'c8i.32xlarge'
|
|
1392
|
+
C8I_48XLARGE = 'c8i.48xlarge'
|
|
1393
|
+
C8I_96XLARGE = 'c8i.96xlarge'
|
|
1394
|
+
C8I_METAL_48XL = 'c8i.metal-48xl'
|
|
1395
|
+
C8I_METAL_96XL = 'c8i.metal-96xl'
|
|
1396
|
+
C8I_FLEX_LARGE = 'c8i-flex.large'
|
|
1397
|
+
C8I_FLEX_XLARGE = 'c8i-flex.xlarge'
|
|
1398
|
+
C8I_FLEX_2XLARGE = 'c8i-flex.2xlarge'
|
|
1399
|
+
C8I_FLEX_4XLARGE = 'c8i-flex.4xlarge'
|
|
1400
|
+
C8I_FLEX_8XLARGE = 'c8i-flex.8xlarge'
|
|
1401
|
+
C8I_FLEX_12XLARGE = 'c8i-flex.12xlarge'
|
|
1402
|
+
C8I_FLEX_16XLARGE = 'c8i-flex.16xlarge'
|
|
1403
|
+
R8GB_MEDIUM = 'r8gb.medium'
|
|
1404
|
+
R8GB_LARGE = 'r8gb.large'
|
|
1405
|
+
R8GB_XLARGE = 'r8gb.xlarge'
|
|
1406
|
+
R8GB_2XLARGE = 'r8gb.2xlarge'
|
|
1407
|
+
R8GB_4XLARGE = 'r8gb.4xlarge'
|
|
1408
|
+
R8GB_8XLARGE = 'r8gb.8xlarge'
|
|
1409
|
+
R8GB_12XLARGE = 'r8gb.12xlarge'
|
|
1410
|
+
R8GB_16XLARGE = 'r8gb.16xlarge'
|
|
1411
|
+
R8GB_24XLARGE = 'r8gb.24xlarge'
|
|
1412
|
+
R8GB_METAL_24XL = 'r8gb.metal-24xl'
|
|
1413
|
+
M8A_MEDIUM = 'm8a.medium'
|
|
1414
|
+
M8A_LARGE = 'm8a.large'
|
|
1415
|
+
M8A_XLARGE = 'm8a.xlarge'
|
|
1416
|
+
M8A_2XLARGE = 'm8a.2xlarge'
|
|
1417
|
+
M8A_4XLARGE = 'm8a.4xlarge'
|
|
1418
|
+
M8A_8XLARGE = 'm8a.8xlarge'
|
|
1419
|
+
M8A_12XLARGE = 'm8a.12xlarge'
|
|
1420
|
+
M8A_16XLARGE = 'm8a.16xlarge'
|
|
1421
|
+
M8A_24XLARGE = 'm8a.24xlarge'
|
|
1422
|
+
M8A_48XLARGE = 'm8a.48xlarge'
|
|
1423
|
+
M8A_METAL_24XL = 'm8a.metal-24xl'
|
|
1424
|
+
M8A_METAL_48XL = 'm8a.metal-48xl'
|
|
1425
|
+
TRN2_3XLARGE = 'trn2.3xlarge'
|
|
1426
|
+
R8A_MEDIUM = 'r8a.medium'
|
|
1427
|
+
R8A_LARGE = 'r8a.large'
|
|
1428
|
+
R8A_XLARGE = 'r8a.xlarge'
|
|
1429
|
+
R8A_2XLARGE = 'r8a.2xlarge'
|
|
1430
|
+
R8A_4XLARGE = 'r8a.4xlarge'
|
|
1431
|
+
R8A_8XLARGE = 'r8a.8xlarge'
|
|
1432
|
+
R8A_12XLARGE = 'r8a.12xlarge'
|
|
1433
|
+
R8A_16XLARGE = 'r8a.16xlarge'
|
|
1434
|
+
R8A_24XLARGE = 'r8a.24xlarge'
|
|
1435
|
+
R8A_48XLARGE = 'r8a.48xlarge'
|
|
1436
|
+
R8A_METAL_24XL = 'r8a.metal-24xl'
|
|
1437
|
+
R8A_METAL_48XL = 'r8a.metal-48xl'
|
|
1438
|
+
P6_B300_48XLARGE = 'p6-b300.48xlarge'
|
|
1439
|
+
C8A_MEDIUM = 'c8a.medium'
|
|
1440
|
+
C8A_LARGE = 'c8a.large'
|
|
1441
|
+
C8A_XLARGE = 'c8a.xlarge'
|
|
1442
|
+
C8A_2XLARGE = 'c8a.2xlarge'
|
|
1443
|
+
C8A_4XLARGE = 'c8a.4xlarge'
|
|
1444
|
+
C8A_8XLARGE = 'c8a.8xlarge'
|
|
1445
|
+
C8A_12XLARGE = 'c8a.12xlarge'
|
|
1446
|
+
C8A_16XLARGE = 'c8a.16xlarge'
|
|
1447
|
+
C8A_24XLARGE = 'c8a.24xlarge'
|
|
1448
|
+
C8A_48XLARGE = 'c8a.48xlarge'
|
|
1449
|
+
C8A_METAL_24XL = 'c8a.metal-24xl'
|
|
1450
|
+
C8A_METAL_48XL = 'c8a.metal-48xl'
|
|
1364
1451
|
|
|
1365
1452
|
|
|
1366
1453
|
class InstanceTypeHypervisor(_enum.Enum):
|
|
@@ -1404,6 +1491,7 @@ LocalGatewayId = _ta.NewType('LocalGatewayId', str)
|
|
|
1404
1491
|
class MarketType(_enum.Enum):
|
|
1405
1492
|
SPOT = 'spot'
|
|
1406
1493
|
CAPACITY_BLOCK = 'capacity-block'
|
|
1494
|
+
INTERRUPTIBLE_CAPACITY_RESERVATION = 'interruptible-capacity-reservation'
|
|
1407
1495
|
|
|
1408
1496
|
|
|
1409
1497
|
MaxIpv4AddrPerInterface = _ta.NewType('MaxIpv4AddrPerInterface', int)
|
|
@@ -1618,6 +1706,7 @@ class ResourceType(_enum.Enum):
|
|
|
1618
1706
|
TRANSIT_GATEWAY_CONNECT_PEER = 'transit-gateway-connect-peer'
|
|
1619
1707
|
TRANSIT_GATEWAY_MULTICAST_DOMAIN = 'transit-gateway-multicast-domain'
|
|
1620
1708
|
TRANSIT_GATEWAY_POLICY_TABLE = 'transit-gateway-policy-table'
|
|
1709
|
+
TRANSIT_GATEWAY_METERING_POLICY = 'transit-gateway-metering-policy'
|
|
1621
1710
|
TRANSIT_GATEWAY_ROUTE_TABLE = 'transit-gateway-route-table'
|
|
1622
1711
|
TRANSIT_GATEWAY_ROUTE_TABLE_ANNOUNCEMENT = 'transit-gateway-route-table-announcement'
|
|
1623
1712
|
VOLUME = 'volume'
|
|
@@ -1640,6 +1729,7 @@ class ResourceType(_enum.Enum):
|
|
|
1640
1729
|
VERIFIED_ACCESS_TRUST_PROVIDER = 'verified-access-trust-provider'
|
|
1641
1730
|
VPN_CONNECTION_DEVICE_TYPE = 'vpn-connection-device-type'
|
|
1642
1731
|
VPC_BLOCK_PUBLIC_ACCESS_EXCLUSION = 'vpc-block-public-access-exclusion'
|
|
1732
|
+
VPC_ENCRYPTION_CONTROL = 'vpc-encryption-control'
|
|
1643
1733
|
ROUTE_SERVER = 'route-server'
|
|
1644
1734
|
ROUTE_SERVER_ENDPOINT = 'route-server-endpoint'
|
|
1645
1735
|
ROUTE_SERVER_PEER = 'route-server-peer'
|
|
@@ -1650,6 +1740,11 @@ class ResourceType(_enum.Enum):
|
|
|
1650
1740
|
IPAM_EXTERNAL_RESOURCE_VERIFICATION_TOKEN = 'ipam-external-resource-verification-token'
|
|
1651
1741
|
CAPACITY_BLOCK = 'capacity-block'
|
|
1652
1742
|
MAC_MODIFICATION_TASK = 'mac-modification-task'
|
|
1743
|
+
IPAM_PREFIX_LIST_RESOLVER = 'ipam-prefix-list-resolver'
|
|
1744
|
+
IPAM_POLICY = 'ipam-policy'
|
|
1745
|
+
IPAM_PREFIX_LIST_RESOLVER_TARGET = 'ipam-prefix-list-resolver-target'
|
|
1746
|
+
CAPACITY_MANAGER_DATA_EXPORT = 'capacity-manager-data-export'
|
|
1747
|
+
VPN_CONCENTRATOR = 'vpn-concentrator'
|
|
1653
1748
|
|
|
1654
1749
|
|
|
1655
1750
|
class RootDeviceType(_enum.Enum):
|
|
@@ -1694,6 +1789,7 @@ class ServiceManaged(_enum.Enum):
|
|
|
1694
1789
|
ALB = 'alb'
|
|
1695
1790
|
NLB = 'nlb'
|
|
1696
1791
|
RNAT = 'rnat'
|
|
1792
|
+
RDS = 'rds'
|
|
1697
1793
|
|
|
1698
1794
|
|
|
1699
1795
|
class ShutdownBehavior(_enum.Enum):
|
|
@@ -4906,6 +5002,24 @@ class VpcEncryptionControlExclusions(
|
|
|
4906
5002
|
shape_name='VpcEncryptionControlExclusion',
|
|
4907
5003
|
))
|
|
4908
5004
|
|
|
5005
|
+
lambda_: VpcEncryptionControlExclusion | None = _dc.field(default=None, metadata=_base.field_metadata(
|
|
5006
|
+
member_name='Lambda',
|
|
5007
|
+
serialization_name='lambda',
|
|
5008
|
+
shape_name='VpcEncryptionControlExclusion',
|
|
5009
|
+
))
|
|
5010
|
+
|
|
5011
|
+
vpc_lattice: VpcEncryptionControlExclusion | None = _dc.field(default=None, metadata=_base.field_metadata(
|
|
5012
|
+
member_name='VpcLattice',
|
|
5013
|
+
serialization_name='vpcLattice',
|
|
5014
|
+
shape_name='VpcEncryptionControlExclusion',
|
|
5015
|
+
))
|
|
5016
|
+
|
|
5017
|
+
elastic_file_system: VpcEncryptionControlExclusion | None = _dc.field(default=None, metadata=_base.field_metadata(
|
|
5018
|
+
member_name='ElasticFileSystem',
|
|
5019
|
+
serialization_name='elasticFileSystem',
|
|
5020
|
+
shape_name='VpcEncryptionControlExclusion',
|
|
5021
|
+
))
|
|
5022
|
+
|
|
4909
5023
|
|
|
4910
5024
|
@_dc.dataclass(frozen=True, kw_only=True)
|
|
4911
5025
|
class VpcIpv6CidrBlockAssociation(
|
|
@@ -6695,6 +6809,12 @@ class NetworkInterface(
|
|
|
6695
6809
|
shape_name='AssociatedSubnetList',
|
|
6696
6810
|
))
|
|
6697
6811
|
|
|
6812
|
+
availability_zone_id: str | None = _dc.field(default=None, metadata=_base.field_metadata(
|
|
6813
|
+
member_name='AvailabilityZoneId',
|
|
6814
|
+
serialization_name='availabilityZoneId',
|
|
6815
|
+
shape_name='String',
|
|
6816
|
+
))
|
|
6817
|
+
|
|
6698
6818
|
|
|
6699
6819
|
@_dc.dataclass(frozen=True, kw_only=True)
|
|
6700
6820
|
class NeuronInfo(
|