1 Commits
2.0.0 ... 2.0.1

Author SHA1 Message Date
Vladislav Nesterov
6eb57d32f0 2.0.1 2026-11-06 20:17:28 +07:00
18 changed files with 224 additions and 127 deletions

View File

@@ -1,6 +1,6 @@
[project]
name = "digital-energy-sdk"
version = "2.0.0"
version = "2.0.1"
readme = "README.md"

View File

@@ -2,6 +2,7 @@ from functools import cached_property
from digital_energy_sdk.base import APIOperationGroupImpl
from .apisix import DigitalenergyApisixImpl
from .argocd import DigitalenergyArgocdImpl
from .audit import DigitalenergyAuditImpl
from .autoscaler import DigitalenergyAutoscalerImpl
from .certificates import DigitalenergyCertificatesImpl
@@ -76,6 +77,10 @@ class DigitalenergyImpl(APIOperationGroupImpl):
def apisix(self) -> DigitalenergyApisixImpl:
return DigitalenergyApisixImpl(config=self._config)
@cached_property
def argocd(self) -> DigitalenergyArgocdImpl:
return DigitalenergyArgocdImpl(config=self._config)
@cached_property
def audit(self) -> DigitalenergyAuditImpl:
return DigitalenergyAuditImpl(config=self._config)

View File

@@ -0,0 +1,4 @@
from ._group import DigitalenergyArgocdImpl
__all__ = ['DigitalenergyArgocdImpl']

View File

@@ -0,0 +1,20 @@
from functools import cached_property
from digital_energy_sdk.base import APIOperationGroupImpl
from .describe import DigitalenergyArgocdDescribeImpl
from .install import DigitalenergyArgocdInstallImpl
from .uninstall import DigitalenergyArgocdUninstallImpl
class DigitalenergyArgocdImpl(APIOperationGroupImpl):
@cached_property
def describe(self) -> DigitalenergyArgocdDescribeImpl:
return DigitalenergyArgocdDescribeImpl(config=self._config)
@cached_property
def install(self) -> DigitalenergyArgocdInstallImpl:
return DigitalenergyArgocdInstallImpl(config=self._config)
@cached_property
def uninstall(self) -> DigitalenergyArgocdUninstallImpl:
return DigitalenergyArgocdUninstallImpl(config=self._config)

View File

@@ -0,0 +1,62 @@
from http import HTTPMethod
from typing import Any
from enum import Enum
from pydantic import Field
from digital_energy_sdk.base import APIOperationImpl as _APIOperationImpl
from digital_energy_sdk.base import ParamModel as _ParamModel
from digital_energy_sdk.base import ParamFile as _ParamFile
from digital_energy_sdk.base import ResultModel as _ResultModel
from digital_energy_sdk.types import params as _params
from digital_energy_sdk.types import results as _results
class Registry(_ResultModel):
addresses: dict[Any, Any] | None = Field(validation_alias='addresses', default=None)
cluster_id: int | None = Field(validation_alias='clusterId', default=None)
hostnames: dict[Any, Any] | None = Field(validation_alias='hostnames', default=None)
id: int | None = Field(validation_alias='id', default=None)
name: str | None = Field(validation_alias='name', default=None)
owner_id: int | None = Field(validation_alias='ownerId', default=None)
password: str | None = Field(validation_alias='password', default=None)
product_name: str | None = Field(validation_alias='productName', default=None)
product_version: str | None = Field(validation_alias='productVersion', default=None)
storage_type: str | None = Field(validation_alias='storageType', default=None)
task_ids: list[int] | None = Field(validation_alias='taskIds', default=None)
username: str | None = Field(validation_alias='username', default=None)
worker_group_name: str | None = Field(validation_alias='workerGroupName', default=None)
class Result(_ResultModel):
check_list_ok: bool | None = Field(validation_alias='checkListOk', default=None)
description: _results.ComtypeAudescrProductDescr | None = Field(validation_alias='description', default=None)
installed: bool | None = Field(validation_alias='installed', default=None)
registered: bool | None = Field(validation_alias='registered', default=None)
registry: Registry | None = Field(validation_alias='registry', default=None)
class DigitalenergyArgocdDescribeResult(_ResultModel):
error: bool | None = Field(validation_alias='error', default=None)
error_code: int | None = Field(validation_alias='errorCode', default=None)
message: str | None = Field(validation_alias='message', default=None)
result: Result | None = Field(validation_alias='result', default=None)
class DigitalenergyArgocdDescribeImpl(_APIOperationImpl):
path = '/api/v1/digitalenergy/argocd/describe'
http_method = HTTPMethod.POST
param_aliases = {
'cluster_id': 'clusterId',
'check_installation': 'checkInstallation',
'check_liveness': 'checkLiveness',
}
def __call__(
self,
*,
cluster_id: int,
check_installation: bool | None = None,
check_liveness: bool | None = None,
) -> DigitalenergyArgocdDescribeResult:
raise NotImplementedError

