Skip to content

Commit c0f8665

Browse files
committed
add tags to resource models
1 parent 9baeb15 commit c0f8665

12 files changed

Lines changed: 92 additions & 12 deletions

File tree

exordos_core/boot_api/api/app.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ def get_openapi_engine():
5555
description=f"OpenAPI - Exordos Core {versions.API_VERSION_v1}",
5656
),
5757
paths=openapi_structures.OpenApiPaths(),
58-
components=openapi_structures.OpenApiComponents(),
5958
)
6059
return openapi_engine
6160

exordos_core/common/constants.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,3 +100,29 @@
100100
REPOSITORY_URL = "https://repo.exordos.com"
101101
ELEMENTS_PATH = "exordos-elements"
102102
INVENTORY_URL = f"{REPOSITORY_URL}/{ELEMENTS_PATH}/inventory.json"
103+
104+
105+
TABLES_TO_MODELS = {
106+
"em_services": "exordos_core.elements.dm.models:Service",
107+
"nodes": "exordos_core.compute.dm.models:Node",
108+
"compute_sets": "exordos_core.compute.dm.models:NodeSet",
109+
"config_configs": "exordos_core.config.dm.models:Config",
110+
"net_lb": "exordos_core.user_api.network.dm.models:LB",
111+
"net_lb_vhosts": "exordos_core.user_api.network.dm.models:Vhost",
112+
"net_lb_vhosts_routes": "exordos_core.user_api.network.dm.models:Route",
113+
"net_lb_backendpools": "exordos_core.user_api.network.dm.models:BackendPool",
114+
"secret_passwords": "exordos_core.secret.dm.models:Password",
115+
"secret_certificates": "exordos_core.secret.dm.models:Certificate",
116+
"dns_domains": "exordos_core.user_api.dns.dm.models:Domain",
117+
"dns_records": "exordos_core.user_api.dns.dm.models:Record",
118+
"iam_organizations": "exordos_core.user_api.iam.dm.models:Organization",
119+
"iam_organization_members": "exordos_core.user_api.iam.dm.models:OrganizationMember",
120+
"iam_roles": "exordos_core.user_api.iam.dm.models:Role",
121+
"iam_binding_roles": "exordos_core.user_api.iam.dm.models:RoleBinding",
122+
"iam_projects": "exordos_core.user_api.iam.dm.models:Project",
123+
"iam_permissions": "exordos_core.user_api.iam.dm.models:Permission",
124+
"iam_binding_permissions": "exordos_core.user_api.iam.dm.models:PermissionBinding",
125+
"vs_profiles": "exordos_core.vs.dm.models:Profile",
126+
"vs_variables": "exordos_core.vs.dm.models:Variable",
127+
"vs_values": "exordos_core.vs.dm.models:Value",
128+
}

exordos_core/compute/dm/models.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,7 @@ class NodeSet(
303303
infra_models.NodeSet,
304304
ua_models.InstanceWithDerivativesMixin,
305305
QuotaModelMixin,
306+
models.ModelWithTags,
306307
orm.SQLStorableMixin,
307308
):
308309
__tablename__ = "compute_sets"

exordos_core/config/dm/models.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ def from_command(cls, command: str) -> "OnChangeShell":
7777

7878
class Config(
7979
cm.ModelWithFullAsset,
80+
models.ModelWithTags,
8081
orm.SQLStorableMixin,
8182
ua_models.TargetResourceMixin,
8283
ua_models.TargetResourceSQLStorableMixin,

exordos_core/elements/dm/models.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1266,6 +1266,7 @@ def get_dp_obj(self):
12661266

12671267
class Service(
12681268
cm.ModelWithFullAsset,
1269+
models.ModelWithTags,
12691270
orm.SQLStorableMixin,
12701271
ua_models.TargetResourceMixin,
12711272
ua_models.TargetResourceSQLStorableMixin,

exordos_core/quota/dm/models.py

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
from restalchemy.dm import types
2727
from restalchemy.storage.sql import orm
2828

29+
from exordos_core.common import constants
30+
2931
LOG = logging.getLogger(__name__)
3032

3133

@@ -60,20 +62,11 @@ def __init__(
6062
DEFAULT_QUOTA_FIELD_LIMITS: tp.Dict[str, tp.Dict[str, int]] = {
6163
"nodes": {"cores": 10000},
6264
}
63-
QUOTA_RESOURCE_MODELS = {
64-
"net_lb": "exordos_core.user_api.network.dm.models:LB",
65-
"compute_sets": "exordos_core.compute.dm.models:NodeSet",
66-
"nodes": "exordos_core.compute.dm.models:Node",
67-
"secret_passwords": "exordos_core.secret.dm.models:Password",
68-
"secret_certificates": "exordos_core.secret.dm.models:Certificate",
69-
"secret_rsa_keys": "exordos_core.secret.dm.models:RSAKey",
70-
"secret_ssh_keys": "exordos_core.secret.dm.models:SSHKey",
71-
}
7265

7366

7467
def get_quota_resource_model(resource_name: str) -> type:
7568
try:
76-
module_name, class_name = QUOTA_RESOURCE_MODELS[resource_name].split(":")
69+
module_name, class_name = constants.TABLES_TO_MODELS[resource_name].split(":")
7770
except KeyError:
7871
raise ValueError(f"Unknown quota resource: {resource_name}")
7972

exordos_core/secret/dm/models.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ class DNSCoreCertificateMethod(AbstractCertificateMethod):
138138

139139
class Certificate(
140140
Secret,
141+
ra_models.ModelWithTags,
141142
QuotaModelMixin,
142143
orm.SQLStorableWithJSONFieldsMixin,
143144
ua_models.TargetResourceSQLStorableMixin,

exordos_core/user_api/dns/dm/models.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,12 @@ class CommonModel(
4747
pass
4848

4949

50-
class Domain(CommonModel, models.ModelWithProject, ua_models.TargetResourceMixin):
50+
class Domain(
51+
CommonModel,
52+
models.ModelWithTags,
53+
models.ModelWithProject,
54+
ua_models.TargetResourceMixin,
55+
):
5156
__tablename__ = "dns_domains"
5257
name = properties.property(types.String(), required=True)
5358
sync_to_ecosystem = properties.property(types.Boolean(), default=False)

exordos_core/user_api/iam/dm/models.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -625,6 +625,7 @@ class Permission(
625625
models.ModelWithUUID,
626626
models.ModelWithRequiredNameDesc,
627627
models.ModelWithTimestamp,
628+
models.ModelWithTags,
628629
ModelWithAlwaysActiveStatus,
629630
ua_models.TargetResourceMixin,
630631
orm.SQLStorableMixin,

exordos_core/user_api/network/dm/models.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ class LB(
6969
models.ModelWithNameDesc,
7070
models.ModelWithTimestamp,
7171
models.ModelWithProject,
72+
models.ModelWithTags,
7273
QuotaModelMixin,
7374
orm.SQLStorableMixin,
7475
ua_models.TargetResourceMixin,

0 commit comments

Comments
 (0)