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.
Files changed (25) hide show
  1. ominfra/__about__.py +4 -1
  2. ominfra/clouds/aws/instancetypes/cache.json.gz +0 -0
  3. ominfra/clouds/aws/models/{base.py → base/__init__.py} +6 -0
  4. ominfra/clouds/aws/models/base/_dataclasses.py +721 -0
  5. ominfra/clouds/aws/models/gen/cli.py +2 -1
  6. ominfra/clouds/aws/models/gen/gen.py +16 -7
  7. ominfra/clouds/aws/models/services/{ec2.py → ec2/__init__.py} +121 -1
  8. ominfra/clouds/aws/models/services/ec2/_dataclasses.py +30654 -0
  9. ominfra/clouds/aws/models/services/{lambda_.py → lambda_/__init__.py} +139 -1
  10. ominfra/clouds/aws/models/services/lambda_/_dataclasses.py +4182 -0
  11. ominfra/clouds/aws/models/services/{rds.py → rds/__init__.py} +244 -78
  12. ominfra/clouds/aws/models/services/rds/_dataclasses.py +8231 -0
  13. ominfra/clouds/aws/models/services/{s3.py → s3/__init__.py} +9 -1
  14. ominfra/clouds/aws/models/services/s3/_dataclasses.py +5014 -0
  15. ominfra/manage/main.py +1 -2
  16. ominfra/manage/targets/bestpython.sh +1 -1
  17. ominfra/scripts/journald2aws.py +253 -29
  18. ominfra/scripts/manage.py +276 -42
  19. ominfra/scripts/supervisor.py +299 -25
  20. {ominfra-0.0.0.dev448.dist-info → ominfra-0.0.0.dev488.dist-info}/METADATA +5 -3
  21. {ominfra-0.0.0.dev448.dist-info → ominfra-0.0.0.dev488.dist-info}/RECORD +25 -20
  22. {ominfra-0.0.0.dev448.dist-info → ominfra-0.0.0.dev488.dist-info}/WHEEL +0 -0
  23. {ominfra-0.0.0.dev448.dist-info → ominfra-0.0.0.dev488.dist-info}/entry_points.txt +0 -0
  24. {ominfra-0.0.0.dev448.dist-info → ominfra-0.0.0.dev488.dist-info}/licenses/LICENSE +0 -0
  25. {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, f'{fn}.py')
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.mode2
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 .. import base as _base # noqa',
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
- ka = self.get_type_ann(
446
+ ka2 = self.get_type_ann(
438
447
  kn,
439
448
  unquoted_names=unquoted_names,
440
449
  )
441
450
  vn = shape.key.name
442
- va = self.get_type_ann(
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[{ka or kn}, {va or vn}]'
447
- if ka is None or va is None:
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 .. import base as _base # noqa
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(