View File

@@ -0,0 +1,37 @@
from http import HTTPMethod
from typing import Any
from enum import Enum
from pydantic import Field
from digital_energy_sdk.base import APIOperationImpl as _APIOperationImpl
from digital_energy_sdk.base import ParamModel as _ParamModel
from digital_energy_sdk.base import ParamFile as _ParamFile
from digital_energy_sdk.base import ResultModel as _ResultModel
from digital_energy_sdk.types import params as _params
from digital_energy_sdk.types import results as _results
class Request(_ParamModel):
apps_repository_id: int | None = Field(serialization_alias='appsRepositoryId', default=None)
charts_repository_id: int | None = Field(serialization_alias='chartsRepositoryId', default=None)
cluster_id: int | None = Field(serialization_alias='clusterId', default=None)
download_chart_anyway: bool | None = Field(serialization_alias='downloadChartAnyway', default=None)
hostname: str | None = Field(serialization_alias='hostname', default=None)
password: str | None = Field(serialization_alias='password', default=None)
storage_class: str | None = Field(serialization_alias='storageClass', default=None)
worker_group_name: str | None = Field(serialization_alias='workerGroupName', default=None)
class DigitalenergyArgocdInstallImpl(_APIOperationImpl):
path = '/api/v1/digitalenergy/argocd/install'
http_method = HTTPMethod.POST
param_aliases = {
}
def __call__(
self,
*,
request: Request,
) -> _results.ComtypeIotypeCreateTaskResult:
raise NotImplementedError

View File

@@ -0,0 +1,31 @@
from http import HTTPMethod
from typing import Any
from enum import Enum
from pydantic import Field
from digital_energy_sdk.base import APIOperationImpl as _APIOperationImpl
from digital_energy_sdk.base import ParamModel as _ParamModel
from digital_energy_sdk.base import ParamFile as _ParamFile
from digital_energy_sdk.base import ResultModel as _ResultModel
from digital_energy_sdk.types import params as _params
from digital_energy_sdk.types import results as _results
class DigitalenergyArgocdUninstallImpl(_APIOperationImpl):
path = '/api/v1/digitalenergy/argocd/uninstall'
http_method = HTTPMethod.POST
param_aliases = {
'cluster_id': 'clusterId',
'clean_always': 'cleanAlways',
'ignore_dns_error': 'ignoreDnsError',
}
def __call__(
self,
*,
cluster_id: int,
clean_always: bool = False,
ignore_dns_error: bool = False,
) -> _results.ComtypeIotypeCreateTaskResult:
raise NotImplementedError

View File

@@ -12,37 +12,42 @@ from digital_energy_sdk.types import params as _params
from digital_energy_sdk.types import results as _results
class StorageClass(Enum):
LONGHORN = 'longhorn'
GLUSTERFS = 'glusterfs'
EMPTY_STR = ''
class Params(_ParamModel):
affinity: str | None = Field(serialization_alias='affinity', default=None)
cpu_limit: str | None = Field(serialization_alias='cpuLimit', default=None)
cpu_request: str | None = Field(serialization_alias='cpuRequest', default=None)
hostname: str | None = Field(serialization_alias='hostname', default=None)
memory_limit: str | None = Field(serialization_alias='memoryLimit', default=None)
memory_request: str | None = Field(serialization_alias='memoryRequest', default=None)
namespace: str | None = Field(serialization_alias='namespace', default=None)
password: str | None = Field(serialization_alias='password', default=None)
replicas: int | None = Field(serialization_alias='replicas', default=None)
service_port: int | None = Field(serialization_alias='servicePort', default=None)
service_target_port: int | None = Field(serialization_alias='serviceTargetPort', default=None)
storage_class: str | None = Field(serialization_alias='storageClass', default=None)
storage_size: str | None = Field(serialization_alias='storageSize', default=None)
tolerations: str | None = Field(serialization_alias='tolerations', default=None)
username: str | None = Field(serialization_alias='username', default=None)
worker_group_name: str | None = Field(serialization_alias='workerGroupName', default=None)
class Request(_ParamModel):
apps_repository_id: int | None = Field(serialization_alias='appsRepositoryId', default=None)
charts_repository_id: int | None = Field(serialization_alias='chartsRepositoryId', default=None)
cluster_id: int | None = Field(serialization_alias='clusterId', default=None)
download_chart_anyway: bool | None = Field(serialization_alias='downloadChartAnyway', default=None)
params: Params | None = Field(serialization_alias='params', default=None)
class DigitalenergyGrafanaInstallImpl(_APIOperationImpl):
path = '/api/v1/digitalenergy/grafana/install'
http_method = HTTPMethod.POST
param_aliases = {
'cluster_id': 'clusterId',
'integagent_hostname': 'integagentHostname',
'storage_class': 'storageClass',
'apps_repository_id': 'appsRepositoryId',
'charts_repository_id': 'chartsRepositoryId',
'worker_group_name': 'workerGroupName',
'download_chart_anyway': 'downloadChartAnyway',
}
def __call__(
self,
*,
cluster_id: int,
hostname: str,
integagent_hostname: str | None = None,
username: str,
password: str,
storage_class: StorageClass | None = None,
apps_repository_id: int | None = None,
charts_repository_id: int | None = None,
worker_group_name: str | None = None,
download_chart_anyway: bool | None = None,
request: Request,
) -> _results.ComtypeIotypeCreateTaskResult:
raise NotImplementedError

