cs-image-system-tf-ebs-instance-plugin 0.1.1__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.
- cs_image_system/py.typed +0 -0
- cs_image_system/tf_ebs_instance_plugin/__init__.py +3 -0
- cs_image_system/tf_ebs_instance_plugin/helpers.py +8 -0
- cs_image_system/tf_ebs_instance_plugin/main.py +74 -0
- cs_image_system/tf_ebs_instance_plugin/tf_instance_builder.py +677 -0
- cs_image_system/tf_ebs_instance_plugin/tf_instance_models.py +31 -0
- cs_image_system/tf_ebs_instance_plugin/tf_storage_builder.py +833 -0
- cs_image_system/tf_ebs_instance_plugin/tf_storage_models.py +95 -0
- cs_image_system_tf_ebs_instance_plugin-0.1.1.dist-info/METADATA +1376 -0
- cs_image_system_tf_ebs_instance_plugin-0.1.1.dist-info/RECORD +13 -0
- cs_image_system_tf_ebs_instance_plugin-0.1.1.dist-info/WHEEL +4 -0
- cs_image_system_tf_ebs_instance_plugin-0.1.1.dist-info/entry_points.txt +2 -0
- cs_image_system_tf_ebs_instance_plugin-0.1.1.dist-info/licenses/LICENSE +202 -0
cs_image_system/py.typed
ADDED
|
File without changes
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2026 Mykel Alvis <mykelalvis@infrastructurebuilder.org>
|
|
2
|
+
#
|
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
|
|
5
|
+
import logging
|
|
6
|
+
from cs_image_system.base.basic.abstract_plugin_metadata import AbstractPluginMetadata
|
|
7
|
+
from cs_image_system.base.protocols.plugin_metadata import PluginMetadataProtocol
|
|
8
|
+
from .tf_instance_builder import TofuInstanceBuilder, TofuVersionChecker
|
|
9
|
+
from .tf_instance_models import TOFU, TofuInstanceBuilderModel
|
|
10
|
+
from .tf_storage_builder import (
|
|
11
|
+
TofuEbsStorageBuilder,
|
|
12
|
+
TofuEfsStorageBuilder,
|
|
13
|
+
TofuS3StorageBuilder,
|
|
14
|
+
TofuStorageBuilder,
|
|
15
|
+
TofuStorageVersionChecker,
|
|
16
|
+
)
|
|
17
|
+
from .tf_storage_models import (
|
|
18
|
+
TF_AWS,
|
|
19
|
+
TF_AWS_EBS,
|
|
20
|
+
TF_AWS_EFS,
|
|
21
|
+
TF_AWS_S3,
|
|
22
|
+
TofuEbsStorageBuilderModel,
|
|
23
|
+
TofuEfsStorageBuilderModel,
|
|
24
|
+
TofuS3StorageBuilderModel,
|
|
25
|
+
TofuStorageBuilderModel,
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
log = logging.getLogger(__name__)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class TFEbsTofuTypes(AbstractPluginMetadata, PluginMetadataProtocol):
|
|
32
|
+
"""Tofu instance AND storage builders in one registration.
|
|
33
|
+
|
|
34
|
+
Storages live in the same plugin as instances so the two generate together
|
|
35
|
+
and instance terraform can bind directly to the storage resources.
|
|
36
|
+
Classification of each artifact comes from its csis_classifier()
|
|
37
|
+
(INSTANCE_BUILDER vs STORAGE_BUILDER), not from the entry-point group.
|
|
38
|
+
"""
|
|
39
|
+
def __init__(self) -> None:
|
|
40
|
+
super().__init__( "1", "3.13",
|
|
41
|
+
{TOFU: [
|
|
42
|
+
TofuInstanceBuilderModel,
|
|
43
|
+
TofuInstanceBuilder,
|
|
44
|
+
TofuVersionChecker
|
|
45
|
+
],
|
|
46
|
+
TF_AWS: [
|
|
47
|
+
TofuStorageBuilderModel,
|
|
48
|
+
TofuStorageBuilder,
|
|
49
|
+
TofuStorageVersionChecker
|
|
50
|
+
],
|
|
51
|
+
TF_AWS_EBS: [
|
|
52
|
+
TofuEbsStorageBuilderModel,
|
|
53
|
+
TofuEbsStorageBuilder,
|
|
54
|
+
],
|
|
55
|
+
TF_AWS_EFS: [
|
|
56
|
+
TofuEfsStorageBuilderModel,
|
|
57
|
+
TofuEfsStorageBuilder,
|
|
58
|
+
],
|
|
59
|
+
TF_AWS_S3: [
|
|
60
|
+
TofuS3StorageBuilderModel,
|
|
61
|
+
TofuS3StorageBuilder,
|
|
62
|
+
]},
|
|
63
|
+
{TofuInstanceBuilderModel: TofuInstanceBuilder,
|
|
64
|
+
TofuStorageBuilderModel: TofuStorageBuilder,
|
|
65
|
+
TofuEbsStorageBuilderModel: TofuEbsStorageBuilder,
|
|
66
|
+
TofuEfsStorageBuilderModel: TofuEfsStorageBuilder,
|
|
67
|
+
TofuS3StorageBuilderModel: TofuS3StorageBuilder,
|
|
68
|
+
}
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
def initialize():
|
|
73
|
+
log.debug("Initializing TF EBS tofu provider (instances + storages)")
|
|
74
|
+
return TFEbsTofuTypes()
|