View File

@@ -12,8 +12,18 @@ from digital_energy_sdk.types import params as _params
from digital_energy_sdk.types import results as _results
class PoolsItem(_ResultModel):
name: str | None = Field(validation_alias='name', default=None)
class RecordsItem(_ResultModel):
pools: list[PoolsItem] | None = Field(validation_alias='pools', default=None)
sep_id: int | None = Field(validation_alias='sepId', default=None)
sep_name: str | None = Field(validation_alias='sepName', default=None)
class Result(_ResultModel):
records: list[Any] | None = Field(validation_alias='records', default=None)
records: list[RecordsItem] | None = Field(validation_alias='records', default=None)
class DynamixDiskListTypesResult(_ResultModel):

View File

@@ -13,7 +13,6 @@ from digital_energy_sdk.types import results as _results
class RecordsItem(_ResultModel):
free_ips: int | None = Field(validation_alias='freeIps', default=None)
id: int | None = Field(validation_alias='id', default=None)
ipcidr: str | None = Field(validation_alias='ipcidr', default=None)
name: str | None = Field(validation_alias='name', default=None)

View File

@@ -13,14 +13,8 @@ from digital_energy_sdk.types import results as _results
class RecordsItem(_ResultModel):
created_time: int | None = Field(validation_alias='createdTime', default=None)
desc: str | None = Field(validation_alias='desc', default=None)
id: int | None = Field(validation_alias='id', default=None)
lb_image_id: int | None = Field(validation_alias='lbImageId', default=None)
name: str | None = Field(validation_alias='name', default=None)
network_plugins: list[str] | None = Field(validation_alias='networkPlugins', default=None)
status: str | None = Field(validation_alias='status', default=None)
version: str | None = Field(validation_alias='version', default=None)
class Result(_ResultModel):

View File

@@ -12,10 +12,35 @@ from digital_energy_sdk.types import params as _params
from digital_energy_sdk.types import results as _results
class StoragePolicyItem(_ResultModel):
id: int | None = Field(validation_alias='id', default=None)
limit: int | None = Field(validation_alias='limit', default=None)
class AclItem(_ResultModel):
email: str | None = Field(validation_alias='email', default=None)
explicit: bool | None = Field(validation_alias='explicit', default=None)
guid: str | None = Field(validation_alias='guid', default=None)
right: str | None = Field(validation_alias='right', default=None)
status: str | None = Field(validation_alias='status', default=None)
type: str | None = Field(validation_alias='type', default=None)
user_group_id: str | None = Field(validation_alias='userGroupId', default=None)
class ResourceLimits(_ResultModel):
cu_c: float | None = Field(validation_alias='CU_C', default=None)
cu_d: float | None = Field(validation_alias='CU_D', default=None)
cu_dm: float | None = Field(validation_alias='CU_DM', default=None)
cu_i: float | None = Field(validation_alias='CU_I', default=None)
cu_m: float | None = Field(validation_alias='CU_M', default=None)
gpu_units: float | None = Field(validation_alias='gpu_units', default=None)
storage_policy: list[StoragePolicyItem] | None = Field(validation_alias='storage_policy', default=None)
class Record(_ResultModel):
account_id: int | None = Field(validation_alias='accountId', default=None)
account_name: str | None = Field(validation_alias='accountName', default=None)
acl: list[_results.GolangSdkPkgCloudapiRgItemACL] | None = Field(validation_alias='acl', default=None)
acl: list[AclItem] | None = Field(validation_alias='acl', default=None)
compute_features: list[str] | None = Field(validation_alias='computeFeatures', default=None)
cpu_allocation_parameter: str | None = Field(validation_alias='cpu_allocation_parameter', default=None)
cpu_allocation_ratio: int | None = Field(validation_alias='cpu_allocation_ratio', default=None)
@@ -33,7 +58,7 @@ class Record(_ResultModel):
lock_status: str | None = Field(validation_alias='lockStatus', default=None)
milestones: int | None = Field(validation_alias='milestones', default=None)
name: str | None = Field(validation_alias='name', default=None)
resource_limits: _results.CloudapiRgResourceLimits | None = Field(validation_alias='resourceLimits', default=None)
resource_limits: ResourceLimits | None = Field(validation_alias='resourceLimits', default=None)
resource_types: list[str] | None = Field(validation_alias='resourceTypes', default=None)
sdn_access_group_id: str | None = Field(validation_alias='sdn_access_group_id', default=None)
secret: str | None = Field(validation_alias='secret', default=None)

View File

@@ -13,38 +13,9 @@ from digital_energy_sdk.types import results as _results
class RecordsItem(_ResultModel):
account_acl: _results.GolangSdkPkgCloudapiRgItemACL | None = Field(validation_alias='accountAcl', default=None)
account_id: int | None = Field(validation_alias='accountId', default=None)
account_name: str | None = Field(validation_alias='accountName', default=None)
acl: list[_results.GolangSdkPkgCloudapiRgItemACL] | None = Field(validation_alias='acl', default=None)
compute_features: list[str] | None = Field(validation_alias='computeFeatures', default=None)
cpu_allocation_parameter: str | None = Field(validation_alias='cpu_allocation_parameter', default=None)
cpu_allocation_ratio: int | None = Field(validation_alias='cpu_allocation_ratio', default=None)
created_by: str | None = Field(validation_alias='createdBy', default=None)
created_time: int | None = Field(validation_alias='createdTime', default=None)
def_net_id: int | None = Field(validation_alias='def_net_id', default=None)
def_net_type: str | None = Field(validation_alias='def_net_type', default=None)
deleted_by: str | None = Field(validation_alias='deletedBy', default=None)
deleted_time: int | None = Field(validation_alias='deletedTime', default=None)
desc: str | None = Field(validation_alias='desc', default=None)
dirty: bool | None = Field(validation_alias='dirty', default=None)
gid: int | None = Field(validation_alias='gid', default=None)
guid: int | None = Field(validation_alias='guid', default=None)
id: int | None = Field(validation_alias='id', default=None)
lock_status: str | None = Field(validation_alias='lockStatus', default=None)
milestones: int | None = Field(validation_alias='milestones', default=None)
name: str | None = Field(validation_alias='name', default=None)
resource_limits: _results.CloudapiRgResourceLimits | None = Field(validation_alias='resourceLimits', default=None)
resource_types: list[str] | None = Field(validation_alias='resourceTypes', default=None)
sdn_access_group_id: str | None = Field(validation_alias='sdn_access_group_id', default=None)
secret: str | None = Field(validation_alias='secret', default=None)
status: str | None = Field(validation_alias='status', default=None)
storage_policy_ids: list[int] | None = Field(validation_alias='storage_policy_ids', default=None)
uniq_pools: list[str] | None = Field(validation_alias='uniqPools', default=None)
updated_by: str | None = Field(validation_alias='updatedBy', default=None)
updated_time: int | None = Field(validation_alias='updatedTime', default=None)
vins: list[int] | None = Field(validation_alias='vins', default=None)
vms: list[int] | None = Field(validation_alias='vms', default=None)
class Result(_ResultModel):

View File

@@ -18,21 +18,10 @@ class AccessSepsPoolsItem(_ResultModel):
sep_name: str | None = Field(validation_alias='sep_name', default=None)
class Usage(_ResultModel):
accounts: list[int] | None = Field(validation_alias='accounts', default=None)
resgroups: list[int] | None = Field(validation_alias='resgroups', default=None)
class RecordsItem(_ResultModel):
access_seps_pools: list[AccessSepsPoolsItem] | None = Field(validation_alias='access_seps_pools', default=None)
description: str | None = Field(validation_alias='description', default=None)
guid: int | None = Field(validation_alias='guid', default=None)
id: int | None = Field(validation_alias='id', default=None)
limit_iops: int | None = Field(validation_alias='limit_iops', default=None)
name: str | None = Field(validation_alias='name', default=None)
status: str | None = Field(validation_alias='status', default=None)
storage_policy_id: int | None = Field(validation_alias='storage_policy_id', default=None)
usage: Usage | None = Field(validation_alias='usage', default=None)
class Result(_ResultModel):

View File

@@ -13,25 +13,11 @@ from digital_energy_sdk.types import results as _results
class RecordsItem(_ResultModel):
account_id: int | None = Field(validation_alias='accountId', default=None)
account_name: str | None = Field(validation_alias='accountName', default=None)
created_by: str | None = Field(validation_alias='createdBy', default=None)
created_time: int | None = Field(validation_alias='createdTime', default=None)
deleted_by: str | None = Field(validation_alias='deletedBy', default=None)
deleted_time: int | None = Field(validation_alias='deletedTime', default=None)
enable_default_gateway: bool | None = Field(validation_alias='enable_default_gateway', default=None)
external_ip: str | None = Field(validation_alias='externalIP', default=None)
extnet_id: int | None = Field(validation_alias='extnetId', default=None)
free_ips: int | None = Field(validation_alias='freeIPs', default=None)
id: int | None = Field(validation_alias='id', default=None)
name: str | None = Field(validation_alias='name', default=None)
network: str | None = Field(validation_alias='network', default=None)
rg_id: int | None = Field(validation_alias='rgId', default=None)
rg_name: str | None = Field(validation_alias='rgName', default=None)
status: str | None = Field(validation_alias='status', default=None)
updated_by: str | None = Field(validation_alias='updatedBy', default=None)
updated_time: int | None = Field(validation_alias='updatedTime', default=None)
vxlan_id: int | None = Field(validation_alias='vxlanId', default=None)
class Result(_ResultModel):

View File

@@ -43,8 +43,6 @@ from .cloudapi_compute_loader_meta_iso import CloudapiComputeLoaderMetaIso
from .pkg_cloudapi_compute_item_os_user import PkgCloudapiComputeItemOSUser
from .pkg_cloudapi_compute_item_vgpu import PkgCloudapiComputeItemVGPU
from .extnet_item_reservation import ExtnetItemReservation
from .golang_sdk_pkg_cloudapi_rg_item_acl import GolangSdkPkgCloudapiRgItemACL
from .cloudapi_rg_resource_limits import CloudapiRgResourceLimits
from .golang_sdk_pkg_cloudapi_vins_qos import GolangSdkPkgCloudapiVinsQOS
from .cloudapi_vins_record_devices import CloudapiVinsRecordDevices
from .pkg_cloudapi_vins_item_routes import PkgCloudapiVinsItemRoutes
@@ -96,8 +94,6 @@ __all__ = [
'PkgCloudapiComputeItemOSUser',
'PkgCloudapiComputeItemVGPU',
'ExtnetItemReservation',
'GolangSdkPkgCloudapiRgItemACL',
'CloudapiRgResourceLimits',
'GolangSdkPkgCloudapiVinsQOS',
'CloudapiVinsRecordDevices',
'PkgCloudapiVinsItemRoutes',

View File

@@ -1,21 +0,0 @@
from typing import Any
from enum import Enum
from pydantic import Field
from digital_energy_sdk.base import ResultModel as _ResultModel
class StoragePolicyItem(_ResultModel):
id: int | None = Field(validation_alias='id', default=None)
limit: int | None = Field(validation_alias='limit', default=None)
class CloudapiRgResourceLimits(_ResultModel):
cu_c: float | None = Field(validation_alias='CU_C', default=None)
cu_d: float | None = Field(validation_alias='CU_D', default=None)
cu_dm: float | None = Field(validation_alias='CU_DM', default=None)
cu_i: float | None = Field(validation_alias='CU_I', default=None)
cu_m: float | None = Field(validation_alias='CU_M', default=None)
gpu_units: float | None = Field(validation_alias='gpu_units', default=None)
storage_policy: list[StoragePolicyItem] | None = Field(validation_alias='storage_policy', default=None)

View File

@@ -1,16 +0,0 @@
from typing import Any
from enum import Enum
from pydantic import Field
from digital_energy_sdk.base import ResultModel as _ResultModel
class GolangSdkPkgCloudapiRgItemACL(_ResultModel):
email: str | None = Field(validation_alias='email', default=None)
explicit: bool | None = Field(validation_alias='explicit', default=None)
guid: str | None = Field(validation_alias='guid', default=None)
right: str | None = Field(validation_alias='right', default=None)
status: str | None = Field(validation_alias='status', default=None)
type: str | None = Field(validation_alias='type', default=None)
user_group_id: str | None = Field(validation_alias='userGroupId', default=None)