From c8088f81552559e75b09d22beb91b6a49f8f4c2c Mon Sep 17 00:00:00 2001 From: basis Date: Fri, 30 Oct 2026 16:10:15 +0300 Subject: [PATCH] 1.0.0 --- README.md | 354 ++++++++++++++++++ pyproject.toml | 22 ++ src/digital_energy_sdk/__init__.py | 1 + src/digital_energy_sdk/api/__init__.py | 4 + src/digital_energy_sdk/api/_group.py | 30 ++ .../api/digitalenergy/__init__.py | 4 + .../api/digitalenergy/_group.py | 335 +++++++++++++++++ .../api/digitalenergy/apisix/__init__.py | 4 + .../api/digitalenergy/apisix/_group.py | 20 + .../api/digitalenergy/apisix/describe.py | 60 +++ .../api/digitalenergy/apisix/install.py | 41 ++ .../api/digitalenergy/apisix/uninstall.py | 30 ++ .../api/digitalenergy/audit/__init__.py | 4 + .../api/digitalenergy/audit/_group.py | 15 + .../api/digitalenergy/audit/link.py | 56 +++ .../api/digitalenergy/audit/list.py | 73 ++++ .../api/digitalenergy/autoscaler/__init__.py | 4 + .../api/digitalenergy/autoscaler/_group.py | 25 ++ .../autoscaler/list_autoscaler_deployments.py | 86 +++++ .../turn_off_autoscaler_deployment.py | 36 ++ .../turn_on_autoscaler_deployment.py | 42 +++ .../update_autoscaler_deployment.py | 42 +++ .../digitalenergy/certificates/__init__.py | 4 + .../api/digitalenergy/certificates/_group.py | 10 + .../certificates/kubeadm/__init__.py | 4 + .../certificates/kubeadm/_group.py | 15 + .../certificates/kubeadm/check_expiration.py | 37 ++ .../certificates/kubeadm/renew.py | 37 ++ .../api/digitalenergy/certmanager/__init__.py | 4 + .../api/digitalenergy/certmanager/_group.py | 20 + .../api/digitalenergy/certmanager/describe.py | 60 +++ .../api/digitalenergy/certmanager/install.py | 37 ++ .../digitalenergy/certmanager/uninstall.py | 30 ++ .../api/digitalenergy/cluster/__init__.py | 4 + .../api/digitalenergy/cluster/_group.py | 250 +++++++++++++ .../cluster/add_load_balancers.py | 101 +++++ .../api/digitalenergy/cluster/add_masters.py | 99 +++++ .../api/digitalenergy/cluster/add_pool_vms.py | 69 ++++ .../api/digitalenergy/cluster/add_workers.py | 113 ++++++ .../api/digitalenergy/cluster/create.py | 296 +++++++++++++++ .../cluster/create_from_template.py | 27 ++ .../cluster/create_worker_group.py | 122 ++++++ .../api/digitalenergy/cluster/delete.py | 43 +++ .../cluster/delete_load_balancers.py | 46 +++ .../digitalenergy/cluster/delete_masters.py | 48 +++ .../digitalenergy/cluster/delete_pool_vms.py | 52 +++ .../cluster/delete_worker_group.py | 46 +++ .../digitalenergy/cluster/delete_workers.py | 52 +++ .../api/digitalenergy/cluster/describe.py | 64 ++++ .../api/digitalenergy/cluster/get.py | 204 ++++++++++ .../api/digitalenergy/cluster/get_config.py | 36 ++ .../cluster/get_kubectl_resources.py | 64 ++++ .../cluster/get_load_balancer.py | 36 ++ .../api/digitalenergy/cluster/get_master.py | 36 ++ .../api/digitalenergy/cluster/get_worker.py | 36 ++ .../digitalenergy/cluster/get_worker_group.py | 74 ++++ .../cluster/get_worker_group_annotations.py | 39 ++ .../cluster/get_worker_group_labels.py | 39 ++ .../cluster/get_worker_group_taints.py | 39 ++ .../digitalenergy/cluster/join_pool_vms.py | 62 +++ .../api/digitalenergy/cluster/list.py | 91 +++++ .../cluster/list_kubectl_resources.py | 64 ++++ .../cluster/list_load_balancers.py | 37 ++ .../api/digitalenergy/cluster/list_masters.py | 59 +++ .../cluster/list_worker_groups.py | 58 +++ .../api/digitalenergy/cluster/list_workers.py | 37 ++ .../cluster/load_balancers/__init__.py | 4 + .../cluster/load_balancers/_group.py | 15 + .../cluster/load_balancers/describe.py | 69 ++++ .../load_balancers/haproxy/__init__.py | 4 + .../cluster/load_balancers/haproxy/_group.py | 20 + .../load_balancers/haproxy/edit_config.py | 67 ++++ .../load_balancers/haproxy/get_config.py | 64 ++++ .../haproxy/reset_to_defaults.py | 32 ++ .../digitalenergy/cluster/network_describe.py | 45 +++ .../cluster/resize_worker_group.py | 52 +++ .../digitalenergy/cluster/set_kube_version.py | 35 ++ .../cluster/set_load_balancer_status.py | 34 ++ .../cluster/set_master_status.py | 36 ++ .../cluster/set_pool_vm_status.py | 36 ++ .../api/digitalenergy/cluster/set_status.py | 35 ++ .../cluster/set_worker_status.py | 36 ++ .../cluster/update_cni_config.py | 43 +++ .../digitalenergy/cluster/update_config.py | 38 ++ .../api/digitalenergy/cluster/update_info.py | 26 ++ .../digitalenergy/cluster/update_owner_id.py | 35 ++ .../cluster/update_worker_group.py | 40 ++ .../update_worker_group_annotations.py | 29 ++ .../cluster/update_worker_group_labels.py | 29 ++ .../cluster/update_worker_group_taints.py | 29 ++ .../api/digitalenergy/cluster/verify.py | 33 ++ .../cluster_template/__init__.py | 4 + .../digitalenergy/cluster_template/_group.py | 30 ++ .../digitalenergy/cluster_template/delete.py | 36 ++ .../cluster_template/duplicate.py | 42 +++ .../api/digitalenergy/cluster_template/get.py | 176 +++++++++ .../digitalenergy/cluster_template/list.py | 64 ++++ .../digitalenergy/cluster_template/update.py | 176 +++++++++ .../api/digitalenergy/codescoring/__init__.py | 4 + .../api/digitalenergy/codescoring/_group.py | 20 + .../api/digitalenergy/codescoring/describe.py | 62 +++ .../api/digitalenergy/codescoring/install.py | 49 +++ .../digitalenergy/codescoring/uninstall.py | 30 ++ .../api/digitalenergy/computes/__init__.py | 4 + .../api/digitalenergy/computes/_group.py | 25 ++ .../api/digitalenergy/computes/disk_attach.py | 57 +++ .../api/digitalenergy/computes/disk_detach.py | 51 +++ .../api/digitalenergy/computes/get.py | 71 ++++ .../api/digitalenergy/computes/list.py | 91 +++++ .../api/digitalenergy/criobox/__init__.py | 4 + .../api/digitalenergy/criobox/_group.py | 20 + .../api/digitalenergy/criobox/describe.py | 56 +++ .../api/digitalenergy/criobox/install.py | 54 +++ .../api/digitalenergy/criobox/uninstall.py | 41 ++ .../api/digitalenergy/csidynamix/__init__.py | 4 + .../api/digitalenergy/csidynamix/_group.py | 25 ++ .../api/digitalenergy/csidynamix/describe.py | 38 ++ .../api/digitalenergy/csidynamix/install.py | 66 ++++ .../api/digitalenergy/csidynamix/reinstall.py | 66 ++++ .../api/digitalenergy/csidynamix/uninstall.py | 38 ++ .../api/digitalenergy/customapp/__init__.py | 4 + .../api/digitalenergy/customapp/_group.py | 25 ++ .../api/digitalenergy/customapp/describe.py | 37 ++ .../api/digitalenergy/customapp/install.py | 37 ++ .../api/digitalenergy/customapp/list.py | 41 ++ .../api/digitalenergy/customapp/uninstall.py | 34 ++ .../api/digitalenergy/database/__init__.py | 4 + .../api/digitalenergy/database/_group.py | 25 ++ .../database/create_databases.py | 37 ++ .../digitalenergy/database/create_db_user.py | 38 ++ .../digitalenergy/database/delete_database.py | 34 ++ .../digitalenergy/database/delete_db_user.py | 36 ++ .../dependency_track/__init__.py | 4 + .../digitalenergy/dependency_track/_group.py | 20 + .../dependency_track/describe.py | 63 ++++ .../digitalenergy/dependency_track/install.py | 46 +++ .../dependency_track/uninstall.py | 30 ++ .../api/digitalenergy/deployment/__init__.py | 4 + .../api/digitalenergy/deployment/_group.py | 10 + .../api/digitalenergy/deployment/get.py | 37 ++ .../api/digitalenergy/disks/__init__.py | 4 + .../api/digitalenergy/disks/_group.py | 30 ++ .../api/digitalenergy/disks/create.py | 62 +++ .../api/digitalenergy/disks/delete.py | 51 +++ .../api/digitalenergy/disks/get.py | 61 +++ .../api/digitalenergy/disks/list.py | 84 +++++ .../api/digitalenergy/disks/resize.py | 50 +++ .../api/digitalenergy/ess/__init__.py | 4 + .../api/digitalenergy/ess/_group.py | 25 ++ .../api/digitalenergy/ess/describe.py | 83 ++++ .../api/digitalenergy/ess/incidents.py | 72 ++++ .../api/digitalenergy/ess/install.py | 34 ++ .../api/digitalenergy/ess/uninstall.py | 26 ++ .../api/digitalenergy/falco/__init__.py | 4 + .../api/digitalenergy/falco/_group.py | 20 + .../api/digitalenergy/falco/describe.py | 60 +++ .../api/digitalenergy/falco/install.py | 32 ++ .../api/digitalenergy/falco/uninstall.py | 26 ++ .../api/digitalenergy/files/__init__.py | 4 + .../api/digitalenergy/files/_group.py | 10 + .../api/digitalenergy/files/file_upload.py | 38 ++ .../api/digitalenergy/gitlab/__init__.py | 4 + .../api/digitalenergy/gitlab/_group.py | 20 + .../api/digitalenergy/gitlab/describe.py | 65 ++++ .../api/digitalenergy/gitlab/install.py | 53 +++ .../api/digitalenergy/gitlab/uninstall.py | 30 ++ .../api/digitalenergy/grafana/__init__.py | 4 + .../api/digitalenergy/grafana/_group.py | 20 + .../api/digitalenergy/grafana/describe.py | 63 ++++ .../api/digitalenergy/grafana/install.py | 47 +++ .../api/digitalenergy/grafana/uninstall.py | 30 ++ .../api/digitalenergy/group/__init__.py | 4 + .../api/digitalenergy/group/_group.py | 30 ++ .../api/digitalenergy/group/create.py | 36 ++ .../api/digitalenergy/group/delete.py | 32 ++ .../api/digitalenergy/group/get.py | 36 ++ .../api/digitalenergy/group/list.py | 43 +++ .../api/digitalenergy/group/update.py | 37 ++ .../api/digitalenergy/harbor/__init__.py | 4 + .../api/digitalenergy/harbor/_group.py | 20 + .../api/digitalenergy/harbor/describe.py | 63 ++++ .../api/digitalenergy/harbor/install.py | 47 +++ .../api/digitalenergy/harbor/uninstall.py | 30 ++ .../digitalenergy/ingress_nginx/__init__.py | 4 + .../api/digitalenergy/ingress_nginx/_group.py | 20 + .../digitalenergy/ingress_nginx/describe.py | 60 +++ .../digitalenergy/ingress_nginx/install.py | 41 ++ .../digitalenergy/ingress_nginx/uninstall.py | 30 ++ .../api/digitalenergy/integagent/__init__.py | 4 + .../api/digitalenergy/integagent/_group.py | 20 + .../api/digitalenergy/integagent/describe.py | 57 +++ .../api/digitalenergy/integagent/install.py | 46 +++ .../api/digitalenergy/integagent/uninstall.py | 37 ++ .../api/digitalenergy/istio/__init__.py | 4 + .../api/digitalenergy/istio/_group.py | 20 + .../api/digitalenergy/istio/describe.py | 58 +++ .../api/digitalenergy/istio/install.py | 35 ++ .../api/digitalenergy/istio/uninstall.py | 30 ++ .../api/digitalenergy/istore/__init__.py | 4 + .../api/digitalenergy/istore/_group.py | 20 + .../digitalenergy/istore/charts/__init__.py | 4 + .../api/digitalenergy/istore/charts/_group.py | 30 ++ .../api/digitalenergy/istore/charts/delete.py | 32 ++ .../api/digitalenergy/istore/charts/get.py | 36 ++ .../api/digitalenergy/istore/charts/list.py | 73 ++++ .../api/digitalenergy/istore/charts/update.py | 39 ++ .../api/digitalenergy/istore/charts/upload.py | 50 +++ .../digitalenergy/istore/image/__init__.py | 4 + .../api/digitalenergy/istore/image/_group.py | 30 ++ .../api/digitalenergy/istore/image/delete.py | 38 ++ .../api/digitalenergy/istore/image/get.py | 36 ++ .../api/digitalenergy/istore/image/list.py | 69 ++++ .../api/digitalenergy/istore/image/update.py | 39 ++ .../api/digitalenergy/istore/image/upload.py | 61 +++ .../istore/operations/__init__.py | 4 + .../digitalenergy/istore/operations/_group.py | 10 + .../digitalenergy/istore/operations/list.py | 84 +++++ .../api/digitalenergy/jenkins/__init__.py | 4 + .../api/digitalenergy/jenkins/_group.py | 20 + .../api/digitalenergy/jenkins/describe.py | 62 +++ .../api/digitalenergy/jenkins/install.py | 47 +++ .../api/digitalenergy/jenkins/uninstall.py | 30 ++ .../digitalenergy/kubernetes_user/__init__.py | 4 + .../digitalenergy/kubernetes_user/_group.py | 40 ++ .../digitalenergy/kubernetes_user/create.py | 29 ++ .../digitalenergy/kubernetes_user/delete.py | 34 ++ .../api/digitalenergy/kubernetes_user/get.py | 39 ++ .../api/digitalenergy/kubernetes_user/list.py | 44 +++ .../kubernetes_user/list_namespaces.py | 41 ++ .../kubernetes_user/list_resources.py | 47 +++ .../digitalenergy/kubernetes_user/update.py | 42 +++ .../api/digitalenergy/kyverno/__init__.py | 4 + .../api/digitalenergy/kyverno/_group.py | 25 ++ .../api/digitalenergy/kyverno/describe.py | 53 +++ .../api/digitalenergy/kyverno/install.py | 43 +++ .../digitalenergy/kyverno/policy/__init__.py | 4 + .../digitalenergy/kyverno/policy/_group.py | 55 +++ .../api/digitalenergy/kyverno/policy/apply.py | 40 ++ .../digitalenergy/kyverno/policy/compare.py | 48 +++ .../digitalenergy/kyverno/policy/create.py | 37 ++ .../digitalenergy/kyverno/policy/delete.py | 35 ++ .../api/digitalenergy/kyverno/policy/get.py | 39 ++ .../api/digitalenergy/kyverno/policy/list.py | 46 +++ .../digitalenergy/kyverno/policy/resolve.py | 30 ++ .../digitalenergy/kyverno/policy/restore.py | 28 ++ .../api/digitalenergy/kyverno/policy/stop.py | 40 ++ .../digitalenergy/kyverno/policy/update.py | 38 ++ .../api/digitalenergy/kyverno/uninstall.py | 41 ++ .../api/digitalenergy/longhorn/__init__.py | 4 + .../api/digitalenergy/longhorn/_group.py | 20 + .../api/digitalenergy/longhorn/describe.py | 60 +++ .../api/digitalenergy/longhorn/install.py | 41 ++ .../api/digitalenergy/longhorn/uninstall.py | 30 ++ .../api/digitalenergy/lrecords/__init__.py | 4 + .../api/digitalenergy/lrecords/_group.py | 10 + .../api/digitalenergy/lrecords/options.py | 52 +++ .../api/digitalenergy/metrics/__init__.py | 4 + .../api/digitalenergy/metrics/_group.py | 30 ++ .../digitalenergy/metrics/create_observer.py | 37 ++ .../api/digitalenergy/metrics/delete.py | 33 ++ .../digitalenergy/metrics/delete_observer.py | 39 ++ .../api/digitalenergy/metrics/get.py | 103 +++++ .../api/digitalenergy/metrics/get_observer.py | 37 ++ .../api/digitalenergy/minio/__init__.py | 4 + .../api/digitalenergy/minio/_group.py | 20 + .../api/digitalenergy/minio/describe.py | 60 +++ .../api/digitalenergy/minio/install.py | 46 +++ .../api/digitalenergy/minio/uninstall.py | 30 ++ .../api/digitalenergy/nexus/__init__.py | 4 + .../api/digitalenergy/nexus/_group.py | 20 + .../api/digitalenergy/nexus/describe.py | 63 ++++ .../api/digitalenergy/nexus/install.py | 46 +++ .../api/digitalenergy/nexus/uninstall.py | 30 ++ .../digitalenergy/notification/__init__.py | 4 + .../api/digitalenergy/notification/_group.py | 30 ++ .../api/digitalenergy/notification/delete.py | 34 ++ .../api/digitalenergy/notification/get.py | 36 ++ .../api/digitalenergy/notification/list.py | 46 +++ .../notification/unread_count.py | 33 ++ .../api/digitalenergy/notification/update.py | 37 ++ .../api/digitalenergy/openelb/__init__.py | 4 + .../api/digitalenergy/openelb/_group.py | 20 + .../api/digitalenergy/openelb/describe.py | 56 +++ .../api/digitalenergy/openelb/install.py | 34 ++ .../api/digitalenergy/openelb/uninstall.py | 30 ++ .../api/digitalenergy/operation/__init__.py | 4 + .../api/digitalenergy/operation/_group.py | 20 + .../api/digitalenergy/operation/delete.py | 32 ++ .../api/digitalenergy/operation/get.py | 36 ++ .../api/digitalenergy/operation/list.py | 46 +++ .../api/digitalenergy/packages/__init__.py | 4 + .../api/digitalenergy/packages/_group.py | 10 + .../packages/upgrade_logwatcher.py | 39 ++ .../api/digitalenergy/podlogger/__init__.py | 4 + .../api/digitalenergy/podlogger/_group.py | 40 ++ .../podlogger/add_log_parameter.py | 36 ++ .../podlogger/delete_log_parameter.py | 36 ++ .../api/digitalenergy/podlogger/describe.py | 56 +++ .../api/digitalenergy/podlogger/install.py | 54 +++ .../podlogger/list_log_parameters.py | 42 +++ .../api/digitalenergy/podlogger/list_pods.py | 50 +++ .../api/digitalenergy/podlogger/uninstall.py | 41 ++ .../digitalenergy/policy_report/__init__.py | 4 + .../api/digitalenergy/policy_report/_group.py | 25 ++ .../api/digitalenergy/policy_report/delete.py | 38 ++ .../api/digitalenergy/policy_report/get.py | 53 +++ .../api/digitalenergy/policy_report/list.py | 67 ++++ .../policy_report/results/__init__.py | 4 + .../policy_report/results/_group.py | 20 + .../policy_report/results/get.py | 56 +++ .../policy_report/results/list.py | 76 ++++ .../policy_report/results/status_count.py | 42 +++ .../digitalenergy/postgresql_ha/__init__.py | 4 + .../api/digitalenergy/postgresql_ha/_group.py | 20 + .../digitalenergy/postgresql_ha/describe.py | 61 +++ .../digitalenergy/postgresql_ha/install.py | 39 ++ .../digitalenergy/postgresql_ha/uninstall.py | 30 ++ .../api/digitalenergy/products/__init__.py | 4 + .../api/digitalenergy/products/_group.py | 15 + .../digitalenergy/products/describe_all.py | 55 +++ .../products/describe_all_short.py | 46 +++ .../api/digitalenergy/prometheus/__init__.py | 4 + .../api/digitalenergy/prometheus/_group.py | 20 + .../api/digitalenergy/prometheus/describe.py | 63 ++++ .../api/digitalenergy/prometheus/install.py | 47 +++ .../api/digitalenergy/prometheus/uninstall.py | 30 ++ .../api/digitalenergy/property/__init__.py | 4 + .../api/digitalenergy/property/_group.py | 10 + .../api/digitalenergy/property/get.py | 58 +++ .../api/digitalenergy/rbacmanager/__init__.py | 4 + .../api/digitalenergy/rbacmanager/_group.py | 20 + .../api/digitalenergy/rbacmanager/describe.py | 53 +++ .../api/digitalenergy/rbacmanager/install.py | 43 +++ .../digitalenergy/rbacmanager/uninstall.py | 41 ++ .../digitalenergy/redis_cluster/__init__.py | 4 + .../api/digitalenergy/redis_cluster/_group.py | 20 + .../digitalenergy/redis_cluster/describe.py | 60 +++ .../digitalenergy/redis_cluster/install.py | 46 +++ .../digitalenergy/redis_cluster/uninstall.py | 30 ++ .../api/digitalenergy/redmine/__init__.py | 4 + .../api/digitalenergy/redmine/_group.py | 20 + .../api/digitalenergy/redmine/describe.py | 63 ++++ .../api/digitalenergy/redmine/install.py | 47 +++ .../api/digitalenergy/redmine/uninstall.py | 30 ++ .../digitalenergy/repository_apps/__init__.py | 4 + .../digitalenergy/repository_apps/_group.py | 35 ++ .../digitalenergy/repository_apps/create.py | 42 +++ .../digitalenergy/repository_apps/delete.py | 32 ++ .../api/digitalenergy/repository_apps/get.py | 36 ++ .../repository_apps/get_default.py | 33 ++ .../api/digitalenergy/repository_apps/list.py | 41 ++ .../digitalenergy/repository_apps/update.py | 39 ++ .../repository_charts/__init__.py | 4 + .../digitalenergy/repository_charts/_group.py | 35 ++ .../digitalenergy/repository_charts/create.py | 40 ++ .../digitalenergy/repository_charts/delete.py | 32 ++ .../digitalenergy/repository_charts/get.py | 36 ++ .../repository_charts/get_default.py | 33 ++ .../digitalenergy/repository_charts/list.py | 41 ++ .../digitalenergy/repository_charts/update.py | 37 ++ .../repository_files/__init__.py | 4 + .../digitalenergy/repository_files/_group.py | 35 ++ .../digitalenergy/repository_files/create.py | 40 ++ .../digitalenergy/repository_files/delete.py | 32 ++ .../api/digitalenergy/repository_files/get.py | 36 ++ .../repository_files/get_default.py | 33 ++ .../digitalenergy/repository_files/list.py | 41 ++ .../digitalenergy/repository_files/update.py | 37 ++ .../digitalenergy/repository_kube/__init__.py | 4 + .../digitalenergy/repository_kube/_group.py | 35 ++ .../digitalenergy/repository_kube/create.py | 40 ++ .../digitalenergy/repository_kube/delete.py | 32 ++ .../api/digitalenergy/repository_kube/get.py | 36 ++ .../repository_kube/get_default.py | 33 ++ .../api/digitalenergy/repository_kube/list.py | 41 ++ .../digitalenergy/repository_kube/update.py | 37 ++ .../api/digitalenergy/role/__init__.py | 4 + .../api/digitalenergy/role/_group.py | 15 + .../api/digitalenergy/role/get.py | 44 +++ .../api/digitalenergy/role/list.py | 33 ++ .../api/digitalenergy/seaweedfs/__init__.py | 4 + .../api/digitalenergy/seaweedfs/_group.py | 20 + .../api/digitalenergy/seaweedfs/describe.py | 61 +++ .../api/digitalenergy/seaweedfs/install.py | 43 +++ .../api/digitalenergy/seaweedfs/uninstall.py | 30 ++ .../seaweedfs_operator/__init__.py | 4 + .../seaweedfs_operator/_group.py | 20 + .../seaweedfs_operator/describe.py | 55 +++ .../seaweedfs_operator/install.py | 34 ++ .../seaweedfs_operator/uninstall.py | 30 ++ .../api/digitalenergy/servchecker/__init__.py | 4 + .../api/digitalenergy/servchecker/_group.py | 25 ++ .../api/digitalenergy/servchecker/describe.py | 37 ++ .../api/digitalenergy/servchecker/install.py | 42 +++ .../digitalenergy/servchecker/reinstall.py | 42 +++ .../digitalenergy/servchecker/uninstall.py | 38 ++ .../api/digitalenergy/sonarqube/__init__.py | 4 + .../api/digitalenergy/sonarqube/_group.py | 20 + .../api/digitalenergy/sonarqube/describe.py | 63 ++++ .../api/digitalenergy/sonarqube/install.py | 47 +++ .../api/digitalenergy/sonarqube/uninstall.py | 30 ++ .../api/digitalenergy/svacer/__init__.py | 4 + .../api/digitalenergy/svacer/_group.py | 20 + .../api/digitalenergy/svacer/describe.py | 63 ++++ .../api/digitalenergy/svacer/install.py | 45 +++ .../api/digitalenergy/svacer/uninstall.py | 30 ++ .../api/digitalenergy/task/__init__.py | 4 + .../api/digitalenergy/task/_group.py | 15 + .../api/digitalenergy/task/get.py | 71 ++++ .../api/digitalenergy/task/list.py | 46 +++ .../api/digitalenergy/trivy/__init__.py | 4 + .../api/digitalenergy/trivy/_group.py | 25 ++ .../api/digitalenergy/trivy/describe.py | 53 +++ .../api/digitalenergy/trivy/install.py | 43 +++ .../trivy/set_operator_config.py | 36 ++ .../api/digitalenergy/trivy/uninstall.py | 41 ++ .../api/digitalenergy/user/__init__.py | 4 + .../api/digitalenergy/user/_group.py | 30 ++ .../api/digitalenergy/user/create.py | 84 +++++ .../api/digitalenergy/user/delete.py | 32 ++ .../api/digitalenergy/user/get.py | 36 ++ .../api/digitalenergy/user/list.py | 72 ++++ .../api/digitalenergy/user/update.py | 82 ++++ .../api/digitalenergy/valkey/__init__.py | 4 + .../api/digitalenergy/valkey/_group.py | 20 + .../api/digitalenergy/valkey/describe.py | 60 +++ .../api/digitalenergy/valkey/install.py | 46 +++ .../api/digitalenergy/valkey/uninstall.py | 30 ++ .../api/digitalenergy/vault/__init__.py | 4 + .../api/digitalenergy/vault/_group.py | 20 + .../api/digitalenergy/vault/describe.py | 61 +++ .../api/digitalenergy/vault/install.py | 47 +++ .../api/digitalenergy/vault/uninstall.py | 30 ++ .../verification_report/__init__.py | 4 + .../verification_report/_group.py | 30 ++ .../verification_report/collect.py | 26 ++ .../verification_report/delete.py | 32 ++ .../digitalenergy/verification_report/get.py | 36 ++ .../digitalenergy/verification_report/info.py | 50 +++ .../digitalenergy/verification_report/list.py | 51 +++ .../vulnerability_report/__init__.py | 4 + .../vulnerability_report/_group.py | 20 + .../digitalenergy/vulnerability_report/get.py | 65 ++++ .../vulnerability_report/info.py | 49 +++ .../vulnerability_report/list.py | 71 ++++ .../api/digitalenergy/x509/__init__.py | 4 + .../api/digitalenergy/x509/_group.py | 10 + .../digitalenergy/x509/generate_ca_cert.py | 34 ++ .../api/dynamix/__init__.py | 4 + src/digital_energy_sdk/api/dynamix/_group.py | 65 ++++ .../api/dynamix/account/__init__.py | 4 + .../api/dynamix/account/_group.py | 15 + .../api/dynamix/account/get.py | 113 ++++++ .../api/dynamix/account/list.py | 58 +++ .../api/dynamix/compute/__init__.py | 4 + .../api/dynamix/compute/_group.py | 30 ++ .../api/dynamix/compute/attach_v_gpu.py | 39 ++ .../api/dynamix/compute/deattach_v_gpu.py | 39 ++ .../api/dynamix/compute/delete.py | 37 ++ .../api/dynamix/compute/get.py | 132 +++++++ .../api/dynamix/compute/list.py | 120 ++++++ .../api/dynamix/disk/__init__.py | 4 + .../api/dynamix/disk/_group.py | 10 + .../api/dynamix/disk/list_types.py | 46 +++ .../api/dynamix/extnet/__init__.py | 4 + .../api/dynamix/extnet/_group.py | 15 + .../api/dynamix/extnet/get.py | 101 +++++ .../api/dynamix/extnet/list.py | 40 ++ .../api/dynamix/get_version.py | 33 ++ .../api/dynamix/image/__init__.py | 4 + .../api/dynamix/image/_group.py | 15 + .../api/dynamix/image/get.py | 88 +++++ .../api/dynamix/image/list.py | 56 +++ .../api/dynamix/k8ci/__init__.py | 4 + .../api/dynamix/k8ci/_group.py | 15 + .../api/dynamix/k8ci/get.py | 45 +++ .../api/dynamix/k8ci/list.py | 38 ++ .../api/dynamix/rg/__init__.py | 4 + .../api/dynamix/rg/_group.py | 15 + src/digital_energy_sdk/api/dynamix/rg/get.py | 96 +++++ src/digital_energy_sdk/api/dynamix/rg/list.py | 39 ++ .../api/dynamix/sp/__init__.py | 4 + .../api/dynamix/sp/_group.py | 10 + src/digital_energy_sdk/api/dynamix/sp/list.py | 52 +++ .../api/dynamix/task/__init__.py | 4 + .../api/dynamix/task/_group.py | 15 + .../api/dynamix/task/get.py | 50 +++ .../api/dynamix/task/list.py | 46 +++ .../api/dynamix/vgpu/__init__.py | 4 + .../api/dynamix/vgpu/_group.py | 10 + .../api/dynamix/vgpu/list.py | 73 ++++ .../api/dynamix/vins/__init__.py | 4 + .../api/dynamix/vins/_group.py | 15 + .../api/dynamix/vins/get.py | 274 ++++++++++++++ .../api/dynamix/vins/list.py | 45 +++ src/digital_energy_sdk/api/openid/__init__.py | 4 + src/digital_energy_sdk/api/openid/_group.py | 10 + src/digital_energy_sdk/api/openid/status.py | 38 ++ src/digital_energy_sdk/api/prod/__init__.py | 4 + src/digital_energy_sdk/api/prod/_group.py | 40 ++ .../api/prod/dependency_track/__init__.py | 4 + .../api/prod/dependency_track/_group.py | 20 + .../api/prod/dependency_track/create_user.py | 42 +++ .../api/prod/dependency_track/delete_user.py | 34 ++ .../api/prod/dependency_track/list_users.py | 43 +++ .../api/prod/gitlab/__init__.py | 4 + .../api/prod/gitlab/_group.py | 20 + .../api/prod/gitlab/create_user.py | 67 ++++ .../api/prod/gitlab/delete_user.py | 34 ++ .../api/prod/gitlab/list_users.py | 44 +++ .../api/prod/harbor/__init__.py | 4 + .../api/prod/harbor/_group.py | 20 + .../api/prod/harbor/create_user.py | 38 ++ .../api/prod/harbor/delete_user.py | 34 ++ .../api/prod/harbor/list_users.py | 44 +++ .../api/prod/jenkins/__init__.py | 4 + .../api/prod/jenkins/_group.py | 20 + .../api/prod/jenkins/create_user.py | 37 ++ .../api/prod/jenkins/delete_user.py | 34 ++ .../api/prod/jenkins/list_users.py | 44 +++ .../api/prod/nexus/__init__.py | 4 + .../api/prod/nexus/_group.py | 20 + .../api/prod/nexus/create_user.py | 46 +++ .../api/prod/nexus/delete_user.py | 34 ++ .../api/prod/nexus/list_users.py | 43 +++ .../api/prod/redmine/__init__.py | 4 + .../api/prod/redmine/_group.py | 20 + .../api/prod/redmine/create_user.py | 37 ++ .../api/prod/redmine/delete_user.py | 34 ++ .../api/prod/redmine/list_users.py | 45 +++ .../api/prod/sonarqube/__init__.py | 4 + .../api/prod/sonarqube/_group.py | 20 + .../api/prod/sonarqube/create_user.py | 37 ++ .../api/prod/sonarqube/delete_user.py | 34 ++ .../api/prod/sonarqube/list_users.py | 45 +++ .../api/session/__init__.py | 4 + src/digital_energy_sdk/api/session/_group.py | 25 ++ src/digital_energy_sdk/api/session/close.py | 32 ++ src/digital_energy_sdk/api/session/create.py | 26 ++ src/digital_energy_sdk/api/session/current.py | 22 ++ src/digital_energy_sdk/api/session/renew.py | 37 ++ src/digital_energy_sdk/base.py | 304 +++++++++++++++ src/digital_energy_sdk/config.py | 30 ++ src/digital_energy_sdk/digital_energy.py | 36 ++ src/digital_energy_sdk/exceptions.py | 20 + .../types/params/__init__.py | 6 + .../types/results/__init__.py | 96 +++++ .../types/results/aaatype_notification.py | 18 + .../results/auxlogic_comtype_aaatype_group.py | 12 + .../results/auxlogic_comtype_aaatype_role.py | 12 + .../results/auxlogic_comtype_aaatype_user.py | 39 ++ .../cloudapi_compute_item_compute_disk.py | 98 +++++ .../cloudapi_compute_loader_meta_iso.py | 11 + .../results/cloudapi_vins_record_devices.py | 16 + .../results/cluster_task_creation_result.py | 21 ++ .../results/compute_cpu_alignment_profile.py | 12 + .../results/compute_item_vnf_interface.py | 53 +++ .../comtype_aaatype_operation_record.py | 39 ++ .../results/comtype_audescr_product_descr.py | 25 ++ .../comtype_iotype_create_task_result.py | 17 + .../comtype_iotype_worker_group_result.py | 13 + .../results/comtype_prtype_kyverno_policy.py | 25 ++ .../results/comtype_prtype_load_balancer.py | 52 +++ .../delogic_comtype_iotype_node_limit.py | 16 + .../results/delogic_comtype_prtype_master.py | 64 ++++ .../results/delogic_comtype_prtype_os_type.py | 26 ++ .../delogic_comtype_prtype_resource.py | 14 + .../results/delogic_comtype_prtype_summary.py | 14 + .../delogic_comtype_prtype_task_brief.py | 20 + .../results/delogic_comtype_prtype_worker.py | 64 ++++ .../types/results/extnet_item_reservation.py | 18 + .../golang_sdk_pkg_cloudapi_vins_qos.py | 13 + .../internal_delogic_comtype_prtype_gpu.py | 12 + .../internal_delogic_comtype_prtype_rule.py | 12 + .../internal_dxlogic_iotype_version.py | 12 + .../internal_rbaclogic_aaatype_user.py | 18 + .../results/iotype_create_session_result.py | 18 + .../iotype_describe_custom_app_result.py | 28 ++ .../istorelogic_comtype_iotype_chart.py | 26 ++ .../istorelogic_comtype_iotype_manifest.py | 24 ++ .../pkg_cloudapi_compute_item_os_user.py | 13 + .../results/pkg_cloudapi_compute_item_rule.py | 15 + .../pkg_cloudapi_compute_item_snap_set.py | 112 ++++++ .../pkg_cloudapi_compute_qemu_quest.py | 14 + .../results/pkg_cloudapi_compute_vgpu_item.py | 28 ++ .../results/pkg_cloudapi_vins_item_routes.py | 15 + .../types/results/prtype_apps_repository.py | 15 + .../types/results/prtype_charts_repository.py | 14 + .../types/results/prtype_files_repository.py | 14 + .../types/results/prtype_kube_repository.py | 14 + .../prtype_verification_report_brief.py | 23 ++ .../results/restore_kyverno_policy_result.py | 17 + .../sdk_pkg_cloudapi_compute_item_acl.py | 15 + src/digital_energy_sdk/utils.py | 27 ++ 594 files changed, 22003 insertions(+) create mode 100644 README.md create mode 100644 pyproject.toml create mode 100644 src/digital_energy_sdk/__init__.py create mode 100644 src/digital_energy_sdk/api/__init__.py create mode 100644 src/digital_energy_sdk/api/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/apisix/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/apisix/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/apisix/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/apisix/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/apisix/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/audit/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/audit/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/audit/link.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/audit/list.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/autoscaler/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/autoscaler/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/autoscaler/list_autoscaler_deployments.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/autoscaler/turn_off_autoscaler_deployment.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/autoscaler/turn_on_autoscaler_deployment.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/autoscaler/update_autoscaler_deployment.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/certificates/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/certificates/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/certificates/kubeadm/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/certificates/kubeadm/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/certificates/kubeadm/check_expiration.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/certificates/kubeadm/renew.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/certmanager/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/certmanager/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/certmanager/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/certmanager/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/certmanager/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/add_load_balancers.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/add_masters.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/add_pool_vms.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/add_workers.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/create.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/create_from_template.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/create_worker_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/delete.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/delete_load_balancers.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/delete_masters.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/delete_pool_vms.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/delete_worker_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/delete_workers.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/get.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/get_config.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/get_kubectl_resources.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/get_load_balancer.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/get_master.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/get_worker.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/get_worker_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/get_worker_group_annotations.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/get_worker_group_labels.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/get_worker_group_taints.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/join_pool_vms.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/list.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/list_kubectl_resources.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/list_load_balancers.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/list_masters.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/list_worker_groups.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/list_workers.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/haproxy/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/haproxy/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/haproxy/edit_config.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/haproxy/get_config.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/haproxy/reset_to_defaults.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/network_describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/resize_worker_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/set_kube_version.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/set_load_balancer_status.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/set_master_status.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/set_pool_vm_status.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/set_status.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/set_worker_status.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/update_cni_config.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/update_config.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/update_info.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/update_owner_id.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/update_worker_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/update_worker_group_annotations.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/update_worker_group_labels.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/update_worker_group_taints.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster/verify.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster_template/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster_template/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster_template/delete.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster_template/duplicate.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster_template/get.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster_template/list.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/cluster_template/update.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/codescoring/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/codescoring/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/codescoring/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/codescoring/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/codescoring/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/computes/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/computes/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/computes/disk_attach.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/computes/disk_detach.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/computes/get.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/computes/list.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/criobox/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/criobox/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/criobox/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/criobox/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/criobox/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/csidynamix/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/csidynamix/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/csidynamix/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/csidynamix/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/csidynamix/reinstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/csidynamix/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/customapp/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/customapp/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/customapp/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/customapp/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/customapp/list.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/customapp/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/database/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/database/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/database/create_databases.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/database/create_db_user.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/database/delete_database.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/database/delete_db_user.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/dependency_track/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/dependency_track/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/dependency_track/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/dependency_track/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/dependency_track/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/deployment/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/deployment/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/deployment/get.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/disks/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/disks/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/disks/create.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/disks/delete.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/disks/get.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/disks/list.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/disks/resize.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/ess/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/ess/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/ess/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/ess/incidents.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/ess/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/ess/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/falco/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/falco/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/falco/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/falco/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/falco/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/files/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/files/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/files/file_upload.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/gitlab/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/gitlab/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/gitlab/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/gitlab/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/gitlab/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/grafana/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/grafana/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/grafana/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/grafana/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/grafana/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/group/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/group/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/group/create.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/group/delete.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/group/get.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/group/list.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/group/update.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/harbor/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/harbor/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/harbor/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/harbor/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/harbor/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/ingress_nginx/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/ingress_nginx/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/ingress_nginx/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/ingress_nginx/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/ingress_nginx/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/integagent/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/integagent/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/integagent/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/integagent/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/integagent/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/istio/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/istio/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/istio/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/istio/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/istio/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/istore/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/istore/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/istore/charts/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/istore/charts/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/istore/charts/delete.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/istore/charts/get.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/istore/charts/list.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/istore/charts/update.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/istore/charts/upload.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/istore/image/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/istore/image/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/istore/image/delete.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/istore/image/get.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/istore/image/list.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/istore/image/update.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/istore/image/upload.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/istore/operations/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/istore/operations/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/istore/operations/list.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/jenkins/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/jenkins/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/jenkins/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/jenkins/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/jenkins/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/kubernetes_user/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/kubernetes_user/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/kubernetes_user/create.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/kubernetes_user/delete.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/kubernetes_user/get.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/kubernetes_user/list.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/kubernetes_user/list_namespaces.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/kubernetes_user/list_resources.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/kubernetes_user/update.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/kyverno/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/kyverno/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/kyverno/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/kyverno/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/kyverno/policy/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/kyverno/policy/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/kyverno/policy/apply.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/kyverno/policy/compare.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/kyverno/policy/create.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/kyverno/policy/delete.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/kyverno/policy/get.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/kyverno/policy/list.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/kyverno/policy/resolve.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/kyverno/policy/restore.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/kyverno/policy/stop.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/kyverno/policy/update.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/kyverno/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/longhorn/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/longhorn/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/longhorn/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/longhorn/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/longhorn/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/lrecords/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/lrecords/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/lrecords/options.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/metrics/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/metrics/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/metrics/create_observer.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/metrics/delete.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/metrics/delete_observer.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/metrics/get.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/metrics/get_observer.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/minio/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/minio/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/minio/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/minio/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/minio/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/nexus/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/nexus/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/nexus/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/nexus/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/nexus/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/notification/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/notification/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/notification/delete.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/notification/get.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/notification/list.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/notification/unread_count.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/notification/update.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/openelb/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/openelb/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/openelb/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/openelb/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/openelb/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/operation/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/operation/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/operation/delete.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/operation/get.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/operation/list.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/packages/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/packages/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/packages/upgrade_logwatcher.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/podlogger/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/podlogger/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/podlogger/add_log_parameter.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/podlogger/delete_log_parameter.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/podlogger/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/podlogger/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/podlogger/list_log_parameters.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/podlogger/list_pods.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/podlogger/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/policy_report/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/policy_report/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/policy_report/delete.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/policy_report/get.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/policy_report/list.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/policy_report/results/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/policy_report/results/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/policy_report/results/get.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/policy_report/results/list.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/policy_report/results/status_count.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/postgresql_ha/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/postgresql_ha/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/postgresql_ha/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/postgresql_ha/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/postgresql_ha/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/products/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/products/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/products/describe_all.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/products/describe_all_short.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/prometheus/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/prometheus/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/prometheus/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/prometheus/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/prometheus/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/property/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/property/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/property/get.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/rbacmanager/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/rbacmanager/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/rbacmanager/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/rbacmanager/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/rbacmanager/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/redis_cluster/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/redis_cluster/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/redis_cluster/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/redis_cluster/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/redis_cluster/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/redmine/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/redmine/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/redmine/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/redmine/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/redmine/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_apps/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_apps/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_apps/create.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_apps/delete.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_apps/get.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_apps/get_default.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_apps/list.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_apps/update.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_charts/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_charts/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_charts/create.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_charts/delete.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_charts/get.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_charts/get_default.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_charts/list.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_charts/update.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_files/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_files/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_files/create.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_files/delete.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_files/get.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_files/get_default.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_files/list.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_files/update.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_kube/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_kube/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_kube/create.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_kube/delete.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_kube/get.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_kube/get_default.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_kube/list.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/repository_kube/update.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/role/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/role/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/role/get.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/role/list.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/seaweedfs/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/seaweedfs/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/seaweedfs/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/seaweedfs/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/seaweedfs/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/seaweedfs_operator/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/seaweedfs_operator/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/seaweedfs_operator/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/seaweedfs_operator/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/seaweedfs_operator/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/servchecker/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/servchecker/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/servchecker/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/servchecker/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/servchecker/reinstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/servchecker/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/sonarqube/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/sonarqube/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/sonarqube/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/sonarqube/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/sonarqube/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/svacer/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/svacer/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/svacer/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/svacer/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/svacer/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/task/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/task/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/task/get.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/task/list.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/trivy/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/trivy/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/trivy/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/trivy/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/trivy/set_operator_config.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/trivy/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/user/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/user/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/user/create.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/user/delete.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/user/get.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/user/list.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/user/update.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/valkey/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/valkey/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/valkey/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/valkey/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/valkey/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/vault/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/vault/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/vault/describe.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/vault/install.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/vault/uninstall.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/verification_report/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/verification_report/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/verification_report/collect.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/verification_report/delete.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/verification_report/get.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/verification_report/info.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/verification_report/list.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/vulnerability_report/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/vulnerability_report/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/vulnerability_report/get.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/vulnerability_report/info.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/vulnerability_report/list.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/x509/__init__.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/x509/_group.py create mode 100644 src/digital_energy_sdk/api/digitalenergy/x509/generate_ca_cert.py create mode 100644 src/digital_energy_sdk/api/dynamix/__init__.py create mode 100644 src/digital_energy_sdk/api/dynamix/_group.py create mode 100644 src/digital_energy_sdk/api/dynamix/account/__init__.py create mode 100644 src/digital_energy_sdk/api/dynamix/account/_group.py create mode 100644 src/digital_energy_sdk/api/dynamix/account/get.py create mode 100644 src/digital_energy_sdk/api/dynamix/account/list.py create mode 100644 src/digital_energy_sdk/api/dynamix/compute/__init__.py create mode 100644 src/digital_energy_sdk/api/dynamix/compute/_group.py create mode 100644 src/digital_energy_sdk/api/dynamix/compute/attach_v_gpu.py create mode 100644 src/digital_energy_sdk/api/dynamix/compute/deattach_v_gpu.py create mode 100644 src/digital_energy_sdk/api/dynamix/compute/delete.py create mode 100644 src/digital_energy_sdk/api/dynamix/compute/get.py create mode 100644 src/digital_energy_sdk/api/dynamix/compute/list.py create mode 100644 src/digital_energy_sdk/api/dynamix/disk/__init__.py create mode 100644 src/digital_energy_sdk/api/dynamix/disk/_group.py create mode 100644 src/digital_energy_sdk/api/dynamix/disk/list_types.py create mode 100644 src/digital_energy_sdk/api/dynamix/extnet/__init__.py create mode 100644 src/digital_energy_sdk/api/dynamix/extnet/_group.py create mode 100644 src/digital_energy_sdk/api/dynamix/extnet/get.py create mode 100644 src/digital_energy_sdk/api/dynamix/extnet/list.py create mode 100644 src/digital_energy_sdk/api/dynamix/get_version.py create mode 100644 src/digital_energy_sdk/api/dynamix/image/__init__.py create mode 100644 src/digital_energy_sdk/api/dynamix/image/_group.py create mode 100644 src/digital_energy_sdk/api/dynamix/image/get.py create mode 100644 src/digital_energy_sdk/api/dynamix/image/list.py create mode 100644 src/digital_energy_sdk/api/dynamix/k8ci/__init__.py create mode 100644 src/digital_energy_sdk/api/dynamix/k8ci/_group.py create mode 100644 src/digital_energy_sdk/api/dynamix/k8ci/get.py create mode 100644 src/digital_energy_sdk/api/dynamix/k8ci/list.py create mode 100644 src/digital_energy_sdk/api/dynamix/rg/__init__.py create mode 100644 src/digital_energy_sdk/api/dynamix/rg/_group.py create mode 100644 src/digital_energy_sdk/api/dynamix/rg/get.py create mode 100644 src/digital_energy_sdk/api/dynamix/rg/list.py create mode 100644 src/digital_energy_sdk/api/dynamix/sp/__init__.py create mode 100644 src/digital_energy_sdk/api/dynamix/sp/_group.py create mode 100644 src/digital_energy_sdk/api/dynamix/sp/list.py create mode 100644 src/digital_energy_sdk/api/dynamix/task/__init__.py create mode 100644 src/digital_energy_sdk/api/dynamix/task/_group.py create mode 100644 src/digital_energy_sdk/api/dynamix/task/get.py create mode 100644 src/digital_energy_sdk/api/dynamix/task/list.py create mode 100644 src/digital_energy_sdk/api/dynamix/vgpu/__init__.py create mode 100644 src/digital_energy_sdk/api/dynamix/vgpu/_group.py create mode 100644 src/digital_energy_sdk/api/dynamix/vgpu/list.py create mode 100644 src/digital_energy_sdk/api/dynamix/vins/__init__.py create mode 100644 src/digital_energy_sdk/api/dynamix/vins/_group.py create mode 100644 src/digital_energy_sdk/api/dynamix/vins/get.py create mode 100644 src/digital_energy_sdk/api/dynamix/vins/list.py create mode 100644 src/digital_energy_sdk/api/openid/__init__.py create mode 100644 src/digital_energy_sdk/api/openid/_group.py create mode 100644 src/digital_energy_sdk/api/openid/status.py create mode 100644 src/digital_energy_sdk/api/prod/__init__.py create mode 100644 src/digital_energy_sdk/api/prod/_group.py create mode 100644 src/digital_energy_sdk/api/prod/dependency_track/__init__.py create mode 100644 src/digital_energy_sdk/api/prod/dependency_track/_group.py create mode 100644 src/digital_energy_sdk/api/prod/dependency_track/create_user.py create mode 100644 src/digital_energy_sdk/api/prod/dependency_track/delete_user.py create mode 100644 src/digital_energy_sdk/api/prod/dependency_track/list_users.py create mode 100644 src/digital_energy_sdk/api/prod/gitlab/__init__.py create mode 100644 src/digital_energy_sdk/api/prod/gitlab/_group.py create mode 100644 src/digital_energy_sdk/api/prod/gitlab/create_user.py create mode 100644 src/digital_energy_sdk/api/prod/gitlab/delete_user.py create mode 100644 src/digital_energy_sdk/api/prod/gitlab/list_users.py create mode 100644 src/digital_energy_sdk/api/prod/harbor/__init__.py create mode 100644 src/digital_energy_sdk/api/prod/harbor/_group.py create mode 100644 src/digital_energy_sdk/api/prod/harbor/create_user.py create mode 100644 src/digital_energy_sdk/api/prod/harbor/delete_user.py create mode 100644 src/digital_energy_sdk/api/prod/harbor/list_users.py create mode 100644 src/digital_energy_sdk/api/prod/jenkins/__init__.py create mode 100644 src/digital_energy_sdk/api/prod/jenkins/_group.py create mode 100644 src/digital_energy_sdk/api/prod/jenkins/create_user.py create mode 100644 src/digital_energy_sdk/api/prod/jenkins/delete_user.py create mode 100644 src/digital_energy_sdk/api/prod/jenkins/list_users.py create mode 100644 src/digital_energy_sdk/api/prod/nexus/__init__.py create mode 100644 src/digital_energy_sdk/api/prod/nexus/_group.py create mode 100644 src/digital_energy_sdk/api/prod/nexus/create_user.py create mode 100644 src/digital_energy_sdk/api/prod/nexus/delete_user.py create mode 100644 src/digital_energy_sdk/api/prod/nexus/list_users.py create mode 100644 src/digital_energy_sdk/api/prod/redmine/__init__.py create mode 100644 src/digital_energy_sdk/api/prod/redmine/_group.py create mode 100644 src/digital_energy_sdk/api/prod/redmine/create_user.py create mode 100644 src/digital_energy_sdk/api/prod/redmine/delete_user.py create mode 100644 src/digital_energy_sdk/api/prod/redmine/list_users.py create mode 100644 src/digital_energy_sdk/api/prod/sonarqube/__init__.py create mode 100644 src/digital_energy_sdk/api/prod/sonarqube/_group.py create mode 100644 src/digital_energy_sdk/api/prod/sonarqube/create_user.py create mode 100644 src/digital_energy_sdk/api/prod/sonarqube/delete_user.py create mode 100644 src/digital_energy_sdk/api/prod/sonarqube/list_users.py create mode 100644 src/digital_energy_sdk/api/session/__init__.py create mode 100644 src/digital_energy_sdk/api/session/_group.py create mode 100644 src/digital_energy_sdk/api/session/close.py create mode 100644 src/digital_energy_sdk/api/session/create.py create mode 100644 src/digital_energy_sdk/api/session/current.py create mode 100644 src/digital_energy_sdk/api/session/renew.py create mode 100644 src/digital_energy_sdk/base.py create mode 100644 src/digital_energy_sdk/config.py create mode 100644 src/digital_energy_sdk/digital_energy.py create mode 100644 src/digital_energy_sdk/exceptions.py create mode 100644 src/digital_energy_sdk/types/params/__init__.py create mode 100644 src/digital_energy_sdk/types/results/__init__.py create mode 100644 src/digital_energy_sdk/types/results/aaatype_notification.py create mode 100644 src/digital_energy_sdk/types/results/auxlogic_comtype_aaatype_group.py create mode 100644 src/digital_energy_sdk/types/results/auxlogic_comtype_aaatype_role.py create mode 100644 src/digital_energy_sdk/types/results/auxlogic_comtype_aaatype_user.py create mode 100644 src/digital_energy_sdk/types/results/cloudapi_compute_item_compute_disk.py create mode 100644 src/digital_energy_sdk/types/results/cloudapi_compute_loader_meta_iso.py create mode 100644 src/digital_energy_sdk/types/results/cloudapi_vins_record_devices.py create mode 100644 src/digital_energy_sdk/types/results/cluster_task_creation_result.py create mode 100644 src/digital_energy_sdk/types/results/compute_cpu_alignment_profile.py create mode 100644 src/digital_energy_sdk/types/results/compute_item_vnf_interface.py create mode 100644 src/digital_energy_sdk/types/results/comtype_aaatype_operation_record.py create mode 100644 src/digital_energy_sdk/types/results/comtype_audescr_product_descr.py create mode 100644 src/digital_energy_sdk/types/results/comtype_iotype_create_task_result.py create mode 100644 src/digital_energy_sdk/types/results/comtype_iotype_worker_group_result.py create mode 100644 src/digital_energy_sdk/types/results/comtype_prtype_kyverno_policy.py create mode 100644 src/digital_energy_sdk/types/results/comtype_prtype_load_balancer.py create mode 100644 src/digital_energy_sdk/types/results/delogic_comtype_iotype_node_limit.py create mode 100644 src/digital_energy_sdk/types/results/delogic_comtype_prtype_master.py create mode 100644 src/digital_energy_sdk/types/results/delogic_comtype_prtype_os_type.py create mode 100644 src/digital_energy_sdk/types/results/delogic_comtype_prtype_resource.py create mode 100644 src/digital_energy_sdk/types/results/delogic_comtype_prtype_summary.py create mode 100644 src/digital_energy_sdk/types/results/delogic_comtype_prtype_task_brief.py create mode 100644 src/digital_energy_sdk/types/results/delogic_comtype_prtype_worker.py create mode 100644 src/digital_energy_sdk/types/results/extnet_item_reservation.py create mode 100644 src/digital_energy_sdk/types/results/golang_sdk_pkg_cloudapi_vins_qos.py create mode 100644 src/digital_energy_sdk/types/results/internal_delogic_comtype_prtype_gpu.py create mode 100644 src/digital_energy_sdk/types/results/internal_delogic_comtype_prtype_rule.py create mode 100644 src/digital_energy_sdk/types/results/internal_dxlogic_iotype_version.py create mode 100644 src/digital_energy_sdk/types/results/internal_rbaclogic_aaatype_user.py create mode 100644 src/digital_energy_sdk/types/results/iotype_create_session_result.py create mode 100644 src/digital_energy_sdk/types/results/iotype_describe_custom_app_result.py create mode 100644 src/digital_energy_sdk/types/results/istorelogic_comtype_iotype_chart.py create mode 100644 src/digital_energy_sdk/types/results/istorelogic_comtype_iotype_manifest.py create mode 100644 src/digital_energy_sdk/types/results/pkg_cloudapi_compute_item_os_user.py create mode 100644 src/digital_energy_sdk/types/results/pkg_cloudapi_compute_item_rule.py create mode 100644 src/digital_energy_sdk/types/results/pkg_cloudapi_compute_item_snap_set.py create mode 100644 src/digital_energy_sdk/types/results/pkg_cloudapi_compute_qemu_quest.py create mode 100644 src/digital_energy_sdk/types/results/pkg_cloudapi_compute_vgpu_item.py create mode 100644 src/digital_energy_sdk/types/results/pkg_cloudapi_vins_item_routes.py create mode 100644 src/digital_energy_sdk/types/results/prtype_apps_repository.py create mode 100644 src/digital_energy_sdk/types/results/prtype_charts_repository.py create mode 100644 src/digital_energy_sdk/types/results/prtype_files_repository.py create mode 100644 src/digital_energy_sdk/types/results/prtype_kube_repository.py create mode 100644 src/digital_energy_sdk/types/results/prtype_verification_report_brief.py create mode 100644 src/digital_energy_sdk/types/results/restore_kyverno_policy_result.py create mode 100644 src/digital_energy_sdk/types/results/sdk_pkg_cloudapi_compute_item_acl.py create mode 100644 src/digital_energy_sdk/utils.py diff --git a/README.md b/README.md new file mode 100644 index 0000000..74177ee --- /dev/null +++ b/README.md @@ -0,0 +1,354 @@ +# Digital Energy Python SDK + +- [Описание](#описание) +- [Системные требования](#системные-требования) +- [Установка](#установка) +- [Использование](#использование) + - [Конфигурация](#конфигурация) + - [Функциональный интерфейс](#функциональный-интерфейс) + - [Вызов функции](#вызов-функции) + - [Результат выполнения функции](#результат-выполнения-функции) + - [Соответствие названий](#соответствие-названий) + - [Типы данных SDK](#типы-данных-sdk) + - [Ошибки и исключения (exceptions)](#ошибки-и-исключения-exceptions) + - [Ошибки валидации данных](#ошибки-валидации-данных) + - [Ошибки HTTP](#ошибки-http) +- [Доступная функциональность](#доступная-функциональность) + +## Описание + +**Digital Energy Python SDK** предоставляет удобный интерфейс для интеграции взаимодействия с API **Digital Energy** в программный код на языке Python. + +## Системные требования + +### Совместимость версий **Digital Energy** и версий SDK + +| Digital Energy | SDK | +| --- | --- | +| 1.8.0 | 1.0.x | + +### Зависимости + +Зависимости указаны в конфигурационном файле проекта [pyproject.toml](/pyproject.toml): + - версия Python: раздел `[project]`, ключ `requires-python` + - библиотеки: раздел `[project]`, ключ `dependencies` + +## Установка + +Установка с помощью системы управления пакетами Python (pip), `version` - тег или ветка: +```sh +pip install git+https://repository.basistech.ru/BASIS/de-py-sdk@version +``` + +Посмотреть версию установленного пакета: +```sh +pip show digital_energy_sdk +``` + +## Использование + +### Конфигурация + +Для работы с SDK необходимо создать экземпляр класса `DigitalEnergy`, конструктор которого принимает на вход параметры конфигурации SDK. + +
Авторизация + +```python +from digital_energy_sdk import DigitalEnergy + + +DE_URL = '...' +USERNAME = '...' +PASSWORD = '...' + +token = DigitalEnergy( + url=DE_URL, + auth='', +).api.session.create( + username=USERNAME, + password=PASSWORD, +).result.token + +de = DigitalEnergy(url=DE_URL, auth=token) + +``` + +
+ +
Задание декораторов для всех вызываемых функций + +```python +from digital_energy_sdk import DigitalEnergy + + +DigitalEnergy( + ..., + f_decorators=[decorator_1, decorator_2], +) +``` + +Декораторы будут применяться к вызываемым функциям SDK в обратном порядке, то есть сначала будет применяться декоратор decorator_2, а потом decorator_1. + +**Важно:** декораторы должны соответствовать аннотации параметра, то есть оставлять без изменений параметры и тип возвращаемого значения функции, иначе применение декораторов приведёт к некорректной работе SDK. + +
+ +
Настройка повторных попыток при 503 + +По умолчанию SDK при получении кода ответа 503 производит 10 повторных попыток с интервалом 5 секунд. Данное поведение можно скорректировать: + +```python +from digital_energy_sdk import DigitalEnergy + + +DigitalEnergy( + ..., + http503_attempts = 10, # количество повторных попыток при 503 + http503_attempts_interval = 5, # интервал в секундах между повторными попытками +) + +``` + +
+ +
Отключение проверки сертификата SSL + +**Важно:** отключение проверки сертификата SSL даёт возможность произвести атаку типа MitM, поэтому пользоваться данной возможостью допустимо только в защищённой среде. + +```python +import urllib3 + +from digital_energy_sdk import DigitalEnergy + +urllib3.disable_warnings() # отключение вывода предупреждений безопасности SSL + +DigitalEnergy( + ..., + verify_ssl=False, # отключение проверки сертификата SSL +) +``` + +
+ +### Функциональный интерфейс + +Функциональный интерфейс предоставляет функциональные объекты, каждый из которых является реализацией соответствующей функции API. Для упрощения изложения в данном руководстве вместо термина **функциональный объект** будет использоваться термин **функция**, если это позволяет контекст. + +#### Вызов функции + +
Выбор функции, передача параметров и сохранение результата + +```python +from digital_energy_sdk import DigitalEnergy + + +de = DigitalEnergy(...) + +# /digitalenergy/cluster/get +result = de.api.digitalenergy.cluster.get(id=1) + +``` + +
+ +
Передача параметров перечисляемого типа (enum) + +```python +from digital_energy_sdk import DigitalEnergy +from digital_energy_sdk.api.digitalenergy.cluster.list import Type + + +de = DigitalEnergy(...) + +# /digitalenergy/cluster/list +list_result = de.api.digitalenergy.cluster.list(type=Type.DENERGY) + +``` + +
+ +
Передача файловых параметров + +```python +from digital_energy_sdk import DigitalEnergy +from digital_energy_sdk.types.params import ParamFile + + +de = DigitalEnergy(...) + +file_name = ... + +with open(file_name, 'rb') as f: + # /digitalenergy/files/fileUpload + de.api.digitalenergy.files.file_upload( + file=ParamFile( + file_name=file_name, + content=f, + ) + ) + +``` + +
+ +#### Результат выполнения функции + +Тип данных, возвращаемый функцией SDK зависит от типа данных, возвращаемого соответствующей функцией API. + +Если в результате функции API присутствует структура данных в виде набора пар ключ/значение с заранее известными ключами, то в результате функции SDK эта структура будет представлена в виде модели Pydantic. Остальные типы данных будут представлены соответствующими встроенными типами данных Python. + +
Модель + +```python +import pydantic +from digital_energy_sdk import DigitalEnergy + + +de = DigitalEnergy(...) + +# /digitalenergy/cluster/list +list_result = de.api.digitalenergy.cluster.list() + +print(type(list_result)) # + +print(isinstance(list_result, pydantic.BaseModel)) # True + +``` + +
+ +
Обращение к полю модели + +```python +from digital_energy_sdk import DigitalEnergy + + +de = DigitalEnergy(...) + +# /digitalenergy/cluster/list +clusters = de.api.digitalenergy.cluster.list().result.clusters + +``` + +
+ +
Вложенная модель + +```python +import pydantic +from digital_energy_sdk import DigitalEnergy + + +de = DigitalEnergy(...) + +# /digitalenergy/cluster/list +cluster1 = de.api.digitalenergy.cluster.list().result.clusters[0] + +print(type(cluster1)) # + +print(isinstance(cluster1, pydantic.BaseModel)) # True + +``` + +
+ +
Все функциональные объекты, реализующие функции API, обладают следующими атрибутами: + +| Атрибут | Описание | +| --- | --- | +| `api_path` | API URL path. | +| `config` | Экземпляр конфигурации SDK. | +| `func_name` | Название функции SDK в формате digitalenergy.cluster.list | +| `http_method` | HTTP-метод. | +| `last_http_resp` | Экзепляр класса requests.Response, полученный при последнем вызове ФО. | +| `last_params_model` | Модель Pydantic, содержащая параметры, переданные в последний вызов ФО. | +| `params_model_type` | Класс модели Pydantic для параметров вызова ФО. | +| `post_json` | Отправляются ли данные в формате JSON в POST-запросах. | +| `result_type` | Аннотация типа результата вызова ФО. | +| `signature` | Сигнатура вызова ФО. | + +#### Соответствие названий + +В SDK названия из API приведены к стилю, принятому в Python: +- PascalCase для названия классов +- snake_case для названия атрибутов классов (кроме классов перечисляемых типов) +- SCREAMING_CASE для названия атрибутов классов перечисляемых типов + +### Типы данных SDK + +Общие типы доступны через пакет `digital_energy_sdk.types`. + +Частные типы доступны через модуль функции. Например, частные типы функции `digitalenergy.cluster.list` расположены в модуле `digital_energy_sdk.api.digitalenergy.cluster.list`. + +### Ошибки и исключения (exceptions) + +SDK может вызывать исключения, которые должны быть обработаны в соответствии с требованиями к разрабатываемому вами ПО. + +#### Ошибки валидации данных + +SDK производит валидацию параметров функций API с помощью библиотеки **Pydantic**.
+Поэтому, при ошибке валидации, будет вызвано исключение `pydantic.ValidationError`. + +Таким же образом валидируются данные HTTP-ответов API. Причиной ошибки валидации данных HTTP-ответа API может быть: +1. Несоответствие версии SDK и версии **Digital Energy**. +1. Программная ошибка, допущенная при разработке SDK или **Digital Energy**. Получить подтверждение наличия такой ошибки, а также ускорить её устранение, можно сообщив нам о ней. + +Получить подробную информацию об исключении `pydantic.ValidationError` можно [в соответствующем разделе официальной документации Pydantic](https://docs.pydantic.dev/latest/errors/errors/) (ссылка ведёт на документацию для последней версии, поэтому важно выбрать версию, соответствующую используемой в SDK). + +#### Ошибки HTTP + +SDK для выполнения HTTP-запросов использует библиотеку **Requests**.
+Поэтому, при ошибке HTTP-подключения, будет вызвано соответствующее исключение библиотеки **Requests**. + +Для проверки соответствует ли код ответа успешному выполнению запроса, SDK вызывает метод `requests.Response.raise_for_status()`, поэтому при неуспешном HTTP-запросе также будет вызвано исключение библиотеки **Requests**. + +**Примечание:** если код ответа 503, то SDK предпримет несколько повторных попыток. Подробнее в разделе [Конфигурация](#конфигурация). + +
Обработка ошибок HTTP + +```python +from requests.exceptions import RequestException, HTTPError +from digital_energy_sdk import DigitalEnergy + +cluster_id = 1 + +try: + get_result = de.api.digitalenergy.cluster.get(id=cluster_id) +except HTTPError as e: + resp = e.response + if resp.status_code == 404: + print(f'The cluster with ID={cluster_id} not found.') + else: + print(f'{e}: {resp.text}') +except RequestException as e: + print(e) + +``` + +
+ +Подробную информацию об исключениях библиотеки **Requests** можно получить в [соответствующем разделе официальной документации Requests](https://requests.readthedocs.io/en/latest/user/quickstart/#errors-and-exceptions). + +
Использование исключения SDK + +Для возможности получать дополнительную информацию о функциях SDK при ошибках HTTP-запросов, в SDK есть возможность оборачивать все исключения requests.exceptions.RequestException в исключение digital_energy_sdk.exceptions.RequestException: + +```python +class RequestException(Exception): + orig_exception: requests.exceptions.RequestException + func_name: str + func_kwargs: None | dict = None + status_code: None | int = None +``` + +Чтобы включить использование исключения digital_energy_sdk.exceptions.RequestException, необходимо передать в конструктор класса DigitalEnergy параметр wrap_request_exceptions=True +
+ +## Доступная функциональность + +На данный момент в SDK доступна реализация всех функций API, за исключением: +- `/openid/{providername}/authenticate` +- `/digitalenergy/istore/charts/download` +- `/digitalenergy/istore/icon/download` +- `/digitalenergy/istore/image/download` +- `/digitalenergy/lrecords/download` diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..a5b468b --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,22 @@ +[project] +name = "digital-energy-sdk" +version = "1.0.0" + +readme = "README.md" + +requires-python = ">=3.12, <=3.14" + +dependencies = [ + "requests>=2.34.2", + "pydantic==2.13.5", +] + +[project.urls] +Repository = "https://repository.basistech.ru/BASIS/de-py-sdk" + +[build-system] +requires = [ + "setuptools", + "setuptools-scm", +] +build-backend = "setuptools.build_meta" \ No newline at end of file diff --git a/src/digital_energy_sdk/__init__.py b/src/digital_energy_sdk/__init__.py new file mode 100644 index 0000000..401c314 --- /dev/null +++ b/src/digital_energy_sdk/__init__.py @@ -0,0 +1 @@ +from digital_energy_sdk.digital_energy import DigitalEnergy \ No newline at end of file diff --git a/src/digital_energy_sdk/api/__init__.py b/src/digital_energy_sdk/api/__init__.py new file mode 100644 index 0000000..f3adc59 --- /dev/null +++ b/src/digital_energy_sdk/api/__init__.py @@ -0,0 +1,4 @@ +from ._group import APIImpl + + +__all__ = ['APIImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/_group.py b/src/digital_energy_sdk/api/_group.py new file mode 100644 index 0000000..4c65372 --- /dev/null +++ b/src/digital_energy_sdk/api/_group.py @@ -0,0 +1,30 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .digitalenergy import DigitalenergyImpl +from .dynamix import DynamixImpl +from .openid import OpenidImpl +from .prod import ProdImpl +from .session import SessionImpl + + +class APIImpl(APIOperationGroupImpl): + @cached_property + def digitalenergy(self) -> DigitalenergyImpl: + return DigitalenergyImpl(config=self._config) + + @cached_property + def dynamix(self) -> DynamixImpl: + return DynamixImpl(config=self._config) + + @cached_property + def openid(self) -> OpenidImpl: + return OpenidImpl(config=self._config) + + @cached_property + def prod(self) -> ProdImpl: + return ProdImpl(config=self._config) + + @cached_property + def session(self) -> SessionImpl: + return SessionImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/__init__.py b/src/digital_energy_sdk/api/digitalenergy/__init__.py new file mode 100644 index 0000000..32946a7 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyImpl + + +__all__ = ['DigitalenergyImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/_group.py b/src/digital_energy_sdk/api/digitalenergy/_group.py new file mode 100644 index 0000000..462feef --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/_group.py @@ -0,0 +1,335 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .apisix import DigitalenergyApisixImpl +from .audit import DigitalenergyAuditImpl +from .autoscaler import DigitalenergyAutoscalerImpl +from .certificates import DigitalenergyCertificatesImpl +from .certmanager import DigitalenergyCertmanagerImpl +from .cluster import DigitalenergyClusterImpl +from .cluster_template import DigitalenergyClusterTemplateImpl +from .codescoring import DigitalenergyCodescoringImpl +from .computes import DigitalenergyComputesImpl +from .criobox import DigitalenergyCrioboxImpl +from .csidynamix import DigitalenergyCsidynamixImpl +from .customapp import DigitalenergyCustomappImpl +from .database import DigitalenergyDatabaseImpl +from .dependency_track import DigitalenergyDependencyTrackImpl +from .deployment import DigitalenergyDeploymentImpl +from .disks import DigitalenergyDisksImpl +from .ess import DigitalenergyEssImpl +from .falco import DigitalenergyFalcoImpl +from .files import DigitalenergyFilesImpl +from .gitlab import DigitalenergyGitlabImpl +from .grafana import DigitalenergyGrafanaImpl +from .group import DigitalenergyGroupImpl +from .harbor import DigitalenergyHarborImpl +from .ingress_nginx import DigitalenergyIngressNginxImpl +from .integagent import DigitalenergyIntegagentImpl +from .istio import DigitalenergyIstioImpl +from .istore import DigitalenergyIstoreImpl +from .jenkins import DigitalenergyJenkinsImpl +from .kubernetes_user import DigitalenergyKubernetesUserImpl +from .kyverno import DigitalenergyKyvernoImpl +from .longhorn import DigitalenergyLonghornImpl +from .lrecords import DigitalenergyLrecordsImpl +from .metrics import DigitalenergyMetricsImpl +from .minio import DigitalenergyMinioImpl +from .nexus import DigitalenergyNexusImpl +from .notification import DigitalenergyNotificationImpl +from .openelb import DigitalenergyOpenelbImpl +from .operation import DigitalenergyOperationImpl +from .packages import DigitalenergyPackagesImpl +from .podlogger import DigitalenergyPodloggerImpl +from .policy_report import DigitalenergyPolicyReportImpl +from .postgresql_ha import DigitalenergyPostgresqlHaImpl +from .products import DigitalenergyProductsImpl +from .prometheus import DigitalenergyPrometheusImpl +from .property import DigitalenergyPropertyImpl +from .rbacmanager import DigitalenergyRbacmanagerImpl +from .redis_cluster import DigitalenergyRedisClusterImpl +from .redmine import DigitalenergyRedmineImpl +from .repository_apps import DigitalenergyRepositoryAppsImpl +from .repository_charts import DigitalenergyRepositoryChartsImpl +from .repository_files import DigitalenergyRepositoryFilesImpl +from .repository_kube import DigitalenergyRepositoryKubeImpl +from .role import DigitalenergyRoleImpl +from .seaweedfs_operator import DigitalenergySeaweedfsOperatorImpl +from .seaweedfs import DigitalenergySeaweedfsImpl +from .servchecker import DigitalenergyServcheckerImpl +from .sonarqube import DigitalenergySonarqubeImpl +from .svacer import DigitalenergySvacerImpl +from .task import DigitalenergyTaskImpl +from .trivy import DigitalenergyTrivyImpl +from .user import DigitalenergyUserImpl +from .valkey import DigitalenergyValkeyImpl +from .vault import DigitalenergyVaultImpl +from .verification_report import DigitalenergyVerificationReportImpl +from .vulnerability_report import DigitalenergyVulnerabilityReportImpl +from .x509 import DigitalenergyX509Impl + + +class DigitalenergyImpl(APIOperationGroupImpl): + @cached_property + def apisix(self) -> DigitalenergyApisixImpl: + return DigitalenergyApisixImpl(config=self._config) + + @cached_property + def audit(self) -> DigitalenergyAuditImpl: + return DigitalenergyAuditImpl(config=self._config) + + @cached_property + def autoscaler(self) -> DigitalenergyAutoscalerImpl: + return DigitalenergyAutoscalerImpl(config=self._config) + + @cached_property + def certificates(self) -> DigitalenergyCertificatesImpl: + return DigitalenergyCertificatesImpl(config=self._config) + + @cached_property + def certmanager(self) -> DigitalenergyCertmanagerImpl: + return DigitalenergyCertmanagerImpl(config=self._config) + + @cached_property + def cluster(self) -> DigitalenergyClusterImpl: + return DigitalenergyClusterImpl(config=self._config) + + @cached_property + def cluster_template(self) -> DigitalenergyClusterTemplateImpl: + return DigitalenergyClusterTemplateImpl(config=self._config) + + @cached_property + def codescoring(self) -> DigitalenergyCodescoringImpl: + return DigitalenergyCodescoringImpl(config=self._config) + + @cached_property + def computes(self) -> DigitalenergyComputesImpl: + return DigitalenergyComputesImpl(config=self._config) + + @cached_property + def criobox(self) -> DigitalenergyCrioboxImpl: + return DigitalenergyCrioboxImpl(config=self._config) + + @cached_property + def csidynamix(self) -> DigitalenergyCsidynamixImpl: + return DigitalenergyCsidynamixImpl(config=self._config) + + @cached_property + def customapp(self) -> DigitalenergyCustomappImpl: + return DigitalenergyCustomappImpl(config=self._config) + + @cached_property + def database(self) -> DigitalenergyDatabaseImpl: + return DigitalenergyDatabaseImpl(config=self._config) + + @cached_property + def dependency_track(self) -> DigitalenergyDependencyTrackImpl: + return DigitalenergyDependencyTrackImpl(config=self._config) + + @cached_property + def deployment(self) -> DigitalenergyDeploymentImpl: + return DigitalenergyDeploymentImpl(config=self._config) + + @cached_property + def disks(self) -> DigitalenergyDisksImpl: + return DigitalenergyDisksImpl(config=self._config) + + @cached_property + def ess(self) -> DigitalenergyEssImpl: + return DigitalenergyEssImpl(config=self._config) + + @cached_property + def falco(self) -> DigitalenergyFalcoImpl: + return DigitalenergyFalcoImpl(config=self._config) + + @cached_property + def files(self) -> DigitalenergyFilesImpl: + return DigitalenergyFilesImpl(config=self._config) + + @cached_property + def gitlab(self) -> DigitalenergyGitlabImpl: + return DigitalenergyGitlabImpl(config=self._config) + + @cached_property + def grafana(self) -> DigitalenergyGrafanaImpl: + return DigitalenergyGrafanaImpl(config=self._config) + + @cached_property + def group(self) -> DigitalenergyGroupImpl: + return DigitalenergyGroupImpl(config=self._config) + + @cached_property + def harbor(self) -> DigitalenergyHarborImpl: + return DigitalenergyHarborImpl(config=self._config) + + @cached_property + def ingress_nginx(self) -> DigitalenergyIngressNginxImpl: + return DigitalenergyIngressNginxImpl(config=self._config) + + @cached_property + def integagent(self) -> DigitalenergyIntegagentImpl: + return DigitalenergyIntegagentImpl(config=self._config) + + @cached_property + def istio(self) -> DigitalenergyIstioImpl: + return DigitalenergyIstioImpl(config=self._config) + + @cached_property + def istore(self) -> DigitalenergyIstoreImpl: + return DigitalenergyIstoreImpl(config=self._config) + + @cached_property + def jenkins(self) -> DigitalenergyJenkinsImpl: + return DigitalenergyJenkinsImpl(config=self._config) + + @cached_property + def kubernetes_user(self) -> DigitalenergyKubernetesUserImpl: + return DigitalenergyKubernetesUserImpl(config=self._config) + + @cached_property + def kyverno(self) -> DigitalenergyKyvernoImpl: + return DigitalenergyKyvernoImpl(config=self._config) + + @cached_property + def longhorn(self) -> DigitalenergyLonghornImpl: + return DigitalenergyLonghornImpl(config=self._config) + + @cached_property + def lrecords(self) -> DigitalenergyLrecordsImpl: + return DigitalenergyLrecordsImpl(config=self._config) + + @cached_property + def metrics(self) -> DigitalenergyMetricsImpl: + return DigitalenergyMetricsImpl(config=self._config) + + @cached_property + def minio(self) -> DigitalenergyMinioImpl: + return DigitalenergyMinioImpl(config=self._config) + + @cached_property + def nexus(self) -> DigitalenergyNexusImpl: + return DigitalenergyNexusImpl(config=self._config) + + @cached_property + def notification(self) -> DigitalenergyNotificationImpl: + return DigitalenergyNotificationImpl(config=self._config) + + @cached_property + def openelb(self) -> DigitalenergyOpenelbImpl: + return DigitalenergyOpenelbImpl(config=self._config) + + @cached_property + def operation(self) -> DigitalenergyOperationImpl: + return DigitalenergyOperationImpl(config=self._config) + + @cached_property + def packages(self) -> DigitalenergyPackagesImpl: + return DigitalenergyPackagesImpl(config=self._config) + + @cached_property + def podlogger(self) -> DigitalenergyPodloggerImpl: + return DigitalenergyPodloggerImpl(config=self._config) + + @cached_property + def policy_report(self) -> DigitalenergyPolicyReportImpl: + return DigitalenergyPolicyReportImpl(config=self._config) + + @cached_property + def postgresql_ha(self) -> DigitalenergyPostgresqlHaImpl: + return DigitalenergyPostgresqlHaImpl(config=self._config) + + @cached_property + def products(self) -> DigitalenergyProductsImpl: + return DigitalenergyProductsImpl(config=self._config) + + @cached_property + def prometheus(self) -> DigitalenergyPrometheusImpl: + return DigitalenergyPrometheusImpl(config=self._config) + + @cached_property + def property(self) -> DigitalenergyPropertyImpl: + return DigitalenergyPropertyImpl(config=self._config) + + @cached_property + def rbacmanager(self) -> DigitalenergyRbacmanagerImpl: + return DigitalenergyRbacmanagerImpl(config=self._config) + + @cached_property + def redis_cluster(self) -> DigitalenergyRedisClusterImpl: + return DigitalenergyRedisClusterImpl(config=self._config) + + @cached_property + def redmine(self) -> DigitalenergyRedmineImpl: + return DigitalenergyRedmineImpl(config=self._config) + + @cached_property + def repository_apps(self) -> DigitalenergyRepositoryAppsImpl: + return DigitalenergyRepositoryAppsImpl(config=self._config) + + @cached_property + def repository_charts(self) -> DigitalenergyRepositoryChartsImpl: + return DigitalenergyRepositoryChartsImpl(config=self._config) + + @cached_property + def repository_files(self) -> DigitalenergyRepositoryFilesImpl: + return DigitalenergyRepositoryFilesImpl(config=self._config) + + @cached_property + def repository_kube(self) -> DigitalenergyRepositoryKubeImpl: + return DigitalenergyRepositoryKubeImpl(config=self._config) + + @cached_property + def role(self) -> DigitalenergyRoleImpl: + return DigitalenergyRoleImpl(config=self._config) + + @cached_property + def seaweedfs_operator(self) -> DigitalenergySeaweedfsOperatorImpl: + return DigitalenergySeaweedfsOperatorImpl(config=self._config) + + @cached_property + def seaweedfs(self) -> DigitalenergySeaweedfsImpl: + return DigitalenergySeaweedfsImpl(config=self._config) + + @cached_property + def servchecker(self) -> DigitalenergyServcheckerImpl: + return DigitalenergyServcheckerImpl(config=self._config) + + @cached_property + def sonarqube(self) -> DigitalenergySonarqubeImpl: + return DigitalenergySonarqubeImpl(config=self._config) + + @cached_property + def svacer(self) -> DigitalenergySvacerImpl: + return DigitalenergySvacerImpl(config=self._config) + + @cached_property + def task(self) -> DigitalenergyTaskImpl: + return DigitalenergyTaskImpl(config=self._config) + + @cached_property + def trivy(self) -> DigitalenergyTrivyImpl: + return DigitalenergyTrivyImpl(config=self._config) + + @cached_property + def user(self) -> DigitalenergyUserImpl: + return DigitalenergyUserImpl(config=self._config) + + @cached_property + def valkey(self) -> DigitalenergyValkeyImpl: + return DigitalenergyValkeyImpl(config=self._config) + + @cached_property + def vault(self) -> DigitalenergyVaultImpl: + return DigitalenergyVaultImpl(config=self._config) + + @cached_property + def verification_report(self) -> DigitalenergyVerificationReportImpl: + return DigitalenergyVerificationReportImpl(config=self._config) + + @cached_property + def vulnerability_report(self) -> DigitalenergyVulnerabilityReportImpl: + return DigitalenergyVulnerabilityReportImpl(config=self._config) + + @cached_property + def x509(self) -> DigitalenergyX509Impl: + return DigitalenergyX509Impl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/apisix/__init__.py b/src/digital_energy_sdk/api/digitalenergy/apisix/__init__.py new file mode 100644 index 0000000..02596ff --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/apisix/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyApisixImpl + + +__all__ = ['DigitalenergyApisixImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/apisix/_group.py b/src/digital_energy_sdk/api/digitalenergy/apisix/_group.py new file mode 100644 index 0000000..f6aadb7 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/apisix/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyApisixDescribeImpl +from .install import DigitalenergyApisixInstallImpl +from .uninstall import DigitalenergyApisixUninstallImpl + + +class DigitalenergyApisixImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyApisixDescribeImpl: + return DigitalenergyApisixDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyApisixInstallImpl: + return DigitalenergyApisixInstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyApisixUninstallImpl: + return DigitalenergyApisixUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/apisix/describe.py b/src/digital_energy_sdk/api/digitalenergy/apisix/describe.py new file mode 100644 index 0000000..4a6cb09 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/apisix/describe.py @@ -0,0 +1,60 @@ +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 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) + http_port: int | None = Field(validation_alias='httpPort', default=None) + https_port: int | None = Field(validation_alias='httpsPort', 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) + product_name: str | None = Field(validation_alias='productName', default=None) + product_version: str | None = Field(validation_alias='productVersion', default=None) + task_ids: list[int] | None = Field(validation_alias='taskIds', 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 DigitalenergyApisixDescribeResult(_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 DigitalenergyApisixDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/apisix/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, + ) -> DigitalenergyApisixDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/apisix/install.py b/src/digital_energy_sdk/api/digitalenergy/apisix/install.py new file mode 100644 index 0000000..cc00446 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/apisix/install.py @@ -0,0 +1,41 @@ +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 results as _results + + +class DigitalenergyApisixInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/apisix/install' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'integagent_hostname': 'integagentHostname', + 'http_port': 'httpPort', + 'https_port': 'httpsPort', + '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, + http_port: int, + https_port: int | 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, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/apisix/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/apisix/uninstall.py new file mode 100644 index 0000000..42776fc --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/apisix/uninstall.py @@ -0,0 +1,30 @@ +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 results as _results + + +class DigitalenergyApisixUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/apisix/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 \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/audit/__init__.py b/src/digital_energy_sdk/api/digitalenergy/audit/__init__.py new file mode 100644 index 0000000..16f8a1b --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/audit/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyAuditImpl + + +__all__ = ['DigitalenergyAuditImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/audit/_group.py b/src/digital_energy_sdk/api/digitalenergy/audit/_group.py new file mode 100644 index 0000000..5df8ab3 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/audit/_group.py @@ -0,0 +1,15 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .link import DigitalenergyAuditLinkImpl +from .list import DigitalenergyAuditListImpl + + +class DigitalenergyAuditImpl(APIOperationGroupImpl): + @cached_property + def link(self) -> DigitalenergyAuditLinkImpl: + return DigitalenergyAuditLinkImpl(config=self._config) + + @cached_property + def list(self) -> DigitalenergyAuditListImpl: + return DigitalenergyAuditListImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/audit/link.py b/src/digital_energy_sdk/api/digitalenergy/audit/link.py new file mode 100644 index 0000000..a38e325 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/audit/link.py @@ -0,0 +1,56 @@ +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 results as _results + + +class Verb(Enum): + GET = 'get' + LIST = 'list' + CREATE = 'create' + UPDATE = 'update' + PATCH = 'patch' + DELETE = 'delete' + WATCH = 'watch' + DELETECOLLECTION = 'deletecollection' + EMPTY_STR = '' + + +class Decision(Enum): + FORBID = 'forbid' + ALLOW = 'allow' + EMPTY_STR = '' + + +class DigitalenergyAuditLinkImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/audit/link' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'node_id': 'nodeId', + 'time_after': 'timeAfter', + 'time_before': 'timeBefore', + 'request_uri': 'requestUri', + 'source_ip': 'sourceIp', + } + + def __call__( + self, + *, + cluster_id: int, + node_id: int, + time_after: int | None = None, + time_before: int | None = None, + request_uri: str | None = None, + verb: Verb | None = None, + decision: Decision | None = None, + source_ip: str | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/audit/list.py b/src/digital_energy_sdk/api/digitalenergy/audit/list.py new file mode 100644 index 0000000..50b0bad --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/audit/list.py @@ -0,0 +1,73 @@ +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 results as _results + + +class DownloadsItem(_ResultModel): + download_date: str | None = Field(validation_alias='downloadDate', default=None) + successfull: bool | None = Field(validation_alias='successfull', default=None) + user_id: int | None = Field(validation_alias='userId', default=None) + user_name: str | None = Field(validation_alias='userName', default=None) + + +class AuditItem(_ResultModel): + request_uri_filter: str | None = Field(validation_alias='RequestUriFilter', default=None) + audits_count: int | None = Field(validation_alias='auditsCount', default=None) + cluster_id: int | None = Field(validation_alias='clusterId', default=None) + creation_date: str | None = Field(validation_alias='creationDate', default=None) + decision_filter: str | None = Field(validation_alias='decisionFilter', default=None) + downloads: list[DownloadsItem] | None = Field(validation_alias='downloads', default=None) + error: str | None = Field(validation_alias='error', default=None) + file_name: str | None = Field(validation_alias='fileName', default=None) + file_path: str | None = Field(validation_alias='filePath', default=None) + file_size: int | None = Field(validation_alias='fileSize', default=None) + id: int | None = Field(validation_alias='id', default=None) + is_active: bool | None = Field(validation_alias='isActive', default=None) + node_id: int | None = Field(validation_alias='nodeId', default=None) + owner_id: int | None = Field(validation_alias='ownerId', default=None) + source_ip_filter: str | None = Field(validation_alias='sourceIpFilter', default=None) + status: str | None = Field(validation_alias='status', default=None) + time_after_filter: int | None = Field(validation_alias='timeAfterFilter', default=None) + time_before_filter: int | None = Field(validation_alias='timeBeforeFilter', default=None) + url: str | None = Field(validation_alias='url', default=None) + verb_filter: str | None = Field(validation_alias='verbFilter', default=None) + zip_size: int | None = Field(validation_alias='zipSize', default=None) + + +class Result(_ResultModel): + audit: list[AuditItem] | None = Field(validation_alias='audit', default=None) + total: int | None = Field(validation_alias='total', default=None) + + +class DigitalenergyAuditListResult(_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 DigitalenergyAuditListImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/audit/list' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'show_active': 'showActive', + } + + def __call__( + self, + *, + cluster_id: int, + show_active: bool | None = None, + limit: int | None = None, + page: int | None = None, + ) -> DigitalenergyAuditListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/autoscaler/__init__.py b/src/digital_energy_sdk/api/digitalenergy/autoscaler/__init__.py new file mode 100644 index 0000000..32a52c2 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/autoscaler/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyAutoscalerImpl + + +__all__ = ['DigitalenergyAutoscalerImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/autoscaler/_group.py b/src/digital_energy_sdk/api/digitalenergy/autoscaler/_group.py new file mode 100644 index 0000000..c46f666 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/autoscaler/_group.py @@ -0,0 +1,25 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .list_autoscaler_deployments import DigitalenergyAutoscalerListAutoscalerDeploymentsImpl +from .turn_off_autoscaler_deployment import DigitalenergyAutoscalerTurnOffAutoscalerDeploymentImpl +from .turn_on_autoscaler_deployment import DigitalenergyAutoscalerTurnOnAutoscalerDeploymentImpl +from .update_autoscaler_deployment import DigitalenergyAutoscalerUpdateAutoscalerDeploymentImpl + + +class DigitalenergyAutoscalerImpl(APIOperationGroupImpl): + @cached_property + def list_autoscaler_deployments(self) -> DigitalenergyAutoscalerListAutoscalerDeploymentsImpl: + return DigitalenergyAutoscalerListAutoscalerDeploymentsImpl(config=self._config) + + @cached_property + def turn_off_autoscaler_deployment(self) -> DigitalenergyAutoscalerTurnOffAutoscalerDeploymentImpl: + return DigitalenergyAutoscalerTurnOffAutoscalerDeploymentImpl(config=self._config) + + @cached_property + def turn_on_autoscaler_deployment(self) -> DigitalenergyAutoscalerTurnOnAutoscalerDeploymentImpl: + return DigitalenergyAutoscalerTurnOnAutoscalerDeploymentImpl(config=self._config) + + @cached_property + def update_autoscaler_deployment(self) -> DigitalenergyAutoscalerUpdateAutoscalerDeploymentImpl: + return DigitalenergyAutoscalerUpdateAutoscalerDeploymentImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/autoscaler/list_autoscaler_deployments.py b/src/digital_energy_sdk/api/digitalenergy/autoscaler/list_autoscaler_deployments.py new file mode 100644 index 0000000..d31a813 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/autoscaler/list_autoscaler_deployments.py @@ -0,0 +1,86 @@ +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 results as _results + + +class ManagedFieldsItem(_ResultModel): + api_version: str | None = Field(validation_alias='apiVersion', default=None) + fields_type: str | None = Field(validation_alias='fieldsType', default=None) + manager: str | None = Field(validation_alias='manager', default=None) + operation: str | None = Field(validation_alias='operation', default=None) + subresource: str | None = Field(validation_alias='subresource', default=None) + time: str | None = Field(validation_alias='time', default=None) + + +class ScaleTargetRef(_ResultModel): + api_version: str | None = Field(validation_alias='apiVersion', default=None) + kind: str | None = Field(validation_alias='kind', default=None) + name: str | None = Field(validation_alias='name', default=None) + + +class ItemsItemMetadata(_ResultModel): + annotations: dict[Any, Any] | None = Field(validation_alias='annotations', default=None) + creation_timestamp: str | None = Field(validation_alias='creationTimestamp', default=None) + managed_fields: list[ManagedFieldsItem] | None = Field(validation_alias='managedFields', default=None) + name: str | None = Field(validation_alias='name', default=None) + namespace: str | None = Field(validation_alias='namespace', default=None) + resource_version: str | None = Field(validation_alias='resourceVersion', default=None) + uid: str | None = Field(validation_alias='uid', default=None) + + +class Spec(_ResultModel): + max_replicas: int | None = Field(validation_alias='maxReplicas', default=None) + min_replicas: int | None = Field(validation_alias='minReplicas', default=None) + scale_target_ref: ScaleTargetRef | None = Field(validation_alias='scaleTargetRef', default=None) + target_cpu_utilization_percentage: int | None = Field(validation_alias='targetCPUUtilizationPercentage', default=None) + + +class Status(_ResultModel): + current_replicas: int | None = Field(validation_alias='currentReplicas', default=None) + desired_replicas: int | None = Field(validation_alias='desiredReplicas', default=None) + + +class ItemsItem(_ResultModel): + metadata: ItemsItemMetadata | None = Field(validation_alias='metadata', default=None) + spec: Spec | None = Field(validation_alias='spec', default=None) + status: Status | None = Field(validation_alias='status', default=None) + + +class ResultMetadata(_ResultModel): + resource_version: str | None = Field(validation_alias='resourceVersion', default=None) + + +class Result(_ResultModel): + items: list[ItemsItem] | None = Field(validation_alias='items', default=None) + metadata: ResultMetadata | None = Field(validation_alias='metadata', default=None) + + +class DigitalenergyAutoscalerListAutoscalerDeploymentsResult(_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 DigitalenergyAutoscalerListAutoscalerDeploymentsImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/autoscaler/listAutoscalerDeployments' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + namespace: str, + ) -> DigitalenergyAutoscalerListAutoscalerDeploymentsResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/autoscaler/turn_off_autoscaler_deployment.py b/src/digital_energy_sdk/api/digitalenergy/autoscaler/turn_off_autoscaler_deployment.py new file mode 100644 index 0000000..821ca57 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/autoscaler/turn_off_autoscaler_deployment.py @@ -0,0 +1,36 @@ +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 results as _results + + +class DigitalenergyAutoscalerTurnOffAutoscalerDeploymentResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyAutoscalerTurnOffAutoscalerDeploymentImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/autoscaler/turnOffAutoscalerDeployment' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'name_deployment': 'nameDeployment', + } + + def __call__( + self, + *, + cluster_id: int, + name_deployment: str, + namespace: str, + ) -> DigitalenergyAutoscalerTurnOffAutoscalerDeploymentResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/autoscaler/turn_on_autoscaler_deployment.py b/src/digital_energy_sdk/api/digitalenergy/autoscaler/turn_on_autoscaler_deployment.py new file mode 100644 index 0000000..3bff415 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/autoscaler/turn_on_autoscaler_deployment.py @@ -0,0 +1,42 @@ +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 results as _results + + +class DigitalenergyAutoscalerTurnOnAutoscalerDeploymentResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyAutoscalerTurnOnAutoscalerDeploymentImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/autoscaler/turnOnAutoscalerDeployment' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'name_deployment': 'nameDeployment', + 'min_pods': 'minPods', + 'max_pods': 'maxPods', + 'cpu_percent': 'cpuPercent', + } + + def __call__( + self, + *, + cluster_id: int, + name_deployment: str, + namespace: str, + min_pods: int, + max_pods: int, + cpu_percent: int, + ) -> DigitalenergyAutoscalerTurnOnAutoscalerDeploymentResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/autoscaler/update_autoscaler_deployment.py b/src/digital_energy_sdk/api/digitalenergy/autoscaler/update_autoscaler_deployment.py new file mode 100644 index 0000000..d6ce81d --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/autoscaler/update_autoscaler_deployment.py @@ -0,0 +1,42 @@ +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 results as _results + + +class DigitalenergyAutoscalerUpdateAutoscalerDeploymentResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyAutoscalerUpdateAutoscalerDeploymentImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/autoscaler/updateAutoscalerDeployment' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'name_deployment': 'nameDeployment', + 'min_pods': 'minPods', + 'max_pods': 'maxPods', + 'cpu_percent': 'cpuPercent', + } + + def __call__( + self, + *, + cluster_id: int, + name_deployment: str, + namespace: str, + min_pods: int | None = None, + max_pods: int | None = None, + cpu_percent: int | None = None, + ) -> DigitalenergyAutoscalerUpdateAutoscalerDeploymentResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/certificates/__init__.py b/src/digital_energy_sdk/api/digitalenergy/certificates/__init__.py new file mode 100644 index 0000000..94d5460 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/certificates/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyCertificatesImpl + + +__all__ = ['DigitalenergyCertificatesImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/certificates/_group.py b/src/digital_energy_sdk/api/digitalenergy/certificates/_group.py new file mode 100644 index 0000000..8057c80 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/certificates/_group.py @@ -0,0 +1,10 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .kubeadm import DigitalenergyCertificatesKubeadmImpl + + +class DigitalenergyCertificatesImpl(APIOperationGroupImpl): + @cached_property + def kubeadm(self) -> DigitalenergyCertificatesKubeadmImpl: + return DigitalenergyCertificatesKubeadmImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/certificates/kubeadm/__init__.py b/src/digital_energy_sdk/api/digitalenergy/certificates/kubeadm/__init__.py new file mode 100644 index 0000000..3343fd7 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/certificates/kubeadm/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyCertificatesKubeadmImpl + + +__all__ = ['DigitalenergyCertificatesKubeadmImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/certificates/kubeadm/_group.py b/src/digital_energy_sdk/api/digitalenergy/certificates/kubeadm/_group.py new file mode 100644 index 0000000..9633c3f --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/certificates/kubeadm/_group.py @@ -0,0 +1,15 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .check_expiration import DigitalenergyCertificatesKubeadmCheckExpirationImpl +from .renew import DigitalenergyCertificatesKubeadmRenewImpl + + +class DigitalenergyCertificatesKubeadmImpl(APIOperationGroupImpl): + @cached_property + def check_expiration(self) -> DigitalenergyCertificatesKubeadmCheckExpirationImpl: + return DigitalenergyCertificatesKubeadmCheckExpirationImpl(config=self._config) + + @cached_property + def renew(self) -> DigitalenergyCertificatesKubeadmRenewImpl: + return DigitalenergyCertificatesKubeadmRenewImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/certificates/kubeadm/check_expiration.py b/src/digital_energy_sdk/api/digitalenergy/certificates/kubeadm/check_expiration.py new file mode 100644 index 0000000..d4b3cff --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/certificates/kubeadm/check_expiration.py @@ -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 results as _results + + +class Result(_ResultModel): + task_id: int | None = Field(validation_alias='taskID', default=None) + + +class DigitalenergyCertificatesKubeadmCheckExpirationResult(_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 DigitalenergyCertificatesKubeadmCheckExpirationImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/certificates/kubeadm/checkExpiration' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + ) -> DigitalenergyCertificatesKubeadmCheckExpirationResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/certificates/kubeadm/renew.py b/src/digital_energy_sdk/api/digitalenergy/certificates/kubeadm/renew.py new file mode 100644 index 0000000..550ee0b --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/certificates/kubeadm/renew.py @@ -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 results as _results + + +class Result(_ResultModel): + task_id: int | None = Field(validation_alias='taskID', default=None) + + +class DigitalenergyCertificatesKubeadmRenewResult(_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 DigitalenergyCertificatesKubeadmRenewImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/certificates/kubeadm/renew' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + ) -> DigitalenergyCertificatesKubeadmRenewResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/certmanager/__init__.py b/src/digital_energy_sdk/api/digitalenergy/certmanager/__init__.py new file mode 100644 index 0000000..ed26b5f --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/certmanager/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyCertmanagerImpl + + +__all__ = ['DigitalenergyCertmanagerImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/certmanager/_group.py b/src/digital_energy_sdk/api/digitalenergy/certmanager/_group.py new file mode 100644 index 0000000..61542f7 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/certmanager/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyCertmanagerDescribeImpl +from .install import DigitalenergyCertmanagerInstallImpl +from .uninstall import DigitalenergyCertmanagerUninstallImpl + + +class DigitalenergyCertmanagerImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyCertmanagerDescribeImpl: + return DigitalenergyCertmanagerDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyCertmanagerInstallImpl: + return DigitalenergyCertmanagerInstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyCertmanagerUninstallImpl: + return DigitalenergyCertmanagerUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/certmanager/describe.py b/src/digital_energy_sdk/api/digitalenergy/certmanager/describe.py new file mode 100644 index 0000000..88d64b2 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/certmanager/describe.py @@ -0,0 +1,60 @@ +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 results as _results + + +class Registry(_ResultModel): + addresses: dict[Any, Any] | None = Field(validation_alias='addresses', default=None) + ca_cert: str | None = Field(validation_alias='caCert', default=None) + ca_key: str | None = Field(validation_alias='caKey', 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) + product_name: str | None = Field(validation_alias='productName', default=None) + product_version: str | None = Field(validation_alias='productVersion', default=None) + task_ids: list[int] | None = Field(validation_alias='taskIds', 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 DigitalenergyCertmanagerDescribeResult(_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 DigitalenergyCertmanagerDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/certmanager/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, + ) -> DigitalenergyCertmanagerDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/certmanager/install.py b/src/digital_energy_sdk/api/digitalenergy/certmanager/install.py new file mode 100644 index 0000000..9a7b4c7 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/certmanager/install.py @@ -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 results as _results + + +class DigitalenergyCertmanagerInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/certmanager/install' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'integagent_hostname': 'integagentHostname', + '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, + apps_repository_id: int | None = None, + charts_repository_id: int | None = None, + worker_group_name: str | None = None, + download_chart_anyway: bool | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/certmanager/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/certmanager/uninstall.py new file mode 100644 index 0000000..166fafc --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/certmanager/uninstall.py @@ -0,0 +1,30 @@ +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 results as _results + + +class DigitalenergyCertmanagerUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/certmanager/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 \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/__init__.py b/src/digital_energy_sdk/api/digitalenergy/cluster/__init__.py new file mode 100644 index 0000000..d4005bb --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyClusterImpl + + +__all__ = ['DigitalenergyClusterImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/_group.py b/src/digital_energy_sdk/api/digitalenergy/cluster/_group.py new file mode 100644 index 0000000..a2ca145 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/_group.py @@ -0,0 +1,250 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .add_load_balancers import DigitalenergyClusterAddLoadBalancersImpl +from .add_masters import DigitalenergyClusterAddMastersImpl +from .add_pool_vms import DigitalenergyClusterAddPoolVMsImpl +from .add_workers import DigitalenergyClusterAddWorkersImpl +from .create import DigitalenergyClusterCreateImpl +from .create_from_template import DigitalenergyClusterCreateFromTemplateImpl +from .create_worker_group import DigitalenergyClusterCreateWorkerGroupImpl +from .delete import DigitalenergyClusterDeleteImpl +from .delete_load_balancers import DigitalenergyClusterDeleteLoadBalancersImpl +from .delete_masters import DigitalenergyClusterDeleteMastersImpl +from .delete_pool_vms import DigitalenergyClusterDeletePoolVMsImpl +from .delete_worker_group import DigitalenergyClusterDeleteWorkerGroupImpl +from .delete_workers import DigitalenergyClusterDeleteWorkersImpl +from .describe import DigitalenergyClusterDescribeImpl +from .get import DigitalenergyClusterGetImpl +from .get_config import DigitalenergyClusterGetConfigImpl +from .get_kubectl_resources import DigitalenergyClusterGetKubectlResourcesImpl +from .get_load_balancer import DigitalenergyClusterGetLoadBalancerImpl +from .get_master import DigitalenergyClusterGetMasterImpl +from .get_worker import DigitalenergyClusterGetWorkerImpl +from .get_worker_group import DigitalenergyClusterGetWorkerGroupImpl +from .get_worker_group_annotations import DigitalenergyClusterGetWorkerGroupAnnotationsImpl +from .get_worker_group_labels import DigitalenergyClusterGetWorkerGroupLabelsImpl +from .get_worker_group_taints import DigitalenergyClusterGetWorkerGroupTaintsImpl +from .join_pool_vms import DigitalenergyClusterJoinPoolVMsImpl +from .list import DigitalenergyClusterListImpl +from .list_kubectl_resources import DigitalenergyClusterListKubectlResourcesImpl +from .list_load_balancers import DigitalenergyClusterListLoadBalancersImpl +from .list_masters import DigitalenergyClusterListMastersImpl +from .list_worker_groups import DigitalenergyClusterListWorkerGroupsImpl +from .list_workers import DigitalenergyClusterListWorkersImpl +from .load_balancers import DigitalenergyClusterLoadBalancersImpl +from .network_describe import DigitalenergyClusterNetworkDescribeImpl +from .resize_worker_group import DigitalenergyClusterResizeWorkerGroupImpl +from .set_kube_version import DigitalenergyClusterSetKubeVersionImpl +from .set_load_balancer_status import DigitalenergyClusterSetLoadBalancerStatusImpl +from .set_master_status import DigitalenergyClusterSetMasterStatusImpl +from .set_pool_vm_status import DigitalenergyClusterSetPoolVMStatusImpl +from .set_status import DigitalenergyClusterSetStatusImpl +from .set_worker_status import DigitalenergyClusterSetWorkerStatusImpl +from .update_cni_config import DigitalenergyClusterUpdateCNIConfigImpl +from .update_config import DigitalenergyClusterUpdateConfigImpl +from .update_info import DigitalenergyClusterUpdateInfoImpl +from .update_owner_id import DigitalenergyClusterUpdateOwnerIdImpl +from .update_worker_group import DigitalenergyClusterUpdateWorkerGroupImpl +from .update_worker_group_annotations import DigitalenergyClusterUpdateWorkerGroupAnnotationsImpl +from .update_worker_group_labels import DigitalenergyClusterUpdateWorkerGroupLabelsImpl +from .update_worker_group_taints import DigitalenergyClusterUpdateWorkerGroupTaintsImpl +from .verify import DigitalenergyClusterVerifyImpl + + +class DigitalenergyClusterImpl(APIOperationGroupImpl): + @cached_property + def add_load_balancers(self) -> DigitalenergyClusterAddLoadBalancersImpl: + return DigitalenergyClusterAddLoadBalancersImpl(config=self._config) + + @cached_property + def add_masters(self) -> DigitalenergyClusterAddMastersImpl: + return DigitalenergyClusterAddMastersImpl(config=self._config) + + @cached_property + def add_pool_vms(self) -> DigitalenergyClusterAddPoolVMsImpl: + return DigitalenergyClusterAddPoolVMsImpl(config=self._config) + + @cached_property + def add_workers(self) -> DigitalenergyClusterAddWorkersImpl: + return DigitalenergyClusterAddWorkersImpl(config=self._config) + + @cached_property + def create(self) -> DigitalenergyClusterCreateImpl: + return DigitalenergyClusterCreateImpl(config=self._config) + + @cached_property + def create_from_template(self) -> DigitalenergyClusterCreateFromTemplateImpl: + return DigitalenergyClusterCreateFromTemplateImpl(config=self._config) + + @cached_property + def create_worker_group(self) -> DigitalenergyClusterCreateWorkerGroupImpl: + return DigitalenergyClusterCreateWorkerGroupImpl(config=self._config) + + @cached_property + def delete(self) -> DigitalenergyClusterDeleteImpl: + return DigitalenergyClusterDeleteImpl(config=self._config) + + @cached_property + def delete_load_balancers(self) -> DigitalenergyClusterDeleteLoadBalancersImpl: + return DigitalenergyClusterDeleteLoadBalancersImpl(config=self._config) + + @cached_property + def delete_masters(self) -> DigitalenergyClusterDeleteMastersImpl: + return DigitalenergyClusterDeleteMastersImpl(config=self._config) + + @cached_property + def delete_pool_vms(self) -> DigitalenergyClusterDeletePoolVMsImpl: + return DigitalenergyClusterDeletePoolVMsImpl(config=self._config) + + @cached_property + def delete_worker_group(self) -> DigitalenergyClusterDeleteWorkerGroupImpl: + return DigitalenergyClusterDeleteWorkerGroupImpl(config=self._config) + + @cached_property + def delete_workers(self) -> DigitalenergyClusterDeleteWorkersImpl: + return DigitalenergyClusterDeleteWorkersImpl(config=self._config) + + @cached_property + def describe(self) -> DigitalenergyClusterDescribeImpl: + return DigitalenergyClusterDescribeImpl(config=self._config) + + @cached_property + def get(self) -> DigitalenergyClusterGetImpl: + return DigitalenergyClusterGetImpl(config=self._config) + + @cached_property + def get_config(self) -> DigitalenergyClusterGetConfigImpl: + return DigitalenergyClusterGetConfigImpl(config=self._config) + + @cached_property + def get_kubectl_resources(self) -> DigitalenergyClusterGetKubectlResourcesImpl: + return DigitalenergyClusterGetKubectlResourcesImpl(config=self._config) + + @cached_property + def get_load_balancer(self) -> DigitalenergyClusterGetLoadBalancerImpl: + return DigitalenergyClusterGetLoadBalancerImpl(config=self._config) + + @cached_property + def get_master(self) -> DigitalenergyClusterGetMasterImpl: + return DigitalenergyClusterGetMasterImpl(config=self._config) + + @cached_property + def get_worker(self) -> DigitalenergyClusterGetWorkerImpl: + return DigitalenergyClusterGetWorkerImpl(config=self._config) + + @cached_property + def get_worker_group(self) -> DigitalenergyClusterGetWorkerGroupImpl: + return DigitalenergyClusterGetWorkerGroupImpl(config=self._config) + + @cached_property + def get_worker_group_annotations(self) -> DigitalenergyClusterGetWorkerGroupAnnotationsImpl: + return DigitalenergyClusterGetWorkerGroupAnnotationsImpl(config=self._config) + + @cached_property + def get_worker_group_labels(self) -> DigitalenergyClusterGetWorkerGroupLabelsImpl: + return DigitalenergyClusterGetWorkerGroupLabelsImpl(config=self._config) + + @cached_property + def get_worker_group_taints(self) -> DigitalenergyClusterGetWorkerGroupTaintsImpl: + return DigitalenergyClusterGetWorkerGroupTaintsImpl(config=self._config) + + @cached_property + def join_pool_vms(self) -> DigitalenergyClusterJoinPoolVMsImpl: + return DigitalenergyClusterJoinPoolVMsImpl(config=self._config) + + @cached_property + def list(self) -> DigitalenergyClusterListImpl: + return DigitalenergyClusterListImpl(config=self._config) + + @cached_property + def list_kubectl_resources(self) -> DigitalenergyClusterListKubectlResourcesImpl: + return DigitalenergyClusterListKubectlResourcesImpl(config=self._config) + + @cached_property + def list_load_balancers(self) -> DigitalenergyClusterListLoadBalancersImpl: + return DigitalenergyClusterListLoadBalancersImpl(config=self._config) + + @cached_property + def list_masters(self) -> DigitalenergyClusterListMastersImpl: + return DigitalenergyClusterListMastersImpl(config=self._config) + + @cached_property + def list_worker_groups(self) -> DigitalenergyClusterListWorkerGroupsImpl: + return DigitalenergyClusterListWorkerGroupsImpl(config=self._config) + + @cached_property + def list_workers(self) -> DigitalenergyClusterListWorkersImpl: + return DigitalenergyClusterListWorkersImpl(config=self._config) + + @cached_property + def load_balancers(self) -> DigitalenergyClusterLoadBalancersImpl: + return DigitalenergyClusterLoadBalancersImpl(config=self._config) + + @cached_property + def network_describe(self) -> DigitalenergyClusterNetworkDescribeImpl: + return DigitalenergyClusterNetworkDescribeImpl(config=self._config) + + @cached_property + def resize_worker_group(self) -> DigitalenergyClusterResizeWorkerGroupImpl: + return DigitalenergyClusterResizeWorkerGroupImpl(config=self._config) + + @cached_property + def set_kube_version(self) -> DigitalenergyClusterSetKubeVersionImpl: + return DigitalenergyClusterSetKubeVersionImpl(config=self._config) + + @cached_property + def set_load_balancer_status(self) -> DigitalenergyClusterSetLoadBalancerStatusImpl: + return DigitalenergyClusterSetLoadBalancerStatusImpl(config=self._config) + + @cached_property + def set_master_status(self) -> DigitalenergyClusterSetMasterStatusImpl: + return DigitalenergyClusterSetMasterStatusImpl(config=self._config) + + @cached_property + def set_pool_vm_status(self) -> DigitalenergyClusterSetPoolVMStatusImpl: + return DigitalenergyClusterSetPoolVMStatusImpl(config=self._config) + + @cached_property + def set_status(self) -> DigitalenergyClusterSetStatusImpl: + return DigitalenergyClusterSetStatusImpl(config=self._config) + + @cached_property + def set_worker_status(self) -> DigitalenergyClusterSetWorkerStatusImpl: + return DigitalenergyClusterSetWorkerStatusImpl(config=self._config) + + @cached_property + def update_cni_config(self) -> DigitalenergyClusterUpdateCNIConfigImpl: + return DigitalenergyClusterUpdateCNIConfigImpl(config=self._config) + + @cached_property + def update_config(self) -> DigitalenergyClusterUpdateConfigImpl: + return DigitalenergyClusterUpdateConfigImpl(config=self._config) + + @cached_property + def update_info(self) -> DigitalenergyClusterUpdateInfoImpl: + return DigitalenergyClusterUpdateInfoImpl(config=self._config) + + @cached_property + def update_owner_id(self) -> DigitalenergyClusterUpdateOwnerIdImpl: + return DigitalenergyClusterUpdateOwnerIdImpl(config=self._config) + + @cached_property + def update_worker_group(self) -> DigitalenergyClusterUpdateWorkerGroupImpl: + return DigitalenergyClusterUpdateWorkerGroupImpl(config=self._config) + + @cached_property + def update_worker_group_annotations(self) -> DigitalenergyClusterUpdateWorkerGroupAnnotationsImpl: + return DigitalenergyClusterUpdateWorkerGroupAnnotationsImpl(config=self._config) + + @cached_property + def update_worker_group_labels(self) -> DigitalenergyClusterUpdateWorkerGroupLabelsImpl: + return DigitalenergyClusterUpdateWorkerGroupLabelsImpl(config=self._config) + + @cached_property + def update_worker_group_taints(self) -> DigitalenergyClusterUpdateWorkerGroupTaintsImpl: + return DigitalenergyClusterUpdateWorkerGroupTaintsImpl(config=self._config) + + @cached_property + def verify(self) -> DigitalenergyClusterVerifyImpl: + return DigitalenergyClusterVerifyImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/add_load_balancers.py b/src/digital_energy_sdk/api/digitalenergy/cluster/add_load_balancers.py new file mode 100644 index 0000000..e3963ef --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/add_load_balancers.py @@ -0,0 +1,101 @@ +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 results as _results + + +class DenergyRuntimeType(Enum): + CRIO = 'crio' + CONTAINERD = 'containerd' + + +class DigitalenergyClusterAddLoadBalancersImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/addLoadBalancers' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'dynamix_rg_id': 'dynamixRGId', + 'load_balancer_sep_id': 'loadBalancerSEPId', + 'load_balancer_sep_pool': 'loadBalancerSEPPool', + 'load_balancer_count': 'loadBalancerCount', + 'load_balancer_cpu_count': 'loadBalancerCPUCount', + 'load_balancer_memory_size': 'loadBalancerMemorySize', + 'load_balancer_disk_size': 'loadBalancerDiskSize', + 'load_balancer_gpu_ids': 'loadBalancerGpuIds', + 'load_balancer_cloud_init': 'loadBalancerCloudInit', + 'use_custom_external_lb_addresses': 'useCustomExternalLBAddresses', + 'use_custom_internal_lb_addresses': 'useCustomInternalLBAddresses', + 'external_lb_addresses': 'externalLBAddresses', + 'internal_lb_addresses': 'internalLBAddresses', + 'enable_custom_hostnames': 'enableCustomHostnames', + 'load_balancer_hostnames': 'loadBalancerHostnames', + 'dynamix_app_id': 'dynamixAppId', + 'dynamix_app_secret': 'dynamixAppSecret', + 'dynamix_url': 'dynamixURL', + 'dynamix_ssourl': 'dynamixSSOURL', + 'denergy_runtime_type': 'denergyRuntimeType', + 'domain_resolvers': 'domainResolvers', + 'package_repository': 'packageRepository', + 'load_balancer_user_usernames': 'loadBalancerUserUsernames', + 'load_balancer_user_passwords': 'loadBalancerUserPasswords', + 'load_balancer_root_usernames': 'loadBalancerRootUsernames', + 'load_balancer_root_passwords': 'loadBalancerRootPasswords', + 'load_balancer_external_ip_addresses': 'loadBalancerExternalIPAddresses', + 'load_balancer_internal_ip_addresses': 'loadBalancerInternalIPAddresses', + 'load_balancer_secure_shell_ports': 'loadBalancerSecureShellPorts', + 'load_balancer_machine_os_types': 'loadBalancerMachineOSTypes', + 'load_balancer_machine_os_builds': 'loadBalancerMachineOSBuilds', + 'machine_os_type': 'machineOSType', + 'machine_os_image_id': 'machineOSImageId', + 'machine_os_build': 'machineOSBuild', + 'storage_policy_id': 'storagePolicyId', + } + + def __call__( + self, + *, + cluster_id: int, + dynamix_rg_id: int | None = None, + load_balancer_sep_id: int | None = None, + load_balancer_sep_pool: str | None = None, + load_balancer_count: int, + load_balancer_cpu_count: int | None = None, + load_balancer_memory_size: int | None = None, + load_balancer_disk_size: int | None = None, + load_balancer_gpu_ids: list[int] | None = None, + load_balancer_cloud_init: str | None = None, + use_custom_external_lb_addresses: bool | None = None, + use_custom_internal_lb_addresses: bool | None = None, + external_lb_addresses: list[str] | None = None, + internal_lb_addresses: list[str] | None = None, + enable_custom_hostnames: bool | None = None, + load_balancer_hostnames: list[str] | None = None, + dynamix_app_id: str | None = None, + dynamix_app_secret: str | None = None, + dynamix_url: str | None = None, + dynamix_ssourl: str | None = None, + denergy_runtime_type: DenergyRuntimeType | None = None, + domain_resolvers: list[str] | None = None, + package_repository: int | None = None, + load_balancer_user_usernames: list[str] | None = None, + load_balancer_user_passwords: list[str] | None = None, + load_balancer_root_usernames: list[str] | None = None, + load_balancer_root_passwords: list[str] | None = None, + load_balancer_external_ip_addresses: list[str] | None = None, + load_balancer_internal_ip_addresses: list[str] | None = None, + load_balancer_secure_shell_ports: list[int] | None = None, + load_balancer_machine_os_types: list[str] | None = None, + load_balancer_machine_os_builds: list[str] | None = None, + machine_os_type: str | None = None, + machine_os_image_id: int | None = None, + machine_os_build: str | None = None, + storage_policy_id: int | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/add_masters.py b/src/digital_energy_sdk/api/digitalenergy/cluster/add_masters.py new file mode 100644 index 0000000..9a61cd6 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/add_masters.py @@ -0,0 +1,99 @@ +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 results as _results + + +class DenergyRuntimeType(Enum): + CRIO = 'crio' + CONTAINERD = 'containerd' + + +class DigitalenergyClusterAddMastersImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/addMasters' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'dynamix_rg_id': 'dynamixRGId', + 'master_sep_id': 'masterSEPId', + 'master_sep_pool': 'masterSEPPool', + 'master_count': 'masterCount', + 'master_cpu_count': 'masterCPUCount', + 'master_memory_size': 'masterMemorySize', + 'master_disk_size': 'masterDiskSize', + 'master_gpu_ids': 'masterGpuIds', + 'master_cloud_init': 'masterCloudInit', + 'use_custom_master_ip_addresses': 'useCustomMasterIPAddresses', + 'master_addresses': 'masterAddresses', + 'enable_custom_hostnames': 'enableCustomHostnames', + 'master_hostnames': 'masterHostnames', + 'dynamix_app_id': 'dynamixAppId', + 'dynamix_app_secret': 'dynamixAppSecret', + 'dynamix_url': 'dynamixURL', + 'dynamix_ssourl': 'dynamixSSOURL', + 'denergy_runtime_type': 'denergyRuntimeType', + 'domain_resolvers': 'domainResolvers', + 'kube_container_repository': 'kubeContainerRepository', + 'package_repository': 'packageRepository', + 'initial_secure_shell_port': 'initialSecureShellPort', + 'master_nodes_user_usernames': 'masterNodesUserUsernames', + 'master_nodes_user_passwords': 'masterNodesUserPasswords', + 'master_nodes_root_usernames': 'masterNodesRootUsernames', + 'master_nodes_root_passwords': 'masterNodesRootPasswords', + 'master_nodes_secure_shell_ports': 'masterNodesSecureShellPorts', + 'master_nodes_external_ip_adresses': 'masterNodesExternalIPAdresses', + 'master_nodes_machine_os_types': 'masterNodesMachineOSTypes', + 'master_nodes_machine_os_builds': 'masterNodesMachineOSBuilds', + 'machine_os_type': 'machineOSType', + 'machine_os_image_id': 'machineOSImageId', + 'machine_os_build': 'machineOSBuild', + 'storage_policy_id': 'storagePolicyId', + } + + def __call__( + self, + *, + cluster_id: int, + dynamix_rg_id: int | None = None, + master_sep_id: int | None = None, + master_sep_pool: str | None = None, + master_count: int, + master_cpu_count: int | None = None, + master_memory_size: int | None = None, + master_disk_size: int | None = None, + master_gpu_ids: list[int] | None = None, + master_cloud_init: str | None = None, + use_custom_master_ip_addresses: bool | None = None, + master_addresses: list[str] | None = None, + enable_custom_hostnames: bool | None = None, + master_hostnames: list[str] | None = None, + dynamix_app_id: str | None = None, + dynamix_app_secret: str | None = None, + dynamix_url: str | None = None, + dynamix_ssourl: str | None = None, + denergy_runtime_type: DenergyRuntimeType | None = None, + domain_resolvers: list[str] | None = None, + kube_container_repository: int | None = None, + package_repository: int | None = None, + initial_secure_shell_port: int | None = None, + master_nodes_user_usernames: list[str] | None = None, + master_nodes_user_passwords: list[str] | None = None, + master_nodes_root_usernames: list[str] | None = None, + master_nodes_root_passwords: list[str] | None = None, + master_nodes_secure_shell_ports: list[int] | None = None, + master_nodes_external_ip_adresses: list[str] | None = None, + master_nodes_machine_os_types: list[str] | None = None, + master_nodes_machine_os_builds: list[str] | None = None, + machine_os_type: str | None = None, + machine_os_image_id: int | None = None, + machine_os_build: str | None = None, + storage_policy_id: int | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/add_pool_vms.py b/src/digital_energy_sdk/api/digitalenergy/cluster/add_pool_vms.py new file mode 100644 index 0000000..922a5dc --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/add_pool_vms.py @@ -0,0 +1,69 @@ +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 results as _results + + +class DenergyRuntimeType(Enum): + CRIO = 'crio' + CONTAINERD = 'containerd' + + +class DigitalenergyClusterAddPoolVMsImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/addPoolVMs' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'dynamix_rg_id': 'dynamixRGId', + 'dynamix_sep_id': 'dynamixSEPId', + 'dynamix_sep_pool': 'dynamixSEPPool', + 'pool_v_ms_count': 'poolVMsCount', + 'pool_vmcpu_count': 'poolVMCPUCount', + 'pool_vm_memory_size': 'poolVMMemorySize', + 'pool_vm_disk_size': 'poolVMDiskSize', + 'worker_group_name': 'workerGroupName', + 'worker_group_id': 'workerGroupId', + 'dynamix_app_id': 'dynamixAppId', + 'dynamix_app_secret': 'dynamixAppSecret', + 'dynamix_url': 'dynamixURL', + 'dynamix_ssourl': 'dynamixSSOURL', + 'dynamix_auth_type': 'dynamixAuthType', + 'dynamix_auth_domain': 'dynamixAuthDomain', + 'dynamix_username': 'dynamixUsername', + 'dynamix_password': 'dynamixPassword', + 'source_operator': 'sourceOperator', + 'denergy_runtime_type': 'denergyRuntimeType', + } + + def __call__( + self, + *, + cluster_id: int, + dynamix_rg_id: int, + dynamix_sep_id: int, + dynamix_sep_pool: str, + pool_v_ms_count: int, + pool_vmcpu_count: int, + pool_vm_memory_size: int, + pool_vm_disk_size: int, + worker_group_name: str, + worker_group_id: int | None = None, + dynamix_app_id: str | None = None, + dynamix_app_secret: str | None = None, + dynamix_url: str | None = None, + dynamix_ssourl: str | None = None, + dynamix_auth_type: str | None = None, + dynamix_auth_domain: str | None = None, + dynamix_username: str | None = None, + dynamix_password: str | None = None, + source_operator: str | None = None, + denergy_runtime_type: DenergyRuntimeType | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/add_workers.py b/src/digital_energy_sdk/api/digitalenergy/cluster/add_workers.py new file mode 100644 index 0000000..9b6c070 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/add_workers.py @@ -0,0 +1,113 @@ +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 results as _results + + +class DenergyRuntimeType(Enum): + CRIO = 'crio' + CONTAINERD = 'containerd' + + +class DigitalenergyClusterAddWorkersImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/addWorkers' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'dynamix_rg_id': 'dynamixRGId', + 'dynamix_sep_id': 'dynamixSEPId', + 'dynamix_sep_pool': 'dynamixSEPPool', + 'worker_group_name': 'workerGroupName', + 'worker_group_id': 'workerGroupId', + 'worker_count': 'workerCount', + 'worker_gpu_ids': 'workerGpuIds', + 'use_custom_worker_ip_addresses': 'useCustomWorkerIPAddresses', + 'worker_addresses': 'workerAddresses', + 'enable_custom_hostnames': 'enableCustomHostnames', + 'worker_hostnames': 'workerHostnames', + 'dynamix_auth_type': 'dynamixAuthType', + 'dynamix_auth_domain': 'dynamixAuthDomain', + 'dynamix_username': 'dynamixUsername', + 'dynamix_password': 'dynamixPassword', + 'dynamix_app_id': 'dynamixAppId', + 'dynamix_app_secret': 'dynamixAppSecret', + 'dynamix_url': 'dynamixURL', + 'dynamix_ssourl': 'dynamixSSOURL', + 'worker_labels': 'workerLabels', + 'worker_annotations': 'workerAnnotations', + 'worker_taints': 'workerTaints', + 'worker_cloud_init': 'workerCloudInit', + 'source_operator': 'sourceOperator', + 'denergy_runtime_type': 'denergyRuntimeType', + 'domain_resolvers': 'domainResolvers', + 'kube_container_repository': 'kubeContainerRepository', + 'package_repository': 'packageRepository', + 'initial_secure_shell_port': 'initialSecureShellPort', + 'worker_nodes_user_usernames': 'workerNodesUserUsernames', + 'worker_nodes_user_passwords': 'workerNodesUserPasswords', + 'worker_nodes_root_usernames': 'workerNodesRootUsernames', + 'worker_nodes_root_passwords': 'workerNodesRootPasswords', + 'worker_nodes_secure_shell_ports': 'workerNodesSecureShellPorts', + 'worker_nodes_external_ip_adresses': 'workerNodesExternalIPAdresses', + 'worker_nodes_machine_os_types': 'workerNodesMachineOSTypes', + 'worker_nodes_machine_os_builds': 'workerNodesMachineOSBuilds', + 'machine_os_type': 'machineOSType', + 'machine_os_image_id': 'machineOSImageId', + 'machine_os_build': 'machineOSBuild', + 'storage_policy_id': 'storagePolicyId', + } + + def __call__( + self, + *, + cluster_id: int, + dynamix_rg_id: int | None = None, + dynamix_sep_id: int | None = None, + dynamix_sep_pool: str | None = None, + worker_group_name: str, + worker_group_id: int | None = None, + worker_count: int, + worker_gpu_ids: list[int] | None = None, + use_custom_worker_ip_addresses: bool | None = None, + worker_addresses: list[str] | None = None, + enable_custom_hostnames: bool | None = None, + worker_hostnames: list[str] | None = None, + dynamix_auth_type: str | None = None, + dynamix_auth_domain: str | None = None, + dynamix_username: str | None = None, + dynamix_password: str | None = None, + dynamix_app_id: str | None = None, + dynamix_app_secret: str | None = None, + dynamix_url: str | None = None, + dynamix_ssourl: str | None = None, + worker_labels: list[str] | None = None, + worker_annotations: list[str] | None = None, + worker_taints: list[str] | None = None, + worker_cloud_init: str | None = None, + source_operator: str | None = None, + denergy_runtime_type: DenergyRuntimeType | None = None, + domain_resolvers: list[str] | None = None, + kube_container_repository: int | None = None, + package_repository: int | None = None, + initial_secure_shell_port: int | None = None, + worker_nodes_user_usernames: list[str] | None = None, + worker_nodes_user_passwords: list[str] | None = None, + worker_nodes_root_usernames: list[str] | None = None, + worker_nodes_root_passwords: list[str] | None = None, + worker_nodes_secure_shell_ports: list[int] | None = None, + worker_nodes_external_ip_adresses: list[str] | None = None, + worker_nodes_machine_os_types: list[str] | None = None, + worker_nodes_machine_os_builds: list[str] | None = None, + machine_os_type: str | None = None, + machine_os_image_id: int | None = None, + machine_os_build: str | None = None, + storage_policy_id: int | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/create.py b/src/digital_energy_sdk/api/digitalenergy/cluster/create.py new file mode 100644 index 0000000..c278e93 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/create.py @@ -0,0 +1,296 @@ +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 results as _results + + +class ClusterType(Enum): + DYNAMIX = 'dynamix' + GENERIC = 'generic' + DENERGY = 'denergy' + BAREMETAL = 'baremetal' + + +class DenergyRuntimeType(Enum): + CRIO = 'crio' + CONTAINERD = 'containerd' + + +class ContainerNetworkType(Enum): + FLANNEL = 'flannel' + CALICO = 'calico' + + +class DigitalenergyClusterCreateImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/create' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_hostname': 'clusterHostname', + 'cluster_name': 'clusterName', + 'cluster_type': 'clusterType', + 'denergy_runtime_type': 'denergyRuntimeType', + 'dynamix_k8_ci_id': 'dynamixK8CIId', + 'dynamix_rg_id': 'dynamixRGId', + 'dynamix_app_id': 'dynamixAppId', + 'dynamix_app_secret': 'dynamixAppSecret', + 'dynamix_url': 'dynamixURL', + 'dynamix_ssourl': 'dynamixSSOURL', + 'use_dynamix_extnet': 'useDynamixExtnet', + 'local_network_id': 'localNetworkId', + 'vins_global_network_id': 'vinsGlobalNetworkId', + 'global_network_id': 'globalNetworkId', + 'initial_secure_shell_port': 'initialSecureShellPort', + 'i_load_balancer_count': 'iLoadBalancerCount', + 'i_load_balancer_cpu_count': 'iLoadBalancerCPUCount', + 'i_load_balancer_memory_size': 'iLoadBalancerMemorySize', + 'i_load_balancer_disk_size': 'iLoadBalancerDiskSize', + 'i_load_balancer_gpu_ids': 'iLoadBalancerGpuIds', + 'i_load_balancer_cloud_init': 'iLoadBalancerCloudInit', + 'use_custom_external_lb_addresses': 'useCustomExternalLBAddresses', + 'use_custom_internal_lb_addresses': 'useCustomInternalLBAddresses', + 'external_lb_addresses': 'externalLBAddresses', + 'internal_lb_addresses': 'internalLBAddresses', + 'enable_custom_load_balancer_hostnames': 'enableCustomLoadBalancerHostnames', + 'load_balancer_hostnames': 'loadBalancerHostnames', + 'load_balancer_user_usernames': 'loadBalancerUserUsernames', + 'load_balancer_user_passwords': 'loadBalancerUserPasswords', + 'load_balancer_root_usernames': 'loadBalancerRootUsernames', + 'load_balancer_root_passwords': 'loadBalancerRootPasswords', + 'load_balancer_external_ip_addresses': 'loadBalancerExternalIPAddresses', + 'load_balancer_internal_ip_addresses': 'loadBalancerInternalIPAddresses', + 'load_balancer_secure_shell_ports': 'loadBalancerSecureShellPorts', + 'load_balancer_machine_os_types': 'loadBalancerMachineOSTypes', + 'load_balancer_machine_os_builds': 'loadBalancerMachineOSBuilds', + 'kube_version': 'kubeVersion', + 'kube_config': 'kubeConfig', + 'machine_os_type': 'machineOSType', + 'machine_os_build': 'machineOSBuild', + 'machine_provider': 'machineProvider', + 'machine_os_image_id': 'machineOSImageId', + 'master_count': 'masterCount', + 'master_cpu_count': 'masterCPUCount', + 'master_disk_size': 'masterDiskSize', + 'master_memory_size': 'masterMemorySize', + 'master_gpu_ids': 'masterGpuIds', + 'master_cloud_init': 'masterCloudInit', + 'use_custom_master_ip_addresses': 'useCustomMasterIPAddresses', + 'master_addresses': 'masterAddresses', + 'enable_custom_master_hostnames': 'enableCustomMasterHostnames', + 'master_hostnames': 'masterHostnames', + 'master_nodes_user_usernames': 'masterNodesUserUsernames', + 'master_nodes_user_passwords': 'masterNodesUserPasswords', + 'master_nodes_root_usernames': 'masterNodesRootUsernames', + 'master_nodes_root_passwords': 'masterNodesRootPasswords', + 'master_nodes_secure_shell_ports': 'masterNodesSecureShellPorts', + 'master_nodes_external_ip_adresses': 'masterNodesExternalIPAdresses', + 'master_nodes_machine_os_types': 'masterNodesMachineOSTypes', + 'master_nodes_machine_os_builds': 'masterNodesMachineOSBuilds', + 'provide_dns': 'provideDNS', + 'worker_count': 'workerCount', + 'worker_cpu_count': 'workerCPUCount', + 'worker_disk_size': 'workerDiskSize', + 'worker_memory_size': 'workerMemorySize', + 'worker_gpu_ids': 'workerGpuIds', + 'use_custom_worker_ip_addresses': 'useCustomWorkerIPAddresses', + 'worker_addresses': 'workerAddresses', + 'enable_custom_worker_hostnames': 'enableCustomWorkerHostnames', + 'worker_hostnames': 'workerHostnames', + 'worker_nodes_user_usernames': 'workerNodesUserUsernames', + 'worker_nodes_user_passwords': 'workerNodesUserPasswords', + 'worker_nodes_root_usernames': 'workerNodesRootUsernames', + 'worker_nodes_root_passwords': 'workerNodesRootPasswords', + 'worker_nodes_secure_shell_ports': 'workerNodesSecureShellPorts', + 'worker_nodes_external_ip_adresses': 'workerNodesExternalIPAdresses', + 'worker_nodes_machine_os_types': 'workerNodesMachineOSTypes', + 'worker_nodes_machine_os_builds': 'workerNodesMachineOSBuilds', + 'worker_cloud_init': 'workerCloudInit', + 'worker_group_name': 'workerGroupName', + 'worker_annotations': 'workerAnnotations', + 'worker_labels': 'workerLabels', + 'worker_taints': 'workerTaints', + 'ext_virtual_address': 'extVirtualAddress', + 'int_virtual_address': 'intVirtualAddress', + 'kube_container_repository': 'kubeContainerRepository', + 'app_container_repository': 'appContainerRepository', + 'package_repository': 'packageRepository', + 'chart_repository': 'chartRepository', + 'certificate_key': 'certificateKey', + 'audit_enable': 'auditEnable', + 'audit_log_max_backup': 'auditLogMaxBackup', + 'audit_log_max_size': 'auditLogMaxSize', + 'audit_log_max_age': 'auditLogMaxAge', + 'audit_policy': 'auditPolicy', + 'dynamix_sep_id': 'dynamixSEPId', + 'dynamix_sep_pool': 'dynamixSEPPool', + 'balancers_dynamix_sep_id': 'balancersDynamixSEPId', + 'balancers_dynamix_sep_pool': 'balancersDynamixSEPPool', + 'masters_dynamix_sep_id': 'mastersDynamixSEPId', + 'masters_dynamix_sep_pool': 'mastersDynamixSEPPool', + 'workers_dynamix_sep_id': 'workersDynamixSEPId', + 'workers_dynamix_sep_pool': 'workersDynamixSEPPool', + 'container_network_type': 'containerNetworkType', + 'custom_mtu': 'customMTU', + 'save_computes_on_failed_k8_s_creation': 'saveComputesOnFailedK8SCreation', + 'domain_resolvers': 'domainResolvers', + 'dynamix_auth_type': 'dynamixAuthType', + 'dynamix_auth_domain': 'dynamixAuthDomain', + 'dynamix_username': 'dynamixUsername', + 'dynamix_password': 'dynamixPassword', + 'install_trivy': 'installTrivy', + 'install_kyverno': 'installKyverno', + 'install_rbac_manager': 'installRbacManager', + 'install_pod_logger': 'installPodLogger', + 'install_criobox': 'installCriobox', + 'install_monitoring': 'installMonitoring', + 'install_csi_dynamix': 'installCsiDynamix', + 'install_ess': 'installEss', + 'ess_auth_token': 'essAuthToken', + 'certificate_validity_before': 'certificateValidityBefore', + 'storage_policy_id': 'storagePolicyId', + 'certificate_issuer_id': 'certificateIssuerId', + 'create_cluster_template': 'createClusterTemplate', + 'cluster_template_name': 'clusterTemplateName', + 'cluster_template_description': 'clusterTemplateDescription', + 'shared_cluster_template': 'sharedClusterTemplate', + } + + def __call__( + self, + *, + cluster_hostname: str | None = None, + cluster_name: str | None = None, + description: str | None = None, + cluster_type: ClusterType, + denergy_runtime_type: DenergyRuntimeType | None = None, + dynamix_k8_ci_id: int | None = None, + dynamix_rg_id: int | None = None, + dynamix_app_id: str | None = None, + dynamix_app_secret: str | None = None, + dynamix_url: str | None = None, + dynamix_ssourl: str | None = None, + use_dynamix_extnet: bool | None = None, + local_network_id: int | None = None, + vins_global_network_id: int | None = None, + global_network_id: int | None = None, + initial_secure_shell_port: int = 22, + i_load_balancer_count: int = 1, + i_load_balancer_cpu_count: int = 4, + i_load_balancer_memory_size: int = 4096, + i_load_balancer_disk_size: int = 10, + i_load_balancer_gpu_ids: list[int] | None = None, + i_load_balancer_cloud_init: str | None = None, + use_custom_external_lb_addresses: bool | None = None, + use_custom_internal_lb_addresses: bool | None = None, + external_lb_addresses: list[str] | None = None, + internal_lb_addresses: list[str] | None = None, + enable_custom_load_balancer_hostnames: bool | None = None, + load_balancer_hostnames: list[str] | None = None, + load_balancer_user_usernames: list[str] | None = None, + load_balancer_user_passwords: list[str] | None = None, + load_balancer_root_usernames: list[str] | None = None, + load_balancer_root_passwords: list[str] | None = None, + load_balancer_external_ip_addresses: list[str] | None = None, + load_balancer_internal_ip_addresses: list[str] | None = None, + load_balancer_secure_shell_ports: list[int] | None = None, + load_balancer_machine_os_types: list[str] | None = None, + load_balancer_machine_os_builds: list[str] | None = None, + kube_version: str | None = None, + kube_config: str | None = None, + machine_os_type: str | None = None, + machine_os_build: str | None = None, + machine_provider: str | None = None, + machine_os_image_id: int | None = None, + master_count: int = 2, + master_cpu_count: int = 4, + master_disk_size: int = 8, + master_memory_size: int = 4096, + master_gpu_ids: list[int] | None = None, + master_cloud_init: str | None = None, + use_custom_master_ip_addresses: bool | None = None, + master_addresses: list[str] | None = None, + enable_custom_master_hostnames: bool | None = None, + master_hostnames: list[str] | None = None, + master_nodes_user_usernames: list[str] | None = None, + master_nodes_user_passwords: list[str] | None = None, + master_nodes_root_usernames: list[str] | None = None, + master_nodes_root_passwords: list[str] | None = None, + master_nodes_secure_shell_ports: list[int] | None = None, + master_nodes_external_ip_adresses: list[str] | None = None, + master_nodes_machine_os_types: list[str] | None = None, + master_nodes_machine_os_builds: list[str] | None = None, + provide_dns: bool | None = None, + worker_count: int = 3, + worker_cpu_count: int = 6, + worker_disk_size: int = 8, + worker_memory_size: int = 8192, + worker_gpu_ids: list[int] | None = None, + use_custom_worker_ip_addresses: bool | None = None, + worker_addresses: list[str] | None = None, + enable_custom_worker_hostnames: bool | None = None, + worker_hostnames: list[str] | None = None, + worker_nodes_user_usernames: list[str] | None = None, + worker_nodes_user_passwords: list[str] | None = None, + worker_nodes_root_usernames: list[str] | None = None, + worker_nodes_root_passwords: list[str] | None = None, + worker_nodes_secure_shell_ports: list[int] | None = None, + worker_nodes_external_ip_adresses: list[str] | None = None, + worker_nodes_machine_os_types: list[str] | None = None, + worker_nodes_machine_os_builds: list[str] | None = None, + worker_cloud_init: str | None = None, + worker_group_name: str | None = None, + worker_annotations: list[str] | None = None, + worker_labels: list[str] | None = None, + worker_taints: list[str] | None = None, + ext_virtual_address: str | None = None, + int_virtual_address: str | None = None, + kube_container_repository: int | None = None, + app_container_repository: int | None = None, + package_repository: int | None = None, + chart_repository: int | None = None, + certificate_key: str | None = None, + audit_enable: bool | None = None, + audit_log_max_backup: int | None = None, + audit_log_max_size: int | None = None, + audit_log_max_age: int | None = None, + audit_policy: str | None = None, + dynamix_sep_id: int | None = None, + dynamix_sep_pool: str | None = None, + balancers_dynamix_sep_id: int | None = None, + balancers_dynamix_sep_pool: str | None = None, + masters_dynamix_sep_id: int | None = None, + masters_dynamix_sep_pool: str | None = None, + workers_dynamix_sep_id: int | None = None, + workers_dynamix_sep_pool: str | None = None, + container_network_type: ContainerNetworkType | None = None, + custom_mtu: int | None = None, + save_computes_on_failed_k8_s_creation: bool | None = None, + domain_resolvers: list[str] | None = None, + dynamix_auth_type: str | None = None, + dynamix_auth_domain: str | None = None, + dynamix_username: str | None = None, + dynamix_password: str | None = None, + install_trivy: bool | None = None, + install_kyverno: bool | None = None, + install_rbac_manager: bool | None = None, + install_pod_logger: bool | None = None, + install_criobox: bool | None = None, + install_monitoring: bool | None = None, + install_csi_dynamix: bool | None = None, + install_ess: bool | None = None, + ess_auth_token: str | None = None, + certificate_validity_before: str | None = None, + storage_policy_id: int | None = None, + certificate_issuer_id: int | None = None, + create_cluster_template: bool | None = None, + cluster_template_name: str | None = None, + cluster_template_description: str | None = None, + shared_cluster_template: bool | None = None, + ) -> _results.ClusterTaskCreationResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/create_from_template.py b/src/digital_energy_sdk/api/digitalenergy/cluster/create_from_template.py new file mode 100644 index 0000000..612abe2 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/create_from_template.py @@ -0,0 +1,27 @@ +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 results as _results + + +class DigitalenergyClusterCreateFromTemplateImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/createFromTemplate' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_template_id': 'clusterTemplateId', + } + + def __call__( + self, + *, + cluster_template_id: int, + descriprion: str | None = None, + ) -> _results.ClusterTaskCreationResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/create_worker_group.py b/src/digital_energy_sdk/api/digitalenergy/cluster/create_worker_group.py new file mode 100644 index 0000000..d8aa6f2 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/create_worker_group.py @@ -0,0 +1,122 @@ +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 results as _results + + +class DigitalenergyClusterCreateWorkerGroupImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/createWorkerGroup' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'worker_group_name': 'workerGroupName', + 'worker_count': 'workerCount', + 'worker_gpu_ids': 'workerGpuIds', + 'use_custom_worker_ip_addresses': 'useCustomWorkerIPAddresses', + 'worker_addresses': 'workerAddresses', + 'enable_custom_hostnames': 'enableCustomHostnames', + 'worker_hostnames': 'workerHostnames', + 'worker_cpu_count': 'workerCPUCount', + 'worker_memory_size': 'workerMemorySize', + 'worker_disk_size': 'workerDiskSize', + 'kube_version': 'kubeVersion', + 'runtime_type': 'runtimeType', + 'enable_autoscaling': 'enableAutoscaling', + 'max_worker_count': 'maxWorkerCount', + 'min_worker_count': 'minWorkerCount', + 'pool_v_ms_count': 'poolVMsCount', + 'machine_provider': 'machineProvider', + 'machine_os_type': 'machineOSType', + 'machine_os_image_id': 'machineOSImageId', + 'dynamix_app_id': 'dynamixAppId', + 'dynamix_app_secret': 'dynamixAppSecret', + 'dynamix_url': 'dynamixURL', + 'dynamix_ssourl': 'dynamixSSOURL', + 'dynamix_auth_type': 'dynamixAuthType', + 'dynamix_auth_domain': 'dynamixAuthDomain', + 'dynamix_username': 'dynamixUsername', + 'dynamix_password': 'dynamixPassword', + 'dynamix_rg_id': 'dynamixRGId', + 'dynamix_sep_id': 'dynamixSEPId', + 'dynamix_sep_pool': 'dynamixSEPPool', + 'worker_annotations': 'workerAnnotations', + 'worker_labels': 'workerLabels', + 'worker_taints': 'workerTaints', + 'worker_cloud_init': 'workerCloudInit', + 'domain_resolvers': 'domainResolvers', + 'kube_container_repository': 'kubeContainerRepository', + 'app_container_repository': 'appContainerRepository', + 'package_repository': 'packageRepository', + 'chart_repository': 'chartRepository', + 'worker_nodes_user_usernames': 'workerNodesUserUsernames', + 'worker_nodes_user_passwords': 'workerNodesUserPasswords', + 'worker_nodes_root_usernames': 'workerNodesRootUsernames', + 'worker_nodes_root_passwords': 'workerNodesRootPasswords', + 'worker_nodes_secure_shell_ports': 'workerNodesSecureShellPorts', + 'worker_nodes_external_ip_adresses': 'workerNodesExternalIPAdresses', + 'worker_nodes_machine_os_types': 'workerNodesMachineOSTypes', + 'worker_nodes_machine_os_builds': 'workerNodesMachineOSBuilds', + 'storage_policy_id': 'storagePolicyId', + } + + def __call__( + self, + *, + cluster_id: int, + worker_group_name: str, + worker_count: int | None = None, + worker_gpu_ids: list[int] | None = None, + use_custom_worker_ip_addresses: bool | None = None, + worker_addresses: list[str] | None = None, + enable_custom_hostnames: bool | None = None, + worker_hostnames: list[str] | None = None, + worker_cpu_count: int | None = None, + worker_memory_size: int | None = None, + worker_disk_size: int | None = None, + kube_version: str | None = None, + runtime_type: str | None = None, + enable_autoscaling: bool | None = None, + max_worker_count: int | None = None, + min_worker_count: int | None = None, + pool_v_ms_count: int | None = None, + machine_provider: str | None = None, + machine_os_type: str | None = None, + machine_os_image_id: int | None = None, + dynamix_app_id: str | None = None, + dynamix_app_secret: str | None = None, + dynamix_url: str | None = None, + dynamix_ssourl: str | None = None, + dynamix_auth_type: str | None = None, + dynamix_auth_domain: str | None = None, + dynamix_username: str | None = None, + dynamix_password: str | None = None, + dynamix_rg_id: int | None = None, + dynamix_sep_id: int | None = None, + dynamix_sep_pool: str | None = None, + worker_annotations: list[str] | None = None, + worker_labels: list[str] | None = None, + worker_taints: list[str] | None = None, + worker_cloud_init: str | None = None, + domain_resolvers: list[str] | None = None, + kube_container_repository: int | None = None, + app_container_repository: int | None = None, + package_repository: int | None = None, + chart_repository: int | None = None, + worker_nodes_user_usernames: list[str] | None = None, + worker_nodes_user_passwords: list[str] | None = None, + worker_nodes_root_usernames: list[str] | None = None, + worker_nodes_root_passwords: list[str] | None = None, + worker_nodes_secure_shell_ports: list[int] | None = None, + worker_nodes_external_ip_adresses: list[str] | None = None, + worker_nodes_machine_os_types: list[str] | None = None, + worker_nodes_machine_os_builds: list[str] | None = None, + storage_policy_id: int | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/delete.py b/src/digital_energy_sdk/api/digitalenergy/cluster/delete.py new file mode 100644 index 0000000..ff0a03b --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/delete.py @@ -0,0 +1,43 @@ +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 results as _results + + +class DigitalenergyClusterDeleteImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/delete' + http_method = HTTPMethod.POST + param_aliases = { + 'delete_cluster_record': 'deleteClusterRecord', + 'dynamix_app_id': 'dynamixAppId', + 'dynamix_app_secret': 'dynamixAppSecret', + 'dynamix_url': 'dynamixURL', + 'dynamix_ssourl': 'dynamixSSOURL', + 'dynamix_auth_type': 'dynamixAuthType', + 'dynamix_auth_domain': 'dynamixAuthDomain', + 'dynamix_username': 'dynamixUsername', + 'dynamix_password': 'dynamixPassword', + } + + def __call__( + self, + *, + id: int, + delete_cluster_record: bool | None = None, + dynamix_app_id: str | None = None, + dynamix_app_secret: str | None = None, + dynamix_url: str | None = None, + dynamix_ssourl: str | None = None, + dynamix_auth_type: str | None = None, + dynamix_auth_domain: str | None = None, + dynamix_username: str | None = None, + dynamix_password: str | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/delete_load_balancers.py b/src/digital_energy_sdk/api/digitalenergy/cluster/delete_load_balancers.py new file mode 100644 index 0000000..9841aec --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/delete_load_balancers.py @@ -0,0 +1,46 @@ +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 results as _results + + +class DigitalenergyClusterDeleteLoadBalancersImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/deleteLoadBalancers' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'load_balancer_ids': 'loadBalancerIds', + 'delete_load_balancers_record': 'deleteLoadBalancersRecord', + 'dynamix_app_id': 'dynamixAppId', + 'dynamix_app_secret': 'dynamixAppSecret', + 'dynamix_url': 'dynamixURL', + 'dynamix_ssourl': 'dynamixSSOURL', + 'dynamix_auth_type': 'dynamixAuthType', + 'dynamix_auth_domain': 'dynamixAuthDomain', + 'dynamix_username': 'dynamixUsername', + 'dynamix_password': 'dynamixPassword', + } + + def __call__( + self, + *, + cluster_id: int, + load_balancer_ids: list[int] | None = None, + delete_load_balancers_record: bool | None = None, + dynamix_app_id: str | None = None, + dynamix_app_secret: str | None = None, + dynamix_url: str | None = None, + dynamix_ssourl: str | None = None, + dynamix_auth_type: str | None = None, + dynamix_auth_domain: str | None = None, + dynamix_username: str | None = None, + dynamix_password: str | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/delete_masters.py b/src/digital_energy_sdk/api/digitalenergy/cluster/delete_masters.py new file mode 100644 index 0000000..b7f7b4d --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/delete_masters.py @@ -0,0 +1,48 @@ +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 results as _results + + +class DigitalenergyClusterDeleteMastersImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/deleteMasters' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'master_ids': 'masterIds', + 'delete_masters_record': 'deleteMastersRecord', + 'force_delete': 'forceDelete', + 'dynamix_app_id': 'dynamixAppId', + 'dynamix_app_secret': 'dynamixAppSecret', + 'dynamix_url': 'dynamixURL', + 'dynamix_ssourl': 'dynamixSSOURL', + 'dynamix_auth_type': 'dynamixAuthType', + 'dynamix_auth_domain': 'dynamixAuthDomain', + 'dynamix_username': 'dynamixUsername', + 'dynamix_password': 'dynamixPassword', + } + + def __call__( + self, + *, + cluster_id: int, + master_ids: list[int] | None = None, + delete_masters_record: bool | None = None, + force_delete: bool | None = None, + dynamix_app_id: str | None = None, + dynamix_app_secret: str | None = None, + dynamix_url: str | None = None, + dynamix_ssourl: str | None = None, + dynamix_auth_type: str | None = None, + dynamix_auth_domain: str | None = None, + dynamix_username: str | None = None, + dynamix_password: str | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/delete_pool_vms.py b/src/digital_energy_sdk/api/digitalenergy/cluster/delete_pool_vms.py new file mode 100644 index 0000000..b9ff7fb --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/delete_pool_vms.py @@ -0,0 +1,52 @@ +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 results as _results + + +class DigitalenergyClusterDeletePoolVMsImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/deletePoolVMs' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'pool_vm_ids': 'poolVMIds', + 'worker_group_name': 'workerGroupName', + 'worker_group_id': 'workerGroupId', + 'delete_pool_v_ms_record': 'deletePoolVMsRecord', + 'dynamix_app_id': 'dynamixAppId', + 'dynamix_app_secret': 'dynamixAppSecret', + 'dynamix_url': 'dynamixURL', + 'dynamix_ssourl': 'dynamixSSOURL', + 'dynamix_auth_type': 'dynamixAuthType', + 'dynamix_auth_domain': 'dynamixAuthDomain', + 'dynamix_username': 'dynamixUsername', + 'dynamix_password': 'dynamixPassword', + 'source_operator': 'sourceOperator', + } + + def __call__( + self, + *, + cluster_id: int | None = None, + pool_vm_ids: list[int] | None = None, + worker_group_name: str | None = None, + worker_group_id: int | None = None, + delete_pool_v_ms_record: bool | None = None, + dynamix_app_id: str | None = None, + dynamix_app_secret: str | None = None, + dynamix_url: str | None = None, + dynamix_ssourl: str | None = None, + dynamix_auth_type: str | None = None, + dynamix_auth_domain: str | None = None, + dynamix_username: str | None = None, + dynamix_password: str | None = None, + source_operator: str | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/delete_worker_group.py b/src/digital_energy_sdk/api/digitalenergy/cluster/delete_worker_group.py new file mode 100644 index 0000000..60ae521 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/delete_worker_group.py @@ -0,0 +1,46 @@ +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 results as _results + + +class DigitalenergyClusterDeleteWorkerGroupImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/deleteWorkerGroup' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'worker_group_name': 'workerGroupName', + 'worker_group_id': 'workerGroupID', + 'dynamix_auth_type': 'dynamixAuthType', + 'dynamix_auth_domain': 'dynamixAuthDomain', + 'dynamix_username': 'dynamixUsername', + 'dynamix_password': 'dynamixPassword', + 'dynamix_app_id': 'dynamixAppId', + 'dynamix_app_secret': 'dynamixAppSecret', + 'dynamix_url': 'dynamixURL', + 'dynamix_ssourl': 'dynamixSSOURL', + } + + def __call__( + self, + *, + cluster_id: int | None = None, + worker_group_name: str | None = None, + worker_group_id: int | None = None, + dynamix_auth_type: str | None = None, + dynamix_auth_domain: str | None = None, + dynamix_username: str | None = None, + dynamix_password: str | None = None, + dynamix_app_id: str | None = None, + dynamix_app_secret: str | None = None, + dynamix_url: str | None = None, + dynamix_ssourl: str | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/delete_workers.py b/src/digital_energy_sdk/api/digitalenergy/cluster/delete_workers.py new file mode 100644 index 0000000..d3e7c10 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/delete_workers.py @@ -0,0 +1,52 @@ +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 results as _results + + +class DigitalenergyClusterDeleteWorkersImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/deleteWorkers' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'worker_ids': 'workerIds', + 'worker_group_name': 'workerGroupName', + 'worker_group_id': 'workerGroupId', + 'delete_workers_record': 'deleteWorkersRecord', + 'dynamix_auth_type': 'dynamixAuthType', + 'dynamix_auth_domain': 'dynamixAuthDomain', + 'dynamix_username': 'dynamixUsername', + 'dynamix_password': 'dynamixPassword', + 'dynamix_app_id': 'dynamixAppId', + 'dynamix_app_secret': 'dynamixAppSecret', + 'dynamix_url': 'dynamixURL', + 'dynamix_ssourl': 'dynamixSSOURL', + 'source_operator': 'sourceOperator', + } + + def __call__( + self, + *, + cluster_id: int, + worker_ids: list[int] | None = None, + worker_group_name: str | None = None, + worker_group_id: int | None = None, + delete_workers_record: bool | None = None, + dynamix_auth_type: str | None = None, + dynamix_auth_domain: str | None = None, + dynamix_username: str | None = None, + dynamix_password: str | None = None, + dynamix_app_id: str | None = None, + dynamix_app_secret: str | None = None, + dynamix_url: str | None = None, + dynamix_ssourl: str | None = None, + source_operator: str | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/describe.py b/src/digital_energy_sdk/api/digitalenergy/cluster/describe.py new file mode 100644 index 0000000..cb53b4c --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/describe.py @@ -0,0 +1,64 @@ +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 results as _results + + +class BriefsListItem(_ResultModel): + done: bool | None = Field(validation_alias='done', default=None) + error: bool | None = Field(validation_alias='error', default=None) + message: str | None = Field(validation_alias='message', default=None) + node_id: int | None = Field(validation_alias='nodeId', default=None) + operation: str | None = Field(validation_alias='operation', default=None) + report_id: int | None = Field(validation_alias='reportId', default=None) + start_timestamp: str | None = Field(validation_alias='startTimestamp', default=None) + stop_timestamp: str | None = Field(validation_alias='stopTimestamp', default=None) + subject_id: int | None = Field(validation_alias='subjectId', default=None) + total_fail: int | None = Field(validation_alias='totalFail', default=None) + total_info: int | None = Field(validation_alias='totalInfo', default=None) + total_pass: int | None = Field(validation_alias='totalPass', default=None) + total_warn: int | None = Field(validation_alias='totalWarn', default=None) + verification_type: str | None = Field(validation_alias='verificationType', default=None) + + +class VerificationBriefsItem(_ResultModel): + briefs_list: list[BriefsListItem] | None = Field(validation_alias='briefsList', default=None) + task_brief: _results.DelogicComtypePrtypeTaskBrief | None = Field(validation_alias='taskBrief', default=None) + + +class Result(_ResultModel): + incomplete_verification_task_briefs: list[_results.DelogicComtypePrtypeTaskBrief] | None = Field(validation_alias='incompleteVerificationTaskBriefs', default=None) + task_briefs: list[_results.DelogicComtypePrtypeTaskBrief] | None = Field(validation_alias='taskBriefs', default=None) + verification_briefs: list[VerificationBriefsItem] | None = Field(validation_alias='verificationBriefs', default=None) + + +class DigitalenergyClusterDescribeResult(_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 DigitalenergyClusterDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/describe' + http_method = HTTPMethod.POST + param_aliases = { + 'describe_tasks': 'describeTasks', + 'describe_verifications': 'describeVerifications', + } + + def __call__( + self, + *, + id: int, + describe_tasks: bool | None = None, + describe_verifications: bool | None = None, + ) -> DigitalenergyClusterDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/get.py b/src/digital_energy_sdk/api/digitalenergy/cluster/get.py new file mode 100644 index 0000000..67ad15c --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/get.py @@ -0,0 +1,204 @@ +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 results as _results + + +class DynamixVersion(_ResultModel): + major: int | None = Field(validation_alias='major', default=None) + minor: int | None = Field(validation_alias='minor', default=None) + patch: int | None = Field(validation_alias='patch', default=None) + + +class Cluster(_ResultModel): + app_container_repository: str | None = Field(validation_alias='appContainerRepository', default=None) + audit_enabled: bool | None = Field(validation_alias='auditEnabled', default=None) + certificate_key: str | None = Field(validation_alias='certificateKey', default=None) + certificate_validity_before: str | None = Field(validation_alias='certificateValidityBefore', default=None) + container_network_type: str | None = Field(validation_alias='containerNetworkType', default=None) + creation_date: str | None = Field(validation_alias='creationDate', default=None) + creation_error: str | None = Field(validation_alias='creationError', default=None) + custom_mtu: int | None = Field(validation_alias='customMTU', default=None) + denergy_id: int | None = Field(validation_alias='denergyId', default=None) + denergy_name: str | None = Field(validation_alias='denergyName', default=None) + denergy_status: str | None = Field(validation_alias='denergyStatus', default=None) + description: str | None = Field(validation_alias='description', default=None) + description_status: dict[Any, Any] | None = Field(validation_alias='descriptionStatus', default=None) + destroying_date: str | None = Field(validation_alias='destroyingDate', default=None) + destroying_error: str | None = Field(validation_alias='destroyingError', default=None) + dns_domain: str | None = Field(validation_alias='dnsDomain', default=None) + domain_resolvers: list[str] | None = Field(validation_alias='domainResolvers', default=None) + dynamix_ci_id: int | None = Field(validation_alias='dynamixCIId', default=None) + dynamix_create_task_id: str | None = Field(validation_alias='dynamixCreateTaskId', default=None) + dynamix_id: int | None = Field(validation_alias='dynamixId', default=None) + dynamix_k8_ci_id: int | None = Field(validation_alias='dynamixK8CIId', default=None) + dynamix_owner_id: int | None = Field(validation_alias='dynamixOwnerId', default=None) + dynamix_rg_id: int | None = Field(validation_alias='dynamixRGId', default=None) + dynamix_sep_id: int | None = Field(validation_alias='dynamixSEPId', default=None) + dynamix_sep_pool: str | None = Field(validation_alias='dynamixSEPPool', default=None) + dynamix_status: str | None = Field(validation_alias='dynamixStatus', default=None) + dynamix_tech_status: str | None = Field(validation_alias='dynamixTechStatus', default=None) + dynamix_url: str | None = Field(validation_alias='dynamixURL', default=None) + dynamix_version: DynamixVersion | None = Field(validation_alias='dynamixVersion', default=None) + encrypted: bool | None = Field(validation_alias='encrypted', default=None) + ess_auth_token: str | None = Field(validation_alias='essAuthToken', default=None) + ext_virtual_address: str | None = Field(validation_alias='extVirtualAddress', default=None) + ext_virtual_address_id: int | None = Field(validation_alias='extVirtualAddressId', default=None) + global_network_id: int | None = Field(validation_alias='globalNetworkId', default=None) + i_load_balancer_ids: list[int] | None = Field(validation_alias='iLoadBalancerIds', default=None) + id: int | None = Field(validation_alias='id', default=None) + initial_dynamix_sep_id: int | None = Field(validation_alias='initialDynamixSEPId', default=None) + initial_dynamix_sep_pool: str | None = Field(validation_alias='initialDynamixSEPPool', default=None) + initial_machine_os_build: str | None = Field(validation_alias='initialMachineOSBuild', default=None) + initial_machine_os_image_id: int | None = Field(validation_alias='initialMachineOSImageId', default=None) + initial_machine_os_type: str | None = Field(validation_alias='initialMachineOSType', default=None) + initial_machine_provider: str | None = Field(validation_alias='initialMachineProvider', default=None) + initial_runtime_type: str | None = Field(validation_alias='initialRuntimeType', default=None) + initial_secure_shell_port: int | None = Field(validation_alias='initialSecureShellPort', default=None) + installed_autoscaler: bool | None = Field(validation_alias='installedAutoscaler', default=None) + installed_criobox: bool | None = Field(validation_alias='installedCriobox', default=None) + installed_csi_dynamix: bool | None = Field(validation_alias='installedCsiDynamix', default=None) + installed_ess: bool | None = Field(validation_alias='installedEss', default=None) + installed_integagent: bool | None = Field(validation_alias='installedIntegagent', default=None) + installed_kyverno: bool | None = Field(validation_alias='installedKyverno', default=None) + installed_metric_server: bool | None = Field(validation_alias='installedMetricServer', default=None) + installed_monitoring: bool | None = Field(validation_alias='installedMonitoring', default=None) + installed_pod_logger: bool | None = Field(validation_alias='installedPodLogger', default=None) + installed_rbac_manager: bool | None = Field(validation_alias='installedRbacManager', default=None) + installed_servchecker: bool | None = Field(validation_alias='installedServchecker', default=None) + installed_trivy: bool | None = Field(validation_alias='installedTrivy', default=None) + int_virtual_address: str | None = Field(validation_alias='intVirtualAddress', default=None) + int_virtual_address_id: int | None = Field(validation_alias='intVirtualAddressId', default=None) + kube_addresses: list[str] | None = Field(validation_alias='kubeAddresses', default=None) + kube_config: str | None = Field(validation_alias='kubeConfig', default=None) + kube_container_repository: str | None = Field(validation_alias='kubeContainerRepository', default=None) + kube_hostname: str | None = Field(validation_alias='kubeHostname', default=None) + kube_version: str | None = Field(validation_alias='kubeVersion', default=None) + load_balancer_cloud_init_template: str | None = Field(validation_alias='loadBalancerCloudInitTemplate', default=None) + local_network: str | None = Field(validation_alias='localNetwork', default=None) + local_network_id: int | None = Field(validation_alias='localNetworkId', default=None) + master_cloud_init_template: str | None = Field(validation_alias='masterCloudInitTemplate', default=None) + master_ids: list[int] | None = Field(validation_alias='masterIds', default=None) + name: str | None = Field(validation_alias='name', default=None) + owner_id: int | None = Field(validation_alias='ownerId', default=None) + policy_ids: list[int] | None = Field(validation_alias='policyIds', default=None) + pool_vm_ids: list[int] | None = Field(validation_alias='poolVmIds', default=None) + provide_dns: bool | None = Field(validation_alias='provideDNS', default=None) + quorum: int | None = Field(validation_alias='quorum', default=None) + release_version: str | None = Field(validation_alias='releaseVersion', default=None) + root_ca_id: int | None = Field(validation_alias='rootCaId', default=None) + storage_policy_id: int | None = Field(validation_alias='storagePolicyId', default=None) + tech_status: str | None = Field(validation_alias='techStatus', default=None) + type: str | None = Field(validation_alias='type', default=None) + upgrade_date: str | None = Field(validation_alias='upgradeDate', default=None) + upgrade_error: str | None = Field(validation_alias='upgradeError', default=None) + use_dynamix_extnet: bool | None = Field(validation_alias='useDynamixExtnet', default=None) + user_id: int | None = Field(validation_alias='userId', default=None) + version_crypt: str | None = Field(validation_alias='versionCrypt', default=None) + vins_global_network_id: int | None = Field(validation_alias='vinsGlobalNetworkId', default=None) + worker_group_ids: list[int] | None = Field(validation_alias='workerGroupIds', default=None) + worker_ids: list[int] | None = Field(validation_alias='workerIds', default=None) + + +class ILoadBalancersItem(_ResultModel): + balancer_status: str | None = Field(validation_alias='balancerStatus', default=None) + cpu_count: int | None = Field(validation_alias='cpuCount', default=None) + creation_date: str | None = Field(validation_alias='creationDate', default=None) + disk_size: int | None = Field(validation_alias='diskSize', default=None) + ext_ip_address: str | None = Field(validation_alias='extIPAddress', default=None) + gpu_id: int | None = Field(validation_alias='gpuId', default=None) + gpu_name: str | None = Field(validation_alias='gpuName', default=None) + has_gpu: bool | None = Field(validation_alias='hasGPU', default=None) + id: int | None = Field(validation_alias='id', default=None) + int_ip_address: str | None = Field(validation_alias='intIPAddress', default=None) + memory_size: int | None = Field(validation_alias='memorySize', default=None) + name: str | None = Field(validation_alias='name', default=None) + + +class MastersItem(_ResultModel): + cpu_count: int | None = Field(validation_alias='cpuCount', default=None) + creation_date: str | None = Field(validation_alias='creationDate', default=None) + disk_size: int | None = Field(validation_alias='diskSize', default=None) + ext_ip_address: str | None = Field(validation_alias='extIPAddress', default=None) + gpu_id: int | None = Field(validation_alias='gpuId', default=None) + gpu_name: str | None = Field(validation_alias='gpuName', default=None) + has_gpu: bool | None = Field(validation_alias='hasGPU', default=None) + id: int | None = Field(validation_alias='id', default=None) + memory_size: int | None = Field(validation_alias='memorySize', default=None) + name: str | None = Field(validation_alias='name', default=None) + node_status: str | None = Field(validation_alias='nodeStatus', default=None) + runtime_type: str | None = Field(validation_alias='runtimeType', default=None) + + +class PoliciesItem(_ResultModel): + background: bool | None = Field(validation_alias='background', default=None) + category: str | None = Field(validation_alias='category', default=None) + default: bool | None = Field(validation_alias='default', default=None) + description: str | None = Field(validation_alias='description', default=None) + id: int | None = Field(validation_alias='id', default=None) + name: str | None = Field(validation_alias='name', default=None) + rules: list[_results.InternalDelogicComtypePrtypeRule] | None = Field(validation_alias='rules', default=None) + severity: str | None = Field(validation_alias='severity', default=None) + validate_action: str | None = Field(validation_alias='validateAction', default=None) + + +class ProductsItem(_ResultModel): + id: int | None = Field(validation_alias='id', default=None) + name: str | None = Field(validation_alias='name', default=None) + product_name: str | None = Field(validation_alias='productName', default=None) + product_version: str | None = Field(validation_alias='productVersion', default=None) + + +class WorkersItem(_ResultModel): + cpu_count: int | None = Field(validation_alias='cpuCount', default=None) + creation_date: str | None = Field(validation_alias='creationDate', default=None) + disk_size: int | None = Field(validation_alias='diskSize', default=None) + gpu_id: int | None = Field(validation_alias='gpuId', default=None) + gpu_name: str | None = Field(validation_alias='gpuName', default=None) + has_gpu: bool | None = Field(validation_alias='hasGPU', default=None) + id: int | None = Field(validation_alias='id', default=None) + memory_size: int | None = Field(validation_alias='memorySize', default=None) + name: str | None = Field(validation_alias='name', default=None) + node_status: str | None = Field(validation_alias='nodeStatus', default=None) + runtime_type: str | None = Field(validation_alias='runtimeType', default=None) + worker_group_id: int | None = Field(validation_alias='workerGroupId', default=None) + + +class Result(_ResultModel): + cluster: Cluster | None = Field(validation_alias='cluster', default=None) + i_load_balancers: list[ILoadBalancersItem] | None = Field(validation_alias='iLoadBalancers', default=None) + masters: list[MastersItem] | None = Field(validation_alias='masters', default=None) + policies: list[PoliciesItem] | None = Field(validation_alias='policies', default=None) + products: list[ProductsItem] | None = Field(validation_alias='products', default=None) + quorum: int | None = Field(validation_alias='quorum', default=None) + task_briefs: list[_results.DelogicComtypePrtypeTaskBrief] | None = Field(validation_alias='taskBriefs', default=None) + username: str | None = Field(validation_alias='username', default=None) + workers: list[WorkersItem] | None = Field(validation_alias='workers', default=None) + + +class DigitalenergyClusterGetResult(_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 DigitalenergyClusterGetImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/get' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyClusterGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/get_config.py b/src/digital_energy_sdk/api/digitalenergy/cluster/get_config.py new file mode 100644 index 0000000..47eebb1 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/get_config.py @@ -0,0 +1,36 @@ +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 results as _results + + +class Result(_ResultModel): + config: str | None = Field(validation_alias='config', default=None) + + +class DigitalenergyClusterGetConfigResult(_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 DigitalenergyClusterGetConfigImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/getConfig' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyClusterGetConfigResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/get_kubectl_resources.py b/src/digital_energy_sdk/api/digitalenergy/cluster/get_kubectl_resources.py new file mode 100644 index 0000000..5f73023 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/get_kubectl_resources.py @@ -0,0 +1,64 @@ +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 results as _results + + +class TypeResource(Enum): + PODS = 'pods' + DAEMON_SETS = 'daemonSets' + CONFIG_MAPS = 'configMaps' + NAMESPACES = 'namespaces' + SECRETS = 'secrets' + DEPLOYMENTS = 'deployments' + STATEFUL_SETS = 'statefulSets' + RESOURCE_QUOTAS = 'resourceQuotas' + HORIZONTAL_POD_AUTOSCALERS = 'horizontalPodAutoscalers' + STORAGE_CLASSES = 'storageClasses' + PERSISTENT_VOLUME_CLAIMS = 'persistentVolumeClaims' + PERSISTENT_VOLUMES = 'persistentVolumes' + REPLICATION_CONTROLLERS = 'replicationControllers' + NETWORK_POLICIES = 'networkPolicies' + REPLICA_SETS = 'replicaSets' + INGRESS_CLASSES = 'ingressClasses' + INGRESSES = 'ingresses' + JOBS = 'jobs' + SERVICES = 'services' + CRON_JOBS = 'cronJobs' + EVENTS = 'events' + LIMIT_RANGES = 'limitRanges' + ENDPOINT_SLICES = 'endpointSlices' + + +class DigitalenergyClusterGetKubectlResourcesResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyClusterGetKubectlResourcesImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/getKubectlResources' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'resource_name': 'resourceName', + 'type_resource': 'typeResource', + } + + def __call__( + self, + *, + cluster_id: int, + resource_name: str, + namespace: str | None = None, + type_resource: TypeResource, + ) -> DigitalenergyClusterGetKubectlResourcesResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/get_load_balancer.py b/src/digital_energy_sdk/api/digitalenergy/cluster/get_load_balancer.py new file mode 100644 index 0000000..bde7c7a --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/get_load_balancer.py @@ -0,0 +1,36 @@ +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 results as _results + + +class Result(_ResultModel): + load_balancer: _results.ComtypePrtypeLoadBalancer | None = Field(validation_alias='loadBalancer', default=None) + + +class DigitalenergyClusterGetLoadBalancerResult(_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 DigitalenergyClusterGetLoadBalancerImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/getLoadBalancer' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyClusterGetLoadBalancerResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/get_master.py b/src/digital_energy_sdk/api/digitalenergy/cluster/get_master.py new file mode 100644 index 0000000..ee37686 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/get_master.py @@ -0,0 +1,36 @@ +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 results as _results + + +class Result(_ResultModel): + master: _results.DelogicComtypePrtypeMaster | None = Field(validation_alias='master', default=None) + + +class DigitalenergyClusterGetMasterResult(_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 DigitalenergyClusterGetMasterImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/getMaster' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyClusterGetMasterResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/get_worker.py b/src/digital_energy_sdk/api/digitalenergy/cluster/get_worker.py new file mode 100644 index 0000000..411ee93 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/get_worker.py @@ -0,0 +1,36 @@ +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 results as _results + + +class Result(_ResultModel): + worker: _results.DelogicComtypePrtypeWorker | None = Field(validation_alias='worker', default=None) + + +class DigitalenergyClusterGetWorkerResult(_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 DigitalenergyClusterGetWorkerImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/getWorker' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyClusterGetWorkerResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/get_worker_group.py b/src/digital_energy_sdk/api/digitalenergy/cluster/get_worker_group.py new file mode 100644 index 0000000..9fe2a3c --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/get_worker_group.py @@ -0,0 +1,74 @@ +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 results as _results + + +class WorkerGroup(_ResultModel): + app_container_repository: str | None = Field(validation_alias='appContainerRepository', default=None) + cloud_init_template: str | None = Field(validation_alias='cloudInitTemplate', default=None) + cluster_id: int | None = Field(validation_alias='clusterId', default=None) + count_vms: int | None = Field(validation_alias='countVMs', default=None) + cpu_count_template: int | None = Field(validation_alias='cpuCountTemplate', default=None) + creation_date: str | None = Field(validation_alias='creationDate', default=None) + creation_error: str | None = Field(validation_alias='creationError', default=None) + destroying_date: str | None = Field(validation_alias='destroyingDate', default=None) + destroying_error: str | None = Field(validation_alias='destroyingError', default=None) + disk_size_template: int | None = Field(validation_alias='diskSizeTemplate', default=None) + dynamix_rgid_template: int | None = Field(validation_alias='dynamixRGIDTemplate', default=None) + dynamix_sep_id_template: int | None = Field(validation_alias='dynamixSEPIdTemplate', default=None) + dynamix_sep_pool_template: str | None = Field(validation_alias='dynamixSEPPoolTemplate', default=None) + enable_autoscaling: bool | None = Field(validation_alias='enableAutoscaling', default=None) + group_name: str | None = Field(validation_alias='groupName', default=None) + id: int | None = Field(validation_alias='id', default=None) + kube_container_repository: str | None = Field(validation_alias='kubeContainerRepository', default=None) + machine_os_build_template: str | None = Field(validation_alias='machineOSBuildTemplate', default=None) + machine_os_image_id_template: int | None = Field(validation_alias='machineOSImageIdTemplate', default=None) + machine_os_type_template: str | None = Field(validation_alias='machineOSTypeTemplate', default=None) + machine_provider_template: str | None = Field(validation_alias='machineProviderTemplate', default=None) + max_worker_count: int | None = Field(validation_alias='maxWorkerCount', default=None) + memory_size_template: int | None = Field(validation_alias='memorySizeTemplate', default=None) + min_worker_count: int | None = Field(validation_alias='minWorkerCount', default=None) + owner_id: int | None = Field(validation_alias='ownerId', default=None) + pool_vm_ids: list[int] | None = Field(validation_alias='poolVmIds', default=None) + system_group: bool | None = Field(validation_alias='systemGroup', default=None) + upgrade_date: str | None = Field(validation_alias='upgradeDate', default=None) + upgrade_error: str | None = Field(validation_alias='upgradeError', default=None) + worker_ids: list[int] | None = Field(validation_alias='workerIds', default=None) + + +class Result(_ResultModel): + worker_group: WorkerGroup | None = Field(validation_alias='workerGroup', default=None) + + +class DigitalenergyClusterGetWorkerGroupResult(_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 DigitalenergyClusterGetWorkerGroupImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/getWorkerGroup' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'worker_group_name': 'workerGroupName', + 'worker_group_id': 'workerGroupId', + } + + def __call__( + self, + *, + cluster_id: int | None = None, + worker_group_name: str | None = None, + worker_group_id: int | None = None, + ) -> DigitalenergyClusterGetWorkerGroupResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/get_worker_group_annotations.py b/src/digital_energy_sdk/api/digitalenergy/cluster/get_worker_group_annotations.py new file mode 100644 index 0000000..16da738 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/get_worker_group_annotations.py @@ -0,0 +1,39 @@ +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 results as _results + + +class Result(_ResultModel): + annotations: list[str] | None = Field(validation_alias='annotations', default=None) + + +class DigitalenergyClusterGetWorkerGroupAnnotationsResult(_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 DigitalenergyClusterGetWorkerGroupAnnotationsImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/getWorkerGroupAnnotations' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'worker_group_id': 'workerGroupId', + } + + def __call__( + self, + *, + cluster_id: int, + worker_group_id: int, + ) -> DigitalenergyClusterGetWorkerGroupAnnotationsResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/get_worker_group_labels.py b/src/digital_energy_sdk/api/digitalenergy/cluster/get_worker_group_labels.py new file mode 100644 index 0000000..7f4e30d --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/get_worker_group_labels.py @@ -0,0 +1,39 @@ +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 results as _results + + +class Result(_ResultModel): + labels: list[str] | None = Field(validation_alias='labels', default=None) + + +class DigitalenergyClusterGetWorkerGroupLabelsResult(_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 DigitalenergyClusterGetWorkerGroupLabelsImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/getWorkerGroupLabels' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'worker_group_id': 'workerGroupId', + } + + def __call__( + self, + *, + cluster_id: int, + worker_group_id: int, + ) -> DigitalenergyClusterGetWorkerGroupLabelsResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/get_worker_group_taints.py b/src/digital_energy_sdk/api/digitalenergy/cluster/get_worker_group_taints.py new file mode 100644 index 0000000..0b6eb30 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/get_worker_group_taints.py @@ -0,0 +1,39 @@ +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 results as _results + + +class Result(_ResultModel): + taints: list[str] | None = Field(validation_alias='taints', default=None) + + +class DigitalenergyClusterGetWorkerGroupTaintsResult(_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 DigitalenergyClusterGetWorkerGroupTaintsImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/getWorkerGroupTaints' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'worker_group_id': 'workerGroupId', + } + + def __call__( + self, + *, + cluster_id: int, + worker_group_id: int, + ) -> DigitalenergyClusterGetWorkerGroupTaintsResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/join_pool_vms.py b/src/digital_energy_sdk/api/digitalenergy/cluster/join_pool_vms.py new file mode 100644 index 0000000..13577a3 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/join_pool_vms.py @@ -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 results as _results + + +class DigitalenergyClusterJoinPoolVMsImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/joinPoolVMs' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'worker_group_name': 'workerGroupName', + 'worker_group_id': 'workerGroupId', + 'pool_vmids': 'poolVMIDs', + 'dynamix_rg_id': 'dynamixRGId', + 'dynamix_sep_id': 'dynamixSEPId', + 'dynamix_sep_pool': 'dynamixSEPPool', + 'pool_vm_labels': 'poolVMLabels', + 'pool_vm_annotations': 'poolVMAnnotations', + 'pool_vm_taints': 'poolVMTaints', + 'dynamix_app_id': 'dynamixAppId', + 'dynamix_app_secret': 'dynamixAppSecret', + 'dynamix_url': 'dynamixURL', + 'dynamix_ssourl': 'dynamixSSOURL', + 'dynamix_auth_type': 'dynamixAuthType', + 'dynamix_auth_domain': 'dynamixAuthDomain', + 'dynamix_username': 'dynamixUsername', + 'dynamix_password': 'dynamixPassword', + 'source_operator': 'sourceOperator', + } + + def __call__( + self, + *, + cluster_id: int | None = None, + worker_group_name: str | None = None, + worker_group_id: int | None = None, + pool_vmids: list[int] | None = None, + dynamix_rg_id: int, + dynamix_sep_id: int, + dynamix_sep_pool: str, + pool_vm_labels: list[str] | None = None, + pool_vm_annotations: list[str] | None = None, + pool_vm_taints: list[str] | None = None, + dynamix_app_id: str | None = None, + dynamix_app_secret: str | None = None, + dynamix_url: str | None = None, + dynamix_ssourl: str | None = None, + dynamix_auth_type: str | None = None, + dynamix_auth_domain: str | None = None, + dynamix_username: str | None = None, + dynamix_password: str | None = None, + source_operator: str | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/list.py b/src/digital_energy_sdk/api/digitalenergy/cluster/list.py new file mode 100644 index 0000000..7f4709f --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/list.py @@ -0,0 +1,91 @@ +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 results as _results + + +class Type(Enum): + DYNAMIX = 'dynamix' + GENERIC = 'generic' + DENERGY = 'denergy' + BAREMETAL = 'baremetal' + + +class ClustersItem(_ResultModel): + creation_date: str | None = Field(validation_alias='creationDate', default=None) + denergy_status: str | None = Field(validation_alias='denergyStatus', default=None) + description: str | None = Field(validation_alias='description', default=None) + description_status: dict[Any, Any] | None = Field(validation_alias='descriptionStatus', default=None) + dynamix_create_task_id: str | None = Field(validation_alias='dynamixCreateTaskId', default=None) + dynamix_status: str | None = Field(validation_alias='dynamixStatus', default=None) + id: int | None = Field(validation_alias='id', default=None) + installed_autoscaler: bool | None = Field(validation_alias='installedAutoscaler', default=None) + installed_criobox: bool | None = Field(validation_alias='installedCriobox', default=None) + installed_csi_dynamix: bool | None = Field(validation_alias='installedCsiDynamix', default=None) + installed_kyverno: bool | None = Field(validation_alias='installedKyverno', default=None) + installed_metric_server: bool | None = Field(validation_alias='installedMetricServer', default=None) + installed_monitoring: bool | None = Field(validation_alias='installedMonitoring', default=None) + installed_pod_logger: bool | None = Field(validation_alias='installedPodLogger', default=None) + installed_rbac_manager: bool | None = Field(validation_alias='installedRbacManager', default=None) + installed_servchecker: bool | None = Field(validation_alias='installedServchecker', default=None) + installed_trivy: bool | None = Field(validation_alias='installedTrivy', default=None) + name: str | None = Field(validation_alias='name', default=None) + owner_id: int | None = Field(validation_alias='ownerId', default=None) + task_ids: list[int] | None = Field(validation_alias='taskIds', default=None) + tech_status: str | None = Field(validation_alias='techStatus', default=None) + type: str | None = Field(validation_alias='type', default=None) + username: str | None = Field(validation_alias='username', default=None) + + +class Result(_ResultModel): + clusters: list[ClustersItem] | None = Field(validation_alias='clusters', default=None) + + +class DigitalenergyClusterListResult(_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 DigitalenergyClusterListImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/list' + http_method = HTTPMethod.POST + param_aliases = { + 'denergy_statuses': 'denergyStatuses', + 'installed_autoscaler': 'installedAutoscaler', + 'installed_metric_server': 'installedMetricServer', + 'installed_kyverno': 'installedKyverno', + 'installed_trivy': 'installedTrivy', + 'installed_rbac_manager': 'installedRbacManager', + 'installed_pod_logger': 'installedPodLogger', + 'installed_criobox': 'installedCriobox', + 'installed_csi_dynamix': 'installedCsiDynamix', + 'sort_by': 'sortBy', + } + + def __call__( + self, + *, + type: Type | None = None, + denergy_statuses: list[str] | None = None, + installed_autoscaler: bool | None = None, + installed_metric_server: bool | None = None, + installed_kyverno: bool | None = None, + installed_trivy: bool | None = None, + installed_rbac_manager: bool | None = None, + installed_pod_logger: bool | None = None, + installed_criobox: bool | None = None, + installed_csi_dynamix: bool | None = None, + sort_by: str | None = None, + limit: int | None = None, + page: int | None = None, + ) -> DigitalenergyClusterListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/list_kubectl_resources.py b/src/digital_energy_sdk/api/digitalenergy/cluster/list_kubectl_resources.py new file mode 100644 index 0000000..351c1cc --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/list_kubectl_resources.py @@ -0,0 +1,64 @@ +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 results as _results + + +class TypeResource(Enum): + PODS = 'pods' + DAEMON_SETS = 'daemonSets' + CONFIG_MAPS = 'configMaps' + NAMESPACES = 'namespaces' + SECRETS = 'secrets' + DEPLOYMENTS = 'deployments' + STATEFUL_SETS = 'statefulSets' + RESOURCE_QUOTAS = 'resourceQuotas' + HORIZONTAL_POD_AUTOSCALERS = 'horizontalPodAutoscalers' + STORAGE_CLASSES = 'storageClasses' + PERSISTENT_VOLUME_CLAIMS = 'persistentVolumeClaims' + PERSISTENT_VOLUMES = 'persistentVolumes' + REPLICATION_CONTROLLERS = 'replicationControllers' + NETWORK_POLICIES = 'networkPolicies' + REPLICA_SETS = 'replicaSets' + INGRESS_CLASSES = 'ingressClasses' + INGRESSES = 'ingresses' + JOBS = 'jobs' + SERVICES = 'services' + CRON_JOBS = 'cronJobs' + EVENTS = 'events' + LIMIT_RANGES = 'limitRanges' + ENDPOINT_SLICES = 'endpointSlices' + + +class DigitalenergyClusterListKubectlResourcesResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyClusterListKubectlResourcesImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/listKubectlResources' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'type_resource': 'typeResource', + } + + def __call__( + self, + *, + cluster_id: int, + namespace: str | None = None, + type_resource: TypeResource, + limit: int | None = None, + page: int | None = None, + ) -> DigitalenergyClusterListKubectlResourcesResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/list_load_balancers.py b/src/digital_energy_sdk/api/digitalenergy/cluster/list_load_balancers.py new file mode 100644 index 0000000..6d1fb11 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/list_load_balancers.py @@ -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 results as _results + + +class Result(_ResultModel): + load_balancers: list[_results.ComtypePrtypeLoadBalancer] | None = Field(validation_alias='loadBalancers', default=None) + + +class DigitalenergyClusterListLoadBalancersResult(_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 DigitalenergyClusterListLoadBalancersImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/listLoadBalancers' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + ) -> DigitalenergyClusterListLoadBalancersResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/list_masters.py b/src/digital_energy_sdk/api/digitalenergy/cluster/list_masters.py new file mode 100644 index 0000000..845cfb8 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/list_masters.py @@ -0,0 +1,59 @@ +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 results as _results + + +class NodeStatusesValue(Enum): + NOT_EXISTS = 'notExists' + BUILDING_STARTED = 'buildingStarted' + WRONG_BUILDING = 'wrongBuilding' + READY_TO_JOINING = 'readyToJoining' + IN_JOINING = 'inJoining' + IN_USE = 'inUse' + OUT_OF_SERVICE = 'outOfService' + STOPPED = 'stopped' + BROKEN = 'broken' + IN_MAINTENANCE = 'inMaintenance' + IN_DESTROYING = 'inDestroying' + IN_UPGRADING = 'inUpgrading' + WRONG_DESTROYING = 'wrongDestroying' + DESTROYED = 'destroyed' + + +class Result(_ResultModel): + masters: list[_results.DelogicComtypePrtypeMaster] | None = Field(validation_alias='masters', default=None) + total: int | None = Field(validation_alias='total', default=None) + + +class DigitalenergyClusterListMastersResult(_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 DigitalenergyClusterListMastersImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/listMasters' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'node_statuses': 'nodeStatuses', + } + + def __call__( + self, + *, + cluster_id: int, + node_statuses: list[NodeStatusesValue] | None = None, + limit: int | None = None, + page: int | None = None, + ) -> DigitalenergyClusterListMastersResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/list_worker_groups.py b/src/digital_energy_sdk/api/digitalenergy/cluster/list_worker_groups.py new file mode 100644 index 0000000..7e75cac --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/list_worker_groups.py @@ -0,0 +1,58 @@ +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 results as _results + + +class WorkerGroupsItem(_ResultModel): + cluster_id: int | None = Field(validation_alias='clusterId', default=None) + cpu_count_template: int | None = Field(validation_alias='cpuCountTemplate', default=None) + creation_date: str | None = Field(validation_alias='creationDate', default=None) + disk_size_template: int | None = Field(validation_alias='diskSizeTemplate', default=None) + dynamix_rgid_template: int | None = Field(validation_alias='dynamixRGIDTemplate', default=None) + enable_autoscaling: bool | None = Field(validation_alias='enableAutoscaling', default=None) + group_name: str | None = Field(validation_alias='groupName', default=None) + id: int | None = Field(validation_alias='id', default=None) + machine_os_build_template: str | None = Field(validation_alias='machineOSBuildTemplate', default=None) + machine_os_image_id_template: int | None = Field(validation_alias='machineOSImageIdTemplate', default=None) + machine_os_type_template: str | None = Field(validation_alias='machineOSTypeTemplate', default=None) + machine_provider_template: str | None = Field(validation_alias='machineProviderTemplate', default=None) + max_worker_count: int | None = Field(validation_alias='maxWorkerCount', default=None) + memory_size_template: int | None = Field(validation_alias='memorySizeTemplate', default=None) + min_worker_count: int | None = Field(validation_alias='minWorkerCount', default=None) + owner_id: int | None = Field(validation_alias='ownerId', default=None) + pool_vm_ids: list[int] | None = Field(validation_alias='poolVmIds', default=None) + worker_ids: list[int] | None = Field(validation_alias='workerIds', default=None) + + +class Result(_ResultModel): + worker_groups: list[WorkerGroupsItem] | None = Field(validation_alias='workerGroups', default=None) + + +class DigitalenergyClusterListWorkerGroupsResult(_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 DigitalenergyClusterListWorkerGroupsImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/listWorkerGroups' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + ) -> DigitalenergyClusterListWorkerGroupsResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/list_workers.py b/src/digital_energy_sdk/api/digitalenergy/cluster/list_workers.py new file mode 100644 index 0000000..4d18829 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/list_workers.py @@ -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 results as _results + + +class Result(_ResultModel): + workers: list[_results.DelogicComtypePrtypeWorker] | None = Field(validation_alias='workers', default=None) + + +class DigitalenergyClusterListWorkersResult(_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 DigitalenergyClusterListWorkersImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/listWorkers' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + ) -> DigitalenergyClusterListWorkersResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/__init__.py b/src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/__init__.py new file mode 100644 index 0000000..160a98d --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyClusterLoadBalancersImpl + + +__all__ = ['DigitalenergyClusterLoadBalancersImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/_group.py b/src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/_group.py new file mode 100644 index 0000000..c3c42f7 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/_group.py @@ -0,0 +1,15 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyClusterLoadBalancersDescribeImpl +from .haproxy import DigitalenergyClusterLoadBalancersHaproxyImpl + + +class DigitalenergyClusterLoadBalancersImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyClusterLoadBalancersDescribeImpl: + return DigitalenergyClusterLoadBalancersDescribeImpl(config=self._config) + + @cached_property + def haproxy(self) -> DigitalenergyClusterLoadBalancersHaproxyImpl: + return DigitalenergyClusterLoadBalancersHaproxyImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/describe.py b/src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/describe.py new file mode 100644 index 0000000..59d6b25 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/describe.py @@ -0,0 +1,69 @@ +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 results as _results + + +class VrrpItem(_ResultModel): + advert_interval: int | None = Field(validation_alias='advertInterval', default=None) + instance_name: str | None = Field(validation_alias='instanceName', default=None) + interface: str | None = Field(validation_alias='interface', default=None) + priority: int | None = Field(validation_alias='priority', default=None) + state: str | None = Field(validation_alias='state', default=None) + virtual_ip: str | None = Field(validation_alias='virtualIp', default=None) + want_state: str | None = Field(validation_alias='wantState', default=None) + + +class Haproxy(_ResultModel): + config_valid: bool | None = Field(validation_alias='configValid', default=None) + enabled: bool | None = Field(validation_alias='enabled', default=None) + errors: list[str] | None = Field(validation_alias='errors', default=None) + running: bool | None = Field(validation_alias='running', default=None) + state: str | None = Field(validation_alias='state', default=None) + warnings: list[str] | None = Field(validation_alias='warnings', default=None) + + +class Keepalived(_ResultModel): + enabled: bool | None = Field(validation_alias='enabled', default=None) + errors: list[str] | None = Field(validation_alias='errors', default=None) + running: bool | None = Field(validation_alias='running', default=None) + state: str | None = Field(validation_alias='state', default=None) + vrrp: list[VrrpItem] | None = Field(validation_alias='vrrp', default=None) + warnings: list[str] | None = Field(validation_alias='warnings', default=None) + + +class Result(_ResultModel): + address: str | None = Field(validation_alias='address', default=None) + haproxy: Haproxy | None = Field(validation_alias='haproxy', default=None) + id: int | None = Field(validation_alias='id', default=None) + keepalived: Keepalived | None = Field(validation_alias='keepalived', default=None) + name: str | None = Field(validation_alias='name', default=None) + service_shutdown: bool | None = Field(validation_alias='serviceShutdown', default=None) + + +class DigitalenergyClusterLoadBalancersDescribeResult(_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 DigitalenergyClusterLoadBalancersDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/loadBalancers/describe' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyClusterLoadBalancersDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/haproxy/__init__.py b/src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/haproxy/__init__.py new file mode 100644 index 0000000..2c41131 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/haproxy/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyClusterLoadBalancersHaproxyImpl + + +__all__ = ['DigitalenergyClusterLoadBalancersHaproxyImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/haproxy/_group.py b/src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/haproxy/_group.py new file mode 100644 index 0000000..0fff9ce --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/haproxy/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .edit_config import DigitalenergyClusterLoadBalancersHaproxyEditConfigImpl +from .get_config import DigitalenergyClusterLoadBalancersHaproxyGetConfigImpl +from .reset_to_defaults import DigitalenergyClusterLoadBalancersHaproxyResetToDefaultsImpl + + +class DigitalenergyClusterLoadBalancersHaproxyImpl(APIOperationGroupImpl): + @cached_property + def edit_config(self) -> DigitalenergyClusterLoadBalancersHaproxyEditConfigImpl: + return DigitalenergyClusterLoadBalancersHaproxyEditConfigImpl(config=self._config) + + @cached_property + def get_config(self) -> DigitalenergyClusterLoadBalancersHaproxyGetConfigImpl: + return DigitalenergyClusterLoadBalancersHaproxyGetConfigImpl(config=self._config) + + @cached_property + def reset_to_defaults(self) -> DigitalenergyClusterLoadBalancersHaproxyResetToDefaultsImpl: + return DigitalenergyClusterLoadBalancersHaproxyResetToDefaultsImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/haproxy/edit_config.py b/src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/haproxy/edit_config.py new file mode 100644 index 0000000..2ee376d --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/haproxy/edit_config.py @@ -0,0 +1,67 @@ +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 results as _results + + +class DigitalenergyClusterLoadBalancersHaproxyEditConfigResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyClusterLoadBalancersHaproxyEditConfigImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/loadBalancers/haproxy/editConfig' + http_method = HTTPMethod.POST + param_aliases = { + 'timeout_http_request': 'timeoutHttpRequest', + 'timeout_check': 'timeoutCheck', + 'timeout_connect': 'timeoutConnect', + 'timeout_client': 'timeoutClient', + 'timeout_queue': 'timeoutQueue', + 'timeout_server': 'timeoutServer', + 'timeout_http_keep_alive': 'timeoutHttpKeepAlive', + 'default_maxconn': 'defaultMaxconn', + 'global_maxconn': 'globalMaxconn', + 'server_check_fall': 'serverCheckFall', + 'server_inter': 'serverInter', + 'server_downinter': 'serverDowninter', + 'server_maxconn': 'serverMaxconn', + 'server_maxqueue': 'serverMaxqueue', + 'server_rise': 'serverRise', + 'server_slowstart': 'serverSlowstart', + 'server_weight': 'serverWeight', + } + + def __call__( + self, + *, + id: int, + timeout_http_request: int | None = None, + timeout_check: int | None = None, + timeout_connect: int | None = None, + timeout_client: int | None = None, + timeout_queue: int | None = None, + timeout_server: int | None = None, + timeout_http_keep_alive: int | None = None, + retries: int | None = None, + default_maxconn: int | None = None, + global_maxconn: int | None = None, + server_check_fall: int | None = None, + server_inter: int | None = None, + server_downinter: int | None = None, + server_maxconn: int | None = None, + server_maxqueue: int | None = None, + server_rise: int | None = None, + server_slowstart: int | None = None, + server_weight: int | None = None, + ) -> DigitalenergyClusterLoadBalancersHaproxyEditConfigResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/haproxy/get_config.py b/src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/haproxy/get_config.py new file mode 100644 index 0000000..9395f90 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/haproxy/get_config.py @@ -0,0 +1,64 @@ +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 results as _results + + +class Server(_ResultModel): + check_fall: int | None = Field(validation_alias='checkFall', default=None) + downinter: int | None = Field(validation_alias='downinter', default=None) + inter: int | None = Field(validation_alias='inter', default=None) + maxconn: int | None = Field(validation_alias='maxconn', default=None) + maxqueue: int | None = Field(validation_alias='maxqueue', default=None) + rise: int | None = Field(validation_alias='rise', default=None) + slowstart: int | None = Field(validation_alias='slowstart', default=None) + weight: int | None = Field(validation_alias='weight', default=None) + + +class Settings(_ResultModel): + default_maxconn: int | None = Field(validation_alias='defaultMaxconn', default=None) + global_maxconn: int | None = Field(validation_alias='globalMaxconn', default=None) + retries: int | None = Field(validation_alias='retries', default=None) + server: Server | None = Field(validation_alias='server', default=None) + timeout_check: int | None = Field(validation_alias='timeoutCheck', default=None) + timeout_client: int | None = Field(validation_alias='timeoutClient', default=None) + timeout_connect: int | None = Field(validation_alias='timeoutConnect', default=None) + timeout_http_keep_alive: int | None = Field(validation_alias='timeoutHttpKeepAlive', default=None) + timeout_http_request: int | None = Field(validation_alias='timeoutHttpRequest', default=None) + timeout_queue: int | None = Field(validation_alias='timeoutQueue', default=None) + timeout_server: int | None = Field(validation_alias='timeoutServer', default=None) + + +class Result(_ResultModel): + address: str | None = Field(validation_alias='address', default=None) + id: int | None = Field(validation_alias='id', default=None) + name: str | None = Field(validation_alias='name', default=None) + settings: Settings | None = Field(validation_alias='settings', default=None) + + +class DigitalenergyClusterLoadBalancersHaproxyGetConfigResult(_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 DigitalenergyClusterLoadBalancersHaproxyGetConfigImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/loadBalancers/haproxy/getConfig' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyClusterLoadBalancersHaproxyGetConfigResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/haproxy/reset_to_defaults.py b/src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/haproxy/reset_to_defaults.py new file mode 100644 index 0000000..b35619b --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/load_balancers/haproxy/reset_to_defaults.py @@ -0,0 +1,32 @@ +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 results as _results + + +class DigitalenergyClusterLoadBalancersHaproxyResetToDefaultsResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyClusterLoadBalancersHaproxyResetToDefaultsImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/loadBalancers/haproxy/resetToDefaults' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyClusterLoadBalancersHaproxyResetToDefaultsResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/network_describe.py b/src/digital_energy_sdk/api/digitalenergy/cluster/network_describe.py new file mode 100644 index 0000000..5831d79 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/network_describe.py @@ -0,0 +1,45 @@ +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 results as _results + + +class Result(_ResultModel): + cluster_dns: str | None = Field(validation_alias='clusterDns', default=None) + cni: str | None = Field(validation_alias='cni', default=None) + encap: str | None = Field(validation_alias='encap', default=None) + kube_proxy: str | None = Field(validation_alias='kubeProxy', default=None) + mtu: int | None = Field(validation_alias='mtu', default=None) + network_policy: str | None = Field(validation_alias='networkPolicy', default=None) + overlay: bool | None = Field(validation_alias='overlay', default=None) + pod_cidr: str | None = Field(validation_alias='podCidr', default=None) + service_cidr: str | None = Field(validation_alias='serviceCidr', default=None) + traffic_routing: str | None = Field(validation_alias='trafficRouting', default=None) + + +class DigitalenergyClusterNetworkDescribeResult(_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 DigitalenergyClusterNetworkDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/networkDescribe' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyClusterNetworkDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/resize_worker_group.py b/src/digital_energy_sdk/api/digitalenergy/cluster/resize_worker_group.py new file mode 100644 index 0000000..24b42e8 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/resize_worker_group.py @@ -0,0 +1,52 @@ +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 results as _results + + +class DigitalenergyClusterResizeWorkerGroupImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/resizeWorkerGroup' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'worker_group_name': 'workerGroupName', + 'worker_group_id': 'workerGroupId', + 'worker_cpu_count': 'workerCPUCount', + 'worker_memory_size': 'workerMemorySize', + 'worker_disk_size': 'workerDiskSize', + 'dynamix_app_id': 'dynamixAppId', + 'dynamix_app_secret': 'dynamixAppSecret', + 'dynamix_url': 'dynamixURL', + 'dynamix_ssourl': 'dynamixSSOURL', + 'dynamix_auth_type': 'dynamixAuthType', + 'dynamix_auth_domain': 'dynamixAuthDomain', + 'dynamix_username': 'dynamixUsername', + 'dynamix_password': 'dynamixPassword', + } + + def __call__( + self, + *, + cluster_id: int | None = None, + worker_group_name: str | None = None, + worker_group_id: int | None = None, + worker_cpu_count: int | None = None, + worker_memory_size: int | None = None, + worker_disk_size: int | None = None, + dynamix_app_id: str | None = None, + dynamix_app_secret: str | None = None, + dynamix_url: str | None = None, + dynamix_ssourl: str | None = None, + dynamix_auth_type: str | None = None, + dynamix_auth_domain: str | None = None, + dynamix_username: str | None = None, + dynamix_password: str | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/set_kube_version.py b/src/digital_energy_sdk/api/digitalenergy/cluster/set_kube_version.py new file mode 100644 index 0000000..04610c6 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/set_kube_version.py @@ -0,0 +1,35 @@ +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 results as _results + + +class DigitalenergyClusterSetKubeVersionResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyClusterSetKubeVersionImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/setKubeVersion' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'kube_version': 'kubeVersion', + } + + def __call__( + self, + *, + cluster_id: int, + kube_version: str, + ) -> DigitalenergyClusterSetKubeVersionResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/set_load_balancer_status.py b/src/digital_energy_sdk/api/digitalenergy/cluster/set_load_balancer_status.py new file mode 100644 index 0000000..d7c6b9a --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/set_load_balancer_status.py @@ -0,0 +1,34 @@ +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 results as _results + + +class DigitalenergyClusterSetLoadBalancerStatusResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyClusterSetLoadBalancerStatusImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/setLoadBalancerStatus' + http_method = HTTPMethod.POST + param_aliases = { + 'machine_status': 'machineStatus', + } + + def __call__( + self, + *, + id: int, + machine_status: str, + ) -> DigitalenergyClusterSetLoadBalancerStatusResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/set_master_status.py b/src/digital_energy_sdk/api/digitalenergy/cluster/set_master_status.py new file mode 100644 index 0000000..40bcb58 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/set_master_status.py @@ -0,0 +1,36 @@ +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 results as _results + + +class DigitalenergyClusterSetMasterStatusResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyClusterSetMasterStatusImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/setMasterStatus' + http_method = HTTPMethod.POST + param_aliases = { + 'machine_status': 'machineStatus', + 'node_status': 'nodeStatus', + } + + def __call__( + self, + *, + id: int | None = None, + machine_status: str | None = None, + node_status: str | None = None, + ) -> DigitalenergyClusterSetMasterStatusResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/set_pool_vm_status.py b/src/digital_energy_sdk/api/digitalenergy/cluster/set_pool_vm_status.py new file mode 100644 index 0000000..49380f5 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/set_pool_vm_status.py @@ -0,0 +1,36 @@ +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 results as _results + + +class DigitalenergyClusterSetPoolVMStatusResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyClusterSetPoolVMStatusImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/setPoolVMStatus' + http_method = HTTPMethod.POST + param_aliases = { + 'machine_status': 'machineStatus', + 'node_status': 'nodeStatus', + } + + def __call__( + self, + *, + id: int | None = None, + machine_status: str | None = None, + node_status: str | None = None, + ) -> DigitalenergyClusterSetPoolVMStatusResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/set_status.py b/src/digital_energy_sdk/api/digitalenergy/cluster/set_status.py new file mode 100644 index 0000000..c75193e --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/set_status.py @@ -0,0 +1,35 @@ +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 results as _results + + +class DigitalenergyClusterSetStatusResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyClusterSetStatusImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/setStatus' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'denergy_status': 'denergyStatus', + } + + def __call__( + self, + *, + cluster_id: int, + denergy_status: str, + ) -> DigitalenergyClusterSetStatusResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/set_worker_status.py b/src/digital_energy_sdk/api/digitalenergy/cluster/set_worker_status.py new file mode 100644 index 0000000..8b0d29d --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/set_worker_status.py @@ -0,0 +1,36 @@ +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 results as _results + + +class DigitalenergyClusterSetWorkerStatusResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyClusterSetWorkerStatusImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/setWorkerStatus' + http_method = HTTPMethod.POST + param_aliases = { + 'machine_status': 'machineStatus', + 'node_status': 'nodeStatus', + } + + def __call__( + self, + *, + id: int | None = None, + machine_status: str | None = None, + node_status: str | None = None, + ) -> DigitalenergyClusterSetWorkerStatusResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/update_cni_config.py b/src/digital_energy_sdk/api/digitalenergy/cluster/update_cni_config.py new file mode 100644 index 0000000..2b44255 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/update_cni_config.py @@ -0,0 +1,43 @@ +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 results as _results + + +class Result(_ResultModel): + task_id: int | None = Field(validation_alias='taskId', default=None) + + +class DigitalenergyClusterUpdateCNIConfigResult(_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 DigitalenergyClusterUpdateCNIConfigImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/updateCNIConfig' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'custom_mtu': 'customMTU', + 'kube_container_repository': 'kubeContainerRepository', + 'chart_repository': 'chartRepository', + } + + def __call__( + self, + *, + cluster_id: int, + custom_mtu: int, + kube_container_repository: int | None = None, + chart_repository: int | None = None, + ) -> DigitalenergyClusterUpdateCNIConfigResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/update_config.py b/src/digital_energy_sdk/api/digitalenergy/cluster/update_config.py new file mode 100644 index 0000000..1b2ccec --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/update_config.py @@ -0,0 +1,38 @@ +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 results as _results + + +class Result(_ResultModel): + kube_config: str | None = Field(validation_alias='kubeConfig', default=None) + + +class DigitalenergyClusterUpdateConfigResult(_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 DigitalenergyClusterUpdateConfigImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/updateConfig' + http_method = HTTPMethod.POST + param_aliases = { + 'kube_config': 'kubeConfig', + } + + def __call__( + self, + *, + id: int, + kube_config: str, + ) -> DigitalenergyClusterUpdateConfigResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/update_info.py b/src/digital_energy_sdk/api/digitalenergy/cluster/update_info.py new file mode 100644 index 0000000..abc63ee --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/update_info.py @@ -0,0 +1,26 @@ +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 results as _results + + +class DigitalenergyClusterUpdateInfoImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/updateInfo' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/update_owner_id.py b/src/digital_energy_sdk/api/digitalenergy/cluster/update_owner_id.py new file mode 100644 index 0000000..e1c23f6 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/update_owner_id.py @@ -0,0 +1,35 @@ +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 results as _results + + +class DigitalenergyClusterUpdateOwnerIdResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyClusterUpdateOwnerIdImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/updateOwnerId' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_ids': 'clusterIds', + 'owner_id': 'ownerId', + } + + def __call__( + self, + *, + cluster_ids: list[int], + owner_id: int, + ) -> DigitalenergyClusterUpdateOwnerIdResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/update_worker_group.py b/src/digital_energy_sdk/api/digitalenergy/cluster/update_worker_group.py new file mode 100644 index 0000000..b51c86e --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/update_worker_group.py @@ -0,0 +1,40 @@ +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 results as _results + + +class DigitalenergyClusterUpdateWorkerGroupImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/updateWorkerGroup' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'worker_group_name': 'workerGroupName', + 'worker_group_id': 'workerGroupId', + 'enable_autoscaling': 'enableAutoscaling', + 'max_worker_count': 'maxWorkerCount', + 'min_worker_count': 'minWorkerCount', + 'app_container_repository': 'appContainerRepository', + 'chart_repository': 'chartRepository', + } + + def __call__( + self, + *, + cluster_id: int | None = None, + worker_group_name: str | None = None, + worker_group_id: int | None = None, + enable_autoscaling: bool | None = None, + max_worker_count: int | None = None, + min_worker_count: int | None = None, + app_container_repository: int | None = None, + chart_repository: int | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/update_worker_group_annotations.py b/src/digital_energy_sdk/api/digitalenergy/cluster/update_worker_group_annotations.py new file mode 100644 index 0000000..b42fa92 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/update_worker_group_annotations.py @@ -0,0 +1,29 @@ +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 results as _results + + +class DigitalenergyClusterUpdateWorkerGroupAnnotationsImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/updateWorkerGroupAnnotations' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'worker_group_id': 'workerGroupId', + } + + def __call__( + self, + *, + cluster_id: int, + worker_group_id: int, + annotations: list[str], + ) -> _results.ComtypeIotypeWorkerGroupResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/update_worker_group_labels.py b/src/digital_energy_sdk/api/digitalenergy/cluster/update_worker_group_labels.py new file mode 100644 index 0000000..974d494 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/update_worker_group_labels.py @@ -0,0 +1,29 @@ +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 results as _results + + +class DigitalenergyClusterUpdateWorkerGroupLabelsImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/updateWorkerGroupLabels' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'worker_group_id': 'workerGroupId', + } + + def __call__( + self, + *, + cluster_id: int, + worker_group_id: int, + labels: list[str], + ) -> _results.ComtypeIotypeWorkerGroupResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/update_worker_group_taints.py b/src/digital_energy_sdk/api/digitalenergy/cluster/update_worker_group_taints.py new file mode 100644 index 0000000..bc4abc5 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/update_worker_group_taints.py @@ -0,0 +1,29 @@ +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 results as _results + + +class DigitalenergyClusterUpdateWorkerGroupTaintsImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/updateWorkerGroupTaints' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'worker_group_id': 'workerGroupId', + } + + def __call__( + self, + *, + cluster_id: int, + worker_group_id: int, + taints: list[str], + ) -> _results.ComtypeIotypeWorkerGroupResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster/verify.py b/src/digital_energy_sdk/api/digitalenergy/cluster/verify.py new file mode 100644 index 0000000..e5cc7ea --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster/verify.py @@ -0,0 +1,33 @@ +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 results as _results + + +class DigitalenergyClusterVerifyImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/cluster/verify' + http_method = HTTPMethod.POST + param_aliases = { + 'master_ids': 'masterIds', + 'worker_ids': 'workerIds', + 'chart_repository': 'chartRepository', + 'app_container_repository': 'appContainerRepository', + } + + def __call__( + self, + *, + id: int, + master_ids: list[int] | None = None, + worker_ids: list[int] | None = None, + chart_repository: int | None = None, + app_container_repository: int | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster_template/__init__.py b/src/digital_energy_sdk/api/digitalenergy/cluster_template/__init__.py new file mode 100644 index 0000000..add0eb8 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster_template/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyClusterTemplateImpl + + +__all__ = ['DigitalenergyClusterTemplateImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster_template/_group.py b/src/digital_energy_sdk/api/digitalenergy/cluster_template/_group.py new file mode 100644 index 0000000..dd59ca3 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster_template/_group.py @@ -0,0 +1,30 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .delete import DigitalenergyClusterTemplateDeleteImpl +from .duplicate import DigitalenergyClusterTemplateDuplicateImpl +from .get import DigitalenergyClusterTemplateGetImpl +from .list import DigitalenergyClusterTemplateListImpl +from .update import DigitalenergyClusterTemplateUpdateImpl + + +class DigitalenergyClusterTemplateImpl(APIOperationGroupImpl): + @cached_property + def delete(self) -> DigitalenergyClusterTemplateDeleteImpl: + return DigitalenergyClusterTemplateDeleteImpl(config=self._config) + + @cached_property + def duplicate(self) -> DigitalenergyClusterTemplateDuplicateImpl: + return DigitalenergyClusterTemplateDuplicateImpl(config=self._config) + + @cached_property + def get(self) -> DigitalenergyClusterTemplateGetImpl: + return DigitalenergyClusterTemplateGetImpl(config=self._config) + + @cached_property + def list(self) -> DigitalenergyClusterTemplateListImpl: + return DigitalenergyClusterTemplateListImpl(config=self._config) + + @cached_property + def update(self) -> DigitalenergyClusterTemplateUpdateImpl: + return DigitalenergyClusterTemplateUpdateImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster_template/delete.py b/src/digital_energy_sdk/api/digitalenergy/cluster_template/delete.py new file mode 100644 index 0000000..cc8c353 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster_template/delete.py @@ -0,0 +1,36 @@ +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 results as _results + + +class Result(_ResultModel): + id: int | None = Field(validation_alias='id', default=None) + + +class DigitalenergyClusterTemplateDeleteResult(_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 DigitalenergyClusterTemplateDeleteImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/clusterTemplate/delete' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyClusterTemplateDeleteResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster_template/duplicate.py b/src/digital_energy_sdk/api/digitalenergy/cluster_template/duplicate.py new file mode 100644 index 0000000..398d52d --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster_template/duplicate.py @@ -0,0 +1,42 @@ +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 results as _results + + +class Result(_ResultModel): + id: int | None = Field(validation_alias='id', default=None) + + +class DigitalenergyClusterTemplateDuplicateResult(_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 DigitalenergyClusterTemplateDuplicateImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/clusterTemplate/duplicate' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_template_name': 'clusterTemplateName', + 'cluster_template_description': 'clusterTemplateDescription', + 'share_cluster_template': 'shareClusterTemplate', + } + + def __call__( + self, + *, + id: int, + cluster_template_name: str | None = None, + cluster_template_description: str | None = None, + share_cluster_template: bool = False, + ) -> DigitalenergyClusterTemplateDuplicateResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster_template/get.py b/src/digital_energy_sdk/api/digitalenergy/cluster_template/get.py new file mode 100644 index 0000000..0abe71b --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster_template/get.py @@ -0,0 +1,176 @@ +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 results as _results + + +class Template(_ResultModel): + app_container_repository: int | None = Field(validation_alias='appContainerRepository', default=None) + audit_enable: bool | None = Field(validation_alias='auditEnable', default=None) + audit_log_max_age: int | None = Field(validation_alias='auditLogMaxAge', default=None) + audit_log_max_backup: int | None = Field(validation_alias='auditLogMaxBackup', default=None) + audit_log_max_size: int | None = Field(validation_alias='auditLogMaxSize', default=None) + audit_policy: str | None = Field(validation_alias='auditPolicy', default=None) + balancers_dynamix_sep_id: int | None = Field(validation_alias='balancersDynamixSEPId', default=None) + balancers_dynamix_sep_pool: str | None = Field(validation_alias='balancersDynamixSEPPool', default=None) + certificate_issuer_id: int | None = Field(validation_alias='certificateIssuerId', default=None) + certificate_key: str | None = Field(validation_alias='certificateKey', default=None) + certificate_validity_before: str | None = Field(validation_alias='certificateValidityBefore', default=None) + chart_repository: int | None = Field(validation_alias='chartRepository', default=None) + cluster_hostname: str | None = Field(validation_alias='clusterHostname', default=None) + cluster_machine_os_build: str | None = Field(validation_alias='clusterMachineOSBuild', default=None) + cluster_machine_os_type: str | None = Field(validation_alias='clusterMachineOSType', default=None) + cluster_name: str | None = Field(validation_alias='clusterName', default=None) + cluster_template_description: str | None = Field(validation_alias='clusterTemplateDescription', default=None) + cluster_template_name: str | None = Field(validation_alias='clusterTemplateName', default=None) + cluster_type: str | None = Field(validation_alias='clusterType', default=None) + container_network_type: str | None = Field(validation_alias='containerNetworkType', default=None) + creation_date: str | None = Field(validation_alias='creationDate', default=None) + custom_mtu: int | None = Field(validation_alias='customMTU', default=None) + denergy_runtime_type: str | None = Field(validation_alias='denergyRuntimeType', default=None) + description: str | None = Field(validation_alias='description', default=None) + domain_resolvers: list[str] | None = Field(validation_alias='domainResolvers', default=None) + dynamix_app_id: str | None = Field(validation_alias='dynamixAppId', default=None) + dynamix_app_secret: str | None = Field(validation_alias='dynamixAppSecret', default=None) + dynamix_auth_domain: str | None = Field(validation_alias='dynamixAuthDomain', default=None) + dynamix_auth_type: str | None = Field(validation_alias='dynamixAuthType', default=None) + dynamix_k8_ci_id: int | None = Field(validation_alias='dynamixK8CIId', default=None) + dynamix_password: str | None = Field(validation_alias='dynamixPassword', default=None) + dynamix_rg_id: int | None = Field(validation_alias='dynamixRGId', default=None) + dynamix_sep_id: int | None = Field(validation_alias='dynamixSEPId', default=None) + dynamix_sep_pool: str | None = Field(validation_alias='dynamixSEPPool', default=None) + dynamix_ssourl: str | None = Field(validation_alias='dynamixSSOURL', default=None) + dynamix_url: str | None = Field(validation_alias='dynamixURL', default=None) + dynamix_username: str | None = Field(validation_alias='dynamixUsername', default=None) + enable_custom_load_balancer_hostnames: bool | None = Field(validation_alias='enableCustomLoadBalancerHostnames', default=None) + enable_custom_master_hostnames: bool | None = Field(validation_alias='enableCustomMasterHostnames', default=None) + enable_custom_worker_hostnames: bool | None = Field(validation_alias='enableCustomWorkerHostnames', default=None) + encrypted: bool | None = Field(validation_alias='encrypted', default=None) + ess_auth_token: str | None = Field(validation_alias='essAuthToken', default=None) + ext_virtual_address: str | None = Field(validation_alias='extVirtualAddress', default=None) + external_lb_addresses: list[str] | None = Field(validation_alias='externalLBAddresses', default=None) + global_network_id: int | None = Field(validation_alias='globalNetworkId', default=None) + i_load_balancer_cpu_count: int | None = Field(validation_alias='iLoadBalancerCPUCount', default=None) + i_load_balancer_cloud_init: str | None = Field(validation_alias='iLoadBalancerCloudInit', default=None) + i_load_balancer_count: int | None = Field(validation_alias='iLoadBalancerCount', default=None) + i_load_balancer_disk_size: int | None = Field(validation_alias='iLoadBalancerDiskSize', default=None) + i_load_balancer_gpu_ids: list[int] | None = Field(validation_alias='iLoadBalancerGpuIds', default=None) + i_load_balancer_memory_size: int | None = Field(validation_alias='iLoadBalancerMemorySize', default=None) + id: int | None = Field(validation_alias='id', default=None) + initial_secure_shell_port: int | None = Field(validation_alias='initialSecureShellPort', default=None) + install_criobox: bool | None = Field(validation_alias='installCriobox', default=None) + install_csi_dynamix: bool | None = Field(validation_alias='installCsiDynamix', default=None) + install_ess: bool | None = Field(validation_alias='installEss', default=None) + install_kyverno: bool | None = Field(validation_alias='installKyverno', default=None) + install_metrics: bool | None = Field(validation_alias='installMetrics', default=None) + install_monitoring: bool | None = Field(validation_alias='installMonitoring', default=None) + install_pod_logger: bool | None = Field(validation_alias='installPodLogger', default=None) + install_rbac_manager: bool | None = Field(validation_alias='installRbacManager', default=None) + install_trivy: bool | None = Field(validation_alias='installTrivy', default=None) + int_virtual_address: str | None = Field(validation_alias='intVirtualAddress', default=None) + internal_lb_addresses: list[str] | None = Field(validation_alias='internalLBAddresses', default=None) + kube_config: str | None = Field(validation_alias='kubeConfig', default=None) + kube_container_repository: int | None = Field(validation_alias='kubeContainerRepository', default=None) + kube_version: str | None = Field(validation_alias='kubeVersion', default=None) + last_editor: int | None = Field(validation_alias='lastEditor', default=None) + load_balancer_external_ip_addresses: list[str] | None = Field(validation_alias='loadBalancerExternalIPAddresses', default=None) + load_balancer_hostnames: list[str] | None = Field(validation_alias='loadBalancerHostnames', default=None) + load_balancer_internal_ip_addresses: list[str] | None = Field(validation_alias='loadBalancerInternalIPAddresses', default=None) + load_balancer_machine_os_build: list[str] | None = Field(validation_alias='loadBalancerMachineOSBuild', default=None) + load_balancer_machine_os_type: list[str] | None = Field(validation_alias='loadBalancerMachineOSType', default=None) + load_balancer_root_passwords: list[str] | None = Field(validation_alias='loadBalancerRootPasswords', default=None) + load_balancer_root_usernames: list[str] | None = Field(validation_alias='loadBalancerRootUsernames', default=None) + load_balancer_secure_shell_ports: list[int] | None = Field(validation_alias='loadBalancerSecureShellPorts', default=None) + load_balancer_user_passwords: list[str] | None = Field(validation_alias='loadBalancerUserPasswords', default=None) + load_balancer_user_usernames: list[str] | None = Field(validation_alias='loadBalancerUserUsernames', default=None) + local_network_id: int | None = Field(validation_alias='localNetworkId', default=None) + machine_os_build: str | None = Field(validation_alias='machineOSBuild', default=None) + machine_os_image_id: int | None = Field(validation_alias='machineOSImageId', default=None) + machine_os_type: str | None = Field(validation_alias='machineOSType', default=None) + machine_provider: str | None = Field(validation_alias='machineProvider', default=None) + master_addresses: list[str] | None = Field(validation_alias='masterAddresses', default=None) + master_cpu_count: int | None = Field(validation_alias='masterCPUCount', default=None) + master_cloud_init: str | None = Field(validation_alias='masterCloudInit', default=None) + master_count: int | None = Field(validation_alias='masterCount', default=None) + master_disk_size: int | None = Field(validation_alias='masterDiskSize', default=None) + master_gpu_ids: list[int] | None = Field(validation_alias='masterGpuIds', default=None) + master_hostnames: list[str] | None = Field(validation_alias='masterHostnames', default=None) + master_memory_size: int | None = Field(validation_alias='masterMemorySize', default=None) + master_nodes_external_ip_adresses: list[str] | None = Field(validation_alias='masterNodesExternalIPAdresses', default=None) + master_nodes_machine_os_builds: list[str] | None = Field(validation_alias='masterNodesMachineOSBuilds', default=None) + master_nodes_machine_os_types: list[str] | None = Field(validation_alias='masterNodesMachineOSTypes', default=None) + master_nodes_root_passwords: list[str] | None = Field(validation_alias='masterNodesRootPasswords', default=None) + master_nodes_root_usernames: list[str] | None = Field(validation_alias='masterNodesRootUsernames', default=None) + master_nodes_secure_shell_ports: list[int] | None = Field(validation_alias='masterNodesSecureShellPorts', default=None) + master_nodes_user_passwords: list[str] | None = Field(validation_alias='masterNodesUserPasswords', default=None) + master_nodes_user_usernames: list[str] | None = Field(validation_alias='masterNodesUserUsernames', default=None) + masters_dynamix_sep_id: int | None = Field(validation_alias='mastersDynamixSEPId', default=None) + masters_dynamix_sep_pool: str | None = Field(validation_alias='mastersDynamixSEPPool', default=None) + owner_id: int | None = Field(validation_alias='ownerId', default=None) + package_repository: int | None = Field(validation_alias='packageRepository', default=None) + provide_dns: bool | None = Field(validation_alias='provideDNS', default=None) + save_computes_on_failed_k8_s_creation: bool | None = Field(validation_alias='saveComputesOnFailedK8SCreation', default=None) + shared: bool | None = Field(validation_alias='shared', default=None) + storage_policy_id: int | None = Field(validation_alias='storagePolicyID', default=None) + use_custom_external_lb_addresses: bool | None = Field(validation_alias='useCustomExternalLBAddresses', default=None) + use_custom_internal_lb_addresses: bool | None = Field(validation_alias='useCustomInternalLBAddresses', default=None) + use_custom_master_ip_addresses: bool | None = Field(validation_alias='useCustomMasterIPAddresses', default=None) + use_custom_worker_ip_addresses: bool | None = Field(validation_alias='useCustomWorkerIPAddresses', default=None) + use_dynamix_extnet: bool | None = Field(validation_alias='useDynamixExtnet', default=None) + user_id: int | None = Field(validation_alias='userId', default=None) + version_crypt: str | None = Field(validation_alias='versionCrypt', default=None) + vins_global_network_id: int | None = Field(validation_alias='vinsGlobalNetworkId', default=None) + worker_addresses: list[str] | None = Field(validation_alias='workerAddresses', default=None) + worker_annotations: list[str] | None = Field(validation_alias='workerAnnotations', default=None) + worker_cpu_count: int | None = Field(validation_alias='workerCPUCount', default=None) + worker_cloud_init: str | None = Field(validation_alias='workerCloudInit', default=None) + worker_count: int | None = Field(validation_alias='workerCount', default=None) + worker_disk_size: int | None = Field(validation_alias='workerDiskSize', default=None) + worker_gpu_ids: list[int] | None = Field(validation_alias='workerGpuIds', default=None) + worker_group_name: str | None = Field(validation_alias='workerGroupName', default=None) + worker_hostnames: list[str] | None = Field(validation_alias='workerHostnames', default=None) + worker_labels: list[str] | None = Field(validation_alias='workerLabels', default=None) + worker_memory_size: int | None = Field(validation_alias='workerMemorySize', default=None) + worker_nodes_external_ip_adresses: list[str] | None = Field(validation_alias='workerNodesExternalIPAdresses', default=None) + worker_nodes_machine_os_builds: list[str] | None = Field(validation_alias='workerNodesMachineOSBuilds', default=None) + worker_nodes_machine_os_types: list[str] | None = Field(validation_alias='workerNodesMachineOSTypes', default=None) + worker_nodes_root_passwords: list[str] | None = Field(validation_alias='workerNodesRootPasswords', default=None) + worker_nodes_root_usernames: list[str] | None = Field(validation_alias='workerNodesRootUsernames', default=None) + worker_nodes_secure_shell_ports: list[int] | None = Field(validation_alias='workerNodesSecureShellPorts', default=None) + worker_nodes_user_passwords: list[str] | None = Field(validation_alias='workerNodesUserPasswords', default=None) + worker_nodes_user_usernames: list[str] | None = Field(validation_alias='workerNodesUserUsernames', default=None) + worker_taints: list[str] | None = Field(validation_alias='workerTaints', default=None) + workers_dynamix_sep_id: int | None = Field(validation_alias='workersDynamixSEPId', default=None) + workers_dynamix_sep_pool: str | None = Field(validation_alias='workersDynamixSEPPool', default=None) + + +class Result(_ResultModel): + template: Template | None = Field(validation_alias='template', default=None) + + +class DigitalenergyClusterTemplateGetResult(_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 DigitalenergyClusterTemplateGetImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/clusterTemplate/get' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyClusterTemplateGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster_template/list.py b/src/digital_energy_sdk/api/digitalenergy/cluster_template/list.py new file mode 100644 index 0000000..131336f --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster_template/list.py @@ -0,0 +1,64 @@ +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 results as _results + + +class ClusterType(Enum): + DYNAMIX = 'dynamix' + GENERIC = 'generic' + DENERGY = 'denergy' + BAREMETAL = 'baremetal' + + +class TemplatesItem(_ResultModel): + cluster_template_name: str | None = Field(validation_alias='clusterTemplateName', default=None) + cluster_type: str | None = Field(validation_alias='clusterType', default=None) + container_network_type: str | None = Field(validation_alias='containerNetworkType', default=None) + creation_date: str | None = Field(validation_alias='creationDate', default=None) + description: str | None = Field(validation_alias='description', default=None) + id: int | None = Field(validation_alias='id', default=None) + kube_version: str | None = Field(validation_alias='kubeVersion', default=None) + machine_os_type: str | None = Field(validation_alias='machineOSType', default=None) + owner_id: int | None = Field(validation_alias='ownerId', default=None) + shared: bool | None = Field(validation_alias='shared', default=None) + user_id: int | None = Field(validation_alias='userId', default=None) + username: str | None = Field(validation_alias='username', default=None) + + +class Result(_ResultModel): + templates: list[TemplatesItem] | None = Field(validation_alias='templates', default=None) + total: int | None = Field(validation_alias='total', default=None) + + +class DigitalenergyClusterTemplateListResult(_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 DigitalenergyClusterTemplateListImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/clusterTemplate/list' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_type': 'clusterType', + 'sort_by': 'sortBy', + } + + def __call__( + self, + *, + cluster_type: ClusterType | None = None, + sort_by: str | None = None, + limit: int | None = None, + page: int | None = None, + ) -> DigitalenergyClusterTemplateListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/cluster_template/update.py b/src/digital_energy_sdk/api/digitalenergy/cluster_template/update.py new file mode 100644 index 0000000..03af4f8 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/cluster_template/update.py @@ -0,0 +1,176 @@ +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 results as _results + + +class ExtraCluster2(_ParamModel): + app_container_repository: int | None = Field(serialization_alias='appContainerRepository', default=None) + audit_enable: bool | None = Field(serialization_alias='auditEnable', default=None) + audit_log_max_age: int | None = Field(serialization_alias='auditLogMaxAge', default=None) + audit_log_max_backup: int | None = Field(serialization_alias='auditLogMaxBackup', default=None) + audit_log_max_size: int | None = Field(serialization_alias='auditLogMaxSize', default=None) + audit_policy: str | None = Field(serialization_alias='auditPolicy', default=None) + balancers_dynamix_sep_id: int | None = Field(serialization_alias='balancersDynamixSEPId', default=None) + balancers_dynamix_sep_pool: str | None = Field(serialization_alias='balancersDynamixSEPPool', default=None) + certificate_issuer_id: int | None = Field(serialization_alias='certificateIssuerId', default=None) + certificate_key: str | None = Field(serialization_alias='certificateKey', default=None) + certificate_validity_before: str | None = Field(serialization_alias='certificateValidityBefore', default=None) + chart_repository: int | None = Field(serialization_alias='chartRepository', default=None) + cluster_hostname: str | None = Field(serialization_alias='clusterHostname', default=None) + cluster_machine_os_build: str | None = Field(serialization_alias='clusterMachineOSBuild', default=None) + cluster_machine_os_type: str | None = Field(serialization_alias='clusterMachineOSType', default=None) + cluster_name: str | None = Field(serialization_alias='clusterName', default=None) + cluster_template_description: str | None = Field(serialization_alias='clusterTemplateDescription', default=None) + cluster_template_name: str | None = Field(serialization_alias='clusterTemplateName', default=None) + cluster_type: str | None = Field(serialization_alias='clusterType', default=None) + container_network_type: str | None = Field(serialization_alias='containerNetworkType', default=None) + create_cluster_template: bool | None = Field(serialization_alias='createClusterTemplate', default=None) + custom_mtu: int | None = Field(serialization_alias='customMTU', default=None) + denergy_runtime_type: str | None = Field(serialization_alias='denergyRuntimeType', default=None) + description: str | None = Field(serialization_alias='description', default=None) + domain_resolvers: list[str] | None = Field(serialization_alias='domainResolvers', default=None) + dynamix_app_id: str | None = Field(serialization_alias='dynamixAppId', default=None) + dynamix_app_secret: str | None = Field(serialization_alias='dynamixAppSecret', default=None) + dynamix_auth_domain: str | None = Field(serialization_alias='dynamixAuthDomain', default=None) + dynamix_auth_type: str | None = Field(serialization_alias='dynamixAuthType', default=None) + dynamix_k8_ci_id: int | None = Field(serialization_alias='dynamixK8CIId', default=None) + dynamix_password: str | None = Field(serialization_alias='dynamixPassword', default=None) + dynamix_rg_id: int | None = Field(serialization_alias='dynamixRGId', default=None) + dynamix_sep_id: int | None = Field(serialization_alias='dynamixSEPId', default=None) + dynamix_sep_pool: str | None = Field(serialization_alias='dynamixSEPPool', default=None) + dynamix_ssourl: str | None = Field(serialization_alias='dynamixSSOURL', default=None) + dynamix_url: str | None = Field(serialization_alias='dynamixURL', default=None) + dynamix_username: str | None = Field(serialization_alias='dynamixUsername', default=None) + enable_custom_load_balancer_hostnames: bool | None = Field(serialization_alias='enableCustomLoadBalancerHostnames', default=None) + enable_custom_master_hostnames: bool | None = Field(serialization_alias='enableCustomMasterHostnames', default=None) + enable_custom_worker_hostnames: bool | None = Field(serialization_alias='enableCustomWorkerHostnames', default=None) + ess_auth_token: str | None = Field(serialization_alias='essAuthToken', default=None) + ext_virtual_address: str | None = Field(serialization_alias='extVirtualAddress', default=None) + external_lb_addresses: list[str] | None = Field(serialization_alias='externalLBAddresses', default=None) + global_network_id: int | None = Field(serialization_alias='globalNetworkId', default=None) + i_load_balancer_cpu_count: int | None = Field(serialization_alias='iLoadBalancerCPUCount', default=None) + i_load_balancer_cloud_init: str | None = Field(serialization_alias='iLoadBalancerCloudInit', default=None) + i_load_balancer_count: int | None = Field(serialization_alias='iLoadBalancerCount', default=None) + i_load_balancer_disk_size: int | None = Field(serialization_alias='iLoadBalancerDiskSize', default=None) + i_load_balancer_gpu_ids: list[int] | None = Field(serialization_alias='iLoadBalancerGpuIds', default=None) + i_load_balancer_memory_size: int | None = Field(serialization_alias='iLoadBalancerMemorySize', default=None) + initial_secure_shell_port: int | None = Field(serialization_alias='initialSecureShellPort', default=None) + install_criobox: bool | None = Field(serialization_alias='installCriobox', default=None) + install_csi_dynamix: bool | None = Field(serialization_alias='installCsiDynamix', default=None) + install_ess: bool | None = Field(serialization_alias='installEss', default=None) + install_kyverno: bool | None = Field(serialization_alias='installKyverno', default=None) + install_metrics: bool | None = Field(serialization_alias='installMetrics', default=None) + install_monitoring: bool | None = Field(serialization_alias='installMonitoring', default=None) + install_pod_logger: bool | None = Field(serialization_alias='installPodLogger', default=None) + install_rbac_manager: bool | None = Field(serialization_alias='installRbacManager', default=None) + install_trivy: bool | None = Field(serialization_alias='installTrivy', default=None) + int_virtual_address: str | None = Field(serialization_alias='intVirtualAddress', default=None) + internal_lb_addresses: list[str] | None = Field(serialization_alias='internalLBAddresses', default=None) + kube_config: str | None = Field(serialization_alias='kubeConfig', default=None) + kube_container_repository: int | None = Field(serialization_alias='kubeContainerRepository', default=None) + kube_version: str | None = Field(serialization_alias='kubeVersion', default=None) + load_balancer_external_ip_addresses: list[str] | None = Field(serialization_alias='loadBalancerExternalIPAddresses', default=None) + load_balancer_hostnames: list[str] | None = Field(serialization_alias='loadBalancerHostnames', default=None) + load_balancer_internal_ip_addresses: list[str] | None = Field(serialization_alias='loadBalancerInternalIPAddresses', default=None) + load_balancer_machine_os_build: list[str] | None = Field(serialization_alias='loadBalancerMachineOSBuild', default=None) + load_balancer_machine_os_type: list[str] | None = Field(serialization_alias='loadBalancerMachineOSType', default=None) + load_balancer_root_passwords: list[str] | None = Field(serialization_alias='loadBalancerRootPasswords', default=None) + load_balancer_root_usernames: list[str] | None = Field(serialization_alias='loadBalancerRootUsernames', default=None) + load_balancer_secure_shell_ports: list[int] | None = Field(serialization_alias='loadBalancerSecureShellPorts', default=None) + load_balancer_user_passwords: list[str] | None = Field(serialization_alias='loadBalancerUserPasswords', default=None) + load_balancer_user_usernames: list[str] | None = Field(serialization_alias='loadBalancerUserUsernames', default=None) + local_network_id: int | None = Field(serialization_alias='localNetworkId', default=None) + machine_os_build: str | None = Field(serialization_alias='machineOSBuild', default=None) + machine_os_image_id: int | None = Field(serialization_alias='machineOSImageId', default=None) + machine_os_type: str | None = Field(serialization_alias='machineOSType', default=None) + machine_provider: str | None = Field(serialization_alias='machineProvider', default=None) + master_addresses: list[str] | None = Field(serialization_alias='masterAddresses', default=None) + master_cpu_count: int | None = Field(serialization_alias='masterCPUCount', default=None) + master_cloud_init: str | None = Field(serialization_alias='masterCloudInit', default=None) + master_count: int | None = Field(serialization_alias='masterCount', default=None) + master_disk_size: int | None = Field(serialization_alias='masterDiskSize', default=None) + master_gpu_ids: list[int] | None = Field(serialization_alias='masterGpuIds', default=None) + master_hostnames: list[str] | None = Field(serialization_alias='masterHostnames', default=None) + master_memory_size: int | None = Field(serialization_alias='masterMemorySize', default=None) + master_nodes_external_ip_adresses: list[str] | None = Field(serialization_alias='masterNodesExternalIPAdresses', default=None) + master_nodes_machine_os_builds: list[str] | None = Field(serialization_alias='masterNodesMachineOSBuilds', default=None) + master_nodes_machine_os_types: list[str] | None = Field(serialization_alias='masterNodesMachineOSTypes', default=None) + master_nodes_root_passwords: list[str] | None = Field(serialization_alias='masterNodesRootPasswords', default=None) + master_nodes_root_usernames: list[str] | None = Field(serialization_alias='masterNodesRootUsernames', default=None) + master_nodes_secure_shell_ports: list[int] | None = Field(serialization_alias='masterNodesSecureShellPorts', default=None) + master_nodes_user_passwords: list[str] | None = Field(serialization_alias='masterNodesUserPasswords', default=None) + master_nodes_user_usernames: list[str] | None = Field(serialization_alias='masterNodesUserUsernames', default=None) + masters_dynamix_sep_id: int | None = Field(serialization_alias='mastersDynamixSEPId', default=None) + masters_dynamix_sep_pool: str | None = Field(serialization_alias='mastersDynamixSEPPool', default=None) + package_repository: int | None = Field(serialization_alias='packageRepository', default=None) + provide_dns: bool | None = Field(serialization_alias='provideDNS', default=None) + save_computes_on_failed_k8_s_creation: bool | None = Field(serialization_alias='saveComputesOnFailedK8SCreation', default=None) + shared_cluster_template: bool | None = Field(serialization_alias='sharedClusterTemplate', default=None) + storage_policy_id: int | None = Field(serialization_alias='storagePolicyId', default=None) + use_custom_external_lb_addresses: bool | None = Field(serialization_alias='useCustomExternalLBAddresses', default=None) + use_custom_internal_lb_addresses: bool | None = Field(serialization_alias='useCustomInternalLBAddresses', default=None) + use_custom_master_ip_addresses: bool | None = Field(serialization_alias='useCustomMasterIPAddresses', default=None) + use_custom_worker_ip_addresses: bool | None = Field(serialization_alias='useCustomWorkerIPAddresses', default=None) + use_dynamix_extnet: bool | None = Field(serialization_alias='useDynamixExtnet', default=None) + vins_global_network_id: int | None = Field(serialization_alias='vinsGlobalNetworkId', default=None) + worker_addresses: list[str] | None = Field(serialization_alias='workerAddresses', default=None) + worker_annotations: list[str] | None = Field(serialization_alias='workerAnnotations', default=None) + worker_cpu_count: int | None = Field(serialization_alias='workerCPUCount', default=None) + worker_cloud_init: str | None = Field(serialization_alias='workerCloudInit', default=None) + worker_count: int | None = Field(serialization_alias='workerCount', default=None) + worker_disk_size: int | None = Field(serialization_alias='workerDiskSize', default=None) + worker_gpu_ids: list[int] | None = Field(serialization_alias='workerGpuIds', default=None) + worker_group_name: str | None = Field(serialization_alias='workerGroupName', default=None) + worker_hostnames: list[str] | None = Field(serialization_alias='workerHostnames', default=None) + worker_labels: list[str] | None = Field(serialization_alias='workerLabels', default=None) + worker_memory_size: int | None = Field(serialization_alias='workerMemorySize', default=None) + worker_nodes_external_ip_adresses: list[str] | None = Field(serialization_alias='workerNodesExternalIPAdresses', default=None) + worker_nodes_machine_os_builds: list[str] | None = Field(serialization_alias='workerNodesMachineOSBuilds', default=None) + worker_nodes_machine_os_types: list[str] | None = Field(serialization_alias='workerNodesMachineOSTypes', default=None) + worker_nodes_root_passwords: list[str] | None = Field(serialization_alias='workerNodesRootPasswords', default=None) + worker_nodes_root_usernames: list[str] | None = Field(serialization_alias='workerNodesRootUsernames', default=None) + worker_nodes_secure_shell_ports: list[int] | None = Field(serialization_alias='workerNodesSecureShellPorts', default=None) + worker_nodes_user_passwords: list[str] | None = Field(serialization_alias='workerNodesUserPasswords', default=None) + worker_nodes_user_usernames: list[str] | None = Field(serialization_alias='workerNodesUserUsernames', default=None) + worker_taints: list[str] | None = Field(serialization_alias='workerTaints', default=None) + workers_dynamix_sep_id: int | None = Field(serialization_alias='workersDynamixSEPId', default=None) + workers_dynamix_sep_pool: str | None = Field(serialization_alias='workersDynamixSEPPool', default=None) + + +class ExtraCluster1(_ParamModel): + extra_cluster: ExtraCluster2 | None = Field(serialization_alias='extraCluster', default=None) + id: int | None = Field(serialization_alias='id', default=None) + + +class Result(_ResultModel): + id: int | None = Field(validation_alias='id', default=None) + + +class DigitalenergyClusterTemplateUpdateResult(_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 DigitalenergyClusterTemplateUpdateImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/clusterTemplate/update' + http_method = HTTPMethod.POST + param_aliases = { + 'extra_cluster': 'extraCluster', + } + + def __call__( + self, + *, + extra_cluster: ExtraCluster1, + ) -> DigitalenergyClusterTemplateUpdateResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/codescoring/__init__.py b/src/digital_energy_sdk/api/digitalenergy/codescoring/__init__.py new file mode 100644 index 0000000..6b81b06 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/codescoring/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyCodescoringImpl + + +__all__ = ['DigitalenergyCodescoringImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/codescoring/_group.py b/src/digital_energy_sdk/api/digitalenergy/codescoring/_group.py new file mode 100644 index 0000000..56082c3 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/codescoring/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyCodescoringDescribeImpl +from .install import DigitalenergyCodescoringInstallImpl +from .uninstall import DigitalenergyCodescoringUninstallImpl + + +class DigitalenergyCodescoringImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyCodescoringDescribeImpl: + return DigitalenergyCodescoringDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyCodescoringInstallImpl: + return DigitalenergyCodescoringInstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyCodescoringUninstallImpl: + return DigitalenergyCodescoringUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/codescoring/describe.py b/src/digital_energy_sdk/api/digitalenergy/codescoring/describe.py new file mode 100644 index 0000000..2182e1d --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/codescoring/describe.py @@ -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 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) + secret_key: str | None = Field(validation_alias='secretKey', 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 DigitalenergyCodescoringDescribeResult(_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 DigitalenergyCodescoringDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/codescoring/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, + ) -> DigitalenergyCodescoringDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/codescoring/install.py b/src/digital_energy_sdk/api/digitalenergy/codescoring/install.py new file mode 100644 index 0000000..717b8e9 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/codescoring/install.py @@ -0,0 +1,49 @@ +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 results as _results + + +class StorageClass(Enum): + LONGHORN = 'longhorn' + GLUSTERFS = 'glusterfs' + EMPTY_STR = '' + + +class DigitalenergyCodescoringInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/codescoring/install' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'secret_key': 'secretKey', + '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, + username: str, + password: str, + secret_key: str, + hostname: str, + integagent_hostname: str | None = None, + 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, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/codescoring/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/codescoring/uninstall.py new file mode 100644 index 0000000..554423a --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/codescoring/uninstall.py @@ -0,0 +1,30 @@ +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 results as _results + + +class DigitalenergyCodescoringUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/codescoring/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 \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/computes/__init__.py b/src/digital_energy_sdk/api/digitalenergy/computes/__init__.py new file mode 100644 index 0000000..da6d1d9 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/computes/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyComputesImpl + + +__all__ = ['DigitalenergyComputesImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/computes/_group.py b/src/digital_energy_sdk/api/digitalenergy/computes/_group.py new file mode 100644 index 0000000..adfc40c --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/computes/_group.py @@ -0,0 +1,25 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .disk_attach import DigitalenergyComputesDiskAttachImpl +from .disk_detach import DigitalenergyComputesDiskDetachImpl +from .get import DigitalenergyComputesGetImpl +from .list import DigitalenergyComputesListImpl + + +class DigitalenergyComputesImpl(APIOperationGroupImpl): + @cached_property + def disk_attach(self) -> DigitalenergyComputesDiskAttachImpl: + return DigitalenergyComputesDiskAttachImpl(config=self._config) + + @cached_property + def disk_detach(self) -> DigitalenergyComputesDiskDetachImpl: + return DigitalenergyComputesDiskDetachImpl(config=self._config) + + @cached_property + def get(self) -> DigitalenergyComputesGetImpl: + return DigitalenergyComputesGetImpl(config=self._config) + + @cached_property + def list(self) -> DigitalenergyComputesListImpl: + return DigitalenergyComputesListImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/computes/disk_attach.py b/src/digital_energy_sdk/api/digitalenergy/computes/disk_attach.py new file mode 100644 index 0000000..11ae401 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/computes/disk_attach.py @@ -0,0 +1,57 @@ +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 results as _results + + +class DigitalenergyComputesDiskAttachResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyComputesDiskAttachImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/computes/diskAttach' + http_method = HTTPMethod.POST + param_aliases = { + 'compute_id': 'computeId', + 'disk_id': 'diskId', + 'pci_slot': 'pciSlot', + 'bus_number': 'busNumber', + 'read_only': 'readOnly', + 'dynamix_auth_type': 'dynamixAuthType', + 'dynamix_auth_domain': 'dynamixAuthDomain', + 'dynamix_username': 'dynamixUsername', + 'dynamix_password': 'dynamixPassword', + 'dynamix_app_id': 'dynamixAppId', + 'dynamix_app_secret': 'dynamixAppSecret', + 'dynamix_url': 'dynamixURL', + 'dynamix_ssourl': 'dynamixSSOURL', + } + + def __call__( + self, + *, + compute_id: int, + disk_id: int, + pci_slot: str | None = None, + bus_number: str | None = None, + read_only: bool | None = None, + dynamix_auth_type: str | None = None, + dynamix_auth_domain: str | None = None, + dynamix_username: str | None = None, + dynamix_password: str | None = None, + dynamix_app_id: str | None = None, + dynamix_app_secret: str | None = None, + dynamix_url: str | None = None, + dynamix_ssourl: str | None = None, + ) -> DigitalenergyComputesDiskAttachResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/computes/disk_detach.py b/src/digital_energy_sdk/api/digitalenergy/computes/disk_detach.py new file mode 100644 index 0000000..93f9e33 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/computes/disk_detach.py @@ -0,0 +1,51 @@ +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 results as _results + + +class DigitalenergyComputesDiskDetachResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyComputesDiskDetachImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/computes/diskDetach' + http_method = HTTPMethod.POST + param_aliases = { + 'compute_id': 'computeId', + 'disk_id': 'diskId', + 'dynamix_auth_type': 'dynamixAuthType', + 'dynamix_auth_domain': 'dynamixAuthDomain', + 'dynamix_username': 'dynamixUsername', + 'dynamix_password': 'dynamixPassword', + 'dynamix_app_id': 'dynamixAppId', + 'dynamix_app_secret': 'dynamixAppSecret', + 'dynamix_url': 'dynamixURL', + 'dynamix_ssourl': 'dynamixSSOURL', + } + + def __call__( + self, + *, + compute_id: int, + disk_id: int, + dynamix_auth_type: str | None = None, + dynamix_auth_domain: str | None = None, + dynamix_username: str | None = None, + dynamix_password: str | None = None, + dynamix_app_id: str | None = None, + dynamix_app_secret: str | None = None, + dynamix_url: str | None = None, + dynamix_ssourl: str | None = None, + ) -> DigitalenergyComputesDiskDetachResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/computes/get.py b/src/digital_energy_sdk/api/digitalenergy/computes/get.py new file mode 100644 index 0000000..a35ba2f --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/computes/get.py @@ -0,0 +1,71 @@ +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 results as _results + + +class DisksItem(_ResultModel): + bus_number: int | None = Field(validation_alias='bus_number', default=None) + device_name: str | None = Field(validation_alias='deviceName', default=None) + id: int | None = Field(validation_alias='id', default=None) + pci_slot: int | None = Field(validation_alias='pciSlot', default=None) + res_id: str | None = Field(validation_alias='resId', default=None) + type: str | None = Field(validation_alias='type', default=None) + + +class Result(_ResultModel): + cpus: int | None = Field(validation_alias='cpus', default=None) + disks: list[DisksItem] | None = Field(validation_alias='disks', default=None) + id: int | None = Field(validation_alias='id', default=None) + image_id: int | None = Field(validation_alias='imageId', default=None) + image_name: str | None = Field(validation_alias='imageName', default=None) + name: str | None = Field(validation_alias='name', default=None) + ram: int | None = Field(validation_alias='ram', default=None) + rg_id: int | None = Field(validation_alias='rgId', default=None) + rg_name: str | None = Field(validation_alias='rgName', default=None) + zone_id: int | None = Field(validation_alias='zoneId', default=None) + + +class DigitalenergyComputesGetResult(_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 DigitalenergyComputesGetImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/computes/get' + http_method = HTTPMethod.POST + param_aliases = { + 'compute_id': 'computeId', + 'dynamix_auth_type': 'dynamixAuthType', + 'dynamix_auth_domain': 'dynamixAuthDomain', + 'dynamix_username': 'dynamixUsername', + 'dynamix_password': 'dynamixPassword', + 'dynamix_app_id': 'dynamixAppId', + 'dynamix_app_secret': 'dynamixAppSecret', + 'dynamix_url': 'dynamixURL', + 'dynamix_ssourl': 'dynamixSSOURL', + } + + def __call__( + self, + *, + compute_id: int, + dynamix_auth_type: str | None = None, + dynamix_auth_domain: str | None = None, + dynamix_username: str | None = None, + dynamix_password: str | None = None, + dynamix_app_id: str | None = None, + dynamix_app_secret: str | None = None, + dynamix_url: str | None = None, + dynamix_ssourl: str | None = None, + ) -> DigitalenergyComputesGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/computes/list.py b/src/digital_energy_sdk/api/digitalenergy/computes/list.py new file mode 100644 index 0000000..782899d --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/computes/list.py @@ -0,0 +1,91 @@ +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 results as _results + + +class InterfacesItem(_ResultModel): + ip_address: str | None = Field(validation_alias='ipAddress', default=None) + net_type: str | None = Field(validation_alias='netType', default=None) + + +class DataItem(_ResultModel): + account_id: int | None = Field(validation_alias='accountId', default=None) + id: int | None = Field(validation_alias='id', default=None) + interfaces: list[InterfacesItem] | None = Field(validation_alias='interfaces', default=None) + name: str | None = Field(validation_alias='name', default=None) + rg_id: int | None = Field(validation_alias='rgId', default=None) + zone_id: int | None = Field(validation_alias='zoneId', default=None) + + +class Result(_ResultModel): + data: list[DataItem] | None = Field(validation_alias='data', default=None) + entry_count: int | None = Field(validation_alias='entryCount', default=None) + + +class DigitalenergyComputesListResult(_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 DigitalenergyComputesListImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/computes/list' + http_method = HTTPMethod.POST + param_aliases = { + 'account_id': 'accountId', + 'rg_name': 'rgName', + 'rg_id': 'rgId', + 'tech_status': 'techStatus', + 'ip_address': 'ipAddress', + 'ext_net_name': 'extNetName', + 'ext_net_id': 'extNetId', + 'include_deleted': 'includeDeleted', + 'sort_by': 'sortBy', + 'zone_id': 'zoneId', + 'dynamix_auth_type': 'dynamixAuthType', + 'dynamix_auth_domain': 'dynamixAuthDomain', + 'dynamix_username': 'dynamixUsername', + 'dynamix_password': 'dynamixPassword', + 'dynamix_app_id': 'dynamixAppId', + 'dynamix_app_secret': 'dynamixAppSecret', + 'dynamix_url': 'dynamixURL', + 'dynamix_ssourl': 'dynamixSSOURL', + } + + def __call__( + self, + *, + id: int | None = None, + name: str | None = None, + account_id: int | None = None, + rg_name: str | None = None, + rg_id: int | None = None, + tech_status: str | None = None, + status: str | None = None, + ip_address: str | None = None, + ext_net_name: str | None = None, + ext_net_id: int | None = None, + include_deleted: bool | None = None, + sort_by: str | None = None, + zone_id: int | None = None, + page: int | None = None, + size: int | None = None, + dynamix_auth_type: str | None = None, + dynamix_auth_domain: str | None = None, + dynamix_username: str | None = None, + dynamix_password: str | None = None, + dynamix_app_id: str | None = None, + dynamix_app_secret: str | None = None, + dynamix_url: str | None = None, + dynamix_ssourl: str | None = None, + ) -> DigitalenergyComputesListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/criobox/__init__.py b/src/digital_energy_sdk/api/digitalenergy/criobox/__init__.py new file mode 100644 index 0000000..b00f720 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/criobox/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyCrioboxImpl + + +__all__ = ['DigitalenergyCrioboxImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/criobox/_group.py b/src/digital_energy_sdk/api/digitalenergy/criobox/_group.py new file mode 100644 index 0000000..b3d9dbb --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/criobox/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyCrioboxDescribeImpl +from .install import DigitalenergyCrioboxInstallImpl +from .uninstall import DigitalenergyCrioboxUninstallImpl + + +class DigitalenergyCrioboxImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyCrioboxDescribeImpl: + return DigitalenergyCrioboxDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyCrioboxInstallImpl: + return DigitalenergyCrioboxInstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyCrioboxUninstallImpl: + return DigitalenergyCrioboxUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/criobox/describe.py b/src/digital_energy_sdk/api/digitalenergy/criobox/describe.py new file mode 100644 index 0000000..7d46af8 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/criobox/describe.py @@ -0,0 +1,56 @@ +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 results as _results + + +class Registry(_ResultModel): + cluster_id: int | None = Field(validation_alias='clusterId', default=None) + hostname: str | None = Field(validation_alias='hostname', 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) + port: int | None = Field(validation_alias='port', default=None) + product_name: str | None = Field(validation_alias='productName', default=None) + product_version: str | None = Field(validation_alias='productVersion', default=None) + task_ids: list[int] | None = Field(validation_alias='taskIds', default=None) + username: str | None = Field(validation_alias='username', default=None) + + +class Result(_ResultModel): + 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 DigitalenergyCrioboxDescribeResult(_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 DigitalenergyCrioboxDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/criobox/describe' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'check_installation': 'checkInstallation', + } + + def __call__( + self, + *, + cluster_id: int, + check_installation: bool | None = None, + ) -> DigitalenergyCrioboxDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/criobox/install.py b/src/digital_energy_sdk/api/digitalenergy/criobox/install.py new file mode 100644 index 0000000..3e1f34a --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/criobox/install.py @@ -0,0 +1,54 @@ +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 results as _results + + +class LogLevel(Enum): + SYSTEM = 'system' + DEBUG = 'debug' + INFO = 'info' + WARNING = 'warning' + ERROR = 'error' + EMPTY_STR = '' + + +class Result(_ResultModel): + task_id: int | None = Field(validation_alias='taskId', default=None) + + +class DigitalenergyCrioboxInstallResult(_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 DigitalenergyCrioboxInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/criobox/install' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'apps_repository_id': 'appsRepositoryId', + 'charts_repository_id': 'chartsRepositoryId', + 'download_chart_anyway': 'downloadChartAnyway', + 'log_level': 'logLevel', + } + + def __call__( + self, + *, + cluster_id: int, + apps_repository_id: int | None = None, + charts_repository_id: int | None = None, + download_chart_anyway: bool | None = None, + log_level: LogLevel | None = None, + ) -> DigitalenergyCrioboxInstallResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/criobox/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/criobox/uninstall.py new file mode 100644 index 0000000..110a484 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/criobox/uninstall.py @@ -0,0 +1,41 @@ +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 results as _results + + +class Result(_ResultModel): + task_id: int | None = Field(validation_alias='taskId', default=None) + + +class DigitalenergyCrioboxUninstallResult(_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 DigitalenergyCrioboxUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/criobox/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, + ) -> DigitalenergyCrioboxUninstallResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/csidynamix/__init__.py b/src/digital_energy_sdk/api/digitalenergy/csidynamix/__init__.py new file mode 100644 index 0000000..3c2b712 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/csidynamix/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyCsidynamixImpl + + +__all__ = ['DigitalenergyCsidynamixImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/csidynamix/_group.py b/src/digital_energy_sdk/api/digitalenergy/csidynamix/_group.py new file mode 100644 index 0000000..8748498 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/csidynamix/_group.py @@ -0,0 +1,25 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyCsidynamixDescribeImpl +from .install import DigitalenergyCsidynamixInstallImpl +from .reinstall import DigitalenergyCsidynamixReinstallImpl +from .uninstall import DigitalenergyCsidynamixUninstallImpl + + +class DigitalenergyCsidynamixImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyCsidynamixDescribeImpl: + return DigitalenergyCsidynamixDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyCsidynamixInstallImpl: + return DigitalenergyCsidynamixInstallImpl(config=self._config) + + @cached_property + def reinstall(self) -> DigitalenergyCsidynamixReinstallImpl: + return DigitalenergyCsidynamixReinstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyCsidynamixUninstallImpl: + return DigitalenergyCsidynamixUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/csidynamix/describe.py b/src/digital_energy_sdk/api/digitalenergy/csidynamix/describe.py new file mode 100644 index 0000000..82096d5 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/csidynamix/describe.py @@ -0,0 +1,38 @@ +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 results as _results + + +class Result(_ResultModel): + installed: bool | None = Field(validation_alias='installed', default=None) + namespace: str | None = Field(validation_alias='namespace', default=None) + + +class DigitalenergyCsidynamixDescribeResult(_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 DigitalenergyCsidynamixDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/csidynamix/describe' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + ) -> DigitalenergyCsidynamixDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/csidynamix/install.py b/src/digital_energy_sdk/api/digitalenergy/csidynamix/install.py new file mode 100644 index 0000000..8a12fee --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/csidynamix/install.py @@ -0,0 +1,66 @@ +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 results as _results + + +class Result(_ResultModel): + task_id: int | None = Field(validation_alias='taskId', default=None) + + +class DigitalenergyCsidynamixInstallResult(_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 DigitalenergyCsidynamixInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/csidynamix/install' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'apps_repository_id': 'appsRepositoryId', + 'charts_repository_id': 'chartsRepositoryId', + 'dynamix_sep_id': 'dynamixSepId', + 'dynamix_pool': 'dynamixPool', + 'dynamix_storage_policy_id': 'dynamixStoragePolicyId', + 'dynamix_rg_id': 'dynamixRGId', + 'dynamix_auth_type': 'dynamixAuthType', + 'dynamix_auth_domain': 'dynamixAuthDomain', + 'dynamix_username': 'dynamixUsername', + 'dynamix_password': 'dynamixPassword', + 'dynamix_app_id': 'dynamixAppId', + 'dynamix_app_secret': 'dynamixAppSecret', + 'dynamix_url': 'dynamixURL', + 'dynamix_ssourl': 'dynamixSSOURL', + } + + def __call__( + self, + *, + cluster_id: int, + apps_repository_id: int | None = None, + charts_repository_id: int | None = None, + namespace: str | None = None, + dynamix_sep_id: int | None = None, + dynamix_pool: str | None = None, + dynamix_storage_policy_id: int | None = None, + dynamix_rg_id: int | None = None, + dynamix_auth_type: str | None = None, + dynamix_auth_domain: str | None = None, + dynamix_username: str | None = None, + dynamix_password: str | None = None, + dynamix_app_id: str | None = None, + dynamix_app_secret: str | None = None, + dynamix_url: str | None = None, + dynamix_ssourl: str | None = None, + ) -> DigitalenergyCsidynamixInstallResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/csidynamix/reinstall.py b/src/digital_energy_sdk/api/digitalenergy/csidynamix/reinstall.py new file mode 100644 index 0000000..2a13613 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/csidynamix/reinstall.py @@ -0,0 +1,66 @@ +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 results as _results + + +class Result(_ResultModel): + task_id: int | None = Field(validation_alias='taskId', default=None) + + +class DigitalenergyCsidynamixReinstallResult(_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 DigitalenergyCsidynamixReinstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/csidynamix/reinstall' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'apps_repository_id': 'appsRepositoryId', + 'charts_repository_id': 'chartsRepositoryId', + 'dynamix_sep_id': 'dynamixSepId', + 'dynamix_pool': 'dynamixPool', + 'dynamix_storage_policy_id': 'dynamixStoragePolicyId', + 'dynamix_rg_id': 'dynamixRGId', + 'dynamix_auth_type': 'dynamixAuthType', + 'dynamix_auth_domain': 'dynamixAuthDomain', + 'dynamix_username': 'dynamixUsername', + 'dynamix_password': 'dynamixPassword', + 'dynamix_app_id': 'dynamixAppId', + 'dynamix_app_secret': 'dynamixAppSecret', + 'dynamix_url': 'dynamixURL', + 'dynamix_ssourl': 'dynamixSSOURL', + } + + def __call__( + self, + *, + cluster_id: int, + apps_repository_id: int | None = None, + charts_repository_id: int | None = None, + namespace: str | None = None, + dynamix_sep_id: int | None = None, + dynamix_pool: str | None = None, + dynamix_storage_policy_id: int | None = None, + dynamix_rg_id: int | None = None, + dynamix_auth_type: str | None = None, + dynamix_auth_domain: str | None = None, + dynamix_username: str | None = None, + dynamix_password: str | None = None, + dynamix_app_id: str | None = None, + dynamix_app_secret: str | None = None, + dynamix_url: str | None = None, + dynamix_ssourl: str | None = None, + ) -> DigitalenergyCsidynamixReinstallResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/csidynamix/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/csidynamix/uninstall.py new file mode 100644 index 0000000..bc2e297 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/csidynamix/uninstall.py @@ -0,0 +1,38 @@ +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 results as _results + + +class Result(_ResultModel): + task_id: int | None = Field(validation_alias='taskId', default=None) + + +class DigitalenergyCsidynamixUninstallResult(_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 DigitalenergyCsidynamixUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/csidynamix/uninstall' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + namespace: str | None = None, + ) -> DigitalenergyCsidynamixUninstallResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/customapp/__init__.py b/src/digital_energy_sdk/api/digitalenergy/customapp/__init__.py new file mode 100644 index 0000000..aa663d7 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/customapp/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyCustomappImpl + + +__all__ = ['DigitalenergyCustomappImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/customapp/_group.py b/src/digital_energy_sdk/api/digitalenergy/customapp/_group.py new file mode 100644 index 0000000..0017444 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/customapp/_group.py @@ -0,0 +1,25 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyCustomappDescribeImpl +from .install import DigitalenergyCustomappInstallImpl +from .list import DigitalenergyCustomappListImpl +from .uninstall import DigitalenergyCustomappUninstallImpl + + +class DigitalenergyCustomappImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyCustomappDescribeImpl: + return DigitalenergyCustomappDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyCustomappInstallImpl: + return DigitalenergyCustomappInstallImpl(config=self._config) + + @cached_property + def list(self) -> DigitalenergyCustomappListImpl: + return DigitalenergyCustomappListImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyCustomappUninstallImpl: + return DigitalenergyCustomappUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/customapp/describe.py b/src/digital_energy_sdk/api/digitalenergy/customapp/describe.py new file mode 100644 index 0000000..933e40c --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/customapp/describe.py @@ -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 results as _results + + +class DigitalenergyCustomappDescribeResult(_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: _results.IotypeDescribeCustomAppResult | None = Field(validation_alias='result', default=None) + + +class DigitalenergyCustomappDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/customapp/describe' + http_method = HTTPMethod.POST + param_aliases = { + 'custom_app_id': 'customAppId', + 'check_installation': 'checkInstallation', + 'check_liveness': 'CheckLiveness', + } + + def __call__( + self, + *, + custom_app_id: int, + check_installation: bool | None = None, + check_liveness: bool | None = None, + ) -> DigitalenergyCustomappDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/customapp/install.py b/src/digital_energy_sdk/api/digitalenergy/customapp/install.py new file mode 100644 index 0000000..3f06a29 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/customapp/install.py @@ -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 results as _results + + +class DigitalenergyCustomappInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/customapp/install' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'chart_id': 'chartId', + 'release_name': 'releaseName', + 'release_namespace': 'releaseNamespace', + 'install_timeout': 'installTimeout', + 'download_chart_anyway': 'downloadChartAnyway', + } + + def __call__( + self, + *, + cluster_id: int, + chart_id: str, + release_name: str, + release_namespace: str, + hostname: str | None = None, + install_timeout: int | None = None, + download_chart_anyway: bool | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/customapp/list.py b/src/digital_energy_sdk/api/digitalenergy/customapp/list.py new file mode 100644 index 0000000..ba84212 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/customapp/list.py @@ -0,0 +1,41 @@ +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 results as _results + + +class Result(_ResultModel): + custom_apps: list[_results.IotypeDescribeCustomAppResult] | None = Field(validation_alias='customApps', default=None) + + +class DigitalenergyCustomappListResult(_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 DigitalenergyCustomappListImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/customapp/list' + 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, + ) -> DigitalenergyCustomappListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/customapp/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/customapp/uninstall.py new file mode 100644 index 0000000..8997a79 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/customapp/uninstall.py @@ -0,0 +1,34 @@ +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 results as _results + + +class DigitalenergyCustomappUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/customapp/uninstall' + http_method = HTTPMethod.POST + param_aliases = { + 'custom_app_id': 'customAppId', + 'clean_always': 'cleanAlways', + 'delete_namespace': 'deleteNamespace', + 'ignore_dns_error': 'ignoreDnsError', + 'uninstall_timeout': 'uninstallTimeout', + } + + def __call__( + self, + *, + custom_app_id: int, + clean_always: bool = False, + delete_namespace: bool = False, + ignore_dns_error: bool = False, + uninstall_timeout: int | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/database/__init__.py b/src/digital_energy_sdk/api/digitalenergy/database/__init__.py new file mode 100644 index 0000000..0e1a2e1 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/database/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyDatabaseImpl + + +__all__ = ['DigitalenergyDatabaseImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/database/_group.py b/src/digital_energy_sdk/api/digitalenergy/database/_group.py new file mode 100644 index 0000000..dce9dbb --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/database/_group.py @@ -0,0 +1,25 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .create_databases import DigitalenergyDatabaseCreateDatabasesImpl +from .create_db_user import DigitalenergyDatabaseCreateDbUserImpl +from .delete_database import DigitalenergyDatabaseDeleteDatabaseImpl +from .delete_db_user import DigitalenergyDatabaseDeleteDbUserImpl + + +class DigitalenergyDatabaseImpl(APIOperationGroupImpl): + @cached_property + def create_databases(self) -> DigitalenergyDatabaseCreateDatabasesImpl: + return DigitalenergyDatabaseCreateDatabasesImpl(config=self._config) + + @cached_property + def create_db_user(self) -> DigitalenergyDatabaseCreateDbUserImpl: + return DigitalenergyDatabaseCreateDbUserImpl(config=self._config) + + @cached_property + def delete_database(self) -> DigitalenergyDatabaseDeleteDatabaseImpl: + return DigitalenergyDatabaseDeleteDatabaseImpl(config=self._config) + + @cached_property + def delete_db_user(self) -> DigitalenergyDatabaseDeleteDbUserImpl: + return DigitalenergyDatabaseDeleteDbUserImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/database/create_databases.py b/src/digital_energy_sdk/api/digitalenergy/database/create_databases.py new file mode 100644 index 0000000..74e39b7 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/database/create_databases.py @@ -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 results as _results + + +class DigitalenergyDatabaseCreateDatabasesResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyDatabaseCreateDatabasesImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/database/createDatabases' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'drop_existing': 'dropExisting', + } + + def __call__( + self, + *, + cluster_id: int, + databases: str | None = None, + owner: str | None = None, + drop_existing: bool, + ) -> DigitalenergyDatabaseCreateDatabasesResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/database/create_db_user.py b/src/digital_energy_sdk/api/digitalenergy/database/create_db_user.py new file mode 100644 index 0000000..936fb55 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/database/create_db_user.py @@ -0,0 +1,38 @@ +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 results as _results + + +class DigitalenergyDatabaseCreateDbUserResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyDatabaseCreateDbUserImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/database/createDbUser' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'drop_existing': 'dropExisting', + } + + def __call__( + self, + *, + cluster_id: int, + username: str, + password: str, + drop_existing: bool | None = None, + databases: str | None = None, + ) -> DigitalenergyDatabaseCreateDbUserResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/database/delete_database.py b/src/digital_energy_sdk/api/digitalenergy/database/delete_database.py new file mode 100644 index 0000000..efa826a --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/database/delete_database.py @@ -0,0 +1,34 @@ +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 results as _results + + +class DigitalenergyDatabaseDeleteDatabaseResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyDatabaseDeleteDatabaseImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/database/deleteDatabase' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + databases: str | None = None, + ) -> DigitalenergyDatabaseDeleteDatabaseResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/database/delete_db_user.py b/src/digital_energy_sdk/api/digitalenergy/database/delete_db_user.py new file mode 100644 index 0000000..92d148c --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/database/delete_db_user.py @@ -0,0 +1,36 @@ +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 results as _results + + +class DigitalenergyDatabaseDeleteDbUserResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyDatabaseDeleteDbUserImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/database/deleteDbUser' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'drop_databases': 'dropDatabases', + } + + def __call__( + self, + *, + cluster_id: int, + username: str, + drop_databases: bool, + ) -> DigitalenergyDatabaseDeleteDbUserResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/dependency_track/__init__.py b/src/digital_energy_sdk/api/digitalenergy/dependency_track/__init__.py new file mode 100644 index 0000000..5533b10 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/dependency_track/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyDependencyTrackImpl + + +__all__ = ['DigitalenergyDependencyTrackImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/dependency_track/_group.py b/src/digital_energy_sdk/api/digitalenergy/dependency_track/_group.py new file mode 100644 index 0000000..dd2d1cb --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/dependency_track/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyDependencyTrackDescribeImpl +from .install import DigitalenergyDependencyTrackInstallImpl +from .uninstall import DigitalenergyDependencyTrackUninstallImpl + + +class DigitalenergyDependencyTrackImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyDependencyTrackDescribeImpl: + return DigitalenergyDependencyTrackDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyDependencyTrackInstallImpl: + return DigitalenergyDependencyTrackInstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyDependencyTrackUninstallImpl: + return DigitalenergyDependencyTrackUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/dependency_track/describe.py b/src/digital_energy_sdk/api/digitalenergy/dependency_track/describe.py new file mode 100644 index 0000000..6cd291e --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/dependency_track/describe.py @@ -0,0 +1,63 @@ +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 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) + psql_password: str | None = Field(validation_alias='psqlPassword', default=None) + psql_username: str | None = Field(validation_alias='psqlUsername', 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 DigitalenergyDependencyTrackDescribeResult(_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 DigitalenergyDependencyTrackDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/dependency-track/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, + ) -> DigitalenergyDependencyTrackDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/dependency_track/install.py b/src/digital_energy_sdk/api/digitalenergy/dependency_track/install.py new file mode 100644 index 0000000..ab3c596 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/dependency_track/install.py @@ -0,0 +1,46 @@ +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 results as _results + + +class StorageClass(Enum): + LONGHORN = 'longhorn' + GLUSTERFS = 'glusterfs' + EMPTY_STR = '' + + +class DigitalenergyDependencyTrackInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/dependency-track/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, + password: str | None = None, + 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, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/dependency_track/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/dependency_track/uninstall.py new file mode 100644 index 0000000..2bfb1f3 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/dependency_track/uninstall.py @@ -0,0 +1,30 @@ +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 results as _results + + +class DigitalenergyDependencyTrackUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/dependency-track/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 \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/deployment/__init__.py b/src/digital_energy_sdk/api/digitalenergy/deployment/__init__.py new file mode 100644 index 0000000..d516329 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/deployment/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyDeploymentImpl + + +__all__ = ['DigitalenergyDeploymentImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/deployment/_group.py b/src/digital_energy_sdk/api/digitalenergy/deployment/_group.py new file mode 100644 index 0000000..941ad87 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/deployment/_group.py @@ -0,0 +1,10 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .get import DigitalenergyDeploymentGetImpl + + +class DigitalenergyDeploymentImpl(APIOperationGroupImpl): + @cached_property + def get(self) -> DigitalenergyDeploymentGetImpl: + return DigitalenergyDeploymentGetImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/deployment/get.py b/src/digital_energy_sdk/api/digitalenergy/deployment/get.py new file mode 100644 index 0000000..ef853bf --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/deployment/get.py @@ -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 results as _results + + +class Result(_ResultModel): + build_branch_name: str | None = Field(validation_alias='buildBranchName', default=None) + build_time: str | None = Field(validation_alias='buildTime', default=None) + build_version_short: str | None = Field(validation_alias='buildVersionShort', default=None) + check_istore_entity_result: str | None = Field(validation_alias='checkIstoreEntityResult', default=None) + release_version: str | None = Field(validation_alias='releaseVersion', default=None) + + +class DigitalenergyDeploymentGetResult(_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 DigitalenergyDeploymentGetImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/deployment/get' + http_method = HTTPMethod.POST + param_aliases = {} + + def __call__( + self, + ) -> DigitalenergyDeploymentGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/disks/__init__.py b/src/digital_energy_sdk/api/digitalenergy/disks/__init__.py new file mode 100644 index 0000000..68804ee --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/disks/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyDisksImpl + + +__all__ = ['DigitalenergyDisksImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/disks/_group.py b/src/digital_energy_sdk/api/digitalenergy/disks/_group.py new file mode 100644 index 0000000..6610d44 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/disks/_group.py @@ -0,0 +1,30 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .create import DigitalenergyDisksCreateImpl +from .delete import DigitalenergyDisksDeleteImpl +from .get import DigitalenergyDisksGetImpl +from .list import DigitalenergyDisksListImpl +from .resize import DigitalenergyDisksResizeImpl + + +class DigitalenergyDisksImpl(APIOperationGroupImpl): + @cached_property + def create(self) -> DigitalenergyDisksCreateImpl: + return DigitalenergyDisksCreateImpl(config=self._config) + + @cached_property + def delete(self) -> DigitalenergyDisksDeleteImpl: + return DigitalenergyDisksDeleteImpl(config=self._config) + + @cached_property + def get(self) -> DigitalenergyDisksGetImpl: + return DigitalenergyDisksGetImpl(config=self._config) + + @cached_property + def list(self) -> DigitalenergyDisksListImpl: + return DigitalenergyDisksListImpl(config=self._config) + + @cached_property + def resize(self) -> DigitalenergyDisksResizeImpl: + return DigitalenergyDisksResizeImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/disks/create.py b/src/digital_energy_sdk/api/digitalenergy/disks/create.py new file mode 100644 index 0000000..f07afbc --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/disks/create.py @@ -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 results as _results + + +class Result(_ResultModel): + id: int | None = Field(validation_alias='id', default=None) + + +class DigitalenergyDisksCreateResult(_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 DigitalenergyDisksCreateImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/disks/create' + http_method = HTTPMethod.POST + param_aliases = { + 'dynamix_sep_id': 'dynamixSepId', + 'dynamix_pool': 'dynamixPool', + 'dynamix_storage_policy_id': 'dynamixStoragePolicyId', + 'dynamix_rg_id': 'dynamixRGId', + 'dynamix_auth_type': 'dynamixAuthType', + 'dynamix_auth_domain': 'dynamixAuthDomain', + 'dynamix_username': 'dynamixUsername', + 'dynamix_password': 'dynamixPassword', + 'dynamix_app_id': 'dynamixAppId', + 'dynamix_app_secret': 'dynamixAppSecret', + 'dynamix_url': 'dynamixURL', + 'dynamix_ssourl': 'dynamixSSOURL', + } + + def __call__( + self, + *, + name: str, + description: str | None = None, + size: int | None = None, + dynamix_sep_id: int | None = None, + dynamix_pool: str | None = None, + dynamix_storage_policy_id: int | None = None, + dynamix_rg_id: int, + dynamix_auth_type: str | None = None, + dynamix_auth_domain: str | None = None, + dynamix_username: str | None = None, + dynamix_password: str | None = None, + dynamix_app_id: str | None = None, + dynamix_app_secret: str | None = None, + dynamix_url: str | None = None, + dynamix_ssourl: str | None = None, + ) -> DigitalenergyDisksCreateResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/disks/delete.py b/src/digital_energy_sdk/api/digitalenergy/disks/delete.py new file mode 100644 index 0000000..5913e20 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/disks/delete.py @@ -0,0 +1,51 @@ +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 results as _results + + +class DigitalenergyDisksDeleteResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyDisksDeleteImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/disks/delete' + http_method = HTTPMethod.POST + param_aliases = { + 'disk_id': 'diskId', + 'dynamix_auth_type': 'dynamixAuthType', + 'dynamix_auth_domain': 'dynamixAuthDomain', + 'dynamix_username': 'dynamixUsername', + 'dynamix_password': 'dynamixPassword', + 'dynamix_app_id': 'dynamixAppId', + 'dynamix_app_secret': 'dynamixAppSecret', + 'dynamix_url': 'dynamixURL', + 'dynamix_ssourl': 'dynamixSSOURL', + } + + def __call__( + self, + *, + disk_id: int, + detach: bool | None = None, + permanently: bool | None = None, + dynamix_auth_type: str | None = None, + dynamix_auth_domain: str | None = None, + dynamix_username: str | None = None, + dynamix_password: str | None = None, + dynamix_app_id: str | None = None, + dynamix_app_secret: str | None = None, + dynamix_url: str | None = None, + dynamix_ssourl: str | None = None, + ) -> DigitalenergyDisksDeleteResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/disks/get.py b/src/digital_energy_sdk/api/digitalenergy/disks/get.py new file mode 100644 index 0000000..a7ce3b5 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/disks/get.py @@ -0,0 +1,61 @@ +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 results as _results + + +class Result(_ResultModel): + computes: dict[Any, Any] | None = Field(validation_alias='computes', default=None) + devicename: str | None = Field(validation_alias='devicename', default=None) + name: str | None = Field(validation_alias='name', default=None) + pool: str | None = Field(validation_alias='pool', default=None) + res_id: str | None = Field(validation_alias='resId', default=None) + sep_id: int | None = Field(validation_alias='sepId', default=None) + size_max: int | None = Field(validation_alias='sizeMax', default=None) + status: str | None = Field(validation_alias='status', default=None) + storage_policy_id: int | None = Field(validation_alias='storagePolicyId', default=None) + + +class DigitalenergyDisksGetResult(_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 DigitalenergyDisksGetImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/disks/get' + http_method = HTTPMethod.POST + param_aliases = { + 'disk_id': 'diskId', + 'dynamix_auth_type': 'dynamixAuthType', + 'dynamix_auth_domain': 'dynamixAuthDomain', + 'dynamix_username': 'dynamixUsername', + 'dynamix_password': 'dynamixPassword', + 'dynamix_app_id': 'dynamixAppId', + 'dynamix_app_secret': 'dynamixAppSecret', + 'dynamix_url': 'dynamixURL', + 'dynamix_ssourl': 'dynamixSSOURL', + } + + def __call__( + self, + *, + disk_id: int, + dynamix_auth_type: str | None = None, + dynamix_auth_domain: str | None = None, + dynamix_username: str | None = None, + dynamix_password: str | None = None, + dynamix_app_id: str | None = None, + dynamix_app_secret: str | None = None, + dynamix_url: str | None = None, + dynamix_ssourl: str | None = None, + ) -> DigitalenergyDisksGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/disks/list.py b/src/digital_energy_sdk/api/digitalenergy/disks/list.py new file mode 100644 index 0000000..6b3e69e --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/disks/list.py @@ -0,0 +1,84 @@ +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 results as _results + + +class DataItem(_ResultModel): + computes: dict[Any, Any] | None = Field(validation_alias='computes', default=None) + id: int | None = Field(validation_alias='id', default=None) + name: str | None = Field(validation_alias='name', default=None) + size_max: int | None = Field(validation_alias='sizeMax', default=None) + status: str | None = Field(validation_alias='status', default=None) + storage_policy_id: int | None = Field(validation_alias='storagePolicyId', default=None) + + +class Result(_ResultModel): + data: list[DataItem] | None = Field(validation_alias='data', default=None) + entry_count: int | None = Field(validation_alias='entryCount', default=None) + + +class DigitalenergyDisksListResult(_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 DigitalenergyDisksListImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/disks/list' + http_method = HTTPMethod.POST + param_aliases = { + 'account_name': 'accountName', + 'disk_max_size': 'diskMaxSize', + 'account_id': 'accountId', + 'sep_id': 'sepId', + 'storage_policy_id': 'storagePolicyId', + 'sort_by': 'sortBy', + 'rg_id': 'rgId', + 'compute_id': 'computeId', + 'dynamix_auth_type': 'dynamixAuthType', + 'dynamix_auth_domain': 'dynamixAuthDomain', + 'dynamix_username': 'dynamixUsername', + 'dynamix_password': 'dynamixPassword', + 'dynamix_app_id': 'dynamixAppId', + 'dynamix_app_secret': 'dynamixAppSecret', + 'dynamix_url': 'dynamixURL', + 'dynamix_ssourl': 'dynamixSSOURL', + } + + def __call__( + self, + *, + id: int | None = None, + name: str | None = None, + account_name: str | None = None, + disk_max_size: int | None = None, + status: str | None = None, + shared: bool | None = None, + account_id: int | None = None, + sep_id: int | None = None, + storage_policy_id: int | None = None, + pool: str | None = None, + sort_by: str | None = None, + page: int | None = None, + size: int | None = None, + rg_id: int | None = None, + compute_id: int | None = None, + dynamix_auth_type: str | None = None, + dynamix_auth_domain: str | None = None, + dynamix_username: str | None = None, + dynamix_password: str | None = None, + dynamix_app_id: str | None = None, + dynamix_app_secret: str | None = None, + dynamix_url: str | None = None, + dynamix_ssourl: str | None = None, + ) -> DigitalenergyDisksListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/disks/resize.py b/src/digital_energy_sdk/api/digitalenergy/disks/resize.py new file mode 100644 index 0000000..02fee6b --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/disks/resize.py @@ -0,0 +1,50 @@ +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 results as _results + + +class DigitalenergyDisksResizeResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyDisksResizeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/disks/resize' + http_method = HTTPMethod.POST + param_aliases = { + 'disk_id': 'diskId', + 'dynamix_auth_type': 'dynamixAuthType', + 'dynamix_auth_domain': 'dynamixAuthDomain', + 'dynamix_username': 'dynamixUsername', + 'dynamix_password': 'dynamixPassword', + 'dynamix_app_id': 'dynamixAppId', + 'dynamix_app_secret': 'dynamixAppSecret', + 'dynamix_url': 'dynamixURL', + 'dynamix_ssourl': 'dynamixSSOURL', + } + + def __call__( + self, + *, + disk_id: int, + size: int, + dynamix_auth_type: str | None = None, + dynamix_auth_domain: str | None = None, + dynamix_username: str | None = None, + dynamix_password: str | None = None, + dynamix_app_id: str | None = None, + dynamix_app_secret: str | None = None, + dynamix_url: str | None = None, + dynamix_ssourl: str | None = None, + ) -> DigitalenergyDisksResizeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/ess/__init__.py b/src/digital_energy_sdk/api/digitalenergy/ess/__init__.py new file mode 100644 index 0000000..09372ba --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/ess/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyEssImpl + + +__all__ = ['DigitalenergyEssImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/ess/_group.py b/src/digital_energy_sdk/api/digitalenergy/ess/_group.py new file mode 100644 index 0000000..b8321a8 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/ess/_group.py @@ -0,0 +1,25 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyEssDescribeImpl +from .incidents import DigitalenergyEssIncidentsImpl +from .install import DigitalenergyEssInstallImpl +from .uninstall import DigitalenergyEssUninstallImpl + + +class DigitalenergyEssImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyEssDescribeImpl: + return DigitalenergyEssDescribeImpl(config=self._config) + + @cached_property + def incidents(self) -> DigitalenergyEssIncidentsImpl: + return DigitalenergyEssIncidentsImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyEssInstallImpl: + return DigitalenergyEssInstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyEssUninstallImpl: + return DigitalenergyEssUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/ess/describe.py b/src/digital_energy_sdk/api/digitalenergy/ess/describe.py new file mode 100644 index 0000000..f0c067a --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/ess/describe.py @@ -0,0 +1,83 @@ +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 results as _results + + +class RulesItem2(_ResultModel): + name: str | None = Field(validation_alias='name', default=None) + priority: str | None = Field(validation_alias='priority', default=None) + tags: list[str] | None = Field(validation_alias='tags', default=None) + + +class AgentsItem(_ResultModel): + attached_programs: int | None = Field(validation_alias='attachedPrograms', default=None) + error: str | None = Field(validation_alias='error', default=None) + events_dropped: int | None = Field(validation_alias='eventsDropped', default=None) + healthy: bool | None = Field(validation_alias='healthy', default=None) + mode: str | None = Field(validation_alias='mode', default=None) + node_name: str | None = Field(validation_alias='nodeName', default=None) + pod_name: str | None = Field(validation_alias='podName', default=None) + program_loaded: bool | None = Field(validation_alias='programLoaded', default=None) + ringbuf_reader_alive: bool | None = Field(validation_alias='ringbufReaderAlive', default=None) + rules_loaded: int | None = Field(validation_alias='rulesLoaded', default=None) + + +class DaemonSet(_ResultModel): + desired_number_scheduled: int | None = Field(validation_alias='desiredNumberScheduled', default=None) + name: str | None = Field(validation_alias='name', default=None) + number_available: int | None = Field(validation_alias='numberAvailable', default=None) + number_ready: int | None = Field(validation_alias='numberReady', default=None) + + +class RulesItem1(_ResultModel): + error: str | None = Field(validation_alias='error', default=None) + node_name: str | None = Field(validation_alias='nodeName', default=None) + pod_name: str | None = Field(validation_alias='podName', default=None) + rules: list[RulesItem2] | None = Field(validation_alias='rules', default=None) + rules_enabled: int | None = Field(validation_alias='rulesEnabled', default=None) + rules_total: int | None = Field(validation_alias='rulesTotal', default=None) + + +class Result(_ResultModel): + agents: list[AgentsItem] | None = Field(validation_alias='agents', default=None) + auth_token: str | None = Field(validation_alias='authToken', default=None) + daemon_set: DaemonSet | None = Field(validation_alias='daemonSet', default=None) + installed: bool | None = Field(validation_alias='installed', default=None) + nodes_count: int | None = Field(validation_alias='nodesCount', default=None) + registered: bool | None = Field(validation_alias='registered', default=None) + rules: list[RulesItem1] | None = Field(validation_alias='rules', default=None) + version: str | None = Field(validation_alias='version', default=None) + + +class DigitalenergyEssDescribeResult(_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 DigitalenergyEssDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/ess/describe' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'check_installation': 'checkInstallation', + 'check_rules': 'checkRules', + } + + def __call__( + self, + *, + cluster_id: int, + check_installation: bool | None = None, + check_rules: bool | None = None, + ) -> DigitalenergyEssDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/ess/incidents.py b/src/digital_energy_sdk/api/digitalenergy/ess/incidents.py new file mode 100644 index 0000000..9906ac0 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/ess/incidents.py @@ -0,0 +1,72 @@ +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 results as _results + + +class Severity(Enum): + CRITICAL = 'Critical' + HIGH = 'High' + MEDIUM = 'Medium' + LOW = 'Low' + + +class ItemsItem(_ResultModel): + action: str | None = Field(validation_alias='action', default=None) + agent_node: str | None = Field(validation_alias='agentNode', default=None) + agent_pod: str | None = Field(validation_alias='agentPod', default=None) + cluster_id: int | None = Field(validation_alias='clusterId', default=None) + collected_at: str | None = Field(validation_alias='collectedAt', default=None) + container_id: str | None = Field(validation_alias='containerId', default=None) + ess_record_id: str | None = Field(validation_alias='essRecordId', default=None) + message: str | None = Field(validation_alias='message', default=None) + occurred_at: str | None = Field(validation_alias='occurredAt', default=None) + owner_id: int | None = Field(validation_alias='ownerId', default=None) + rule: str | None = Field(validation_alias='rule', default=None) + severity: str | None = Field(validation_alias='severity', default=None) + source: str | None = Field(validation_alias='source', default=None) + status: str | None = Field(validation_alias='status', default=None) + + +class Result(_ResultModel): + items: list[ItemsItem] | None = Field(validation_alias='items', default=None) + limit: int | None = Field(validation_alias='limit', default=None) + offset: int | None = Field(validation_alias='offset', default=None) + total: int | None = Field(validation_alias='total', default=None) + + +class DigitalenergyEssIncidentsResult(_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 DigitalenergyEssIncidentsImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/ess/incidents' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'rule_id': 'ruleId', + 'agent_node': 'agentNode', + } + + def __call__( + self, + *, + cluster_id: int | None = None, + severity: Severity | None = None, + rule_id: str | None = None, + agent_node: str | None = None, + message: str | None = None, + limit: int | None = None, + offset: int | None = None, + ) -> DigitalenergyEssIncidentsResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/ess/install.py b/src/digital_energy_sdk/api/digitalenergy/ess/install.py new file mode 100644 index 0000000..b1d62ac --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/ess/install.py @@ -0,0 +1,34 @@ +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 results as _results + + +class DigitalenergyEssInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/ess/install' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'apps_repository_id': 'appsRepositoryId', + 'charts_repository_id': 'chartsRepositoryId', + 'download_chart_anyway': 'downloadChartAnyway', + 'auth_token': 'authToken', + } + + def __call__( + self, + *, + cluster_id: int, + apps_repository_id: int | None = None, + charts_repository_id: int | None = None, + download_chart_anyway: bool | None = None, + auth_token: str, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/ess/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/ess/uninstall.py new file mode 100644 index 0000000..6674522 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/ess/uninstall.py @@ -0,0 +1,26 @@ +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 results as _results + + +class DigitalenergyEssUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/ess/uninstall' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/falco/__init__.py b/src/digital_energy_sdk/api/digitalenergy/falco/__init__.py new file mode 100644 index 0000000..9354fc2 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/falco/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyFalcoImpl + + +__all__ = ['DigitalenergyFalcoImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/falco/_group.py b/src/digital_energy_sdk/api/digitalenergy/falco/_group.py new file mode 100644 index 0000000..7c027e0 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/falco/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyFalcoDescribeImpl +from .install import DigitalenergyFalcoInstallImpl +from .uninstall import DigitalenergyFalcoUninstallImpl + + +class DigitalenergyFalcoImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyFalcoDescribeImpl: + return DigitalenergyFalcoDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyFalcoInstallImpl: + return DigitalenergyFalcoInstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyFalcoUninstallImpl: + return DigitalenergyFalcoUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/falco/describe.py b/src/digital_energy_sdk/api/digitalenergy/falco/describe.py new file mode 100644 index 0000000..848521c --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/falco/describe.py @@ -0,0 +1,60 @@ +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 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) + created_at: int | None = Field(validation_alias='createdAt', default=None) + id: int | None = Field(validation_alias='id', default=None) + manifest: str | None = Field(validation_alias='manifest', default=None) + name: str | None = Field(validation_alias='name', default=None) + owner_id: int | None = Field(validation_alias='ownerId', default=None) + product_name: str | None = Field(validation_alias='productName', default=None) + product_version: str | None = Field(validation_alias='productVersion', default=None) + task_ids: list[int] | None = Field(validation_alias='taskIds', default=None) + updated_at: int | None = Field(validation_alias='updatedAt', default=None) + worker_group_name: str | None = Field(validation_alias='workerGroupName', default=None) + + +class Result(_ResultModel): + 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) + rules: list[str] | None = Field(validation_alias='rules', default=None) + + +class DigitalenergyFalcoDescribeResult(_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 DigitalenergyFalcoDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/falco/describe' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'check_installation': 'checkInstallation', + 'check_rules': 'checkRules', + } + + def __call__( + self, + *, + cluster_id: int, + check_installation: bool | None = None, + check_rules: bool | None = None, + ) -> DigitalenergyFalcoDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/falco/install.py b/src/digital_energy_sdk/api/digitalenergy/falco/install.py new file mode 100644 index 0000000..cb71b34 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/falco/install.py @@ -0,0 +1,32 @@ +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 results as _results + + +class DigitalenergyFalcoInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/falco/install' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'apps_repository_id': 'appsRepositoryId', + 'charts_repository_id': 'chartsRepositoryId', + 'download_chart_anyway': 'downloadChartAnyway', + } + + def __call__( + self, + *, + cluster_id: int, + apps_repository_id: int | None = None, + charts_repository_id: int | None = None, + download_chart_anyway: bool | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/falco/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/falco/uninstall.py new file mode 100644 index 0000000..af7d0d8 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/falco/uninstall.py @@ -0,0 +1,26 @@ +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 results as _results + + +class DigitalenergyFalcoUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/falco/uninstall' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/files/__init__.py b/src/digital_energy_sdk/api/digitalenergy/files/__init__.py new file mode 100644 index 0000000..42f904c --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/files/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyFilesImpl + + +__all__ = ['DigitalenergyFilesImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/files/_group.py b/src/digital_energy_sdk/api/digitalenergy/files/_group.py new file mode 100644 index 0000000..6e13d36 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/files/_group.py @@ -0,0 +1,10 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .file_upload import DigitalenergyFilesFileUploadImpl + + +class DigitalenergyFilesImpl(APIOperationGroupImpl): + @cached_property + def file_upload(self) -> DigitalenergyFilesFileUploadImpl: + return DigitalenergyFilesFileUploadImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/files/file_upload.py b/src/digital_energy_sdk/api/digitalenergy/files/file_upload.py new file mode 100644 index 0000000..17c84e5 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/files/file_upload.py @@ -0,0 +1,38 @@ +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 results as _results + + +class Result(_ResultModel): + file_path: str | None = Field(validation_alias='filePath', default=None) + + +class DigitalenergyFilesFileUploadResult(_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 DigitalenergyFilesFileUploadImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/files/fileUpload' + http_method = HTTPMethod.POST + param_aliases = { + 'time_to_delete': 'timeToDelete', + } + + def __call__( + self, + *, + file: _ParamFile, + time_to_delete: int | None = None, + ) -> DigitalenergyFilesFileUploadResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/gitlab/__init__.py b/src/digital_energy_sdk/api/digitalenergy/gitlab/__init__.py new file mode 100644 index 0000000..96bab6b --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/gitlab/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyGitlabImpl + + +__all__ = ['DigitalenergyGitlabImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/gitlab/_group.py b/src/digital_energy_sdk/api/digitalenergy/gitlab/_group.py new file mode 100644 index 0000000..144ebc2 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/gitlab/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyGitlabDescribeImpl +from .install import DigitalenergyGitlabInstallImpl +from .uninstall import DigitalenergyGitlabUninstallImpl + + +class DigitalenergyGitlabImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyGitlabDescribeImpl: + return DigitalenergyGitlabDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyGitlabInstallImpl: + return DigitalenergyGitlabInstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyGitlabUninstallImpl: + return DigitalenergyGitlabUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/gitlab/describe.py b/src/digital_energy_sdk/api/digitalenergy/gitlab/describe.py new file mode 100644 index 0000000..e8d054a --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/gitlab/describe.py @@ -0,0 +1,65 @@ +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 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) + psql_address: str | None = Field(validation_alias='psqlAddress', default=None) + psql_database: str | None = Field(validation_alias='psqlDatabase', default=None) + psql_external: bool | None = Field(validation_alias='psqlExternal', default=None) + psql_password: str | None = Field(validation_alias='psqlPassword', default=None) + psql_username: str | None = Field(validation_alias='psqlUsername', 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 DigitalenergyGitlabDescribeResult(_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 DigitalenergyGitlabDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/gitlab/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, + ) -> DigitalenergyGitlabDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/gitlab/install.py b/src/digital_energy_sdk/api/digitalenergy/gitlab/install.py new file mode 100644 index 0000000..9bf8d20 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/gitlab/install.py @@ -0,0 +1,53 @@ +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 results as _results + + +class StorageClass(Enum): + LONGHORN = 'longhorn' + GLUSTERFS = 'glusterfs' + EMPTY_STR = '' + + +class DigitalenergyGitlabInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/gitlab/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', + 'psql_address': 'psqlAddress', + 'psql_username': 'psqlUsername', + 'psql_password': 'psqlPassword', + 'psql_database': 'psqlDatabase', + } + + def __call__( + self, + *, + cluster_id: int, + hostname: str, + integagent_hostname: str | None = None, + 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, + psql_address: str | None = None, + psql_username: str | None = None, + psql_password: str | None = None, + psql_database: str | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/gitlab/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/gitlab/uninstall.py new file mode 100644 index 0000000..bcadea6 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/gitlab/uninstall.py @@ -0,0 +1,30 @@ +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 results as _results + + +class DigitalenergyGitlabUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/gitlab/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 \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/grafana/__init__.py b/src/digital_energy_sdk/api/digitalenergy/grafana/__init__.py new file mode 100644 index 0000000..d2d108f --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/grafana/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyGrafanaImpl + + +__all__ = ['DigitalenergyGrafanaImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/grafana/_group.py b/src/digital_energy_sdk/api/digitalenergy/grafana/_group.py new file mode 100644 index 0000000..4d38d30 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/grafana/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyGrafanaDescribeImpl +from .install import DigitalenergyGrafanaInstallImpl +from .uninstall import DigitalenergyGrafanaUninstallImpl + + +class DigitalenergyGrafanaImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyGrafanaDescribeImpl: + return DigitalenergyGrafanaDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyGrafanaInstallImpl: + return DigitalenergyGrafanaInstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyGrafanaUninstallImpl: + return DigitalenergyGrafanaUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/grafana/describe.py b/src/digital_energy_sdk/api/digitalenergy/grafana/describe.py new file mode 100644 index 0000000..a2a82a2 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/grafana/describe.py @@ -0,0 +1,63 @@ +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 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) + root_token: str | None = Field(validation_alias='rootToken', default=None) + storage_type: str | None = Field(validation_alias='storageType', default=None) + task_ids: list[int] | None = Field(validation_alias='taskIds', default=None) + unseal_keys: list[str] | None = Field(validation_alias='unsealKeys', 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 DigitalenergyGrafanaDescribeResult(_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 DigitalenergyGrafanaDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/grafana/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, + ) -> DigitalenergyGrafanaDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/grafana/install.py b/src/digital_energy_sdk/api/digitalenergy/grafana/install.py new file mode 100644 index 0000000..a344403 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/grafana/install.py @@ -0,0 +1,47 @@ +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 results as _results + + +class StorageClass(Enum): + LONGHORN = 'longhorn' + GLUSTERFS = 'glusterfs' + EMPTY_STR = '' + + +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, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/grafana/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/grafana/uninstall.py new file mode 100644 index 0000000..0f60009 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/grafana/uninstall.py @@ -0,0 +1,30 @@ +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 results as _results + + +class DigitalenergyGrafanaUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/grafana/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 \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/group/__init__.py b/src/digital_energy_sdk/api/digitalenergy/group/__init__.py new file mode 100644 index 0000000..4618d95 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/group/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyGroupImpl + + +__all__ = ['DigitalenergyGroupImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/group/_group.py b/src/digital_energy_sdk/api/digitalenergy/group/_group.py new file mode 100644 index 0000000..25aed83 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/group/_group.py @@ -0,0 +1,30 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .create import DigitalenergyGroupCreateImpl +from .delete import DigitalenergyGroupDeleteImpl +from .get import DigitalenergyGroupGetImpl +from .list import DigitalenergyGroupListImpl +from .update import DigitalenergyGroupUpdateImpl + + +class DigitalenergyGroupImpl(APIOperationGroupImpl): + @cached_property + def create(self) -> DigitalenergyGroupCreateImpl: + return DigitalenergyGroupCreateImpl(config=self._config) + + @cached_property + def delete(self) -> DigitalenergyGroupDeleteImpl: + return DigitalenergyGroupDeleteImpl(config=self._config) + + @cached_property + def get(self) -> DigitalenergyGroupGetImpl: + return DigitalenergyGroupGetImpl(config=self._config) + + @cached_property + def list(self) -> DigitalenergyGroupListImpl: + return DigitalenergyGroupListImpl(config=self._config) + + @cached_property + def update(self) -> DigitalenergyGroupUpdateImpl: + return DigitalenergyGroupUpdateImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/group/create.py b/src/digital_energy_sdk/api/digitalenergy/group/create.py new file mode 100644 index 0000000..285445b --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/group/create.py @@ -0,0 +1,36 @@ +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 results as _results + + +class Result(_ResultModel): + id: int | None = Field(validation_alias='id', default=None) + + +class DigitalenergyGroupCreateResult(_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 DigitalenergyGroupCreateImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/group/create' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + name: str, + ) -> DigitalenergyGroupCreateResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/group/delete.py b/src/digital_energy_sdk/api/digitalenergy/group/delete.py new file mode 100644 index 0000000..ec94228 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/group/delete.py @@ -0,0 +1,32 @@ +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 results as _results + + +class DigitalenergyGroupDeleteResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyGroupDeleteImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/group/delete' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyGroupDeleteResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/group/get.py b/src/digital_energy_sdk/api/digitalenergy/group/get.py new file mode 100644 index 0000000..ef1f179 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/group/get.py @@ -0,0 +1,36 @@ +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 results as _results + + +class Result(_ResultModel): + record: _results.AuxlogicComtypeAaatypeGroup | None = Field(validation_alias='record', default=None) + + +class DigitalenergyGroupGetResult(_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 DigitalenergyGroupGetImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/group/get' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyGroupGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/group/list.py b/src/digital_energy_sdk/api/digitalenergy/group/list.py new file mode 100644 index 0000000..f9b4e7e --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/group/list.py @@ -0,0 +1,43 @@ +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 results as _results + + +class Result(_ResultModel): + records: list[_results.AuxlogicComtypeAaatypeGroup] | None = Field(validation_alias='records', default=None) + + +class DigitalenergyGroupListResult(_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 DigitalenergyGroupListImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/group/list' + http_method = HTTPMethod.POST + param_aliases = { + 'include_archive_groups': 'includeArchiveGroups', + 'sort_by': 'sortBy', + } + + def __call__( + self, + *, + include_archive_groups: bool | None = None, + id: int | None = None, + name: str | None = None, + sort_by: str | None = None, + limit: int | None = None, + page: int | None = None, + ) -> DigitalenergyGroupListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/group/update.py b/src/digital_energy_sdk/api/digitalenergy/group/update.py new file mode 100644 index 0000000..6a72c68 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/group/update.py @@ -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 results as _results + + +class Result(_ResultModel): + record: _results.AuxlogicComtypeAaatypeGroup | None = Field(validation_alias='record', default=None) + + +class DigitalenergyGroupUpdateResult(_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 DigitalenergyGroupUpdateImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/group/update' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + name: str, + ) -> DigitalenergyGroupUpdateResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/harbor/__init__.py b/src/digital_energy_sdk/api/digitalenergy/harbor/__init__.py new file mode 100644 index 0000000..78a24cd --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/harbor/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyHarborImpl + + +__all__ = ['DigitalenergyHarborImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/harbor/_group.py b/src/digital_energy_sdk/api/digitalenergy/harbor/_group.py new file mode 100644 index 0000000..1773fa1 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/harbor/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyHarborDescribeImpl +from .install import DigitalenergyHarborInstallImpl +from .uninstall import DigitalenergyHarborUninstallImpl + + +class DigitalenergyHarborImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyHarborDescribeImpl: + return DigitalenergyHarborDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyHarborInstallImpl: + return DigitalenergyHarborInstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyHarborUninstallImpl: + return DigitalenergyHarborUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/harbor/describe.py b/src/digital_energy_sdk/api/digitalenergy/harbor/describe.py new file mode 100644 index 0000000..92e11ed --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/harbor/describe.py @@ -0,0 +1,63 @@ +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 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) + psql_password: str | None = Field(validation_alias='psqlPassword', default=None) + psql_username: str | None = Field(validation_alias='psqlUsername', 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 DigitalenergyHarborDescribeResult(_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 DigitalenergyHarborDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/harbor/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, + ) -> DigitalenergyHarborDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/harbor/install.py b/src/digital_energy_sdk/api/digitalenergy/harbor/install.py new file mode 100644 index 0000000..9600e89 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/harbor/install.py @@ -0,0 +1,47 @@ +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 results as _results + + +class StorageClass(Enum): + LONGHORN = 'longhorn' + GLUSTERFS = 'glusterfs' + EMPTY_STR = '' + + +class DigitalenergyHarborInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/harbor/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, + username: str, + password: str, + hostname: str, + integagent_hostname: str | None = None, + 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, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/harbor/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/harbor/uninstall.py new file mode 100644 index 0000000..69a44ea --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/harbor/uninstall.py @@ -0,0 +1,30 @@ +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 results as _results + + +class DigitalenergyHarborUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/harbor/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 \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/ingress_nginx/__init__.py b/src/digital_energy_sdk/api/digitalenergy/ingress_nginx/__init__.py new file mode 100644 index 0000000..03d8429 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/ingress_nginx/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyIngressNginxImpl + + +__all__ = ['DigitalenergyIngressNginxImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/ingress_nginx/_group.py b/src/digital_energy_sdk/api/digitalenergy/ingress_nginx/_group.py new file mode 100644 index 0000000..03406d1 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/ingress_nginx/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyIngressNginxDescribeImpl +from .install import DigitalenergyIngressNginxInstallImpl +from .uninstall import DigitalenergyIngressNginxUninstallImpl + + +class DigitalenergyIngressNginxImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyIngressNginxDescribeImpl: + return DigitalenergyIngressNginxDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyIngressNginxInstallImpl: + return DigitalenergyIngressNginxInstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyIngressNginxUninstallImpl: + return DigitalenergyIngressNginxUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/ingress_nginx/describe.py b/src/digital_energy_sdk/api/digitalenergy/ingress_nginx/describe.py new file mode 100644 index 0000000..1decd82 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/ingress_nginx/describe.py @@ -0,0 +1,60 @@ +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 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) + http_port: int | None = Field(validation_alias='httpPort', default=None) + https_port: int | None = Field(validation_alias='httpsPort', 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) + product_name: str | None = Field(validation_alias='productName', default=None) + product_version: str | None = Field(validation_alias='productVersion', default=None) + task_ids: list[int] | None = Field(validation_alias='taskIds', 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 DigitalenergyIngressNginxDescribeResult(_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 DigitalenergyIngressNginxDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/ingress-nginx/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, + ) -> DigitalenergyIngressNginxDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/ingress_nginx/install.py b/src/digital_energy_sdk/api/digitalenergy/ingress_nginx/install.py new file mode 100644 index 0000000..c3e439f --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/ingress_nginx/install.py @@ -0,0 +1,41 @@ +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 results as _results + + +class DigitalenergyIngressNginxInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/ingress-nginx/install' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'integagent_hostname': 'integagentHostname', + 'http_port': 'httpPort', + 'https_port': 'httpsPort', + '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, + http_port: int, + https_port: int | 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, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/ingress_nginx/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/ingress_nginx/uninstall.py new file mode 100644 index 0000000..eb2c1a3 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/ingress_nginx/uninstall.py @@ -0,0 +1,30 @@ +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 results as _results + + +class DigitalenergyIngressNginxUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/ingress-nginx/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 \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/integagent/__init__.py b/src/digital_energy_sdk/api/digitalenergy/integagent/__init__.py new file mode 100644 index 0000000..ac5bbb5 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/integagent/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyIntegagentImpl + + +__all__ = ['DigitalenergyIntegagentImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/integagent/_group.py b/src/digital_energy_sdk/api/digitalenergy/integagent/_group.py new file mode 100644 index 0000000..317873e --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/integagent/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyIntegagentDescribeImpl +from .install import DigitalenergyIntegagentInstallImpl +from .uninstall import DigitalenergyIntegagentUninstallImpl + + +class DigitalenergyIntegagentImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyIntegagentDescribeImpl: + return DigitalenergyIntegagentDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyIntegagentInstallImpl: + return DigitalenergyIntegagentInstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyIntegagentUninstallImpl: + return DigitalenergyIntegagentUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/integagent/describe.py b/src/digital_energy_sdk/api/digitalenergy/integagent/describe.py new file mode 100644 index 0000000..8a3411c --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/integagent/describe.py @@ -0,0 +1,57 @@ +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 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) + 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): + 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 DigitalenergyIntegagentDescribeResult(_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 DigitalenergyIntegagentDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/integagent/describe' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'check_installation': 'checkInstallation', + } + + def __call__( + self, + *, + cluster_id: int, + check_installation: bool | None = None, + ) -> DigitalenergyIntegagentDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/integagent/install.py b/src/digital_energy_sdk/api/digitalenergy/integagent/install.py new file mode 100644 index 0000000..cb26d5f --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/integagent/install.py @@ -0,0 +1,46 @@ +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 results as _results + + +class Result(_ResultModel): + task_id: int | None = Field(validation_alias='taskId', default=None) + + +class DigitalenergyIntegagentInstallResult(_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 DigitalenergyIntegagentInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/integagent/install' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'apps_repository_id': 'appsRepositoryId', + 'charts_repository_id': 'chartsRepositoryId', + 'worker_group_name': 'workerGroupName', + 'download_chart_anyway': 'downloadChartAnyway', + } + + def __call__( + self, + *, + cluster_id: int, + hostname: str, + apps_repository_id: int | None = None, + charts_repository_id: int | None = None, + worker_group_name: str | None = None, + download_chart_anyway: bool | None = None, + ) -> DigitalenergyIntegagentInstallResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/integagent/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/integagent/uninstall.py new file mode 100644 index 0000000..97fd6b0 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/integagent/uninstall.py @@ -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 results as _results + + +class Result(_ResultModel): + task_id: int | None = Field(validation_alias='taskId', default=None) + + +class DigitalenergyIntegagentUninstallResult(_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 DigitalenergyIntegagentUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/integagent/uninstall' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + ) -> DigitalenergyIntegagentUninstallResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/istio/__init__.py b/src/digital_energy_sdk/api/digitalenergy/istio/__init__.py new file mode 100644 index 0000000..e53dee2 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/istio/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyIstioImpl + + +__all__ = ['DigitalenergyIstioImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/istio/_group.py b/src/digital_energy_sdk/api/digitalenergy/istio/_group.py new file mode 100644 index 0000000..806518d --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/istio/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyIstioDescribeImpl +from .install import DigitalenergyIstioInstallImpl +from .uninstall import DigitalenergyIstioUninstallImpl + + +class DigitalenergyIstioImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyIstioDescribeImpl: + return DigitalenergyIstioDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyIstioInstallImpl: + return DigitalenergyIstioInstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyIstioUninstallImpl: + return DigitalenergyIstioUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/istio/describe.py b/src/digital_energy_sdk/api/digitalenergy/istio/describe.py new file mode 100644 index 0000000..08b9bc6 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/istio/describe.py @@ -0,0 +1,58 @@ +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 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) + product_name: str | None = Field(validation_alias='productName', default=None) + product_version: str | None = Field(validation_alias='productVersion', default=None) + task_ids: list[int] | None = Field(validation_alias='taskIds', 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 DigitalenergyIstioDescribeResult(_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 DigitalenergyIstioDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/istio/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, + ) -> DigitalenergyIstioDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/istio/install.py b/src/digital_energy_sdk/api/digitalenergy/istio/install.py new file mode 100644 index 0000000..ff77f6c --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/istio/install.py @@ -0,0 +1,35 @@ +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 results as _results + + +class DigitalenergyIstioInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/istio/install' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'apps_repository_id': 'appsRepositoryId', + 'charts_repository_id': 'chartsRepositoryId', + 'worker_group_name': 'workerGroupName', + 'download_chart_anyway': 'downloadChartAnyway', + } + + def __call__( + self, + *, + cluster_id: int, + hostname: str, + apps_repository_id: int | None = None, + charts_repository_id: int | None = None, + worker_group_name: str | None = None, + download_chart_anyway: bool | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/istio/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/istio/uninstall.py new file mode 100644 index 0000000..cf472b2 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/istio/uninstall.py @@ -0,0 +1,30 @@ +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 results as _results + + +class DigitalenergyIstioUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/istio/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 \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/istore/__init__.py b/src/digital_energy_sdk/api/digitalenergy/istore/__init__.py new file mode 100644 index 0000000..f1dd700 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/istore/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyIstoreImpl + + +__all__ = ['DigitalenergyIstoreImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/istore/_group.py b/src/digital_energy_sdk/api/digitalenergy/istore/_group.py new file mode 100644 index 0000000..fc4000c --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/istore/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .charts import DigitalenergyIstoreChartsImpl +from .image import DigitalenergyIstoreImageImpl +from .operations import DigitalenergyIstoreOperationsImpl + + +class DigitalenergyIstoreImpl(APIOperationGroupImpl): + @cached_property + def charts(self) -> DigitalenergyIstoreChartsImpl: + return DigitalenergyIstoreChartsImpl(config=self._config) + + @cached_property + def image(self) -> DigitalenergyIstoreImageImpl: + return DigitalenergyIstoreImageImpl(config=self._config) + + @cached_property + def operations(self) -> DigitalenergyIstoreOperationsImpl: + return DigitalenergyIstoreOperationsImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/istore/charts/__init__.py b/src/digital_energy_sdk/api/digitalenergy/istore/charts/__init__.py new file mode 100644 index 0000000..60c38fd --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/istore/charts/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyIstoreChartsImpl + + +__all__ = ['DigitalenergyIstoreChartsImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/istore/charts/_group.py b/src/digital_energy_sdk/api/digitalenergy/istore/charts/_group.py new file mode 100644 index 0000000..1c9e050 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/istore/charts/_group.py @@ -0,0 +1,30 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .delete import DigitalenergyIstoreChartsDeleteImpl +from .get import DigitalenergyIstoreChartsGetImpl +from .list import DigitalenergyIstoreChartsListImpl +from .update import DigitalenergyIstoreChartsUpdateImpl +from .upload import DigitalenergyIstoreChartsUploadImpl + + +class DigitalenergyIstoreChartsImpl(APIOperationGroupImpl): + @cached_property + def delete(self) -> DigitalenergyIstoreChartsDeleteImpl: + return DigitalenergyIstoreChartsDeleteImpl(config=self._config) + + @cached_property + def get(self) -> DigitalenergyIstoreChartsGetImpl: + return DigitalenergyIstoreChartsGetImpl(config=self._config) + + @cached_property + def list(self) -> DigitalenergyIstoreChartsListImpl: + return DigitalenergyIstoreChartsListImpl(config=self._config) + + @cached_property + def update(self) -> DigitalenergyIstoreChartsUpdateImpl: + return DigitalenergyIstoreChartsUpdateImpl(config=self._config) + + @cached_property + def upload(self) -> DigitalenergyIstoreChartsUploadImpl: + return DigitalenergyIstoreChartsUploadImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/istore/charts/delete.py b/src/digital_energy_sdk/api/digitalenergy/istore/charts/delete.py new file mode 100644 index 0000000..ea37df8 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/istore/charts/delete.py @@ -0,0 +1,32 @@ +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 results as _results + + +class DigitalenergyIstoreChartsDeleteResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyIstoreChartsDeleteImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/istore/charts/delete' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: str, + ) -> DigitalenergyIstoreChartsDeleteResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/istore/charts/get.py b/src/digital_energy_sdk/api/digitalenergy/istore/charts/get.py new file mode 100644 index 0000000..c6e2fa2 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/istore/charts/get.py @@ -0,0 +1,36 @@ +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 results as _results + + +class Result(_ResultModel): + chart: _results.IstorelogicComtypeIotypeChart | None = Field(validation_alias='chart', default=None) + + +class DigitalenergyIstoreChartsGetResult(_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 DigitalenergyIstoreChartsGetImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/istore/charts/get' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: str, + ) -> DigitalenergyIstoreChartsGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/istore/charts/list.py b/src/digital_energy_sdk/api/digitalenergy/istore/charts/list.py new file mode 100644 index 0000000..8226010 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/istore/charts/list.py @@ -0,0 +1,73 @@ +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 results as _results + + +class Filter(Enum): + OWN = 'own' + SHARED = 'shared' + SYSTEM = 'system' + ALL = 'all' + EMPTY_STR = '' + + +class OrderBy(Enum): + NAME = 'name' + CREATED_AT = 'created_at' + UPDATED_AT = 'updated_at' + COLLECTION = 'collection' + EMPTY_STR = '' + + +class OrderDir(Enum): + ASC = 'ASC' + DESC = 'DESC' + EMPTY_STR = '' + + +class Result(_ResultModel): + charts: list[_results.IstorelogicComtypeIotypeChart] | None = Field(validation_alias='charts', default=None) + page: int | None = Field(validation_alias='page', default=None) + page_size: int | None = Field(validation_alias='pageSize', default=None) + total: int | None = Field(validation_alias='total', default=None) + total_pages: int | None = Field(validation_alias='totalPages', default=None) + + +class DigitalenergyIstoreChartsListResult(_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 DigitalenergyIstoreChartsListImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/istore/charts/list' + http_method = HTTPMethod.POST + param_aliases = { + 'public_only': 'publicOnly', + 'order_by': 'orderBy', + 'order_dir': 'orderDir', + 'page_size': 'pageSize', + } + + def __call__( + self, + *, + collection: str | None = None, + filter: Filter | None = None, + public_only: bool | None = None, + search: str | None = None, + order_by: OrderBy | None = None, + order_dir: OrderDir | None = None, + page: int | None = None, + page_size: int | None = None, + ) -> DigitalenergyIstoreChartsListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/istore/charts/update.py b/src/digital_energy_sdk/api/digitalenergy/istore/charts/update.py new file mode 100644 index 0000000..e914066 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/istore/charts/update.py @@ -0,0 +1,39 @@ +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 results as _results + + +class Result(_ResultModel): + chart: _results.IstorelogicComtypeIotypeChart | None = Field(validation_alias='chart', default=None) + + +class DigitalenergyIstoreChartsUpdateResult(_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 DigitalenergyIstoreChartsUpdateImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/istore/charts/update' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: str, + public: bool | None = None, + shared: bool | None = None, + description: str | None = None, + ) -> DigitalenergyIstoreChartsUpdateResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/istore/charts/upload.py b/src/digital_energy_sdk/api/digitalenergy/istore/charts/upload.py new file mode 100644 index 0000000..5161ab8 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/istore/charts/upload.py @@ -0,0 +1,50 @@ +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 results as _results + + +class Result(_ResultModel): + chart: _results.IstorelogicComtypeIotypeChart | None = Field(validation_alias='chart', default=None) + replace: bool | None = Field(validation_alias='replace', default=None) + upload_in_group: bool | None = Field(validation_alias='uploadInGroup', default=None) + + +class DigitalenergyIstoreChartsUploadResult(_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 DigitalenergyIstoreChartsUploadImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/istore/charts/upload' + http_method = HTTPMethod.POST + param_aliases = { + 'icon_file': 'iconFile', + 'time_to_delete': 'timeToDelete', + 'chart_path': 'chartPath', + 'upload_in_group': 'uploadInGroup', + } + + def __call__( + self, + *, + file: _ParamFile | None = None, + icon_file: _ParamFile | None = None, + time_to_delete: int | None = None, + chart_path: str | None = None, + collection: str, + replace: bool | None = None, + upload_in_group: bool | None = None, + public: bool | None = None, + description: str | None = None, + ) -> DigitalenergyIstoreChartsUploadResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/istore/image/__init__.py b/src/digital_energy_sdk/api/digitalenergy/istore/image/__init__.py new file mode 100644 index 0000000..a532704 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/istore/image/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyIstoreImageImpl + + +__all__ = ['DigitalenergyIstoreImageImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/istore/image/_group.py b/src/digital_energy_sdk/api/digitalenergy/istore/image/_group.py new file mode 100644 index 0000000..4963346 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/istore/image/_group.py @@ -0,0 +1,30 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .delete import DigitalenergyIstoreImageDeleteImpl +from .get import DigitalenergyIstoreImageGetImpl +from .list import DigitalenergyIstoreImageListImpl +from .update import DigitalenergyIstoreImageUpdateImpl +from .upload import DigitalenergyIstoreImageUploadImpl + + +class DigitalenergyIstoreImageImpl(APIOperationGroupImpl): + @cached_property + def delete(self) -> DigitalenergyIstoreImageDeleteImpl: + return DigitalenergyIstoreImageDeleteImpl(config=self._config) + + @cached_property + def get(self) -> DigitalenergyIstoreImageGetImpl: + return DigitalenergyIstoreImageGetImpl(config=self._config) + + @cached_property + def list(self) -> DigitalenergyIstoreImageListImpl: + return DigitalenergyIstoreImageListImpl(config=self._config) + + @cached_property + def update(self) -> DigitalenergyIstoreImageUpdateImpl: + return DigitalenergyIstoreImageUpdateImpl(config=self._config) + + @cached_property + def upload(self) -> DigitalenergyIstoreImageUploadImpl: + return DigitalenergyIstoreImageUploadImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/istore/image/delete.py b/src/digital_energy_sdk/api/digitalenergy/istore/image/delete.py new file mode 100644 index 0000000..aa2c6b5 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/istore/image/delete.py @@ -0,0 +1,38 @@ +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 results as _results + + +class Result(_ResultModel): + result: str | None = Field(validation_alias='result', default=None) + + +class DigitalenergyIstoreImageDeleteResult(_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 DigitalenergyIstoreImageDeleteImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/istore/image/delete' + http_method = HTTPMethod.POST + param_aliases = { + 'delete_all': 'deleteAll', + } + + def __call__( + self, + *, + id: str, + delete_all: bool | None = None, + ) -> DigitalenergyIstoreImageDeleteResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/istore/image/get.py b/src/digital_energy_sdk/api/digitalenergy/istore/image/get.py new file mode 100644 index 0000000..8fa2423 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/istore/image/get.py @@ -0,0 +1,36 @@ +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 results as _results + + +class Result(_ResultModel): + manifest: _results.IstorelogicComtypeIotypeManifest | None = Field(validation_alias='manifest', default=None) + + +class DigitalenergyIstoreImageGetResult(_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 DigitalenergyIstoreImageGetImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/istore/image/get' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: str, + ) -> DigitalenergyIstoreImageGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/istore/image/list.py b/src/digital_energy_sdk/api/digitalenergy/istore/image/list.py new file mode 100644 index 0000000..5268043 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/istore/image/list.py @@ -0,0 +1,69 @@ +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 results as _results + + +class Filter(Enum): + OWN = 'own' + SHARED = 'shared' + SYSTEM = 'system' + ALL = 'all' + EMPTY_STR = '' + + +class OrderBy(Enum): + NAME = 'name' + CREATED_AT = 'created_at' + UPDATED_AT = 'updated_at' + COLLECTION = 'collection' + EMPTY_STR = '' + + +class OrderDir(Enum): + ASC = 'ASC' + DESC = 'DESC' + EMPTY_STR = '' + + +class Result(_ResultModel): + manifests: list[_results.IstorelogicComtypeIotypeManifest] | None = Field(validation_alias='manifests', default=None) + total: int | None = Field(validation_alias='total', default=None) + + +class DigitalenergyIstoreImageListResult(_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 DigitalenergyIstoreImageListImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/istore/image/list' + http_method = HTTPMethod.POST + param_aliases = { + 'public_only': 'publicOnly', + 'order_by': 'orderBy', + 'order_dir': 'orderDir', + } + + def __call__( + self, + *, + filter: Filter | None = None, + collection: str | None = None, + public_only: bool | None = None, + search: str | None = None, + order_by: OrderBy | None = None, + order_dir: OrderDir | None = None, + limit: int | None = None, + page: int | None = None, + ) -> DigitalenergyIstoreImageListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/istore/image/update.py b/src/digital_energy_sdk/api/digitalenergy/istore/image/update.py new file mode 100644 index 0000000..df99fec --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/istore/image/update.py @@ -0,0 +1,39 @@ +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 results as _results + + +class Result(_ResultModel): + manifest: _results.IstorelogicComtypeIotypeManifest | None = Field(validation_alias='manifest', default=None) + + +class DigitalenergyIstoreImageUpdateResult(_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 DigitalenergyIstoreImageUpdateImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/istore/image/update' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: str, + public: bool | None = None, + shared: bool | None = None, + description: str | None = None, + ) -> DigitalenergyIstoreImageUpdateResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/istore/image/upload.py b/src/digital_energy_sdk/api/digitalenergy/istore/image/upload.py new file mode 100644 index 0000000..5d7bb28 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/istore/image/upload.py @@ -0,0 +1,61 @@ +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 results as _results + + +class BlobsItem(_ResultModel): + created_at: str | None = Field(validation_alias='createdAt', default=None) + digest: str | None = Field(validation_alias='digest', default=None) + id: str | None = Field(validation_alias='id', default=None) + media_type: str | None = Field(validation_alias='mediaType', default=None) + name: str | None = Field(validation_alias='name', default=None) + reference: str | None = Field(validation_alias='reference', default=None) + size: int | None = Field(validation_alias='size', default=None) + updated_at: str | None = Field(validation_alias='updatedAt', default=None) + + +class Result(_ResultModel): + blobs: list[BlobsItem] | None = Field(validation_alias='blobs', default=None) + manifest: _results.IstorelogicComtypeIotypeManifest | None = Field(validation_alias='manifest', default=None) + + +class DigitalenergyIstoreImageUploadResult(_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 DigitalenergyIstoreImageUploadImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/istore/image/upload' + http_method = HTTPMethod.POST + param_aliases = { + 'time_to_delete': 'timeToDelete', + 'image_path': 'imagePath', + 'manifest_overwrite': 'manifestOverwrite', + 'layers_overwrite': 'layersOverwrite', + } + + def __call__( + self, + *, + file: _ParamFile | None = None, + time_to_delete: int | None = None, + image_path: str | None = None, + reference: str, + name: str, + manifest_overwrite: bool | None = None, + layers_overwrite: bool | None = None, + shared: bool | None = None, + public: bool | None = None, + description: str | None = None, + ) -> DigitalenergyIstoreImageUploadResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/istore/operations/__init__.py b/src/digital_energy_sdk/api/digitalenergy/istore/operations/__init__.py new file mode 100644 index 0000000..497292b --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/istore/operations/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyIstoreOperationsImpl + + +__all__ = ['DigitalenergyIstoreOperationsImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/istore/operations/_group.py b/src/digital_energy_sdk/api/digitalenergy/istore/operations/_group.py new file mode 100644 index 0000000..a18f354 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/istore/operations/_group.py @@ -0,0 +1,10 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .list import DigitalenergyIstoreOperationsListImpl + + +class DigitalenergyIstoreOperationsImpl(APIOperationGroupImpl): + @cached_property + def list(self) -> DigitalenergyIstoreOperationsListImpl: + return DigitalenergyIstoreOperationsListImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/istore/operations/list.py b/src/digital_energy_sdk/api/digitalenergy/istore/operations/list.py new file mode 100644 index 0000000..91d5d2a --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/istore/operations/list.py @@ -0,0 +1,84 @@ +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 results as _results + + +class OrderBy(Enum): + CREATED_AT = 'created_at' + USERNAME = 'username' + OPERATION = 'operation' + GROUP_NAME = 'group_name' + + +class OrderDir(Enum): + ASC = 'ASC' + DESC = 'DESC' + EMPTY_STR = '' + + +class OprecordsItem(_ResultModel): + ip: str | None = Field(validation_alias='IP', default=None) + api_endpoint: str | None = Field(validation_alias='apiEndpoint', default=None) + created_at: str | None = Field(validation_alias='createdAt', default=None) + description: str | None = Field(validation_alias='description', default=None) + error_message: str | None = Field(validation_alias='errorMessage', default=None) + finished_with_error: bool | None = Field(validation_alias='finishedWithError', default=None) + group_id: int | None = Field(validation_alias='groupId', default=None) + group_name: str | None = Field(validation_alias='groupName', default=None) + id: int | None = Field(validation_alias='id', default=None) + operation: str | None = Field(validation_alias='operation', default=None) + user_id: int | None = Field(validation_alias='userId', default=None) + username: str | None = Field(validation_alias='username', default=None) + + +class Result(_ResultModel): + oprecords: list[OprecordsItem] | None = Field(validation_alias='oprecords', default=None) + page: int | None = Field(validation_alias='page', default=None) + page_size: int | None = Field(validation_alias='pageSize', default=None) + total: int | None = Field(validation_alias='total', default=None) + total_pages: int | None = Field(validation_alias='totalPages', default=None) + + +class DigitalenergyIstoreOperationsListResult(_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 DigitalenergyIstoreOperationsListImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/istore/operations/list' + http_method = HTTPMethod.POST + param_aliases = { + 'user_id': 'userID', + 'group_id': 'groupID', + 'only_errors': 'onlyErrors', + 'order_by': 'orderBy', + 'order_dir': 'orderDir', + 'page_size': 'pageSize', + } + + def __call__( + self, + *, + username: str | None = None, + user_id: int | None = None, + group: str | None = None, + group_id: int | None = None, + operation: str | None = None, + only_errors: bool | None = None, + search: str | None = None, + order_by: OrderBy = OrderBy.CREATED_AT, + order_dir: OrderDir = OrderDir.DESC, + page: int = 0, + page_size: int | None = None, + ) -> DigitalenergyIstoreOperationsListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/jenkins/__init__.py b/src/digital_energy_sdk/api/digitalenergy/jenkins/__init__.py new file mode 100644 index 0000000..9040f4f --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/jenkins/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyJenkinsImpl + + +__all__ = ['DigitalenergyJenkinsImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/jenkins/_group.py b/src/digital_energy_sdk/api/digitalenergy/jenkins/_group.py new file mode 100644 index 0000000..726f27f --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/jenkins/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyJenkinsDescribeImpl +from .install import DigitalenergyJenkinsInstallImpl +from .uninstall import DigitalenergyJenkinsUninstallImpl + + +class DigitalenergyJenkinsImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyJenkinsDescribeImpl: + return DigitalenergyJenkinsDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyJenkinsInstallImpl: + return DigitalenergyJenkinsInstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyJenkinsUninstallImpl: + return DigitalenergyJenkinsUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/jenkins/describe.py b/src/digital_energy_sdk/api/digitalenergy/jenkins/describe.py new file mode 100644 index 0000000..8fdbaec --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/jenkins/describe.py @@ -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 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) + with_depcheck: bool | None = Field(validation_alias='withDepcheck', 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 DigitalenergyJenkinsDescribeResult(_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 DigitalenergyJenkinsDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/jenkins/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, + ) -> DigitalenergyJenkinsDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/jenkins/install.py b/src/digital_energy_sdk/api/digitalenergy/jenkins/install.py new file mode 100644 index 0000000..738ee3e --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/jenkins/install.py @@ -0,0 +1,47 @@ +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 results as _results + + +class StorageClass(Enum): + LONGHORN = 'longhorn' + GLUSTERFS = 'glusterfs' + EMPTY_STR = '' + + +class DigitalenergyJenkinsInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/jenkins/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, + username: str, + password: str, + hostname: str, + integagent_hostname: str | None = None, + 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, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/jenkins/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/jenkins/uninstall.py new file mode 100644 index 0000000..e8f97ec --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/jenkins/uninstall.py @@ -0,0 +1,30 @@ +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 results as _results + + +class DigitalenergyJenkinsUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/jenkins/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 \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/kubernetes_user/__init__.py b/src/digital_energy_sdk/api/digitalenergy/kubernetes_user/__init__.py new file mode 100644 index 0000000..d48cad7 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/kubernetes_user/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyKubernetesUserImpl + + +__all__ = ['DigitalenergyKubernetesUserImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/kubernetes_user/_group.py b/src/digital_energy_sdk/api/digitalenergy/kubernetes_user/_group.py new file mode 100644 index 0000000..d86e8bc --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/kubernetes_user/_group.py @@ -0,0 +1,40 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .create import DigitalenergyKubernetesUserCreateImpl +from .delete import DigitalenergyKubernetesUserDeleteImpl +from .get import DigitalenergyKubernetesUserGetImpl +from .list import DigitalenergyKubernetesUserListImpl +from .list_namespaces import DigitalenergyKubernetesUserListNamespacesImpl +from .list_resources import DigitalenergyKubernetesUserListResourcesImpl +from .update import DigitalenergyKubernetesUserUpdateImpl + + +class DigitalenergyKubernetesUserImpl(APIOperationGroupImpl): + @cached_property + def create(self) -> DigitalenergyKubernetesUserCreateImpl: + return DigitalenergyKubernetesUserCreateImpl(config=self._config) + + @cached_property + def delete(self) -> DigitalenergyKubernetesUserDeleteImpl: + return DigitalenergyKubernetesUserDeleteImpl(config=self._config) + + @cached_property + def get(self) -> DigitalenergyKubernetesUserGetImpl: + return DigitalenergyKubernetesUserGetImpl(config=self._config) + + @cached_property + def list(self) -> DigitalenergyKubernetesUserListImpl: + return DigitalenergyKubernetesUserListImpl(config=self._config) + + @cached_property + def list_namespaces(self) -> DigitalenergyKubernetesUserListNamespacesImpl: + return DigitalenergyKubernetesUserListNamespacesImpl(config=self._config) + + @cached_property + def list_resources(self) -> DigitalenergyKubernetesUserListResourcesImpl: + return DigitalenergyKubernetesUserListResourcesImpl(config=self._config) + + @cached_property + def update(self) -> DigitalenergyKubernetesUserUpdateImpl: + return DigitalenergyKubernetesUserUpdateImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/kubernetes_user/create.py b/src/digital_energy_sdk/api/digitalenergy/kubernetes_user/create.py new file mode 100644 index 0000000..4e752b2 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/kubernetes_user/create.py @@ -0,0 +1,29 @@ +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 results as _results + + +class DigitalenergyKubernetesUserCreateImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/kubernetesUser/create' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + username: str, + description: str, + cluster_id: int, + settings: str, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/kubernetes_user/delete.py b/src/digital_energy_sdk/api/digitalenergy/kubernetes_user/delete.py new file mode 100644 index 0000000..0d72923 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/kubernetes_user/delete.py @@ -0,0 +1,34 @@ +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 results as _results + + +class DigitalenergyKubernetesUserDeleteResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyKubernetesUserDeleteImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/kubernetesUser/delete' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + id: int, + cluster_id: int, + ) -> DigitalenergyKubernetesUserDeleteResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/kubernetes_user/get.py b/src/digital_energy_sdk/api/digitalenergy/kubernetes_user/get.py new file mode 100644 index 0000000..c963041 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/kubernetes_user/get.py @@ -0,0 +1,39 @@ +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 results as _results + + +class Result(_ResultModel): + is_rights_ok: bool | None = Field(validation_alias='isRightsOk', default=None) + record: _results.InternalRbaclogicAaatypeUser | None = Field(validation_alias='record', default=None) + + +class DigitalenergyKubernetesUserGetResult(_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 DigitalenergyKubernetesUserGetImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/kubernetesUser/get' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + id: int | None = None, + cluster_id: int, + ) -> DigitalenergyKubernetesUserGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/kubernetes_user/list.py b/src/digital_energy_sdk/api/digitalenergy/kubernetes_user/list.py new file mode 100644 index 0000000..ad5fe9b --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/kubernetes_user/list.py @@ -0,0 +1,44 @@ +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 results as _results + + +class Result(_ResultModel): + records: list[_results.InternalRbaclogicAaatypeUser] | None = Field(validation_alias='records', default=None) + + +class DigitalenergyKubernetesUserListResult(_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 DigitalenergyKubernetesUserListImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/kubernetesUser/list' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'sort_by': 'sortBy', + } + + def __call__( + self, + *, + cluster_id: int, + id: int | None = None, + username: str | None = None, + status: str | None = None, + sort_by: str | None = None, + limit: int | None = None, + page: int | None = None, + ) -> DigitalenergyKubernetesUserListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/kubernetes_user/list_namespaces.py b/src/digital_energy_sdk/api/digitalenergy/kubernetes_user/list_namespaces.py new file mode 100644 index 0000000..ce14c3e --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/kubernetes_user/list_namespaces.py @@ -0,0 +1,41 @@ +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 results as _results + + +class NamespacesItem(_ResultModel): + name: str | None = Field(validation_alias='name', default=None) + + +class Result(_ResultModel): + namespaces: list[NamespacesItem] | None = Field(validation_alias='namespaces', default=None) + + +class DigitalenergyKubernetesUserListNamespacesResult(_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 DigitalenergyKubernetesUserListNamespacesImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/kubernetesUser/listNamespaces' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + ) -> DigitalenergyKubernetesUserListNamespacesResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/kubernetes_user/list_resources.py b/src/digital_energy_sdk/api/digitalenergy/kubernetes_user/list_resources.py new file mode 100644 index 0000000..168cfbe --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/kubernetes_user/list_resources.py @@ -0,0 +1,47 @@ +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 results as _results + + +class ResourcesItem(_ResultModel): + api_group: str | None = Field(validation_alias='apiGroup', default=None) + kind: str | None = Field(validation_alias='kind', default=None) + name: str | None = Field(validation_alias='name', default=None) + namespaced: bool | None = Field(validation_alias='namespaced', default=None) + singular_name: str | None = Field(validation_alias='singularName', default=None) + verbs: list[str] | None = Field(validation_alias='verbs', default=None) + version: str | None = Field(validation_alias='version', default=None) + + +class Result(_ResultModel): + resources: list[ResourcesItem] | None = Field(validation_alias='resources', default=None) + + +class DigitalenergyKubernetesUserListResourcesResult(_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 DigitalenergyKubernetesUserListResourcesImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/kubernetesUser/listResources' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + ) -> DigitalenergyKubernetesUserListResourcesResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/kubernetes_user/update.py b/src/digital_energy_sdk/api/digitalenergy/kubernetes_user/update.py new file mode 100644 index 0000000..b999ac7 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/kubernetes_user/update.py @@ -0,0 +1,42 @@ +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 results as _results + + +class Result(_ResultModel): + id: int | None = Field(validation_alias='id', default=None) + + +class DigitalenergyKubernetesUserUpdateResult(_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 DigitalenergyKubernetesUserUpdateImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/kubernetesUser/update' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'delete_kubeconfig': 'deleteKubeconfig', + } + + def __call__( + self, + *, + id: int, + description: str, + cluster_id: int, + settings: str, + delete_kubeconfig: bool | None = None, + ) -> DigitalenergyKubernetesUserUpdateResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/kyverno/__init__.py b/src/digital_energy_sdk/api/digitalenergy/kyverno/__init__.py new file mode 100644 index 0000000..613e62d --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/kyverno/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyKyvernoImpl + + +__all__ = ['DigitalenergyKyvernoImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/kyverno/_group.py b/src/digital_energy_sdk/api/digitalenergy/kyverno/_group.py new file mode 100644 index 0000000..162c843 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/kyverno/_group.py @@ -0,0 +1,25 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyKyvernoDescribeImpl +from .install import DigitalenergyKyvernoInstallImpl +from .policy import DigitalenergyKyvernoPolicyImpl +from .uninstall import DigitalenergyKyvernoUninstallImpl + + +class DigitalenergyKyvernoImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyKyvernoDescribeImpl: + return DigitalenergyKyvernoDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyKyvernoInstallImpl: + return DigitalenergyKyvernoInstallImpl(config=self._config) + + @cached_property + def policy(self) -> DigitalenergyKyvernoPolicyImpl: + return DigitalenergyKyvernoPolicyImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyKyvernoUninstallImpl: + return DigitalenergyKyvernoUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/kyverno/describe.py b/src/digital_energy_sdk/api/digitalenergy/kyverno/describe.py new file mode 100644 index 0000000..9bdd48f --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/kyverno/describe.py @@ -0,0 +1,53 @@ +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 results as _results + + +class Registry(_ResultModel): + cluster_id: int | None = Field(validation_alias='clusterId', 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) + product_name: str | None = Field(validation_alias='productName', default=None) + product_version: str | None = Field(validation_alias='productVersion', default=None) + task_ids: list[int] | None = Field(validation_alias='taskIds', default=None) + worker_group_name: str | None = Field(validation_alias='workerGroupName', default=None) + + +class Result(_ResultModel): + 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 DigitalenergyKyvernoDescribeResult(_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 DigitalenergyKyvernoDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/kyverno/describe' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'check_installation': 'checkInstallation', + } + + def __call__( + self, + *, + cluster_id: int, + check_installation: bool | None = None, + ) -> DigitalenergyKyvernoDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/kyverno/install.py b/src/digital_energy_sdk/api/digitalenergy/kyverno/install.py new file mode 100644 index 0000000..0e10fcf --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/kyverno/install.py @@ -0,0 +1,43 @@ +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 results as _results + + +class Result(_ResultModel): + task_id: int | None = Field(validation_alias='taskId', default=None) + + +class DigitalenergyKyvernoInstallResult(_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 DigitalenergyKyvernoInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/kyverno/install' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'apps_repository_id': 'appsRepositoryId', + 'charts_repository_id': 'chartsRepositoryId', + 'download_chart_anyway': 'downloadChartAnyway', + } + + def __call__( + self, + *, + cluster_id: int, + apps_repository_id: int | None = None, + charts_repository_id: int | None = None, + download_chart_anyway: bool | None = None, + ) -> DigitalenergyKyvernoInstallResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/__init__.py b/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/__init__.py new file mode 100644 index 0000000..866e1d5 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyKyvernoPolicyImpl + + +__all__ = ['DigitalenergyKyvernoPolicyImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/_group.py b/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/_group.py new file mode 100644 index 0000000..f38db5a --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/_group.py @@ -0,0 +1,55 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .apply import DigitalenergyKyvernoPolicyApplyImpl +from .compare import DigitalenergyKyvernoPolicyCompareImpl +from .create import DigitalenergyKyvernoPolicyCreateImpl +from .delete import DigitalenergyKyvernoPolicyDeleteImpl +from .get import DigitalenergyKyvernoPolicyGetImpl +from .list import DigitalenergyKyvernoPolicyListImpl +from .resolve import DigitalenergyKyvernoPolicyResolveImpl +from .restore import DigitalenergyKyvernoPolicyRestoreImpl +from .stop import DigitalenergyKyvernoPolicyStopImpl +from .update import DigitalenergyKyvernoPolicyUpdateImpl + + +class DigitalenergyKyvernoPolicyImpl(APIOperationGroupImpl): + @cached_property + def apply(self) -> DigitalenergyKyvernoPolicyApplyImpl: + return DigitalenergyKyvernoPolicyApplyImpl(config=self._config) + + @cached_property + def compare(self) -> DigitalenergyKyvernoPolicyCompareImpl: + return DigitalenergyKyvernoPolicyCompareImpl(config=self._config) + + @cached_property + def create(self) -> DigitalenergyKyvernoPolicyCreateImpl: + return DigitalenergyKyvernoPolicyCreateImpl(config=self._config) + + @cached_property + def delete(self) -> DigitalenergyKyvernoPolicyDeleteImpl: + return DigitalenergyKyvernoPolicyDeleteImpl(config=self._config) + + @cached_property + def get(self) -> DigitalenergyKyvernoPolicyGetImpl: + return DigitalenergyKyvernoPolicyGetImpl(config=self._config) + + @cached_property + def list(self) -> DigitalenergyKyvernoPolicyListImpl: + return DigitalenergyKyvernoPolicyListImpl(config=self._config) + + @cached_property + def resolve(self) -> DigitalenergyKyvernoPolicyResolveImpl: + return DigitalenergyKyvernoPolicyResolveImpl(config=self._config) + + @cached_property + def restore(self) -> DigitalenergyKyvernoPolicyRestoreImpl: + return DigitalenergyKyvernoPolicyRestoreImpl(config=self._config) + + @cached_property + def stop(self) -> DigitalenergyKyvernoPolicyStopImpl: + return DigitalenergyKyvernoPolicyStopImpl(config=self._config) + + @cached_property + def update(self) -> DigitalenergyKyvernoPolicyUpdateImpl: + return DigitalenergyKyvernoPolicyUpdateImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/apply.py b/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/apply.py new file mode 100644 index 0000000..dc6c765 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/apply.py @@ -0,0 +1,40 @@ +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 results as _results + + +class Result(_ResultModel): + id: int | None = Field(validation_alias='id', default=None) + + +class DigitalenergyKyvernoPolicyApplyResult(_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 DigitalenergyKyvernoPolicyApplyImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/kyverno/policy/apply' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'policy_name': 'policyName', + } + + def __call__( + self, + *, + cluster_id: int, + id: int | None = None, + policy_name: str | None = None, + ) -> DigitalenergyKyvernoPolicyApplyResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/compare.py b/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/compare.py new file mode 100644 index 0000000..2fe46b8 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/compare.py @@ -0,0 +1,48 @@ +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 results as _results + + +class MismatchedItem(_ResultModel): + cluster_policy_content: str | None = Field(validation_alias='clusterPolicyContent', default=None) + database_policy_content: str | None = Field(validation_alias='databasePolicyContent', default=None) + name: str | None = Field(validation_alias='name', default=None) + + +class Result(_ResultModel): + matched_count: int | None = Field(validation_alias='matchedCount', default=None) + mismatched: list[MismatchedItem] | None = Field(validation_alias='mismatched', default=None) + missing_in_cluster: list[str] | None = Field(validation_alias='missingInCluster', default=None) + missing_in_database: list[str] | None = Field(validation_alias='missingInDatabase', default=None) + total_cluster_policies: int | None = Field(validation_alias='totalClusterPolicies', default=None) + total_database_policies: int | None = Field(validation_alias='totalDatabasePolicies', default=None) + + +class DigitalenergyKyvernoPolicyCompareResult(_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 DigitalenergyKyvernoPolicyCompareImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/kyverno/policy/compare' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + ) -> DigitalenergyKyvernoPolicyCompareResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/create.py b/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/create.py new file mode 100644 index 0000000..7ab6338 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/create.py @@ -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 results as _results + + +class Result(_ResultModel): + id: int | None = Field(validation_alias='id', default=None) + + +class DigitalenergyKyvernoPolicyCreateResult(_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 DigitalenergyKyvernoPolicyCreateImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/kyverno/policy/create' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + policy: str, + template: bool, + ) -> DigitalenergyKyvernoPolicyCreateResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/delete.py b/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/delete.py new file mode 100644 index 0000000..3013254 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/delete.py @@ -0,0 +1,35 @@ +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 results as _results + + +class DigitalenergyKyvernoPolicyDeleteResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyKyvernoPolicyDeleteImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/kyverno/policy/delete' + http_method = HTTPMethod.POST + param_aliases = { + 'policy_name': 'policyName', + } + + def __call__( + self, + *, + id: int | None = None, + policy_name: str | None = None, + template: bool | None = None, + ) -> DigitalenergyKyvernoPolicyDeleteResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/get.py b/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/get.py new file mode 100644 index 0000000..fb863ad --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/get.py @@ -0,0 +1,39 @@ +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 results as _results + + +class Result(_ResultModel): + record: _results.ComtypePrtypeKyvernoPolicy | None = Field(validation_alias='record', default=None) + + +class DigitalenergyKyvernoPolicyGetResult(_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 DigitalenergyKyvernoPolicyGetImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/kyverno/policy/get' + http_method = HTTPMethod.POST + param_aliases = { + 'policy_name': 'policyName', + } + + def __call__( + self, + *, + id: int | None = None, + policy_name: str | None = None, + template: bool | None = None, + ) -> DigitalenergyKyvernoPolicyGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/list.py b/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/list.py new file mode 100644 index 0000000..043deab --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/list.py @@ -0,0 +1,46 @@ +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 results as _results + + +class Result(_ResultModel): + records: list[_results.ComtypePrtypeKyvernoPolicy] | None = Field(validation_alias='records', default=None) + total: int | None = Field(validation_alias='total', default=None) + + +class DigitalenergyKyvernoPolicyListResult(_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 DigitalenergyKyvernoPolicyListImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/kyverno/policy/list' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'validation_action': 'validationAction', + } + + def __call__( + self, + *, + cluster_id: int | None = None, + category: str | None = None, + severity: str | None = None, + validation_action: str | None = None, + type: str | None = None, + template: bool | None = None, + limit: int | None = None, + page: int | None = None, + ) -> DigitalenergyKyvernoPolicyListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/resolve.py b/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/resolve.py new file mode 100644 index 0000000..99efc6a --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/resolve.py @@ -0,0 +1,30 @@ +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 results as _results + + +class DigitalenergyKyvernoPolicyResolveImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/kyverno/policy/resolve' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'policy_conflict_name': 'policyConflictName', + 'policy_updated_name': 'policyUpdatedName', + } + + def __call__( + self, + *, + cluster_id: int, + policy_conflict_name: str, + policy_updated_name: str, + ) -> _results.RestoreKyvernoPolicyResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/restore.py b/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/restore.py new file mode 100644 index 0000000..6633487 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/restore.py @@ -0,0 +1,28 @@ +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 results as _results + + +class DigitalenergyKyvernoPolicyRestoreImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/kyverno/policy/restore' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'policy_name': 'policyName', + } + + def __call__( + self, + *, + cluster_id: int, + policy_name: str, + ) -> _results.RestoreKyvernoPolicyResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/stop.py b/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/stop.py new file mode 100644 index 0000000..372a48a --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/stop.py @@ -0,0 +1,40 @@ +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 results as _results + + +class Result(_ResultModel): + id: int | None = Field(validation_alias='id', default=None) + + +class DigitalenergyKyvernoPolicyStopResult(_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 DigitalenergyKyvernoPolicyStopImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/kyverno/policy/stop' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'policy_name': 'policyName', + } + + def __call__( + self, + *, + cluster_id: int, + id: int | None = None, + policy_name: str | None = None, + ) -> DigitalenergyKyvernoPolicyStopResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/update.py b/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/update.py new file mode 100644 index 0000000..c62ca9b --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/kyverno/policy/update.py @@ -0,0 +1,38 @@ +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 results as _results + + +class Result(_ResultModel): + record: _results.ComtypePrtypeKyvernoPolicy | None = Field(validation_alias='record', default=None) + + +class DigitalenergyKyvernoPolicyUpdateResult(_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 DigitalenergyKyvernoPolicyUpdateImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/kyverno/policy/update' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + policy: str | None = None, + template: bool, + ) -> DigitalenergyKyvernoPolicyUpdateResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/kyverno/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/kyverno/uninstall.py new file mode 100644 index 0000000..2eb492d --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/kyverno/uninstall.py @@ -0,0 +1,41 @@ +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 results as _results + + +class Result(_ResultModel): + task_id: int | None = Field(validation_alias='taskId', default=None) + + +class DigitalenergyKyvernoUninstallResult(_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 DigitalenergyKyvernoUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/kyverno/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, + ) -> DigitalenergyKyvernoUninstallResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/longhorn/__init__.py b/src/digital_energy_sdk/api/digitalenergy/longhorn/__init__.py new file mode 100644 index 0000000..6402463 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/longhorn/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyLonghornImpl + + +__all__ = ['DigitalenergyLonghornImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/longhorn/_group.py b/src/digital_energy_sdk/api/digitalenergy/longhorn/_group.py new file mode 100644 index 0000000..71934bb --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/longhorn/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyLonghornDescribeImpl +from .install import DigitalenergyLonghornInstallImpl +from .uninstall import DigitalenergyLonghornUninstallImpl + + +class DigitalenergyLonghornImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyLonghornDescribeImpl: + return DigitalenergyLonghornDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyLonghornInstallImpl: + return DigitalenergyLonghornInstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyLonghornUninstallImpl: + return DigitalenergyLonghornUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/longhorn/describe.py b/src/digital_energy_sdk/api/digitalenergy/longhorn/describe.py new file mode 100644 index 0000000..63fdf11 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/longhorn/describe.py @@ -0,0 +1,60 @@ +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 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) + 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 DigitalenergyLonghornDescribeResult(_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 DigitalenergyLonghornDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/longhorn/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, + ) -> DigitalenergyLonghornDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/longhorn/install.py b/src/digital_energy_sdk/api/digitalenergy/longhorn/install.py new file mode 100644 index 0000000..ccf3313 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/longhorn/install.py @@ -0,0 +1,41 @@ +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 results as _results + + +class DigitalenergyLonghornInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/longhorn/install' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'apps_repository_id': 'appsRepositoryId', + 'charts_repository_id': 'chartsRepositoryId', + 'class_replica_count': 'classReplicaCount', + 'integagent_hostname': 'integagentHostname', + 'worker_group_name': 'workerGroupName', + 'download_chart_anyway': 'downloadChartAnyway', + } + + def __call__( + self, + *, + cluster_id: int, + username: str, + password: str, + apps_repository_id: int | None = None, + charts_repository_id: int | None = None, + hostname: str, + class_replica_count: int | None = None, + integagent_hostname: str | None = None, + worker_group_name: str | None = None, + download_chart_anyway: bool | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/longhorn/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/longhorn/uninstall.py new file mode 100644 index 0000000..f8a7532 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/longhorn/uninstall.py @@ -0,0 +1,30 @@ +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 results as _results + + +class DigitalenergyLonghornUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/longhorn/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 \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/lrecords/__init__.py b/src/digital_energy_sdk/api/digitalenergy/lrecords/__init__.py new file mode 100644 index 0000000..936c67a --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/lrecords/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyLrecordsImpl + + +__all__ = ['DigitalenergyLrecordsImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/lrecords/_group.py b/src/digital_energy_sdk/api/digitalenergy/lrecords/_group.py new file mode 100644 index 0000000..7f083a6 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/lrecords/_group.py @@ -0,0 +1,10 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .options import DigitalenergyLrecordsOptionsImpl + + +class DigitalenergyLrecordsImpl(APIOperationGroupImpl): + @cached_property + def options(self) -> DigitalenergyLrecordsOptionsImpl: + return DigitalenergyLrecordsOptionsImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/lrecords/options.py b/src/digital_energy_sdk/api/digitalenergy/lrecords/options.py new file mode 100644 index 0000000..020f548 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/lrecords/options.py @@ -0,0 +1,52 @@ +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 results as _results + + +class SubjectsItem(_ResultModel): + end_timestamp: int | None = Field(validation_alias='endTimestamp', default=None) + name: str | None = Field(validation_alias='name', default=None) + start_timestamp: int | None = Field(validation_alias='startTimestamp', default=None) + total: int | None = Field(validation_alias='total', default=None) + + +class OptionsItem(_ResultModel): + end_timestamp: int | None = Field(validation_alias='endTimestamp', default=None) + namespace: str | None = Field(validation_alias='namespace', default=None) + start_timestamp: int | None = Field(validation_alias='startTimestamp', default=None) + subjects: list[SubjectsItem] | None = Field(validation_alias='subjects', default=None) + total: int | None = Field(validation_alias='total', default=None) + + +class Result(_ResultModel): + options: list[OptionsItem] | None = Field(validation_alias='options', default=None) + + +class DigitalenergyLrecordsOptionsResult(_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 DigitalenergyLrecordsOptionsImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/lrecords/options' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + ) -> DigitalenergyLrecordsOptionsResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/metrics/__init__.py b/src/digital_energy_sdk/api/digitalenergy/metrics/__init__.py new file mode 100644 index 0000000..dc0a685 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/metrics/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyMetricsImpl + + +__all__ = ['DigitalenergyMetricsImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/metrics/_group.py b/src/digital_energy_sdk/api/digitalenergy/metrics/_group.py new file mode 100644 index 0000000..0fa226c --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/metrics/_group.py @@ -0,0 +1,30 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .create_observer import DigitalenergyMetricsCreateObserverImpl +from .delete import DigitalenergyMetricsDeleteImpl +from .delete_observer import DigitalenergyMetricsDeleteObserverImpl +from .get import DigitalenergyMetricsGetImpl +from .get_observer import DigitalenergyMetricsGetObserverImpl + + +class DigitalenergyMetricsImpl(APIOperationGroupImpl): + @cached_property + def create_observer(self) -> DigitalenergyMetricsCreateObserverImpl: + return DigitalenergyMetricsCreateObserverImpl(config=self._config) + + @cached_property + def delete(self) -> DigitalenergyMetricsDeleteImpl: + return DigitalenergyMetricsDeleteImpl(config=self._config) + + @cached_property + def delete_observer(self) -> DigitalenergyMetricsDeleteObserverImpl: + return DigitalenergyMetricsDeleteObserverImpl(config=self._config) + + @cached_property + def get(self) -> DigitalenergyMetricsGetImpl: + return DigitalenergyMetricsGetImpl(config=self._config) + + @cached_property + def get_observer(self) -> DigitalenergyMetricsGetObserverImpl: + return DigitalenergyMetricsGetObserverImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/metrics/create_observer.py b/src/digital_energy_sdk/api/digitalenergy/metrics/create_observer.py new file mode 100644 index 0000000..4945168 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/metrics/create_observer.py @@ -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 results as _results + + +class Result(_ResultModel): + observer_id: int | None = Field(validation_alias='observerId', default=None) + + +class DigitalenergyMetricsCreateObserverResult(_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 DigitalenergyMetricsCreateObserverImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/metrics/createObserver' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + ) -> DigitalenergyMetricsCreateObserverResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/metrics/delete.py b/src/digital_energy_sdk/api/digitalenergy/metrics/delete.py new file mode 100644 index 0000000..07abe40 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/metrics/delete.py @@ -0,0 +1,33 @@ +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 results as _results + + +class DigitalenergyMetricsDeleteResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyMetricsDeleteImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/metrics/delete' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + ) -> DigitalenergyMetricsDeleteResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/metrics/delete_observer.py b/src/digital_energy_sdk/api/digitalenergy/metrics/delete_observer.py new file mode 100644 index 0000000..5d8624a --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/metrics/delete_observer.py @@ -0,0 +1,39 @@ +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 results as _results + + +class Result(_ResultModel): + observer_id: int | None = Field(validation_alias='observerId', default=None) + + +class DigitalenergyMetricsDeleteObserverResult(_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 DigitalenergyMetricsDeleteObserverImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/metrics/deleteObserver' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'delete_metrics': 'deleteMetrics', + } + + def __call__( + self, + *, + cluster_id: int, + delete_metrics: bool | None = None, + ) -> DigitalenergyMetricsDeleteObserverResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/metrics/get.py b/src/digital_energy_sdk/api/digitalenergy/metrics/get.py new file mode 100644 index 0000000..30ad5d1 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/metrics/get.py @@ -0,0 +1,103 @@ +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 results as _results + + +class Resource(Enum): + CPU = 'cpu' + MEMORY = 'memory' + DISK = 'disk' + COMPONENTS_SLIS = 'components_slis' + + +class Usage(Enum): + USED = 'used' + CAPACITY = 'capacity' + EMPTY_STR = '' + + +class Type(Enum): + NODE = 'node' + NAMESPACE = 'namespace' + EMPTY_STR = '' + + +class Timeformat(Enum): + VAL_2006_01_02_15_04_05 = '2006-01-02 15:04:05' + VAL_01_02_15_04_05 = '01-02 15:04:05' + VAL_01_02_15_04 = '01-02 15:04' + VAL_15_04_05 = '15:04:05' + VAL_15_04 = '15:04' + EMPTY_STR = '' + + +class Units(Enum): + VALUE = 'value' + MILLI = 'milli' + MEGA = 'mega' + GIGA = 'giga' + EMPTY_STR = '' + + +class DatasetsItem(_ResultModel): + data: list[float] | None = Field(validation_alias='data', default=None) + label: str | None = Field(validation_alias='label', default=None) + + +class Metadata(_ResultModel): + max: float | None = Field(validation_alias='max', default=None) + min: float | None = Field(validation_alias='min', default=None) + table_name: str | None = Field(validation_alias='tableName', default=None) + y_axis_name: str | None = Field(validation_alias='yAxisName', default=None) + + +class Metrics(_ResultModel): + datasets: list[DatasetsItem] | None = Field(validation_alias='datasets', default=None) + labels: list[str] | None = Field(validation_alias='labels', default=None) + metadata: Metadata | None = Field(validation_alias='metadata', default=None) + + +class Result(_ResultModel): + metrics: Metrics | None = Field(validation_alias='metrics', default=None) + total: int | None = Field(validation_alias='total', default=None) + + +class DigitalenergyMetricsGetResult(_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 DigitalenergyMetricsGetImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/metrics/get' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'timezone_offset': 'timezoneOffset', + 'max_dots': 'maxDots', + } + + def __call__( + self, + *, + cluster_id: int, + resource: Resource, + usage: Usage | None = None, + type: Type | None = None, + starttime: int, + endtime: int | None = None, + timeformat: Timeformat | None = None, + timezone_offset: int | None = None, + units: Units | None = None, + max_dots: int, + ) -> DigitalenergyMetricsGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/metrics/get_observer.py b/src/digital_energy_sdk/api/digitalenergy/metrics/get_observer.py new file mode 100644 index 0000000..7d195b8 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/metrics/get_observer.py @@ -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 results as _results + + +class Result(_ResultModel): + observer_id: int | None = Field(validation_alias='observerId', default=None) + + +class DigitalenergyMetricsGetObserverResult(_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 DigitalenergyMetricsGetObserverImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/metrics/getObserver' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + ) -> DigitalenergyMetricsGetObserverResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/minio/__init__.py b/src/digital_energy_sdk/api/digitalenergy/minio/__init__.py new file mode 100644 index 0000000..86d67f8 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/minio/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyMinioImpl + + +__all__ = ['DigitalenergyMinioImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/minio/_group.py b/src/digital_energy_sdk/api/digitalenergy/minio/_group.py new file mode 100644 index 0000000..6238a5d --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/minio/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyMinioDescribeImpl +from .install import DigitalenergyMinioInstallImpl +from .uninstall import DigitalenergyMinioUninstallImpl + + +class DigitalenergyMinioImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyMinioDescribeImpl: + return DigitalenergyMinioDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyMinioInstallImpl: + return DigitalenergyMinioInstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyMinioUninstallImpl: + return DigitalenergyMinioUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/minio/describe.py b/src/digital_energy_sdk/api/digitalenergy/minio/describe.py new file mode 100644 index 0000000..42d952f --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/minio/describe.py @@ -0,0 +1,60 @@ +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 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_class: str | None = Field(validation_alias='storageClass', default=None) + task_ids: list[int] | None = Field(validation_alias='taskIds', 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 DigitalenergyMinioDescribeResult(_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 DigitalenergyMinioDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/minio/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, + ) -> DigitalenergyMinioDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/minio/install.py b/src/digital_energy_sdk/api/digitalenergy/minio/install.py new file mode 100644 index 0000000..125ea78 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/minio/install.py @@ -0,0 +1,46 @@ +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 results as _results + + +class StorageClass(Enum): + LONGHORN = 'longhorn' + GLUSTERFS = 'glusterfs' + EMPTY_STR = '' + + +class DigitalenergyMinioInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/minio/install' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'storage_class': 'storageClass', + 'integagent_hostname': 'integagentHostname', + 'apps_repository_id': 'appsRepositoryId', + 'charts_repository_id': 'chartsRepositoryId', + 'worker_group_name': 'workerGroupName', + 'download_chart_anyway': 'downloadChartAnyway', + } + + def __call__( + self, + *, + cluster_id: int, + password: str, + storage_class: StorageClass | None = None, + hostname: str, + integagent_hostname: str | 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, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/minio/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/minio/uninstall.py new file mode 100644 index 0000000..55125fb --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/minio/uninstall.py @@ -0,0 +1,30 @@ +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 results as _results + + +class DigitalenergyMinioUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/minio/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 \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/nexus/__init__.py b/src/digital_energy_sdk/api/digitalenergy/nexus/__init__.py new file mode 100644 index 0000000..2f992c9 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/nexus/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyNexusImpl + + +__all__ = ['DigitalenergyNexusImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/nexus/_group.py b/src/digital_energy_sdk/api/digitalenergy/nexus/_group.py new file mode 100644 index 0000000..be56c27 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/nexus/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyNexusDescribeImpl +from .install import DigitalenergyNexusInstallImpl +from .uninstall import DigitalenergyNexusUninstallImpl + + +class DigitalenergyNexusImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyNexusDescribeImpl: + return DigitalenergyNexusDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyNexusInstallImpl: + return DigitalenergyNexusInstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyNexusUninstallImpl: + return DigitalenergyNexusUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/nexus/describe.py b/src/digital_energy_sdk/api/digitalenergy/nexus/describe.py new file mode 100644 index 0000000..55e7e14 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/nexus/describe.py @@ -0,0 +1,63 @@ +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 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) + psql_password: str | None = Field(validation_alias='psqlPassword', default=None) + psql_username: str | None = Field(validation_alias='psqlUsername', 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 DigitalenergyNexusDescribeResult(_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 DigitalenergyNexusDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/nexus/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, + ) -> DigitalenergyNexusDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/nexus/install.py b/src/digital_energy_sdk/api/digitalenergy/nexus/install.py new file mode 100644 index 0000000..c6a0d09 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/nexus/install.py @@ -0,0 +1,46 @@ +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 results as _results + + +class StorageClass(Enum): + LONGHORN = 'longhorn' + GLUSTERFS = 'glusterfs' + EMPTY_STR = '' + + +class DigitalenergyNexusInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/nexus/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, + storage_class: StorageClass | None = None, + password: str, + apps_repository_id: int | None = None, + charts_repository_id: int | None = None, + worker_group_name: str | None = None, + download_chart_anyway: bool | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/nexus/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/nexus/uninstall.py new file mode 100644 index 0000000..0d2b82c --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/nexus/uninstall.py @@ -0,0 +1,30 @@ +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 results as _results + + +class DigitalenergyNexusUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/nexus/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 \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/notification/__init__.py b/src/digital_energy_sdk/api/digitalenergy/notification/__init__.py new file mode 100644 index 0000000..d5e3e13 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/notification/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyNotificationImpl + + +__all__ = ['DigitalenergyNotificationImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/notification/_group.py b/src/digital_energy_sdk/api/digitalenergy/notification/_group.py new file mode 100644 index 0000000..f4b60d2 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/notification/_group.py @@ -0,0 +1,30 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .delete import DigitalenergyNotificationDeleteImpl +from .get import DigitalenergyNotificationGetImpl +from .list import DigitalenergyNotificationListImpl +from .unread_count import DigitalenergyNotificationUnreadCountImpl +from .update import DigitalenergyNotificationUpdateImpl + + +class DigitalenergyNotificationImpl(APIOperationGroupImpl): + @cached_property + def delete(self) -> DigitalenergyNotificationDeleteImpl: + return DigitalenergyNotificationDeleteImpl(config=self._config) + + @cached_property + def get(self) -> DigitalenergyNotificationGetImpl: + return DigitalenergyNotificationGetImpl(config=self._config) + + @cached_property + def list(self) -> DigitalenergyNotificationListImpl: + return DigitalenergyNotificationListImpl(config=self._config) + + @cached_property + def unread_count(self) -> DigitalenergyNotificationUnreadCountImpl: + return DigitalenergyNotificationUnreadCountImpl(config=self._config) + + @cached_property + def update(self) -> DigitalenergyNotificationUpdateImpl: + return DigitalenergyNotificationUpdateImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/notification/delete.py b/src/digital_energy_sdk/api/digitalenergy/notification/delete.py new file mode 100644 index 0000000..7dce080 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/notification/delete.py @@ -0,0 +1,34 @@ +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 results as _results + + +class DigitalenergyNotificationDeleteResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyNotificationDeleteImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/notification/delete' + http_method = HTTPMethod.POST + param_aliases = { + 'delete_all': 'deleteAll', + } + + def __call__( + self, + *, + ids: list[int] | None = None, + delete_all: bool | None = None, + ) -> DigitalenergyNotificationDeleteResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/notification/get.py b/src/digital_energy_sdk/api/digitalenergy/notification/get.py new file mode 100644 index 0000000..c86148b --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/notification/get.py @@ -0,0 +1,36 @@ +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 results as _results + + +class Result(_ResultModel): + record: _results.AaatypeNotification | None = Field(validation_alias='record', default=None) + + +class DigitalenergyNotificationGetResult(_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 DigitalenergyNotificationGetImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/notification/get' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyNotificationGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/notification/list.py b/src/digital_energy_sdk/api/digitalenergy/notification/list.py new file mode 100644 index 0000000..9d05150 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/notification/list.py @@ -0,0 +1,46 @@ +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 results as _results + + +class Result(_ResultModel): + records: list[_results.AaatypeNotification] | None = Field(validation_alias='records', default=None) + total: int | None = Field(validation_alias='total', default=None) + + +class DigitalenergyNotificationListResult(_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 DigitalenergyNotificationListImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/notification/list' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'only_unread': 'onlyUnread', + 'sort_by': 'sortBy', + } + + def __call__( + self, + *, + cluster_id: int | None = None, + type: str | None = None, + message: str | None = None, + only_unread: bool | None = None, + sort_by: str | None = None, + limit: int | None = None, + page: int | None = None, + ) -> DigitalenergyNotificationListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/notification/unread_count.py b/src/digital_energy_sdk/api/digitalenergy/notification/unread_count.py new file mode 100644 index 0000000..adfbe92 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/notification/unread_count.py @@ -0,0 +1,33 @@ +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 results as _results + + +class Result(_ResultModel): + count: int | None = Field(validation_alias='count', default=None) + + +class DigitalenergyNotificationUnreadCountResult(_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 DigitalenergyNotificationUnreadCountImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/notification/unreadCount' + http_method = HTTPMethod.POST + param_aliases = {} + + def __call__( + self, + ) -> DigitalenergyNotificationUnreadCountResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/notification/update.py b/src/digital_energy_sdk/api/digitalenergy/notification/update.py new file mode 100644 index 0000000..043e2f8 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/notification/update.py @@ -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 results as _results + + +class Result(_ResultModel): + processed_count: int | None = Field(validation_alias='processedCount', default=None) + updated_count: int | None = Field(validation_alias='updatedCount', default=None) + + +class DigitalenergyNotificationUpdateResult(_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 DigitalenergyNotificationUpdateImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/notification/update' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + ids: list[int] | None = None, + ) -> DigitalenergyNotificationUpdateResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/openelb/__init__.py b/src/digital_energy_sdk/api/digitalenergy/openelb/__init__.py new file mode 100644 index 0000000..2e9dd18 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/openelb/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyOpenelbImpl + + +__all__ = ['DigitalenergyOpenelbImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/openelb/_group.py b/src/digital_energy_sdk/api/digitalenergy/openelb/_group.py new file mode 100644 index 0000000..207aa91 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/openelb/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyOpenelbDescribeImpl +from .install import DigitalenergyOpenelbInstallImpl +from .uninstall import DigitalenergyOpenelbUninstallImpl + + +class DigitalenergyOpenelbImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyOpenelbDescribeImpl: + return DigitalenergyOpenelbDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyOpenelbInstallImpl: + return DigitalenergyOpenelbInstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyOpenelbUninstallImpl: + return DigitalenergyOpenelbUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/openelb/describe.py b/src/digital_energy_sdk/api/digitalenergy/openelb/describe.py new file mode 100644 index 0000000..8f8c8d9 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/openelb/describe.py @@ -0,0 +1,56 @@ +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 results as _results + + +class Registry(_ResultModel): + cluster_id: int | None = Field(validation_alias='clusterId', 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) + product_name: str | None = Field(validation_alias='productName', default=None) + product_version: str | None = Field(validation_alias='productVersion', default=None) + task_ids: list[int] | None = Field(validation_alias='taskIds', 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 DigitalenergyOpenelbDescribeResult(_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 DigitalenergyOpenelbDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/openelb/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, + ) -> DigitalenergyOpenelbDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/openelb/install.py b/src/digital_energy_sdk/api/digitalenergy/openelb/install.py new file mode 100644 index 0000000..45ccaa3 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/openelb/install.py @@ -0,0 +1,34 @@ +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 results as _results + + +class DigitalenergyOpenelbInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/openelb/install' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'apps_repository_id': 'appsRepositoryId', + 'charts_repository_id': 'chartsRepositoryId', + 'worker_group_name': 'workerGroupName', + 'download_chart_anyway': 'downloadChartAnyway', + } + + def __call__( + self, + *, + cluster_id: int, + apps_repository_id: int | None = None, + charts_repository_id: int | None = None, + worker_group_name: str | None = None, + download_chart_anyway: bool | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/openelb/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/openelb/uninstall.py new file mode 100644 index 0000000..70518a3 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/openelb/uninstall.py @@ -0,0 +1,30 @@ +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 results as _results + + +class DigitalenergyOpenelbUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/openelb/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 \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/operation/__init__.py b/src/digital_energy_sdk/api/digitalenergy/operation/__init__.py new file mode 100644 index 0000000..03dbd22 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/operation/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyOperationImpl + + +__all__ = ['DigitalenergyOperationImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/operation/_group.py b/src/digital_energy_sdk/api/digitalenergy/operation/_group.py new file mode 100644 index 0000000..02c0955 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/operation/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .delete import DigitalenergyOperationDeleteImpl +from .get import DigitalenergyOperationGetImpl +from .list import DigitalenergyOperationListImpl + + +class DigitalenergyOperationImpl(APIOperationGroupImpl): + @cached_property + def delete(self) -> DigitalenergyOperationDeleteImpl: + return DigitalenergyOperationDeleteImpl(config=self._config) + + @cached_property + def get(self) -> DigitalenergyOperationGetImpl: + return DigitalenergyOperationGetImpl(config=self._config) + + @cached_property + def list(self) -> DigitalenergyOperationListImpl: + return DigitalenergyOperationListImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/operation/delete.py b/src/digital_energy_sdk/api/digitalenergy/operation/delete.py new file mode 100644 index 0000000..166d3d3 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/operation/delete.py @@ -0,0 +1,32 @@ +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 results as _results + + +class DigitalenergyOperationDeleteResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyOperationDeleteImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/operation/delete' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyOperationDeleteResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/operation/get.py b/src/digital_energy_sdk/api/digitalenergy/operation/get.py new file mode 100644 index 0000000..4e003f2 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/operation/get.py @@ -0,0 +1,36 @@ +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 results as _results + + +class Result(_ResultModel): + record: _results.ComtypeAaatypeOperationRecord | None = Field(validation_alias='record', default=None) + + +class DigitalenergyOperationGetResult(_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 DigitalenergyOperationGetImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/operation/get' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyOperationGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/operation/list.py b/src/digital_energy_sdk/api/digitalenergy/operation/list.py new file mode 100644 index 0000000..c28307d --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/operation/list.py @@ -0,0 +1,46 @@ +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 results as _results + + +class Result(_ResultModel): + records: list[_results.ComtypeAaatypeOperationRecord] | None = Field(validation_alias='records', default=None) + total: int | None = Field(validation_alias='total', default=None) + + +class DigitalenergyOperationListResult(_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 DigitalenergyOperationListImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/operation/list' + http_method = HTTPMethod.POST + param_aliases = { + 'operation_name': 'operationName', + 'user_id': 'userId', + 'group_ids': 'groupIds', + 'task_id': 'taskId', + } + + def __call__( + self, + *, + operation_name: str | None = None, + user_id: int | None = None, + group_ids: list[int] | None = None, + task_id: int | None = None, + limit: int | None = None, + page: int | None = None, + ) -> DigitalenergyOperationListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/packages/__init__.py b/src/digital_energy_sdk/api/digitalenergy/packages/__init__.py new file mode 100644 index 0000000..93d82c8 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/packages/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyPackagesImpl + + +__all__ = ['DigitalenergyPackagesImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/packages/_group.py b/src/digital_energy_sdk/api/digitalenergy/packages/_group.py new file mode 100644 index 0000000..3c164ff --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/packages/_group.py @@ -0,0 +1,10 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .upgrade_logwatcher import DigitalenergyPackagesUpgradeLogwatcherImpl + + +class DigitalenergyPackagesImpl(APIOperationGroupImpl): + @cached_property + def upgrade_logwatcher(self) -> DigitalenergyPackagesUpgradeLogwatcherImpl: + return DigitalenergyPackagesUpgradeLogwatcherImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/packages/upgrade_logwatcher.py b/src/digital_energy_sdk/api/digitalenergy/packages/upgrade_logwatcher.py new file mode 100644 index 0000000..05ae3e0 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/packages/upgrade_logwatcher.py @@ -0,0 +1,39 @@ +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 results as _results + + +class Result(_ResultModel): + task_id: int | None = Field(validation_alias='taskId', default=None) + + +class DigitalenergyPackagesUpgradeLogwatcherResult(_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 DigitalenergyPackagesUpgradeLogwatcherImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/packages/upgradeLogwatcher' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'package_repository': 'packageRepository', + } + + def __call__( + self, + *, + cluster_id: int, + package_repository: int | None = None, + ) -> DigitalenergyPackagesUpgradeLogwatcherResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/podlogger/__init__.py b/src/digital_energy_sdk/api/digitalenergy/podlogger/__init__.py new file mode 100644 index 0000000..a4e2f81 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/podlogger/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyPodloggerImpl + + +__all__ = ['DigitalenergyPodloggerImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/podlogger/_group.py b/src/digital_energy_sdk/api/digitalenergy/podlogger/_group.py new file mode 100644 index 0000000..3b3a2cd --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/podlogger/_group.py @@ -0,0 +1,40 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .add_log_parameter import DigitalenergyPodloggerAddLogParameterImpl +from .delete_log_parameter import DigitalenergyPodloggerDeleteLogParameterImpl +from .describe import DigitalenergyPodloggerDescribeImpl +from .install import DigitalenergyPodloggerInstallImpl +from .list_log_parameters import DigitalenergyPodloggerListLogParametersImpl +from .list_pods import DigitalenergyPodloggerListPodsImpl +from .uninstall import DigitalenergyPodloggerUninstallImpl + + +class DigitalenergyPodloggerImpl(APIOperationGroupImpl): + @cached_property + def add_log_parameter(self) -> DigitalenergyPodloggerAddLogParameterImpl: + return DigitalenergyPodloggerAddLogParameterImpl(config=self._config) + + @cached_property + def delete_log_parameter(self) -> DigitalenergyPodloggerDeleteLogParameterImpl: + return DigitalenergyPodloggerDeleteLogParameterImpl(config=self._config) + + @cached_property + def describe(self) -> DigitalenergyPodloggerDescribeImpl: + return DigitalenergyPodloggerDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyPodloggerInstallImpl: + return DigitalenergyPodloggerInstallImpl(config=self._config) + + @cached_property + def list_log_parameters(self) -> DigitalenergyPodloggerListLogParametersImpl: + return DigitalenergyPodloggerListLogParametersImpl(config=self._config) + + @cached_property + def list_pods(self) -> DigitalenergyPodloggerListPodsImpl: + return DigitalenergyPodloggerListPodsImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyPodloggerUninstallImpl: + return DigitalenergyPodloggerUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/podlogger/add_log_parameter.py b/src/digital_energy_sdk/api/digitalenergy/podlogger/add_log_parameter.py new file mode 100644 index 0000000..5a68417 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/podlogger/add_log_parameter.py @@ -0,0 +1,36 @@ +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 results as _results + + +class DigitalenergyPodloggerAddLogParameterResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyPodloggerAddLogParameterImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/podlogger/addLogParameter' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'pod_name': 'podName', + } + + def __call__( + self, + *, + cluster_id: int, + namespace: str, + pod_name: str, + ) -> DigitalenergyPodloggerAddLogParameterResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/podlogger/delete_log_parameter.py b/src/digital_energy_sdk/api/digitalenergy/podlogger/delete_log_parameter.py new file mode 100644 index 0000000..404a661 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/podlogger/delete_log_parameter.py @@ -0,0 +1,36 @@ +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 results as _results + + +class DigitalenergyPodloggerDeleteLogParameterResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyPodloggerDeleteLogParameterImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/podlogger/deleteLogParameter' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'pod_name': 'podName', + } + + def __call__( + self, + *, + cluster_id: int, + namespace: str, + pod_name: str, + ) -> DigitalenergyPodloggerDeleteLogParameterResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/podlogger/describe.py b/src/digital_energy_sdk/api/digitalenergy/podlogger/describe.py new file mode 100644 index 0000000..800a68e --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/podlogger/describe.py @@ -0,0 +1,56 @@ +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 results as _results + + +class Registry(_ResultModel): + cluster_id: int | None = Field(validation_alias='clusterId', default=None) + hostname: str | None = Field(validation_alias='hostname', 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) + port: int | None = Field(validation_alias='port', default=None) + product_name: str | None = Field(validation_alias='productName', default=None) + product_version: str | None = Field(validation_alias='productVersion', default=None) + task_ids: list[int] | None = Field(validation_alias='taskIds', default=None) + username: str | None = Field(validation_alias='username', default=None) + + +class Result(_ResultModel): + 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 DigitalenergyPodloggerDescribeResult(_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 DigitalenergyPodloggerDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/podlogger/describe' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'check_installation': 'checkInstallation', + } + + def __call__( + self, + *, + cluster_id: int, + check_installation: bool | None = None, + ) -> DigitalenergyPodloggerDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/podlogger/install.py b/src/digital_energy_sdk/api/digitalenergy/podlogger/install.py new file mode 100644 index 0000000..1392184 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/podlogger/install.py @@ -0,0 +1,54 @@ +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 results as _results + + +class LogLevel(Enum): + SYSTEM = 'system' + DEBUG = 'debug' + INFO = 'info' + WARNING = 'warning' + ERROR = 'error' + EMPTY_STR = '' + + +class Result(_ResultModel): + task_id: int | None = Field(validation_alias='taskId', default=None) + + +class DigitalenergyPodloggerInstallResult(_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 DigitalenergyPodloggerInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/podlogger/install' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'apps_repository_id': 'appsRepositoryId', + 'charts_repository_id': 'chartsRepositoryId', + 'download_chart_anyway': 'downloadChartAnyway', + 'log_level': 'logLevel', + } + + def __call__( + self, + *, + cluster_id: int, + apps_repository_id: int | None = None, + charts_repository_id: int | None = None, + download_chart_anyway: bool | None = None, + log_level: LogLevel | None = None, + ) -> DigitalenergyPodloggerInstallResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/podlogger/list_log_parameters.py b/src/digital_energy_sdk/api/digitalenergy/podlogger/list_log_parameters.py new file mode 100644 index 0000000..b21425f --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/podlogger/list_log_parameters.py @@ -0,0 +1,42 @@ +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 results as _results + + +class ParametersItem(_ResultModel): + namespace: str | None = Field(validation_alias='namespace', default=None) + pod_name_pattern: str | None = Field(validation_alias='podNamePattern', default=None) + + +class Result(_ResultModel): + parameters: list[ParametersItem] | None = Field(validation_alias='parameters', default=None) + + +class DigitalenergyPodloggerListLogParametersResult(_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 DigitalenergyPodloggerListLogParametersImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/podlogger/listLogParameters' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + ) -> DigitalenergyPodloggerListLogParametersResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/podlogger/list_pods.py b/src/digital_energy_sdk/api/digitalenergy/podlogger/list_pods.py new file mode 100644 index 0000000..cdb535a --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/podlogger/list_pods.py @@ -0,0 +1,50 @@ +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 results as _results + + +class PodsItem(_ResultModel): + is_logged: bool | None = Field(validation_alias='isLogged', default=None) + lrecords_end_timestamp: int | None = Field(validation_alias='lrecordsEndTimestamp', default=None) + lrecords_start_timestamp: int | None = Field(validation_alias='lrecordsStartTimestamp', default=None) + lrecords_total: int | None = Field(validation_alias='lrecordsTotal', default=None) + name: str | None = Field(validation_alias='name', default=None) + namespace: str | None = Field(validation_alias='namespace', default=None) + status: str | None = Field(validation_alias='status', default=None) + + +class Result(_ResultModel): + pods: list[PodsItem] | None = Field(validation_alias='pods', default=None) + total: int | None = Field(validation_alias='total', default=None) + + +class DigitalenergyPodloggerListPodsResult(_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 DigitalenergyPodloggerListPodsImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/podlogger/listPods' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + limit: int | None = None, + page: int | None = None, + ) -> DigitalenergyPodloggerListPodsResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/podlogger/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/podlogger/uninstall.py new file mode 100644 index 0000000..2bea283 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/podlogger/uninstall.py @@ -0,0 +1,41 @@ +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 results as _results + + +class Result(_ResultModel): + task_id: int | None = Field(validation_alias='taskId', default=None) + + +class DigitalenergyPodloggerUninstallResult(_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 DigitalenergyPodloggerUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/podlogger/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, + ) -> DigitalenergyPodloggerUninstallResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/policy_report/__init__.py b/src/digital_energy_sdk/api/digitalenergy/policy_report/__init__.py new file mode 100644 index 0000000..24dac93 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/policy_report/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyPolicyReportImpl + + +__all__ = ['DigitalenergyPolicyReportImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/policy_report/_group.py b/src/digital_energy_sdk/api/digitalenergy/policy_report/_group.py new file mode 100644 index 0000000..2b613ee --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/policy_report/_group.py @@ -0,0 +1,25 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .delete import DigitalenergyPolicyReportDeleteImpl +from .get import DigitalenergyPolicyReportGetImpl +from .list import DigitalenergyPolicyReportListImpl +from .results import DigitalenergyPolicyReportResultsImpl + + +class DigitalenergyPolicyReportImpl(APIOperationGroupImpl): + @cached_property + def delete(self) -> DigitalenergyPolicyReportDeleteImpl: + return DigitalenergyPolicyReportDeleteImpl(config=self._config) + + @cached_property + def get(self) -> DigitalenergyPolicyReportGetImpl: + return DigitalenergyPolicyReportGetImpl(config=self._config) + + @cached_property + def list(self) -> DigitalenergyPolicyReportListImpl: + return DigitalenergyPolicyReportListImpl(config=self._config) + + @cached_property + def results(self) -> DigitalenergyPolicyReportResultsImpl: + return DigitalenergyPolicyReportResultsImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/policy_report/delete.py b/src/digital_energy_sdk/api/digitalenergy/policy_report/delete.py new file mode 100644 index 0000000..f960ba7 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/policy_report/delete.py @@ -0,0 +1,38 @@ +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 results as _results + + +class DigitalenergyPolicyReportDeleteResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyPolicyReportDeleteImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/policyReport/delete' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'delete_all': 'deleteAll', + 'delete_old': 'deleteOld', + } + + def __call__( + self, + *, + ids: list[int] | None = None, + cluster_id: int | None = None, + delete_all: bool | None = None, + delete_old: bool | None = None, + ) -> DigitalenergyPolicyReportDeleteResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/policy_report/get.py b/src/digital_energy_sdk/api/digitalenergy/policy_report/get.py new file mode 100644 index 0000000..dd30754 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/policy_report/get.py @@ -0,0 +1,53 @@ +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 results as _results + + +class Record(_ResultModel): + cluster_id: int | None = Field(validation_alias='clusterId', default=None) + creation_date: str | None = Field(validation_alias='creationDate', default=None) + encoding_type: str | None = Field(validation_alias='encodingType', default=None) + host_user: str | None = Field(validation_alias='hostUser', 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) + payload: str | None = Field(validation_alias='payload', default=None) + results_ids: list[int] | None = Field(validation_alias='resultsIDs', default=None) + scope: _results.DelogicComtypePrtypeResource | None = Field(validation_alias='scope', default=None) + source: str | None = Field(validation_alias='source', default=None) + summary: _results.DelogicComtypePrtypeSummary | None = Field(validation_alias='summary', default=None) + type: str | None = Field(validation_alias='type', default=None) + updated_date: str | None = Field(validation_alias='updatedDate', default=None) + + +class Result(_ResultModel): + record: Record | None = Field(validation_alias='record', default=None) + + +class DigitalenergyPolicyReportGetResult(_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 DigitalenergyPolicyReportGetImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/policyReport/get' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyPolicyReportGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/policy_report/list.py b/src/digital_energy_sdk/api/digitalenergy/policy_report/list.py new file mode 100644 index 0000000..3d8b078 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/policy_report/list.py @@ -0,0 +1,67 @@ +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 results as _results + + +class RecordsItem(_ResultModel): + actual: bool | None = Field(validation_alias='actual', default=None) + cluster_id: int | None = Field(validation_alias='clusterId', default=None) + creation_date: str | None = Field(validation_alias='creationDate', default=None) + encoding_type: str | None = Field(validation_alias='encodingType', default=None) + host_user: str | None = Field(validation_alias='hostUser', 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) + payload: str | None = Field(validation_alias='payload', default=None) + results_ids: list[int] | None = Field(validation_alias='resultsIDs', default=None) + scope: _results.DelogicComtypePrtypeResource | None = Field(validation_alias='scope', default=None) + source: str | None = Field(validation_alias='source', default=None) + summary: _results.DelogicComtypePrtypeSummary | None = Field(validation_alias='summary', default=None) + type: str | None = Field(validation_alias='type', default=None) + updated_date: str | None = Field(validation_alias='updatedDate', default=None) + + +class Result(_ResultModel): + records: list[RecordsItem] | None = Field(validation_alias='records', default=None) + total: int | None = Field(validation_alias='total', default=None) + + +class DigitalenergyPolicyReportListResult(_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 DigitalenergyPolicyReportListImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/policyReport/list' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'resource_name': 'resourceName', + 'last_updated': 'lastUpdated', + 'sort_by': 'sortBy', + } + + def __call__( + self, + *, + cluster_id: int, + type: str | None = None, + kind: str | None = None, + namespace: str | None = None, + resource_name: str | None = None, + last_updated: bool | None = None, + sort_by: str | None = None, + limit: int | None = None, + page: int | None = None, + ) -> DigitalenergyPolicyReportListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/policy_report/results/__init__.py b/src/digital_energy_sdk/api/digitalenergy/policy_report/results/__init__.py new file mode 100644 index 0000000..07c5c2a --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/policy_report/results/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyPolicyReportResultsImpl + + +__all__ = ['DigitalenergyPolicyReportResultsImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/policy_report/results/_group.py b/src/digital_energy_sdk/api/digitalenergy/policy_report/results/_group.py new file mode 100644 index 0000000..b4c00b8 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/policy_report/results/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .get import DigitalenergyPolicyReportResultsGetImpl +from .list import DigitalenergyPolicyReportResultsListImpl +from .status_count import DigitalenergyPolicyReportResultsStatusCountImpl + + +class DigitalenergyPolicyReportResultsImpl(APIOperationGroupImpl): + @cached_property + def get(self) -> DigitalenergyPolicyReportResultsGetImpl: + return DigitalenergyPolicyReportResultsGetImpl(config=self._config) + + @cached_property + def list(self) -> DigitalenergyPolicyReportResultsListImpl: + return DigitalenergyPolicyReportResultsListImpl(config=self._config) + + @cached_property + def status_count(self) -> DigitalenergyPolicyReportResultsStatusCountImpl: + return DigitalenergyPolicyReportResultsStatusCountImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/policy_report/results/get.py b/src/digital_energy_sdk/api/digitalenergy/policy_report/results/get.py new file mode 100644 index 0000000..06acdec --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/policy_report/results/get.py @@ -0,0 +1,56 @@ +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 results as _results + + +class Record(_ResultModel): + category: str | None = Field(validation_alias='category', default=None) + cluster_id: int | None = Field(validation_alias='clusterId', default=None) + creation_date: str | None = Field(validation_alias='creationDate', default=None) + id: int | None = Field(validation_alias='id', default=None) + message: str | None = Field(validation_alias='message', default=None) + owner_id: int | None = Field(validation_alias='ownerId', default=None) + policy: str | None = Field(validation_alias='policy', default=None) + policy_report_id: int | None = Field(validation_alias='policyReportId', default=None) + properties: dict[Any, Any] | None = Field(validation_alias='properties', default=None) + resource: _results.DelogicComtypePrtypeResource | None = Field(validation_alias='resource', default=None) + result: str | None = Field(validation_alias='result', default=None) + rule: str | None = Field(validation_alias='rule', default=None) + scored: bool | None = Field(validation_alias='scored', default=None) + severity: str | None = Field(validation_alias='severity', default=None) + source: str | None = Field(validation_alias='source', default=None) + + +class Result(_ResultModel): + record: Record | None = Field(validation_alias='record', default=None) + + +class DigitalenergyPolicyReportResultsGetResult(_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 DigitalenergyPolicyReportResultsGetImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/policyReport/results/get' + http_method = HTTPMethod.POST + param_aliases = { + 'report_id': 'reportID', + } + + def __call__( + self, + *, + report_id: int, + id: int, + ) -> DigitalenergyPolicyReportResultsGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/policy_report/results/list.py b/src/digital_energy_sdk/api/digitalenergy/policy_report/results/list.py new file mode 100644 index 0000000..2045756 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/policy_report/results/list.py @@ -0,0 +1,76 @@ +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 results as _results + + +class RecordsItem(_ResultModel): + actual: bool | None = Field(validation_alias='actual', default=None) + category: str | None = Field(validation_alias='category', default=None) + cluster_id: int | None = Field(validation_alias='clusterId', default=None) + creation_date: str | None = Field(validation_alias='creationDate', default=None) + id: int | None = Field(validation_alias='id', default=None) + message: str | None = Field(validation_alias='message', default=None) + owner_id: int | None = Field(validation_alias='ownerId', default=None) + policy: str | None = Field(validation_alias='policy', default=None) + policy_report_id: int | None = Field(validation_alias='policyReportId', default=None) + properties: dict[Any, Any] | None = Field(validation_alias='properties', default=None) + resource: _results.DelogicComtypePrtypeResource | None = Field(validation_alias='resource', default=None) + result: str | None = Field(validation_alias='result', default=None) + rule: str | None = Field(validation_alias='rule', default=None) + scored: bool | None = Field(validation_alias='scored', default=None) + severity: str | None = Field(validation_alias='severity', default=None) + source: str | None = Field(validation_alias='source', default=None) + + +class Result(_ResultModel): + records: list[RecordsItem] | None = Field(validation_alias='records', default=None) + total: int | None = Field(validation_alias='total', default=None) + + +class DigitalenergyPolicyReportResultsListResult(_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 DigitalenergyPolicyReportResultsListImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/policyReport/results/list' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'report_id': 'reportId', + 'last_created': 'lastCreated', + 'resource_name': 'resourceName', + 'policy_name': 'policyName', + 'policy_rule_name': 'policyRuleName', + 'sort_by': 'sortBy', + } + + def __call__( + self, + *, + cluster_id: int, + report_id: int | None = None, + last_created: bool | None = None, + kind: str | None = None, + namespace: str | None = None, + resource_name: str | None = None, + policy_name: str | None = None, + policy_rule_name: str | None = None, + message: str | None = None, + severity: str | None = None, + category: str | None = None, + sort_by: str | None = None, + limit: int | None = None, + page: int | None = None, + ) -> DigitalenergyPolicyReportResultsListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/policy_report/results/status_count.py b/src/digital_energy_sdk/api/digitalenergy/policy_report/results/status_count.py new file mode 100644 index 0000000..a334411 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/policy_report/results/status_count.py @@ -0,0 +1,42 @@ +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 results as _results + + +class RecordsItem(_ResultModel): + namespace: str | None = Field(validation_alias='namespace', default=None) + summary: _results.DelogicComtypePrtypeSummary | None = Field(validation_alias='summary', default=None) + + +class Result(_ResultModel): + records: list[RecordsItem] | None = Field(validation_alias='records', default=None) + + +class DigitalenergyPolicyReportResultsStatusCountResult(_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 DigitalenergyPolicyReportResultsStatusCountImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/policyReport/results/statusCount' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + ) -> DigitalenergyPolicyReportResultsStatusCountResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/postgresql_ha/__init__.py b/src/digital_energy_sdk/api/digitalenergy/postgresql_ha/__init__.py new file mode 100644 index 0000000..1888116 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/postgresql_ha/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyPostgresqlHaImpl + + +__all__ = ['DigitalenergyPostgresqlHaImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/postgresql_ha/_group.py b/src/digital_energy_sdk/api/digitalenergy/postgresql_ha/_group.py new file mode 100644 index 0000000..f093ce2 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/postgresql_ha/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyPostgresqlHaDescribeImpl +from .install import DigitalenergyPostgresqlHaInstallImpl +from .uninstall import DigitalenergyPostgresqlHaUninstallImpl + + +class DigitalenergyPostgresqlHaImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyPostgresqlHaDescribeImpl: + return DigitalenergyPostgresqlHaDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyPostgresqlHaInstallImpl: + return DigitalenergyPostgresqlHaInstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyPostgresqlHaUninstallImpl: + return DigitalenergyPostgresqlHaUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/postgresql_ha/describe.py b/src/digital_energy_sdk/api/digitalenergy/postgresql_ha/describe.py new file mode 100644 index 0000000..0406407 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/postgresql_ha/describe.py @@ -0,0 +1,61 @@ +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 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_class: str | None = Field(validation_alias='storageClass', 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 DigitalenergyPostgresqlHaDescribeResult(_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 DigitalenergyPostgresqlHaDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/postgresql-ha/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, + ) -> DigitalenergyPostgresqlHaDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/postgresql_ha/install.py b/src/digital_energy_sdk/api/digitalenergy/postgresql_ha/install.py new file mode 100644 index 0000000..428a2e0 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/postgresql_ha/install.py @@ -0,0 +1,39 @@ +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 results as _results + + +class DigitalenergyPostgresqlHaInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/postgresql-ha/install' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'integagent_hostname': 'integagentHostname', + '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, + apps_repository_id: int | None = None, + charts_repository_id: int | None = None, + worker_group_name: str | None = None, + download_chart_anyway: bool | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/postgresql_ha/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/postgresql_ha/uninstall.py new file mode 100644 index 0000000..74f451a --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/postgresql_ha/uninstall.py @@ -0,0 +1,30 @@ +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 results as _results + + +class DigitalenergyPostgresqlHaUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/postgresql-ha/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 \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/products/__init__.py b/src/digital_energy_sdk/api/digitalenergy/products/__init__.py new file mode 100644 index 0000000..3745f27 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/products/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyProductsImpl + + +__all__ = ['DigitalenergyProductsImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/products/_group.py b/src/digital_energy_sdk/api/digitalenergy/products/_group.py new file mode 100644 index 0000000..0fff80c --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/products/_group.py @@ -0,0 +1,15 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe_all import DigitalenergyProductsDescribeAllImpl +from .describe_all_short import DigitalenergyProductsDescribeAllShortImpl + + +class DigitalenergyProductsImpl(APIOperationGroupImpl): + @cached_property + def describe_all(self) -> DigitalenergyProductsDescribeAllImpl: + return DigitalenergyProductsDescribeAllImpl(config=self._config) + + @cached_property + def describe_all_short(self) -> DigitalenergyProductsDescribeAllShortImpl: + return DigitalenergyProductsDescribeAllShortImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/products/describe_all.py b/src/digital_energy_sdk/api/digitalenergy/products/describe_all.py new file mode 100644 index 0000000..81d4d31 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/products/describe_all.py @@ -0,0 +1,55 @@ +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 results as _results + + +class Registry(_ResultModel): + id: int | None = Field(validation_alias='id', default=None) + name: str | None = Field(validation_alias='name', default=None) + product_name: str | None = Field(validation_alias='productName', default=None) + product_version: str | None = Field(validation_alias='productVersion', default=None) + + +class RecordsItem(_ResultModel): + description: _results.ComtypeAudescrProductDescr | None = Field(validation_alias='description', default=None) + installed: bool | None = Field(validation_alias='installed', default=None) + name: str | None = Field(validation_alias='name', default=None) + registered: bool | None = Field(validation_alias='registered', default=None) + registry: Registry | None = Field(validation_alias='registry', default=None) + + +class Result(_ResultModel): + all_depends: list[str] | None = Field(validation_alias='allDepends', default=None) + records: list[RecordsItem] | None = Field(validation_alias='records', default=None) + + +class DigitalenergyProductsDescribeAllResult(_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 DigitalenergyProductsDescribeAllImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/products/describeAll' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'check_installation': 'checkInstallation', + } + + def __call__( + self, + *, + cluster_id: int, + check_installation: bool | None = None, + ) -> DigitalenergyProductsDescribeAllResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/products/describe_all_short.py b/src/digital_energy_sdk/api/digitalenergy/products/describe_all_short.py new file mode 100644 index 0000000..a211f02 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/products/describe_all_short.py @@ -0,0 +1,46 @@ +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 results as _results + + +class RecordsItem(_ResultModel): + id: int | None = Field(validation_alias='id', default=None) + name: str | None = Field(validation_alias='name', default=None) + product_name: str | None = Field(validation_alias='productName', default=None) + product_version: str | None = Field(validation_alias='productVersion', default=None) + + +class Result(_ResultModel): + records: list[RecordsItem] | None = Field(validation_alias='records', default=None) + + +class DigitalenergyProductsDescribeAllShortResult(_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 DigitalenergyProductsDescribeAllShortImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/products/describeAllShort' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'check_installation': 'checkInstallation', + } + + def __call__( + self, + *, + cluster_id: int, + check_installation: bool | None = None, + ) -> DigitalenergyProductsDescribeAllShortResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/prometheus/__init__.py b/src/digital_energy_sdk/api/digitalenergy/prometheus/__init__.py new file mode 100644 index 0000000..6650f16 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/prometheus/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyPrometheusImpl + + +__all__ = ['DigitalenergyPrometheusImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/prometheus/_group.py b/src/digital_energy_sdk/api/digitalenergy/prometheus/_group.py new file mode 100644 index 0000000..319c33d --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/prometheus/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyPrometheusDescribeImpl +from .install import DigitalenergyPrometheusInstallImpl +from .uninstall import DigitalenergyPrometheusUninstallImpl + + +class DigitalenergyPrometheusImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyPrometheusDescribeImpl: + return DigitalenergyPrometheusDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyPrometheusInstallImpl: + return DigitalenergyPrometheusInstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyPrometheusUninstallImpl: + return DigitalenergyPrometheusUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/prometheus/describe.py b/src/digital_energy_sdk/api/digitalenergy/prometheus/describe.py new file mode 100644 index 0000000..2842b92 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/prometheus/describe.py @@ -0,0 +1,63 @@ +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 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) + root_token: str | None = Field(validation_alias='rootToken', default=None) + storage_type: str | None = Field(validation_alias='storageType', default=None) + task_ids: list[int] | None = Field(validation_alias='taskIds', default=None) + unseal_keys: list[str] | None = Field(validation_alias='unsealKeys', 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 DigitalenergyPrometheusDescribeResult(_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 DigitalenergyPrometheusDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/prometheus/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, + ) -> DigitalenergyPrometheusDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/prometheus/install.py b/src/digital_energy_sdk/api/digitalenergy/prometheus/install.py new file mode 100644 index 0000000..d47a9b0 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/prometheus/install.py @@ -0,0 +1,47 @@ +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 results as _results + + +class StorageClass(Enum): + LONGHORN = 'longhorn' + GLUSTERFS = 'glusterfs' + EMPTY_STR = '' + + +class DigitalenergyPrometheusInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/prometheus/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, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/prometheus/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/prometheus/uninstall.py new file mode 100644 index 0000000..64a386e --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/prometheus/uninstall.py @@ -0,0 +1,30 @@ +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 results as _results + + +class DigitalenergyPrometheusUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/prometheus/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 \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/property/__init__.py b/src/digital_energy_sdk/api/digitalenergy/property/__init__.py new file mode 100644 index 0000000..46c9df2 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/property/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyPropertyImpl + + +__all__ = ['DigitalenergyPropertyImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/property/_group.py b/src/digital_energy_sdk/api/digitalenergy/property/_group.py new file mode 100644 index 0000000..497dcac --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/property/_group.py @@ -0,0 +1,10 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .get import DigitalenergyPropertyGetImpl + + +class DigitalenergyPropertyImpl(APIOperationGroupImpl): + @cached_property + def get(self) -> DigitalenergyPropertyGetImpl: + return DigitalenergyPropertyGetImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/property/get.py b/src/digital_energy_sdk/api/digitalenergy/property/get.py new file mode 100644 index 0000000..06caea2 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/property/get.py @@ -0,0 +1,58 @@ +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 results as _results + + +class DynamixAuthTypeItem(_ResultModel): + id: str | None = Field(validation_alias='id', default=None) + name: str | None = Field(validation_alias='name', default=None) + + +class EnableProvideOIDCItem(_ResultModel): + enabled: bool | None = Field(validation_alias='enabled', default=None) + name: str | None = Field(validation_alias='name', default=None) + + +class NodeLimits(_ResultModel): + load_balancer: _results.DelogicComtypeIotypeNodeLimit | None = Field(validation_alias='loadBalancer', default=None) + master: _results.DelogicComtypeIotypeNodeLimit | None = Field(validation_alias='master', default=None) + worker: _results.DelogicComtypeIotypeNodeLimit | None = Field(validation_alias='worker', default=None) + + +class Result(_ResultModel): + account_type_option: list[str] | None = Field(validation_alias='accountTypeOption', default=None) + baremetal: list[_results.DelogicComtypePrtypeOSType] | None = Field(validation_alias='baremetal', default=None) + denergy: list[_results.DelogicComtypePrtypeOSType] | None = Field(validation_alias='denergy', default=None) + denergy_runtime_type: list[str] | None = Field(validation_alias='denergyRuntimeType', default=None) + dynamix_auth_type: list[DynamixAuthTypeItem] | None = Field(validation_alias='dynamixAuthType', default=None) + enable_provide_dns: bool | None = Field(validation_alias='enableProvideDNS', default=None) + enable_provide_gpu: bool | None = Field(validation_alias='enableProvideGPU', default=None) + enable_provide_oidc: list[EnableProvideOIDCItem] | None = Field(validation_alias='enableProvideOIDC', default=None) + full_marketplace: bool | None = Field(validation_alias='fullMarketplace', default=None) + node_limits: NodeLimits | None = Field(validation_alias='nodeLimits', default=None) + + +class DigitalenergyPropertyGetResult(_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 DigitalenergyPropertyGetImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/property/get' + http_method = HTTPMethod.POST + param_aliases = {} + + def __call__( + self, + ) -> DigitalenergyPropertyGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/rbacmanager/__init__.py b/src/digital_energy_sdk/api/digitalenergy/rbacmanager/__init__.py new file mode 100644 index 0000000..538f2d0 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/rbacmanager/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyRbacmanagerImpl + + +__all__ = ['DigitalenergyRbacmanagerImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/rbacmanager/_group.py b/src/digital_energy_sdk/api/digitalenergy/rbacmanager/_group.py new file mode 100644 index 0000000..382f831 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/rbacmanager/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyRbacmanagerDescribeImpl +from .install import DigitalenergyRbacmanagerInstallImpl +from .uninstall import DigitalenergyRbacmanagerUninstallImpl + + +class DigitalenergyRbacmanagerImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyRbacmanagerDescribeImpl: + return DigitalenergyRbacmanagerDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyRbacmanagerInstallImpl: + return DigitalenergyRbacmanagerInstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyRbacmanagerUninstallImpl: + return DigitalenergyRbacmanagerUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/rbacmanager/describe.py b/src/digital_energy_sdk/api/digitalenergy/rbacmanager/describe.py new file mode 100644 index 0000000..8627717 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/rbacmanager/describe.py @@ -0,0 +1,53 @@ +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 results as _results + + +class Registry(_ResultModel): + cluster_id: int | None = Field(validation_alias='clusterId', 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) + product_name: str | None = Field(validation_alias='productName', default=None) + product_version: str | None = Field(validation_alias='productVersion', default=None) + task_ids: list[int] | None = Field(validation_alias='taskIds', default=None) + worker_group_name: str | None = Field(validation_alias='workerGroupName', default=None) + + +class Result(_ResultModel): + 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 DigitalenergyRbacmanagerDescribeResult(_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 DigitalenergyRbacmanagerDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/rbacmanager/describe' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'check_installation': 'checkInstallation', + } + + def __call__( + self, + *, + cluster_id: int, + check_installation: bool | None = None, + ) -> DigitalenergyRbacmanagerDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/rbacmanager/install.py b/src/digital_energy_sdk/api/digitalenergy/rbacmanager/install.py new file mode 100644 index 0000000..ac77559 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/rbacmanager/install.py @@ -0,0 +1,43 @@ +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 results as _results + + +class Result(_ResultModel): + task_id: int | None = Field(validation_alias='taskId', default=None) + + +class DigitalenergyRbacmanagerInstallResult(_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 DigitalenergyRbacmanagerInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/rbacmanager/install' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'apps_repository_id': 'appsRepositoryId', + 'charts_repository_id': 'chartsRepositoryId', + 'download_chart_anyway': 'downloadChartAnyway', + } + + def __call__( + self, + *, + cluster_id: int, + apps_repository_id: int | None = None, + charts_repository_id: int | None = None, + download_chart_anyway: bool | None = None, + ) -> DigitalenergyRbacmanagerInstallResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/rbacmanager/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/rbacmanager/uninstall.py new file mode 100644 index 0000000..f4df0bf --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/rbacmanager/uninstall.py @@ -0,0 +1,41 @@ +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 results as _results + + +class Result(_ResultModel): + task_id: int | None = Field(validation_alias='taskId', default=None) + + +class DigitalenergyRbacmanagerUninstallResult(_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 DigitalenergyRbacmanagerUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/rbacmanager/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, + ) -> DigitalenergyRbacmanagerUninstallResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/redis_cluster/__init__.py b/src/digital_energy_sdk/api/digitalenergy/redis_cluster/__init__.py new file mode 100644 index 0000000..1e963c0 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/redis_cluster/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyRedisClusterImpl + + +__all__ = ['DigitalenergyRedisClusterImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/redis_cluster/_group.py b/src/digital_energy_sdk/api/digitalenergy/redis_cluster/_group.py new file mode 100644 index 0000000..40382f8 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/redis_cluster/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyRedisClusterDescribeImpl +from .install import DigitalenergyRedisClusterInstallImpl +from .uninstall import DigitalenergyRedisClusterUninstallImpl + + +class DigitalenergyRedisClusterImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyRedisClusterDescribeImpl: + return DigitalenergyRedisClusterDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyRedisClusterInstallImpl: + return DigitalenergyRedisClusterInstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyRedisClusterUninstallImpl: + return DigitalenergyRedisClusterUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/redis_cluster/describe.py b/src/digital_energy_sdk/api/digitalenergy/redis_cluster/describe.py new file mode 100644 index 0000000..30a2a2a --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/redis_cluster/describe.py @@ -0,0 +1,60 @@ +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 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_class: str | None = Field(validation_alias='storageClass', default=None) + task_ids: list[int] | None = Field(validation_alias='taskIds', 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 DigitalenergyRedisClusterDescribeResult(_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 DigitalenergyRedisClusterDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/redis-cluster/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, + ) -> DigitalenergyRedisClusterDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/redis_cluster/install.py b/src/digital_energy_sdk/api/digitalenergy/redis_cluster/install.py new file mode 100644 index 0000000..f90d1b0 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/redis_cluster/install.py @@ -0,0 +1,46 @@ +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 results as _results + + +class StorageClass(Enum): + LONGHORN = 'longhorn' + GLUSTERFS = 'glusterfs' + EMPTY_STR = '' + + +class DigitalenergyRedisClusterInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/redis-cluster/install' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'storage_class': 'storageClass', + 'integagent_hostname': 'integagentHostname', + 'apps_repository_id': 'appsRepositoryId', + 'charts_repository_id': 'chartsRepositoryId', + 'worker_group_name': 'workerGroupName', + 'download_chart_anyway': 'downloadChartAnyway', + } + + def __call__( + self, + *, + cluster_id: int, + password: str, + storage_class: StorageClass | None = None, + hostname: str, + integagent_hostname: str | 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, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/redis_cluster/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/redis_cluster/uninstall.py new file mode 100644 index 0000000..9c92bd5 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/redis_cluster/uninstall.py @@ -0,0 +1,30 @@ +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 results as _results + + +class DigitalenergyRedisClusterUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/redis-cluster/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 \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/redmine/__init__.py b/src/digital_energy_sdk/api/digitalenergy/redmine/__init__.py new file mode 100644 index 0000000..4a7026c --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/redmine/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyRedmineImpl + + +__all__ = ['DigitalenergyRedmineImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/redmine/_group.py b/src/digital_energy_sdk/api/digitalenergy/redmine/_group.py new file mode 100644 index 0000000..47a329f --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/redmine/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyRedmineDescribeImpl +from .install import DigitalenergyRedmineInstallImpl +from .uninstall import DigitalenergyRedmineUninstallImpl + + +class DigitalenergyRedmineImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyRedmineDescribeImpl: + return DigitalenergyRedmineDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyRedmineInstallImpl: + return DigitalenergyRedmineInstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyRedmineUninstallImpl: + return DigitalenergyRedmineUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/redmine/describe.py b/src/digital_energy_sdk/api/digitalenergy/redmine/describe.py new file mode 100644 index 0000000..6866cd9 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/redmine/describe.py @@ -0,0 +1,63 @@ +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 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) + psql_password: str | None = Field(validation_alias='psqlPassword', default=None) + psql_username: str | None = Field(validation_alias='psqlUsername', 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 DigitalenergyRedmineDescribeResult(_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 DigitalenergyRedmineDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/redmine/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, + ) -> DigitalenergyRedmineDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/redmine/install.py b/src/digital_energy_sdk/api/digitalenergy/redmine/install.py new file mode 100644 index 0000000..2737fb7 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/redmine/install.py @@ -0,0 +1,47 @@ +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 results as _results + + +class StorageClass(Enum): + LONGHORN = 'longhorn' + GLUSTERFS = 'glusterfs' + EMPTY_STR = '' + + +class DigitalenergyRedmineInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/redmine/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, + username: str, + password: str, + hostname: str, + integagent_hostname: str | None = None, + 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, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/redmine/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/redmine/uninstall.py new file mode 100644 index 0000000..76c904c --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/redmine/uninstall.py @@ -0,0 +1,30 @@ +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 results as _results + + +class DigitalenergyRedmineUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/redmine/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 \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_apps/__init__.py b/src/digital_energy_sdk/api/digitalenergy/repository_apps/__init__.py new file mode 100644 index 0000000..d3f8dcb --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_apps/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyRepositoryAppsImpl + + +__all__ = ['DigitalenergyRepositoryAppsImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_apps/_group.py b/src/digital_energy_sdk/api/digitalenergy/repository_apps/_group.py new file mode 100644 index 0000000..7a76081 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_apps/_group.py @@ -0,0 +1,35 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .create import DigitalenergyRepositoryAppsCreateImpl +from .delete import DigitalenergyRepositoryAppsDeleteImpl +from .get import DigitalenergyRepositoryAppsGetImpl +from .get_default import DigitalenergyRepositoryAppsGetDefaultImpl +from .list import DigitalenergyRepositoryAppsListImpl +from .update import DigitalenergyRepositoryAppsUpdateImpl + + +class DigitalenergyRepositoryAppsImpl(APIOperationGroupImpl): + @cached_property + def create(self) -> DigitalenergyRepositoryAppsCreateImpl: + return DigitalenergyRepositoryAppsCreateImpl(config=self._config) + + @cached_property + def delete(self) -> DigitalenergyRepositoryAppsDeleteImpl: + return DigitalenergyRepositoryAppsDeleteImpl(config=self._config) + + @cached_property + def get(self) -> DigitalenergyRepositoryAppsGetImpl: + return DigitalenergyRepositoryAppsGetImpl(config=self._config) + + @cached_property + def get_default(self) -> DigitalenergyRepositoryAppsGetDefaultImpl: + return DigitalenergyRepositoryAppsGetDefaultImpl(config=self._config) + + @cached_property + def list(self) -> DigitalenergyRepositoryAppsListImpl: + return DigitalenergyRepositoryAppsListImpl(config=self._config) + + @cached_property + def update(self) -> DigitalenergyRepositoryAppsUpdateImpl: + return DigitalenergyRepositoryAppsUpdateImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_apps/create.py b/src/digital_energy_sdk/api/digitalenergy/repository_apps/create.py new file mode 100644 index 0000000..ecded02 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_apps/create.py @@ -0,0 +1,42 @@ +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 results as _results + + +class Result(_ResultModel): + id: int | None = Field(validation_alias='id', default=None) + + +class DigitalenergyRepositoryAppsCreateResult(_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 DigitalenergyRepositoryAppsCreateImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/repositoryApps/create' + http_method = HTTPMethod.POST + param_aliases = { + 'registry_str': 'registryStr', + 'repository_str': 'repositoryStr', + 'default_repository': 'defaultRepository', + } + + def __call__( + self, + *, + description: str, + registry_str: str, + repository_str: str, + default_repository: bool | None = None, + ) -> DigitalenergyRepositoryAppsCreateResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_apps/delete.py b/src/digital_energy_sdk/api/digitalenergy/repository_apps/delete.py new file mode 100644 index 0000000..33e674e --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_apps/delete.py @@ -0,0 +1,32 @@ +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 results as _results + + +class DigitalenergyRepositoryAppsDeleteResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyRepositoryAppsDeleteImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/repositoryApps/delete' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyRepositoryAppsDeleteResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_apps/get.py b/src/digital_energy_sdk/api/digitalenergy/repository_apps/get.py new file mode 100644 index 0000000..d320499 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_apps/get.py @@ -0,0 +1,36 @@ +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 results as _results + + +class Result(_ResultModel): + record: _results.PrtypeAppsRepository | None = Field(validation_alias='record', default=None) + + +class DigitalenergyRepositoryAppsGetResult(_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 DigitalenergyRepositoryAppsGetImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/repositoryApps/get' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyRepositoryAppsGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_apps/get_default.py b/src/digital_energy_sdk/api/digitalenergy/repository_apps/get_default.py new file mode 100644 index 0000000..d7547e9 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_apps/get_default.py @@ -0,0 +1,33 @@ +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 results as _results + + +class Result(_ResultModel): + record: _results.PrtypeAppsRepository | None = Field(validation_alias='record', default=None) + + +class DigitalenergyRepositoryAppsGetDefaultResult(_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 DigitalenergyRepositoryAppsGetDefaultImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/repositoryApps/getDefault' + http_method = HTTPMethod.POST + param_aliases = {} + + def __call__( + self, + ) -> DigitalenergyRepositoryAppsGetDefaultResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_apps/list.py b/src/digital_energy_sdk/api/digitalenergy/repository_apps/list.py new file mode 100644 index 0000000..69487fc --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_apps/list.py @@ -0,0 +1,41 @@ +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 results as _results + + +class Result(_ResultModel): + records: list[_results.PrtypeAppsRepository] | None = Field(validation_alias='records', default=None) + + +class DigitalenergyRepositoryAppsListResult(_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 DigitalenergyRepositoryAppsListImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/repositoryApps/list' + http_method = HTTPMethod.POST + param_aliases = { + 'default_repository': 'defaultRepository', + 'sort_by': 'sortBy', + } + + def __call__( + self, + *, + default_repository: bool | None = None, + sort_by: str | None = None, + limit: int | None = None, + page: int | None = None, + ) -> DigitalenergyRepositoryAppsListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_apps/update.py b/src/digital_energy_sdk/api/digitalenergy/repository_apps/update.py new file mode 100644 index 0000000..d4ee674 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_apps/update.py @@ -0,0 +1,39 @@ +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 results as _results + + +class DigitalenergyRepositoryAppsUpdateResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyRepositoryAppsUpdateImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/repositoryApps/update' + http_method = HTTPMethod.POST + param_aliases = { + 'registry_str': 'registryStr', + 'repository_str': 'repositoryStr', + 'default_repository': 'defaultRepository', + } + + def __call__( + self, + *, + id: int, + description: str, + registry_str: str, + repository_str: str, + default_repository: bool | None = None, + ) -> DigitalenergyRepositoryAppsUpdateResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_charts/__init__.py b/src/digital_energy_sdk/api/digitalenergy/repository_charts/__init__.py new file mode 100644 index 0000000..88fa8a8 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_charts/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyRepositoryChartsImpl + + +__all__ = ['DigitalenergyRepositoryChartsImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_charts/_group.py b/src/digital_energy_sdk/api/digitalenergy/repository_charts/_group.py new file mode 100644 index 0000000..854662f --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_charts/_group.py @@ -0,0 +1,35 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .create import DigitalenergyRepositoryChartsCreateImpl +from .delete import DigitalenergyRepositoryChartsDeleteImpl +from .get import DigitalenergyRepositoryChartsGetImpl +from .get_default import DigitalenergyRepositoryChartsGetDefaultImpl +from .list import DigitalenergyRepositoryChartsListImpl +from .update import DigitalenergyRepositoryChartsUpdateImpl + + +class DigitalenergyRepositoryChartsImpl(APIOperationGroupImpl): + @cached_property + def create(self) -> DigitalenergyRepositoryChartsCreateImpl: + return DigitalenergyRepositoryChartsCreateImpl(config=self._config) + + @cached_property + def delete(self) -> DigitalenergyRepositoryChartsDeleteImpl: + return DigitalenergyRepositoryChartsDeleteImpl(config=self._config) + + @cached_property + def get(self) -> DigitalenergyRepositoryChartsGetImpl: + return DigitalenergyRepositoryChartsGetImpl(config=self._config) + + @cached_property + def get_default(self) -> DigitalenergyRepositoryChartsGetDefaultImpl: + return DigitalenergyRepositoryChartsGetDefaultImpl(config=self._config) + + @cached_property + def list(self) -> DigitalenergyRepositoryChartsListImpl: + return DigitalenergyRepositoryChartsListImpl(config=self._config) + + @cached_property + def update(self) -> DigitalenergyRepositoryChartsUpdateImpl: + return DigitalenergyRepositoryChartsUpdateImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_charts/create.py b/src/digital_energy_sdk/api/digitalenergy/repository_charts/create.py new file mode 100644 index 0000000..70f73a7 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_charts/create.py @@ -0,0 +1,40 @@ +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 results as _results + + +class Result(_ResultModel): + id: int | None = Field(validation_alias='id', default=None) + + +class DigitalenergyRepositoryChartsCreateResult(_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 DigitalenergyRepositoryChartsCreateImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/repositoryCharts/create' + http_method = HTTPMethod.POST + param_aliases = { + 'charts_repository_url': 'chartsRepositoryURL', + 'default_repository': 'defaultRepository', + } + + def __call__( + self, + *, + description: str, + charts_repository_url: str, + default_repository: bool | None = None, + ) -> DigitalenergyRepositoryChartsCreateResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_charts/delete.py b/src/digital_energy_sdk/api/digitalenergy/repository_charts/delete.py new file mode 100644 index 0000000..2b3734c --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_charts/delete.py @@ -0,0 +1,32 @@ +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 results as _results + + +class DigitalenergyRepositoryChartsDeleteResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyRepositoryChartsDeleteImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/repositoryCharts/delete' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyRepositoryChartsDeleteResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_charts/get.py b/src/digital_energy_sdk/api/digitalenergy/repository_charts/get.py new file mode 100644 index 0000000..dde159d --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_charts/get.py @@ -0,0 +1,36 @@ +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 results as _results + + +class Result(_ResultModel): + record: _results.PrtypeChartsRepository | None = Field(validation_alias='record', default=None) + + +class DigitalenergyRepositoryChartsGetResult(_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 DigitalenergyRepositoryChartsGetImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/repositoryCharts/get' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyRepositoryChartsGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_charts/get_default.py b/src/digital_energy_sdk/api/digitalenergy/repository_charts/get_default.py new file mode 100644 index 0000000..043a677 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_charts/get_default.py @@ -0,0 +1,33 @@ +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 results as _results + + +class Result(_ResultModel): + record: _results.PrtypeChartsRepository | None = Field(validation_alias='record', default=None) + + +class DigitalenergyRepositoryChartsGetDefaultResult(_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 DigitalenergyRepositoryChartsGetDefaultImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/repositoryCharts/getDefault' + http_method = HTTPMethod.POST + param_aliases = {} + + def __call__( + self, + ) -> DigitalenergyRepositoryChartsGetDefaultResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_charts/list.py b/src/digital_energy_sdk/api/digitalenergy/repository_charts/list.py new file mode 100644 index 0000000..ecdf1aa --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_charts/list.py @@ -0,0 +1,41 @@ +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 results as _results + + +class Result(_ResultModel): + records: list[_results.PrtypeChartsRepository] | None = Field(validation_alias='records', default=None) + + +class DigitalenergyRepositoryChartsListResult(_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 DigitalenergyRepositoryChartsListImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/repositoryCharts/list' + http_method = HTTPMethod.POST + param_aliases = { + 'default_repository': 'defaultRepository', + 'sort_by': 'sortBy', + } + + def __call__( + self, + *, + default_repository: bool | None = None, + sort_by: str | None = None, + limit: int | None = None, + page: int | None = None, + ) -> DigitalenergyRepositoryChartsListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_charts/update.py b/src/digital_energy_sdk/api/digitalenergy/repository_charts/update.py new file mode 100644 index 0000000..104a66b --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_charts/update.py @@ -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 results as _results + + +class DigitalenergyRepositoryChartsUpdateResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyRepositoryChartsUpdateImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/repositoryCharts/update' + http_method = HTTPMethod.POST + param_aliases = { + 'charts_repository_url': 'chartsRepositoryURL', + 'default_repository': 'defaultRepository', + } + + def __call__( + self, + *, + id: int, + description: str, + charts_repository_url: str, + default_repository: bool | None = None, + ) -> DigitalenergyRepositoryChartsUpdateResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_files/__init__.py b/src/digital_energy_sdk/api/digitalenergy/repository_files/__init__.py new file mode 100644 index 0000000..02dd831 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_files/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyRepositoryFilesImpl + + +__all__ = ['DigitalenergyRepositoryFilesImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_files/_group.py b/src/digital_energy_sdk/api/digitalenergy/repository_files/_group.py new file mode 100644 index 0000000..cdb9037 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_files/_group.py @@ -0,0 +1,35 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .create import DigitalenergyRepositoryFilesCreateImpl +from .delete import DigitalenergyRepositoryFilesDeleteImpl +from .get import DigitalenergyRepositoryFilesGetImpl +from .get_default import DigitalenergyRepositoryFilesGetDefaultImpl +from .list import DigitalenergyRepositoryFilesListImpl +from .update import DigitalenergyRepositoryFilesUpdateImpl + + +class DigitalenergyRepositoryFilesImpl(APIOperationGroupImpl): + @cached_property + def create(self) -> DigitalenergyRepositoryFilesCreateImpl: + return DigitalenergyRepositoryFilesCreateImpl(config=self._config) + + @cached_property + def delete(self) -> DigitalenergyRepositoryFilesDeleteImpl: + return DigitalenergyRepositoryFilesDeleteImpl(config=self._config) + + @cached_property + def get(self) -> DigitalenergyRepositoryFilesGetImpl: + return DigitalenergyRepositoryFilesGetImpl(config=self._config) + + @cached_property + def get_default(self) -> DigitalenergyRepositoryFilesGetDefaultImpl: + return DigitalenergyRepositoryFilesGetDefaultImpl(config=self._config) + + @cached_property + def list(self) -> DigitalenergyRepositoryFilesListImpl: + return DigitalenergyRepositoryFilesListImpl(config=self._config) + + @cached_property + def update(self) -> DigitalenergyRepositoryFilesUpdateImpl: + return DigitalenergyRepositoryFilesUpdateImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_files/create.py b/src/digital_energy_sdk/api/digitalenergy/repository_files/create.py new file mode 100644 index 0000000..b6e570b --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_files/create.py @@ -0,0 +1,40 @@ +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 results as _results + + +class Result(_ResultModel): + id: int | None = Field(validation_alias='id', default=None) + + +class DigitalenergyRepositoryFilesCreateResult(_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 DigitalenergyRepositoryFilesCreateImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/repositoryFiles/create' + http_method = HTTPMethod.POST + param_aliases = { + 'files_repository_url': 'filesRepositoryURL', + 'default_repository': 'defaultRepository', + } + + def __call__( + self, + *, + description: str, + files_repository_url: str, + default_repository: bool | None = None, + ) -> DigitalenergyRepositoryFilesCreateResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_files/delete.py b/src/digital_energy_sdk/api/digitalenergy/repository_files/delete.py new file mode 100644 index 0000000..52eadb3 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_files/delete.py @@ -0,0 +1,32 @@ +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 results as _results + + +class DigitalenergyRepositoryFilesDeleteResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyRepositoryFilesDeleteImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/repositoryFiles/delete' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyRepositoryFilesDeleteResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_files/get.py b/src/digital_energy_sdk/api/digitalenergy/repository_files/get.py new file mode 100644 index 0000000..25e19ec --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_files/get.py @@ -0,0 +1,36 @@ +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 results as _results + + +class Result(_ResultModel): + record: _results.PrtypeFilesRepository | None = Field(validation_alias='record', default=None) + + +class DigitalenergyRepositoryFilesGetResult(_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 DigitalenergyRepositoryFilesGetImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/repositoryFiles/get' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyRepositoryFilesGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_files/get_default.py b/src/digital_energy_sdk/api/digitalenergy/repository_files/get_default.py new file mode 100644 index 0000000..160c47a --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_files/get_default.py @@ -0,0 +1,33 @@ +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 results as _results + + +class Result(_ResultModel): + record: _results.PrtypeFilesRepository | None = Field(validation_alias='record', default=None) + + +class DigitalenergyRepositoryFilesGetDefaultResult(_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 DigitalenergyRepositoryFilesGetDefaultImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/repositoryFiles/getDefault' + http_method = HTTPMethod.POST + param_aliases = {} + + def __call__( + self, + ) -> DigitalenergyRepositoryFilesGetDefaultResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_files/list.py b/src/digital_energy_sdk/api/digitalenergy/repository_files/list.py new file mode 100644 index 0000000..603469d --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_files/list.py @@ -0,0 +1,41 @@ +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 results as _results + + +class Result(_ResultModel): + records: list[_results.PrtypeFilesRepository] | None = Field(validation_alias='records', default=None) + + +class DigitalenergyRepositoryFilesListResult(_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 DigitalenergyRepositoryFilesListImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/repositoryFiles/list' + http_method = HTTPMethod.POST + param_aliases = { + 'default_repository': 'defaultRepository', + 'sort_by': 'sortBy', + } + + def __call__( + self, + *, + default_repository: bool | None = None, + sort_by: str | None = None, + limit: int | None = None, + page: int | None = None, + ) -> DigitalenergyRepositoryFilesListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_files/update.py b/src/digital_energy_sdk/api/digitalenergy/repository_files/update.py new file mode 100644 index 0000000..b9e4898 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_files/update.py @@ -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 results as _results + + +class DigitalenergyRepositoryFilesUpdateResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyRepositoryFilesUpdateImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/repositoryFiles/update' + http_method = HTTPMethod.POST + param_aliases = { + 'files_repository_url': 'filesRepositoryURL', + 'default_repository': 'defaultRepository', + } + + def __call__( + self, + *, + id: int, + description: str, + files_repository_url: str, + default_repository: bool | None = None, + ) -> DigitalenergyRepositoryFilesUpdateResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_kube/__init__.py b/src/digital_energy_sdk/api/digitalenergy/repository_kube/__init__.py new file mode 100644 index 0000000..e9d4305 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_kube/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyRepositoryKubeImpl + + +__all__ = ['DigitalenergyRepositoryKubeImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_kube/_group.py b/src/digital_energy_sdk/api/digitalenergy/repository_kube/_group.py new file mode 100644 index 0000000..191a946 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_kube/_group.py @@ -0,0 +1,35 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .create import DigitalenergyRepositoryKubeCreateImpl +from .delete import DigitalenergyRepositoryKubeDeleteImpl +from .get import DigitalenergyRepositoryKubeGetImpl +from .get_default import DigitalenergyRepositoryKubeGetDefaultImpl +from .list import DigitalenergyRepositoryKubeListImpl +from .update import DigitalenergyRepositoryKubeUpdateImpl + + +class DigitalenergyRepositoryKubeImpl(APIOperationGroupImpl): + @cached_property + def create(self) -> DigitalenergyRepositoryKubeCreateImpl: + return DigitalenergyRepositoryKubeCreateImpl(config=self._config) + + @cached_property + def delete(self) -> DigitalenergyRepositoryKubeDeleteImpl: + return DigitalenergyRepositoryKubeDeleteImpl(config=self._config) + + @cached_property + def get(self) -> DigitalenergyRepositoryKubeGetImpl: + return DigitalenergyRepositoryKubeGetImpl(config=self._config) + + @cached_property + def get_default(self) -> DigitalenergyRepositoryKubeGetDefaultImpl: + return DigitalenergyRepositoryKubeGetDefaultImpl(config=self._config) + + @cached_property + def list(self) -> DigitalenergyRepositoryKubeListImpl: + return DigitalenergyRepositoryKubeListImpl(config=self._config) + + @cached_property + def update(self) -> DigitalenergyRepositoryKubeUpdateImpl: + return DigitalenergyRepositoryKubeUpdateImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_kube/create.py b/src/digital_energy_sdk/api/digitalenergy/repository_kube/create.py new file mode 100644 index 0000000..509cd71 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_kube/create.py @@ -0,0 +1,40 @@ +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 results as _results + + +class Result(_ResultModel): + id: int | None = Field(validation_alias='id', default=None) + + +class DigitalenergyRepositoryKubeCreateResult(_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 DigitalenergyRepositoryKubeCreateImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/repositoryKube/create' + http_method = HTTPMethod.POST + param_aliases = { + 'registry_str': 'registryStr', + 'default_repository': 'defaultRepository', + } + + def __call__( + self, + *, + description: str, + registry_str: str, + default_repository: bool | None = None, + ) -> DigitalenergyRepositoryKubeCreateResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_kube/delete.py b/src/digital_energy_sdk/api/digitalenergy/repository_kube/delete.py new file mode 100644 index 0000000..c9f0b50 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_kube/delete.py @@ -0,0 +1,32 @@ +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 results as _results + + +class DigitalenergyRepositoryKubeDeleteResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyRepositoryKubeDeleteImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/repositoryKube/delete' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyRepositoryKubeDeleteResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_kube/get.py b/src/digital_energy_sdk/api/digitalenergy/repository_kube/get.py new file mode 100644 index 0000000..0b14b7a --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_kube/get.py @@ -0,0 +1,36 @@ +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 results as _results + + +class Result(_ResultModel): + record: _results.PrtypeKubeRepository | None = Field(validation_alias='record', default=None) + + +class DigitalenergyRepositoryKubeGetResult(_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 DigitalenergyRepositoryKubeGetImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/repositoryKube/get' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyRepositoryKubeGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_kube/get_default.py b/src/digital_energy_sdk/api/digitalenergy/repository_kube/get_default.py new file mode 100644 index 0000000..cb77926 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_kube/get_default.py @@ -0,0 +1,33 @@ +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 results as _results + + +class Result(_ResultModel): + record: _results.PrtypeKubeRepository | None = Field(validation_alias='record', default=None) + + +class DigitalenergyRepositoryKubeGetDefaultResult(_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 DigitalenergyRepositoryKubeGetDefaultImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/repositoryKube/getDefault' + http_method = HTTPMethod.POST + param_aliases = {} + + def __call__( + self, + ) -> DigitalenergyRepositoryKubeGetDefaultResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_kube/list.py b/src/digital_energy_sdk/api/digitalenergy/repository_kube/list.py new file mode 100644 index 0000000..691f121 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_kube/list.py @@ -0,0 +1,41 @@ +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 results as _results + + +class Result(_ResultModel): + records: list[_results.PrtypeKubeRepository] | None = Field(validation_alias='records', default=None) + + +class DigitalenergyRepositoryKubeListResult(_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 DigitalenergyRepositoryKubeListImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/repositoryKube/list' + http_method = HTTPMethod.POST + param_aliases = { + 'default_repository': 'defaultRepository', + 'sort_by': 'sortBy', + } + + def __call__( + self, + *, + default_repository: bool | None = None, + sort_by: str | None = None, + limit: int | None = None, + page: int | None = None, + ) -> DigitalenergyRepositoryKubeListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/repository_kube/update.py b/src/digital_energy_sdk/api/digitalenergy/repository_kube/update.py new file mode 100644 index 0000000..f80d294 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/repository_kube/update.py @@ -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 results as _results + + +class DigitalenergyRepositoryKubeUpdateResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyRepositoryKubeUpdateImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/repositoryKube/update' + http_method = HTTPMethod.POST + param_aliases = { + 'registry_str': 'registryStr', + 'default_repository': 'defaultRepository', + } + + def __call__( + self, + *, + id: int, + description: str, + registry_str: str, + default_repository: bool | None = None, + ) -> DigitalenergyRepositoryKubeUpdateResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/role/__init__.py b/src/digital_energy_sdk/api/digitalenergy/role/__init__.py new file mode 100644 index 0000000..7e547db --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/role/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyRoleImpl + + +__all__ = ['DigitalenergyRoleImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/role/_group.py b/src/digital_energy_sdk/api/digitalenergy/role/_group.py new file mode 100644 index 0000000..2dee65c --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/role/_group.py @@ -0,0 +1,15 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .get import DigitalenergyRoleGetImpl +from .list import DigitalenergyRoleListImpl + + +class DigitalenergyRoleImpl(APIOperationGroupImpl): + @cached_property + def get(self) -> DigitalenergyRoleGetImpl: + return DigitalenergyRoleGetImpl(config=self._config) + + @cached_property + def list(self) -> DigitalenergyRoleListImpl: + return DigitalenergyRoleListImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/role/get.py b/src/digital_energy_sdk/api/digitalenergy/role/get.py new file mode 100644 index 0000000..f6635a4 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/role/get.py @@ -0,0 +1,44 @@ +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 results as _results + + +class Name(Enum): + CUSTOM = 'custom' + OPERATOR = 'operator' + ADMINISTRATOR = 'administrator' + DEVELOPER_OF_CONTAINER_IMAGES = 'developerOfContainerImages' + SECURITY_ADMINISTRATOR = 'securityAdministrator' + + +class Result(_ResultModel): + record: _results.AuxlogicComtypeAaatypeRole | None = Field(validation_alias='record', default=None) + + +class DigitalenergyRoleGetResult(_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 DigitalenergyRoleGetImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/role/get' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + name: Name, + ) -> DigitalenergyRoleGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/role/list.py b/src/digital_energy_sdk/api/digitalenergy/role/list.py new file mode 100644 index 0000000..4be51d9 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/role/list.py @@ -0,0 +1,33 @@ +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 results as _results + + +class Result(_ResultModel): + record: list[_results.AuxlogicComtypeAaatypeRole] | None = Field(validation_alias='record', default=None) + + +class DigitalenergyRoleListResult(_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 DigitalenergyRoleListImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/role/list' + http_method = HTTPMethod.POST + param_aliases = {} + + def __call__( + self, + ) -> DigitalenergyRoleListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/seaweedfs/__init__.py b/src/digital_energy_sdk/api/digitalenergy/seaweedfs/__init__.py new file mode 100644 index 0000000..cf98f21 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/seaweedfs/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergySeaweedfsImpl + + +__all__ = ['DigitalenergySeaweedfsImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/seaweedfs/_group.py b/src/digital_energy_sdk/api/digitalenergy/seaweedfs/_group.py new file mode 100644 index 0000000..4b1fb8d --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/seaweedfs/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergySeaweedfsDescribeImpl +from .install import DigitalenergySeaweedfsInstallImpl +from .uninstall import DigitalenergySeaweedfsUninstallImpl + + +class DigitalenergySeaweedfsImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergySeaweedfsDescribeImpl: + return DigitalenergySeaweedfsDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergySeaweedfsInstallImpl: + return DigitalenergySeaweedfsInstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergySeaweedfsUninstallImpl: + return DigitalenergySeaweedfsUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/seaweedfs/describe.py b/src/digital_energy_sdk/api/digitalenergy/seaweedfs/describe.py new file mode 100644 index 0000000..a818caf --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/seaweedfs/describe.py @@ -0,0 +1,61 @@ +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 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) + 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) + product_name: str | None = Field(validation_alias='productName', default=None) + product_version: str | None = Field(validation_alias='productVersion', default=None) + s3_access_key: str | None = Field(validation_alias='s3AccessKey', default=None) + s3_endpoint: str | None = Field(validation_alias='s3Endpoint', default=None) + s3_secret_key: str | None = Field(validation_alias='s3SecretKey', default=None) + storage_class: str | None = Field(validation_alias='storageClass', default=None) + task_ids: list[int] | None = Field(validation_alias='taskIds', 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 DigitalenergySeaweedfsDescribeResult(_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 DigitalenergySeaweedfsDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/seaweedfs/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, + ) -> DigitalenergySeaweedfsDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/seaweedfs/install.py b/src/digital_energy_sdk/api/digitalenergy/seaweedfs/install.py new file mode 100644 index 0000000..5125d0e --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/seaweedfs/install.py @@ -0,0 +1,43 @@ +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 results as _results + + +class DigitalenergySeaweedfsInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/seaweedfs/install' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'integagent_hostname': 'integagentHostname', + 'apps_repository_id': 'appsRepositoryId', + 'charts_repository_id': 'chartsRepositoryId', + 'worker_group_name': 'workerGroupName', + 'master_replicas': 'masterReplicas', + 'volume_replicas': 'volumeReplicas', + 'volume_storage_gb': 'volumeStorageGb', + 'volume_size_limit_mb': 'volumeSizeLimitMB', + } + + def __call__( + self, + *, + cluster_id: int, + integagent_hostname: str | None = None, + apps_repository_id: int | None = None, + charts_repository_id: int | None = None, + worker_group_name: str | None = None, + master_replicas: int | None = None, + volume_replicas: int | None = None, + volume_storage_gb: int | None = None, + volume_size_limit_mb: int | None = None, + replication: str | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/seaweedfs/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/seaweedfs/uninstall.py new file mode 100644 index 0000000..98dc4f7 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/seaweedfs/uninstall.py @@ -0,0 +1,30 @@ +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 results as _results + + +class DigitalenergySeaweedfsUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/seaweedfs/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 | None = None, + ignore_dns_error: bool | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/seaweedfs_operator/__init__.py b/src/digital_energy_sdk/api/digitalenergy/seaweedfs_operator/__init__.py new file mode 100644 index 0000000..4ee98db --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/seaweedfs_operator/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergySeaweedfsOperatorImpl + + +__all__ = ['DigitalenergySeaweedfsOperatorImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/seaweedfs_operator/_group.py b/src/digital_energy_sdk/api/digitalenergy/seaweedfs_operator/_group.py new file mode 100644 index 0000000..622e628 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/seaweedfs_operator/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergySeaweedfsOperatorDescribeImpl +from .install import DigitalenergySeaweedfsOperatorInstallImpl +from .uninstall import DigitalenergySeaweedfsOperatorUninstallImpl + + +class DigitalenergySeaweedfsOperatorImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergySeaweedfsOperatorDescribeImpl: + return DigitalenergySeaweedfsOperatorDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergySeaweedfsOperatorInstallImpl: + return DigitalenergySeaweedfsOperatorInstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergySeaweedfsOperatorUninstallImpl: + return DigitalenergySeaweedfsOperatorUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/seaweedfs_operator/describe.py b/src/digital_energy_sdk/api/digitalenergy/seaweedfs_operator/describe.py new file mode 100644 index 0000000..77ca0a0 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/seaweedfs_operator/describe.py @@ -0,0 +1,55 @@ +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 results as _results + + +class Registry(_ResultModel): + cluster_id: int | None = Field(validation_alias='clusterId', 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) + product_name: str | None = Field(validation_alias='productName', default=None) + product_version: str | None = Field(validation_alias='productVersion', default=None) + task_ids: list[int] | None = Field(validation_alias='taskIds', 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 DigitalenergySeaweedfsOperatorDescribeResult(_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 DigitalenergySeaweedfsOperatorDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/seaweedfs-operator/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, + ) -> DigitalenergySeaweedfsOperatorDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/seaweedfs_operator/install.py b/src/digital_energy_sdk/api/digitalenergy/seaweedfs_operator/install.py new file mode 100644 index 0000000..137338e --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/seaweedfs_operator/install.py @@ -0,0 +1,34 @@ +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 results as _results + + +class DigitalenergySeaweedfsOperatorInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/seaweedfs-operator/install' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'integagent_hostname': 'integagentHostname', + 'apps_repository_id': 'appsRepositoryId', + 'charts_repository_id': 'chartsRepositoryId', + 'download_chart_anyway': 'downloadChartAnyway', + } + + def __call__( + self, + *, + cluster_id: int, + integagent_hostname: str | None = None, + apps_repository_id: int | None = None, + charts_repository_id: int | None = None, + download_chart_anyway: bool | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/seaweedfs_operator/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/seaweedfs_operator/uninstall.py new file mode 100644 index 0000000..d0c65f6 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/seaweedfs_operator/uninstall.py @@ -0,0 +1,30 @@ +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 results as _results + + +class DigitalenergySeaweedfsOperatorUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/seaweedfs-operator/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 | None = None, + ignore_dns_error: bool | None = None, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/servchecker/__init__.py b/src/digital_energy_sdk/api/digitalenergy/servchecker/__init__.py new file mode 100644 index 0000000..f245db5 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/servchecker/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyServcheckerImpl + + +__all__ = ['DigitalenergyServcheckerImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/servchecker/_group.py b/src/digital_energy_sdk/api/digitalenergy/servchecker/_group.py new file mode 100644 index 0000000..f51b8be --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/servchecker/_group.py @@ -0,0 +1,25 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyServcheckerDescribeImpl +from .install import DigitalenergyServcheckerInstallImpl +from .reinstall import DigitalenergyServcheckerReinstallImpl +from .uninstall import DigitalenergyServcheckerUninstallImpl + + +class DigitalenergyServcheckerImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyServcheckerDescribeImpl: + return DigitalenergyServcheckerDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyServcheckerInstallImpl: + return DigitalenergyServcheckerInstallImpl(config=self._config) + + @cached_property + def reinstall(self) -> DigitalenergyServcheckerReinstallImpl: + return DigitalenergyServcheckerReinstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyServcheckerUninstallImpl: + return DigitalenergyServcheckerUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/servchecker/describe.py b/src/digital_energy_sdk/api/digitalenergy/servchecker/describe.py new file mode 100644 index 0000000..bd1a88c --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/servchecker/describe.py @@ -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 results as _results + + +class Result(_ResultModel): + installed: bool | None = Field(validation_alias='installed', default=None) + + +class DigitalenergyServcheckerDescribeResult(_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 DigitalenergyServcheckerDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/servchecker/describe' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + ) -> DigitalenergyServcheckerDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/servchecker/install.py b/src/digital_energy_sdk/api/digitalenergy/servchecker/install.py new file mode 100644 index 0000000..4647ce4 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/servchecker/install.py @@ -0,0 +1,42 @@ +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 results as _results + + +class Result(_ResultModel): + task_id: int | None = Field(validation_alias='taskId', default=None) + + +class DigitalenergyServcheckerInstallResult(_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 DigitalenergyServcheckerInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/servchecker/install' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'apps_repository_id': 'appsRepositoryId', + 'charts_repository_id': 'chartsRepositoryId', + } + + def __call__( + self, + *, + cluster_id: int, + apps_repository_id: int | None = None, + charts_repository_id: int | None = None, + namespace: str | None = None, + ) -> DigitalenergyServcheckerInstallResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/servchecker/reinstall.py b/src/digital_energy_sdk/api/digitalenergy/servchecker/reinstall.py new file mode 100644 index 0000000..cdc5c27 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/servchecker/reinstall.py @@ -0,0 +1,42 @@ +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 results as _results + + +class Result(_ResultModel): + task_id: int | None = Field(validation_alias='taskId', default=None) + + +class DigitalenergyServcheckerReinstallResult(_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 DigitalenergyServcheckerReinstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/servchecker/reinstall' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'apps_repository_id': 'appsRepositoryId', + 'charts_repository_id': 'chartsRepositoryId', + } + + def __call__( + self, + *, + cluster_id: int, + apps_repository_id: int | None = None, + charts_repository_id: int | None = None, + namespace: str | None = None, + ) -> DigitalenergyServcheckerReinstallResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/servchecker/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/servchecker/uninstall.py new file mode 100644 index 0000000..62b70c5 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/servchecker/uninstall.py @@ -0,0 +1,38 @@ +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 results as _results + + +class Result(_ResultModel): + task_id: int | None = Field(validation_alias='taskId', default=None) + + +class DigitalenergyServcheckerUninstallResult(_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 DigitalenergyServcheckerUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/servchecker/uninstall' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + namespace: str | None = None, + ) -> DigitalenergyServcheckerUninstallResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/sonarqube/__init__.py b/src/digital_energy_sdk/api/digitalenergy/sonarqube/__init__.py new file mode 100644 index 0000000..9d92ddc --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/sonarqube/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergySonarqubeImpl + + +__all__ = ['DigitalenergySonarqubeImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/sonarqube/_group.py b/src/digital_energy_sdk/api/digitalenergy/sonarqube/_group.py new file mode 100644 index 0000000..420136e --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/sonarqube/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergySonarqubeDescribeImpl +from .install import DigitalenergySonarqubeInstallImpl +from .uninstall import DigitalenergySonarqubeUninstallImpl + + +class DigitalenergySonarqubeImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergySonarqubeDescribeImpl: + return DigitalenergySonarqubeDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergySonarqubeInstallImpl: + return DigitalenergySonarqubeInstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergySonarqubeUninstallImpl: + return DigitalenergySonarqubeUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/sonarqube/describe.py b/src/digital_energy_sdk/api/digitalenergy/sonarqube/describe.py new file mode 100644 index 0000000..cefa659 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/sonarqube/describe.py @@ -0,0 +1,63 @@ +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 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) + psql_password: str | None = Field(validation_alias='psqlPassword', default=None) + psql_username: str | None = Field(validation_alias='psqlUsername', 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 DigitalenergySonarqubeDescribeResult(_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 DigitalenergySonarqubeDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/sonarqube/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, + ) -> DigitalenergySonarqubeDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/sonarqube/install.py b/src/digital_energy_sdk/api/digitalenergy/sonarqube/install.py new file mode 100644 index 0000000..d948a69 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/sonarqube/install.py @@ -0,0 +1,47 @@ +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 results as _results + + +class StorageClass(Enum): + LONGHORN = 'longhorn' + GLUSTERFS = 'glusterfs' + EMPTY_STR = '' + + +class DigitalenergySonarqubeInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/sonarqube/install' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'storage_class': 'storageClass', + 'integagent_hostname': 'integagentHostname', + 'apps_repository_id': 'appsRepositoryId', + 'charts_repository_id': 'chartsRepositoryId', + 'worker_group_name': 'workerGroupName', + 'download_chart_anyway': 'downloadChartAnyway', + } + + def __call__( + self, + *, + cluster_id: int, + username: str, + password: str, + storage_class: StorageClass | None = None, + hostname: str, + integagent_hostname: str | 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, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/sonarqube/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/sonarqube/uninstall.py new file mode 100644 index 0000000..99acf77 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/sonarqube/uninstall.py @@ -0,0 +1,30 @@ +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 results as _results + + +class DigitalenergySonarqubeUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/sonarqube/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 \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/svacer/__init__.py b/src/digital_energy_sdk/api/digitalenergy/svacer/__init__.py new file mode 100644 index 0000000..6bf6949 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/svacer/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergySvacerImpl + + +__all__ = ['DigitalenergySvacerImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/svacer/_group.py b/src/digital_energy_sdk/api/digitalenergy/svacer/_group.py new file mode 100644 index 0000000..8ff8f54 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/svacer/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergySvacerDescribeImpl +from .install import DigitalenergySvacerInstallImpl +from .uninstall import DigitalenergySvacerUninstallImpl + + +class DigitalenergySvacerImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergySvacerDescribeImpl: + return DigitalenergySvacerDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergySvacerInstallImpl: + return DigitalenergySvacerInstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergySvacerUninstallImpl: + return DigitalenergySvacerUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/svacer/describe.py b/src/digital_energy_sdk/api/digitalenergy/svacer/describe.py new file mode 100644 index 0000000..f5a1a05 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/svacer/describe.py @@ -0,0 +1,63 @@ +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 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) + psql_password: str | None = Field(validation_alias='psqlPassword', default=None) + psql_username: str | None = Field(validation_alias='psqlUsername', 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 DigitalenergySvacerDescribeResult(_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 DigitalenergySvacerDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/svacer/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, + ) -> DigitalenergySvacerDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/svacer/install.py b/src/digital_energy_sdk/api/digitalenergy/svacer/install.py new file mode 100644 index 0000000..44fd3bb --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/svacer/install.py @@ -0,0 +1,45 @@ +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 results as _results + + +class StorageClass(Enum): + LONGHORN = 'longhorn' + GLUSTERFS = 'glusterfs' + EMPTY_STR = '' + + +class DigitalenergySvacerInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/svacer/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, + 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, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/svacer/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/svacer/uninstall.py new file mode 100644 index 0000000..2095861 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/svacer/uninstall.py @@ -0,0 +1,30 @@ +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 results as _results + + +class DigitalenergySvacerUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/svacer/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 \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/task/__init__.py b/src/digital_energy_sdk/api/digitalenergy/task/__init__.py new file mode 100644 index 0000000..8906452 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/task/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyTaskImpl + + +__all__ = ['DigitalenergyTaskImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/task/_group.py b/src/digital_energy_sdk/api/digitalenergy/task/_group.py new file mode 100644 index 0000000..51bf3e9 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/task/_group.py @@ -0,0 +1,15 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .get import DigitalenergyTaskGetImpl +from .list import DigitalenergyTaskListImpl + + +class DigitalenergyTaskImpl(APIOperationGroupImpl): + @cached_property + def get(self) -> DigitalenergyTaskGetImpl: + return DigitalenergyTaskGetImpl(config=self._config) + + @cached_property + def list(self) -> DigitalenergyTaskListImpl: + return DigitalenergyTaskListImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/task/get.py b/src/digital_energy_sdk/api/digitalenergy/task/get.py new file mode 100644 index 0000000..937589d --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/task/get.py @@ -0,0 +1,71 @@ +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 results as _results + + +class CheckListItem(_ResultModel): + description: str | None = Field(validation_alias='description', default=None) + error: bool | None = Field(validation_alias='error', default=None) + message: str | None = Field(validation_alias='message', default=None) + name: str | None = Field(validation_alias='name', default=None) + + +class LogItem(_ResultModel): + message: str | None = Field(validation_alias='message', default=None) + severity_level: str | None = Field(validation_alias='severityLevel', default=None) + time: int | None = Field(validation_alias='time', default=None) + timestamp: str | None = Field(validation_alias='timestamp', default=None) + + +class Result(_ResultModel): + check_list: list[CheckListItem] | None = Field(validation_alias='checkList', default=None) + check_list_ok: bool | None = Field(validation_alias='checkListOk', default=None) + done_with_error: bool | None = Field(validation_alias='doneWithError', default=None) + encrypted: bool | None = Field(validation_alias='encrypted', default=None) + error_message: str | None = Field(validation_alias='errorMessage', default=None) + finished: bool | None = Field(validation_alias='finished', default=None) + id: int | None = Field(validation_alias='id', default=None) + label: dict[Any, Any] | None = Field(validation_alias='label', default=None) + last_log_message: str | None = Field(validation_alias='lastLogMessage', default=None) + last_log_timestamp: str | None = Field(validation_alias='lastLogTimestamp', default=None) + log: list[LogItem] | None = Field(validation_alias='log', default=None) + operation: str | None = Field(validation_alias='operation', default=None) + owner_id: int | None = Field(validation_alias='ownerId', default=None) + result: str | None = Field(validation_alias='result', default=None) + result_encoding: str | None = Field(validation_alias='resultEncoding', default=None) + start_timestamp: str | None = Field(validation_alias='startTimestamp', default=None) + started: bool | None = Field(validation_alias='started', default=None) + stop_timestamp: str | None = Field(validation_alias='stopTimestamp', default=None) + subject_id: int | None = Field(validation_alias='subjectId', default=None) + subject_type: str | None = Field(validation_alias='subjectType', default=None) + task_type: str | None = Field(validation_alias='taskType', default=None) + version_crypt: str | None = Field(validation_alias='versionCrypt', default=None) + + +class DigitalenergyTaskGetResult(_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 DigitalenergyTaskGetImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/task/get' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyTaskGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/task/list.py b/src/digital_energy_sdk/api/digitalenergy/task/list.py new file mode 100644 index 0000000..84ebfe4 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/task/list.py @@ -0,0 +1,46 @@ +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 results as _results + + +class Result(_ResultModel): + items: list[_results.DelogicComtypePrtypeTaskBrief] | None = Field(validation_alias='items', default=None) + + +class DigitalenergyTaskListResult(_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 DigitalenergyTaskListImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/task/list' + http_method = HTTPMethod.POST + param_aliases = { + 'task_id': 'taskId', + 'subject_type': 'subjectType', + 'subject_id': 'subjectId', + 'sort_by': 'sortBy', + } + + def __call__( + self, + *, + task_id: int | None = None, + subject_type: str | None = None, + subject_id: int | None = None, + operation: str | None = None, + sort_by: str | None = None, + limit: int | None = None, + page: int | None = None, + ) -> DigitalenergyTaskListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/trivy/__init__.py b/src/digital_energy_sdk/api/digitalenergy/trivy/__init__.py new file mode 100644 index 0000000..f01e15a --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/trivy/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyTrivyImpl + + +__all__ = ['DigitalenergyTrivyImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/trivy/_group.py b/src/digital_energy_sdk/api/digitalenergy/trivy/_group.py new file mode 100644 index 0000000..7528ea6 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/trivy/_group.py @@ -0,0 +1,25 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyTrivyDescribeImpl +from .install import DigitalenergyTrivyInstallImpl +from .set_operator_config import DigitalenergyTrivySetOperatorConfigImpl +from .uninstall import DigitalenergyTrivyUninstallImpl + + +class DigitalenergyTrivyImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyTrivyDescribeImpl: + return DigitalenergyTrivyDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyTrivyInstallImpl: + return DigitalenergyTrivyInstallImpl(config=self._config) + + @cached_property + def set_operator_config(self) -> DigitalenergyTrivySetOperatorConfigImpl: + return DigitalenergyTrivySetOperatorConfigImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyTrivyUninstallImpl: + return DigitalenergyTrivyUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/trivy/describe.py b/src/digital_energy_sdk/api/digitalenergy/trivy/describe.py new file mode 100644 index 0000000..f531d93 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/trivy/describe.py @@ -0,0 +1,53 @@ +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 results as _results + + +class Registry(_ResultModel): + cluster_id: int | None = Field(validation_alias='clusterId', 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) + product_name: str | None = Field(validation_alias='productName', default=None) + product_version: str | None = Field(validation_alias='productVersion', default=None) + task_ids: list[int] | None = Field(validation_alias='taskIds', default=None) + worker_group_name: str | None = Field(validation_alias='workerGroupName', default=None) + + +class Result(_ResultModel): + 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 DigitalenergyTrivyDescribeResult(_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 DigitalenergyTrivyDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/trivy/describe' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'check_installation': 'checkInstallation', + } + + def __call__( + self, + *, + cluster_id: int, + check_installation: bool | None = None, + ) -> DigitalenergyTrivyDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/trivy/install.py b/src/digital_energy_sdk/api/digitalenergy/trivy/install.py new file mode 100644 index 0000000..f59310b --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/trivy/install.py @@ -0,0 +1,43 @@ +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 results as _results + + +class Result(_ResultModel): + task_id: int | None = Field(validation_alias='taskId', default=None) + + +class DigitalenergyTrivyInstallResult(_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 DigitalenergyTrivyInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/trivy/install' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'apps_repository_id': 'appsRepositoryId', + 'charts_repository_id': 'chartsRepositoryId', + 'download_chart_anyway': 'downloadChartAnyway', + } + + def __call__( + self, + *, + cluster_id: int, + apps_repository_id: int | None = None, + charts_repository_id: int | None = None, + download_chart_anyway: bool | None = None, + ) -> DigitalenergyTrivyInstallResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/trivy/set_operator_config.py b/src/digital_energy_sdk/api/digitalenergy/trivy/set_operator_config.py new file mode 100644 index 0000000..0fbf593 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/trivy/set_operator_config.py @@ -0,0 +1,36 @@ +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 results as _results + + +class DigitalenergyTrivySetOperatorConfigResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyTrivySetOperatorConfigImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/trivy/setOperatorConfig' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'scan_period': 'scanPeriod', + } + + def __call__( + self, + *, + cluster_id: int, + namespace: str | None = None, + scan_period: int | None = None, + ) -> DigitalenergyTrivySetOperatorConfigResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/trivy/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/trivy/uninstall.py new file mode 100644 index 0000000..dcf51f3 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/trivy/uninstall.py @@ -0,0 +1,41 @@ +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 results as _results + + +class Result(_ResultModel): + task_id: int | None = Field(validation_alias='taskId', default=None) + + +class DigitalenergyTrivyUninstallResult(_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 DigitalenergyTrivyUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/trivy/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, + ) -> DigitalenergyTrivyUninstallResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/user/__init__.py b/src/digital_energy_sdk/api/digitalenergy/user/__init__.py new file mode 100644 index 0000000..d291f24 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/user/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyUserImpl + + +__all__ = ['DigitalenergyUserImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/user/_group.py b/src/digital_energy_sdk/api/digitalenergy/user/_group.py new file mode 100644 index 0000000..97c4e19 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/user/_group.py @@ -0,0 +1,30 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .create import DigitalenergyUserCreateImpl +from .delete import DigitalenergyUserDeleteImpl +from .get import DigitalenergyUserGetImpl +from .list import DigitalenergyUserListImpl +from .update import DigitalenergyUserUpdateImpl + + +class DigitalenergyUserImpl(APIOperationGroupImpl): + @cached_property + def create(self) -> DigitalenergyUserCreateImpl: + return DigitalenergyUserCreateImpl(config=self._config) + + @cached_property + def delete(self) -> DigitalenergyUserDeleteImpl: + return DigitalenergyUserDeleteImpl(config=self._config) + + @cached_property + def get(self) -> DigitalenergyUserGetImpl: + return DigitalenergyUserGetImpl(config=self._config) + + @cached_property + def list(self) -> DigitalenergyUserListImpl: + return DigitalenergyUserListImpl(config=self._config) + + @cached_property + def update(self) -> DigitalenergyUserUpdateImpl: + return DigitalenergyUserUpdateImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/user/create.py b/src/digital_energy_sdk/api/digitalenergy/user/create.py new file mode 100644 index 0000000..f84873c --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/user/create.py @@ -0,0 +1,84 @@ +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 results as _results + + +class GrantsValue(Enum): + USER_SELF_OPERATION = 'userSelfOperation' + MODIFICATION_CLUSTER = 'modificationCluster' + LIST_CLUSTERS = 'listClusters' + LIST_CLUSTER_COMPONENTS = 'listClusterComponents' + MODIFICATION_APPS = 'modificationApps' + LIST_APPS = 'listApps' + MODIFICATION_ARTEFACT = 'modificationArtefact' + LIST_ARTEFACTS = 'listArtefacts' + KUBERNETES_USER_MODIFICATION = 'kubernetesUserModification' + + +class Role(Enum): + CUSTOM = 'custom' + OPERATOR = 'operator' + ADMINISTRATOR = 'administrator' + DEVELOPER_OF_CONTAINER_IMAGES = 'developerOfContainerImages' + SECURITY_ADMINISTRATOR = 'securityAdministrator' + + +class Result(_ResultModel): + id: int | None = Field(validation_alias='id', default=None) + + +class DigitalenergyUserCreateResult(_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 DigitalenergyUserCreateImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/user/create' + http_method = HTTPMethod.POST + param_aliases = { + 'group_id': 'groupId', + 'dynamix_auth_type': 'dynamixAuthType', + 'dynamix_auth_domain': 'dynamixAuthDomain', + 'dynamix_username': 'dynamixUsername', + 'dynamix_password': 'dynamixPassword', + 'dynamix_url': 'dynamixURL', + 'dynamix_ssourl': 'dynamixSSOURL', + 'dynamix_app_id': 'dynamixAppID', + 'dynamix_app_secret': 'dynamixAppSecret', + 'external_auth_flag': 'externalAuthFlag', + 'external_auth_system': 'externalAuthSystem', + 'external_auth_login': 'externalAuthLogin', + } + + def __call__( + self, + *, + username: str, + password: str | None = None, + name: str, + group_id: int, + grants: list[GrantsValue] | None = None, + role: Role, + dynamix_auth_type: str | None = None, + dynamix_auth_domain: str | None = None, + dynamix_username: str | None = None, + dynamix_password: str | None = None, + dynamix_url: str | None = None, + dynamix_ssourl: str | None = None, + dynamix_app_id: str | None = None, + dynamix_app_secret: str | None = None, + external_auth_flag: bool | None = None, + external_auth_system: str | None = None, + external_auth_login: str | None = None, + ) -> DigitalenergyUserCreateResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/user/delete.py b/src/digital_energy_sdk/api/digitalenergy/user/delete.py new file mode 100644 index 0000000..00df9de --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/user/delete.py @@ -0,0 +1,32 @@ +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 results as _results + + +class DigitalenergyUserDeleteResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyUserDeleteImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/user/delete' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyUserDeleteResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/user/get.py b/src/digital_energy_sdk/api/digitalenergy/user/get.py new file mode 100644 index 0000000..b98478d --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/user/get.py @@ -0,0 +1,36 @@ +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 results as _results + + +class Result(_ResultModel): + record: _results.AuxlogicComtypeAaatypeUser | None = Field(validation_alias='record', default=None) + + +class DigitalenergyUserGetResult(_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 DigitalenergyUserGetImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/user/get' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int | None = None, + ) -> DigitalenergyUserGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/user/list.py b/src/digital_energy_sdk/api/digitalenergy/user/list.py new file mode 100644 index 0000000..5b397ca --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/user/list.py @@ -0,0 +1,72 @@ +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 results as _results + + +class RecordsItem(_ResultModel): + banned: bool | None = Field(validation_alias='banned', default=None) + blocked: bool | None = Field(validation_alias='blocked', default=None) + blocked_till: str | None = Field(validation_alias='blockedTill', default=None) + cluster_id: int | None = Field(validation_alias='clusterId', default=None) + dynamix_auth_domain: str | None = Field(validation_alias='dynamixAuthDomain', default=None) + dynamix_auth_type: str | None = Field(validation_alias='dynamixAuthType', default=None) + dynamix_ssourl: str | None = Field(validation_alias='dynamixSSOURL', default=None) + dynamix_url: str | None = Field(validation_alias='dynamixURL', default=None) + encrypted: bool | None = Field(validation_alias='encrypted', default=None) + grants: list[str] | None = Field(validation_alias='grants', default=None) + group_id: int | None = Field(validation_alias='groupId', default=None) + group_name: str | None = Field(validation_alias='groupName', default=None) + id: int | None = Field(validation_alias='id', default=None) + name: str | None = Field(validation_alias='name', default=None) + reason_banned: str | None = Field(validation_alias='reasonBanned', default=None) + role: str | None = Field(validation_alias='role', default=None) + system_user: bool | None = Field(validation_alias='systemUser', default=None) + time_update_ban: str | None = Field(validation_alias='timeUpdateBan', default=None) + username: str | None = Field(validation_alias='username', default=None) + version_crypt: str | None = Field(validation_alias='versionCrypt', default=None) + + +class Result(_ResultModel): + records: list[RecordsItem] | None = Field(validation_alias='records', default=None) + + +class DigitalenergyUserListResult(_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 DigitalenergyUserListImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/user/list' + http_method = HTTPMethod.POST + param_aliases = { + 'include_system_user': 'includeSystemUser', + 'group_id': 'groupId', + 'group_name': 'groupName', + 'cluster_id': 'clusterId', + 'sort_by': 'sortBy', + } + + def __call__( + self, + *, + include_system_user: bool | None = None, + id: int | None = None, + username: str | None = None, + group_id: int | None = None, + group_name: str | None = None, + cluster_id: int | None = None, + sort_by: str | None = None, + limit: int | None = None, + page: int | None = None, + ) -> DigitalenergyUserListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/user/update.py b/src/digital_energy_sdk/api/digitalenergy/user/update.py new file mode 100644 index 0000000..90a5f30 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/user/update.py @@ -0,0 +1,82 @@ +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 results as _results + + +class GrantsValue(Enum): + USER_SELF_OPERATION = 'userSelfOperation' + MODIFICATION_CLUSTER = 'modificationCluster' + LIST_CLUSTERS = 'listClusters' + LIST_CLUSTER_COMPONENTS = 'listClusterComponents' + MODIFICATION_APPS = 'modificationApps' + LIST_APPS = 'listApps' + MODIFICATION_ARTEFACT = 'modificationArtefact' + LIST_ARTEFACTS = 'listArtefacts' + KUBERNETES_USER_MODIFICATION = 'kubernetesUserModification' + + +class Role(Enum): + CUSTOM = 'custom' + OPERATOR = 'operator' + ADMINISTRATOR = 'administrator' + DEVELOPER_OF_CONTAINER_IMAGES = 'developerOfContainerImages' + SECURITY_ADMINISTRATOR = 'securityAdministrator' + + +class Result(_ResultModel): + record: _results.AuxlogicComtypeAaatypeUser | None = Field(validation_alias='record', default=None) + + +class DigitalenergyUserUpdateResult(_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 DigitalenergyUserUpdateImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/user/update' + http_method = HTTPMethod.POST + param_aliases = { + 'group_id': 'groupId', + 'reason_banned': 'reasonBanned', + 'dynamix_auth_type': 'dynamixAuthType', + 'dynamix_auth_domain': 'dynamixAuthDomain', + 'dynamix_username': 'dynamixUsername', + 'dynamix_password': 'dynamixPassword', + 'dynamix_url': 'dynamixURL', + 'dynamix_ssourl': 'dynamixSSOURL', + 'dynamix_app_id': 'dynamixAppID', + 'dynamix_app_secret': 'dynamixAppSecret', + } + + def __call__( + self, + *, + id: int, + username: str | None = None, + password: str | None = None, + name: str | None = None, + group_id: int, + grants: list[GrantsValue] | None = None, + role: Role, + banned: bool | None = None, + reason_banned: str | None = None, + dynamix_auth_type: str | None = None, + dynamix_auth_domain: str | None = None, + dynamix_username: str | None = None, + dynamix_password: str | None = None, + dynamix_url: str | None = None, + dynamix_ssourl: str | None = None, + dynamix_app_id: str | None = None, + dynamix_app_secret: str | None = None, + ) -> DigitalenergyUserUpdateResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/valkey/__init__.py b/src/digital_energy_sdk/api/digitalenergy/valkey/__init__.py new file mode 100644 index 0000000..02dcda9 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/valkey/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyValkeyImpl + + +__all__ = ['DigitalenergyValkeyImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/valkey/_group.py b/src/digital_energy_sdk/api/digitalenergy/valkey/_group.py new file mode 100644 index 0000000..20a6035 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/valkey/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyValkeyDescribeImpl +from .install import DigitalenergyValkeyInstallImpl +from .uninstall import DigitalenergyValkeyUninstallImpl + + +class DigitalenergyValkeyImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyValkeyDescribeImpl: + return DigitalenergyValkeyDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyValkeyInstallImpl: + return DigitalenergyValkeyInstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyValkeyUninstallImpl: + return DigitalenergyValkeyUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/valkey/describe.py b/src/digital_energy_sdk/api/digitalenergy/valkey/describe.py new file mode 100644 index 0000000..e6ba260 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/valkey/describe.py @@ -0,0 +1,60 @@ +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 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_class: str | None = Field(validation_alias='storageClass', default=None) + task_ids: list[int] | None = Field(validation_alias='taskIds', 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 DigitalenergyValkeyDescribeResult(_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 DigitalenergyValkeyDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/valkey/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, + ) -> DigitalenergyValkeyDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/valkey/install.py b/src/digital_energy_sdk/api/digitalenergy/valkey/install.py new file mode 100644 index 0000000..fad006c --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/valkey/install.py @@ -0,0 +1,46 @@ +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 results as _results + + +class StorageClass(Enum): + LONGHORN = 'longhorn' + GLUSTERFS = 'glusterfs' + EMPTY_STR = '' + + +class DigitalenergyValkeyInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/valkey/install' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'storage_class': 'storageClass', + 'integagent_hostname': 'integagentHostname', + 'apps_repository_id': 'appsRepositoryId', + 'charts_repository_id': 'chartsRepositoryId', + 'worker_group_name': 'workerGroupName', + 'download_chart_anyway': 'downloadChartAnyway', + } + + def __call__( + self, + *, + cluster_id: int, + password: str, + storage_class: StorageClass | None = None, + hostname: str, + integagent_hostname: str | 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, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/valkey/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/valkey/uninstall.py new file mode 100644 index 0000000..77ec5ea --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/valkey/uninstall.py @@ -0,0 +1,30 @@ +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 results as _results + + +class DigitalenergyValkeyUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/valkey/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 \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/vault/__init__.py b/src/digital_energy_sdk/api/digitalenergy/vault/__init__.py new file mode 100644 index 0000000..a5b202a --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/vault/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyVaultImpl + + +__all__ = ['DigitalenergyVaultImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/vault/_group.py b/src/digital_energy_sdk/api/digitalenergy/vault/_group.py new file mode 100644 index 0000000..37ad3e2 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/vault/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .describe import DigitalenergyVaultDescribeImpl +from .install import DigitalenergyVaultInstallImpl +from .uninstall import DigitalenergyVaultUninstallImpl + + +class DigitalenergyVaultImpl(APIOperationGroupImpl): + @cached_property + def describe(self) -> DigitalenergyVaultDescribeImpl: + return DigitalenergyVaultDescribeImpl(config=self._config) + + @cached_property + def install(self) -> DigitalenergyVaultInstallImpl: + return DigitalenergyVaultInstallImpl(config=self._config) + + @cached_property + def uninstall(self) -> DigitalenergyVaultUninstallImpl: + return DigitalenergyVaultUninstallImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/vault/describe.py b/src/digital_energy_sdk/api/digitalenergy/vault/describe.py new file mode 100644 index 0000000..adf697f --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/vault/describe.py @@ -0,0 +1,61 @@ +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 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) + product_name: str | None = Field(validation_alias='productName', default=None) + product_version: str | None = Field(validation_alias='productVersion', default=None) + root_token: str | None = Field(validation_alias='rootToken', default=None) + storage_type: str | None = Field(validation_alias='storageType', default=None) + task_ids: list[int] | None = Field(validation_alias='taskIds', default=None) + unseal_keys: list[str] | None = Field(validation_alias='unsealKeys', 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 DigitalenergyVaultDescribeResult(_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 DigitalenergyVaultDescribeImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/vault/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, + ) -> DigitalenergyVaultDescribeResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/vault/install.py b/src/digital_energy_sdk/api/digitalenergy/vault/install.py new file mode 100644 index 0000000..198cc35 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/vault/install.py @@ -0,0 +1,47 @@ +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 results as _results + + +class StorageClass(Enum): + LONGHORN = 'longhorn' + GLUSTERFS = 'glusterfs' + EMPTY_STR = '' + + +class DigitalenergyVaultInstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/vault/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, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/vault/uninstall.py b/src/digital_energy_sdk/api/digitalenergy/vault/uninstall.py new file mode 100644 index 0000000..a9a4e7f --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/vault/uninstall.py @@ -0,0 +1,30 @@ +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 results as _results + + +class DigitalenergyVaultUninstallImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/vault/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 \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/verification_report/__init__.py b/src/digital_energy_sdk/api/digitalenergy/verification_report/__init__.py new file mode 100644 index 0000000..dec82b8 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/verification_report/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyVerificationReportImpl + + +__all__ = ['DigitalenergyVerificationReportImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/verification_report/_group.py b/src/digital_energy_sdk/api/digitalenergy/verification_report/_group.py new file mode 100644 index 0000000..2db0215 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/verification_report/_group.py @@ -0,0 +1,30 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .collect import DigitalenergyVerificationReportCollectImpl +from .delete import DigitalenergyVerificationReportDeleteImpl +from .get import DigitalenergyVerificationReportGetImpl +from .info import DigitalenergyVerificationReportInfoImpl +from .list import DigitalenergyVerificationReportListImpl + + +class DigitalenergyVerificationReportImpl(APIOperationGroupImpl): + @cached_property + def collect(self) -> DigitalenergyVerificationReportCollectImpl: + return DigitalenergyVerificationReportCollectImpl(config=self._config) + + @cached_property + def delete(self) -> DigitalenergyVerificationReportDeleteImpl: + return DigitalenergyVerificationReportDeleteImpl(config=self._config) + + @cached_property + def get(self) -> DigitalenergyVerificationReportGetImpl: + return DigitalenergyVerificationReportGetImpl(config=self._config) + + @cached_property + def info(self) -> DigitalenergyVerificationReportInfoImpl: + return DigitalenergyVerificationReportInfoImpl(config=self._config) + + @cached_property + def list(self) -> DigitalenergyVerificationReportListImpl: + return DigitalenergyVerificationReportListImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/verification_report/collect.py b/src/digital_energy_sdk/api/digitalenergy/verification_report/collect.py new file mode 100644 index 0000000..a0c6c0e --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/verification_report/collect.py @@ -0,0 +1,26 @@ +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 results as _results + + +class DigitalenergyVerificationReportCollectImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/verificationReport/collect' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + ) -> _results.ComtypeIotypeCreateTaskResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/verification_report/delete.py b/src/digital_energy_sdk/api/digitalenergy/verification_report/delete.py new file mode 100644 index 0000000..17876c1 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/verification_report/delete.py @@ -0,0 +1,32 @@ +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 results as _results + + +class DigitalenergyVerificationReportDeleteResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class DigitalenergyVerificationReportDeleteImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/verificationReport/delete' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyVerificationReportDeleteResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/verification_report/get.py b/src/digital_energy_sdk/api/digitalenergy/verification_report/get.py new file mode 100644 index 0000000..1048f67 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/verification_report/get.py @@ -0,0 +1,36 @@ +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 results as _results + + +class Result(_ResultModel): + record: _results.PrtypeVerificationReportBrief | None = Field(validation_alias='record', default=None) + + +class DigitalenergyVerificationReportGetResult(_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 DigitalenergyVerificationReportGetImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/verificationReport/get' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyVerificationReportGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/verification_report/info.py b/src/digital_energy_sdk/api/digitalenergy/verification_report/info.py new file mode 100644 index 0000000..0f03960 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/verification_report/info.py @@ -0,0 +1,50 @@ +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 results as _results + + +class Record(_ResultModel): + severity_summary: dict[Any, Any] | None = Field(validation_alias='severitySummary', default=None) + + +class Result(_ResultModel): + record: Record | None = Field(validation_alias='record', default=None) + + +class DigitalenergyVerificationReportInfoResult(_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 DigitalenergyVerificationReportInfoImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/verificationReport/info' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'filter_by_create_time': 'filterByCreateTime', + 'filter_by_update_time': 'filterByUpdateTime', + 'time_after': 'timeAfter', + 'time_before': 'timeBefore', + } + + def __call__( + self, + *, + cluster_id: int, + online: bool | None = None, + filter_by_create_time: bool | None = None, + filter_by_update_time: bool | None = None, + time_after: int | None = None, + time_before: int | None = None, + ) -> DigitalenergyVerificationReportInfoResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/verification_report/list.py b/src/digital_energy_sdk/api/digitalenergy/verification_report/list.py new file mode 100644 index 0000000..70f05a1 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/verification_report/list.py @@ -0,0 +1,51 @@ +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 results as _results + + +class Result(_ResultModel): + records: list[_results.PrtypeVerificationReportBrief] | None = Field(validation_alias='records', default=None) + total: int | None = Field(validation_alias='total', default=None) + + +class DigitalenergyVerificationReportListResult(_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 DigitalenergyVerificationReportListImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/verificationReport/list' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'severity_level': 'severityLevel', + 'filter_by_create_time': 'filterByCreateTime', + 'filter_by_update_time': 'filterByUpdateTime', + 'time_after': 'timeAfter', + 'time_before': 'timeBefore', + } + + def __call__( + self, + *, + cluster_id: int, + online: bool | None = None, + severity_level: str | None = None, + filter_by_create_time: bool | None = None, + filter_by_update_time: bool | None = None, + time_after: int | None = None, + time_before: int | None = None, + limit: int | None = None, + page: int | None = None, + ) -> DigitalenergyVerificationReportListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/vulnerability_report/__init__.py b/src/digital_energy_sdk/api/digitalenergy/vulnerability_report/__init__.py new file mode 100644 index 0000000..2a1ac94 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/vulnerability_report/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyVulnerabilityReportImpl + + +__all__ = ['DigitalenergyVulnerabilityReportImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/vulnerability_report/_group.py b/src/digital_energy_sdk/api/digitalenergy/vulnerability_report/_group.py new file mode 100644 index 0000000..e2580f2 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/vulnerability_report/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .get import DigitalenergyVulnerabilityReportGetImpl +from .info import DigitalenergyVulnerabilityReportInfoImpl +from .list import DigitalenergyVulnerabilityReportListImpl + + +class DigitalenergyVulnerabilityReportImpl(APIOperationGroupImpl): + @cached_property + def get(self) -> DigitalenergyVulnerabilityReportGetImpl: + return DigitalenergyVulnerabilityReportGetImpl(config=self._config) + + @cached_property + def info(self) -> DigitalenergyVulnerabilityReportInfoImpl: + return DigitalenergyVulnerabilityReportInfoImpl(config=self._config) + + @cached_property + def list(self) -> DigitalenergyVulnerabilityReportListImpl: + return DigitalenergyVulnerabilityReportListImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/vulnerability_report/get.py b/src/digital_energy_sdk/api/digitalenergy/vulnerability_report/get.py new file mode 100644 index 0000000..f8ae386 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/vulnerability_report/get.py @@ -0,0 +1,65 @@ +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 results as _results + + +class UpdateJournalItem(_ResultModel): + update: int | None = Field(validation_alias='update', default=None) + update_timestamp: str | None = Field(validation_alias='updateTimestamp', default=None) + + +class Record(_ResultModel): + artifact_name: str | None = Field(validation_alias='artifactName', default=None) + cluster_id: int | None = Field(validation_alias='clusterId', default=None) + description: str | None = Field(validation_alias='description', default=None) + document_create_at: str | None = Field(validation_alias='documentCreateAt', default=None) + document_id: str | None = Field(validation_alias='documentId', default=None) + fixed: str | None = Field(validation_alias='fixed', default=None) + fixed_version: str | None = Field(validation_alias='fixedVersion', default=None) + host_user: str | None = Field(validation_alias='hostUser', default=None) + id: int | None = Field(validation_alias='id', default=None) + installed_version: str | None = Field(validation_alias='installedVersion', default=None) + owner_id: int | None = Field(validation_alias='ownerId', default=None) + primary_link: str | None = Field(validation_alias='primaryLink', default=None) + references: list[str] | None = Field(validation_alias='references', default=None) + resource: str | None = Field(validation_alias='resource', default=None) + severity_level: str | None = Field(validation_alias='severityLevel', default=None) + severity_rank: int | None = Field(validation_alias='severityRank', default=None) + title: str | None = Field(validation_alias='title', default=None) + update_at: str | None = Field(validation_alias='updateAt', default=None) + update_journal: list[UpdateJournalItem] | None = Field(validation_alias='updateJournal', default=None) + v_report_id: int | None = Field(validation_alias='vReportId', default=None) + vulnerability_id: str | None = Field(validation_alias='vulnerabilityId', default=None) + + +class Result(_ResultModel): + record: Record | None = Field(validation_alias='record', default=None) + + +class DigitalenergyVulnerabilityReportGetResult(_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 DigitalenergyVulnerabilityReportGetImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/vulnerabilityReport/get' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + id: int, + ) -> DigitalenergyVulnerabilityReportGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/vulnerability_report/info.py b/src/digital_energy_sdk/api/digitalenergy/vulnerability_report/info.py new file mode 100644 index 0000000..c1d0b24 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/vulnerability_report/info.py @@ -0,0 +1,49 @@ +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 results as _results + + +class Record(_ResultModel): + severity_summary: dict[Any, Any] | None = Field(validation_alias='severitySummary', default=None) + + +class Result(_ResultModel): + record: Record | None = Field(validation_alias='record', default=None) + + +class DigitalenergyVulnerabilityReportInfoResult(_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 DigitalenergyVulnerabilityReportInfoImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/vulnerabilityReport/info' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'filter_by_create_time': 'filterByCreateTime', + 'filter_by_update_time': 'filterByUpdateTime', + 'time_after': 'timeAfter', + 'time_before': 'timeBefore', + } + + def __call__( + self, + *, + cluster_id: int, + filter_by_create_time: bool | None = None, + filter_by_update_time: bool | None = None, + time_after: int | None = None, + time_before: int | None = None, + ) -> DigitalenergyVulnerabilityReportInfoResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/vulnerability_report/list.py b/src/digital_energy_sdk/api/digitalenergy/vulnerability_report/list.py new file mode 100644 index 0000000..ace3ad4 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/vulnerability_report/list.py @@ -0,0 +1,71 @@ +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 results as _results + + +class RecordsItem(_ResultModel): + artifact_name: str | None = Field(validation_alias='artifactName', default=None) + description: str | None = Field(validation_alias='description', default=None) + document_create_at: str | None = Field(validation_alias='documentCreateAt', default=None) + fixed: str | None = Field(validation_alias='fixed', default=None) + fixed_version: str | None = Field(validation_alias='fixedVersion', default=None) + host_user: str | None = Field(validation_alias='hostUser', default=None) + id: int | None = Field(validation_alias='id', default=None) + installed_version: str | None = Field(validation_alias='installedVersion', default=None) + primary_link: str | None = Field(validation_alias='primaryLink', default=None) + references: list[str] | None = Field(validation_alias='references', default=None) + resource: str | None = Field(validation_alias='resource', default=None) + severity_level: str | None = Field(validation_alias='severityLevel', default=None) + severity_rank: int | None = Field(validation_alias='severityRank', default=None) + title: str | None = Field(validation_alias='title', default=None) + update_at: str | None = Field(validation_alias='updateAt', default=None) + vulnerability_id: str | None = Field(validation_alias='vulnerabilityId', default=None) + + +class Result(_ResultModel): + records: list[RecordsItem] | None = Field(validation_alias='records', default=None) + total: int | None = Field(validation_alias='total', default=None) + + +class DigitalenergyVulnerabilityReportListResult(_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 DigitalenergyVulnerabilityReportListImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/vulnerabilityReport/list' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'v_report_id': 'vReportId', + 'severity_level': 'severityLevel', + 'filter_by_create_time': 'filterByCreateTime', + 'filter_by_update_time': 'filterByUpdateTime', + 'time_after': 'timeAfter', + 'time_before': 'timeBefore', + } + + def __call__( + self, + *, + cluster_id: int, + v_report_id: int | None = None, + severity_level: str | None = None, + filter_by_create_time: bool | None = None, + filter_by_update_time: bool | None = None, + time_after: int | None = None, + time_before: int | None = None, + limit: int | None = None, + page: int | None = None, + ) -> DigitalenergyVulnerabilityReportListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/x509/__init__.py b/src/digital_energy_sdk/api/digitalenergy/x509/__init__.py new file mode 100644 index 0000000..5afd726 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/x509/__init__.py @@ -0,0 +1,4 @@ +from ._group import DigitalenergyX509Impl + + +__all__ = ['DigitalenergyX509Impl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/digitalenergy/x509/_group.py b/src/digital_energy_sdk/api/digitalenergy/x509/_group.py new file mode 100644 index 0000000..c9cd2db --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/x509/_group.py @@ -0,0 +1,10 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .generate_ca_cert import DigitalenergyX509GenerateCACertImpl + + +class DigitalenergyX509Impl(APIOperationGroupImpl): + @cached_property + def generate_ca_cert(self) -> DigitalenergyX509GenerateCACertImpl: + return DigitalenergyX509GenerateCACertImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/digitalenergy/x509/generate_ca_cert.py b/src/digital_energy_sdk/api/digitalenergy/x509/generate_ca_cert.py new file mode 100644 index 0000000..6d94140 --- /dev/null +++ b/src/digital_energy_sdk/api/digitalenergy/x509/generate_ca_cert.py @@ -0,0 +1,34 @@ +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 results as _results + + +class Result(_ResultModel): + ca_cert: str | None = Field(validation_alias='caCert', default=None) + ca_key: str | None = Field(validation_alias='caKey', default=None) + + +class DigitalenergyX509GenerateCACertResult(_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 DigitalenergyX509GenerateCACertImpl(_APIOperationImpl): + path = '/api/v1/digitalenergy/x509/generateCACert' + http_method = HTTPMethod.POST + param_aliases = {} + + def __call__( + self, + ) -> DigitalenergyX509GenerateCACertResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/__init__.py b/src/digital_energy_sdk/api/dynamix/__init__.py new file mode 100644 index 0000000..adf3059 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/__init__.py @@ -0,0 +1,4 @@ +from ._group import DynamixImpl + + +__all__ = ['DynamixImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/_group.py b/src/digital_energy_sdk/api/dynamix/_group.py new file mode 100644 index 0000000..4971dd8 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/_group.py @@ -0,0 +1,65 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .account import DynamixAccountImpl +from .compute import DynamixComputeImpl +from .disk import DynamixDiskImpl +from .extnet import DynamixExtnetImpl +from .get_version import DynamixGetVersionImpl +from .image import DynamixImageImpl +from .k8ci import DynamixK8ciImpl +from .rg import DynamixRgImpl +from .sp import DynamixSpImpl +from .task import DynamixTaskImpl +from .vgpu import DynamixVgpuImpl +from .vins import DynamixVinsImpl + + +class DynamixImpl(APIOperationGroupImpl): + @cached_property + def account(self) -> DynamixAccountImpl: + return DynamixAccountImpl(config=self._config) + + @cached_property + def compute(self) -> DynamixComputeImpl: + return DynamixComputeImpl(config=self._config) + + @cached_property + def disk(self) -> DynamixDiskImpl: + return DynamixDiskImpl(config=self._config) + + @cached_property + def extnet(self) -> DynamixExtnetImpl: + return DynamixExtnetImpl(config=self._config) + + @cached_property + def get_version(self) -> DynamixGetVersionImpl: + return DynamixGetVersionImpl(config=self._config) + + @cached_property + def image(self) -> DynamixImageImpl: + return DynamixImageImpl(config=self._config) + + @cached_property + def k8ci(self) -> DynamixK8ciImpl: + return DynamixK8ciImpl(config=self._config) + + @cached_property + def rg(self) -> DynamixRgImpl: + return DynamixRgImpl(config=self._config) + + @cached_property + def sp(self) -> DynamixSpImpl: + return DynamixSpImpl(config=self._config) + + @cached_property + def task(self) -> DynamixTaskImpl: + return DynamixTaskImpl(config=self._config) + + @cached_property + def vgpu(self) -> DynamixVgpuImpl: + return DynamixVgpuImpl(config=self._config) + + @cached_property + def vins(self) -> DynamixVinsImpl: + return DynamixVinsImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/dynamix/account/__init__.py b/src/digital_energy_sdk/api/dynamix/account/__init__.py new file mode 100644 index 0000000..b123efa --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/account/__init__.py @@ -0,0 +1,4 @@ +from ._group import DynamixAccountImpl + + +__all__ = ['DynamixAccountImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/account/_group.py b/src/digital_energy_sdk/api/dynamix/account/_group.py new file mode 100644 index 0000000..73ea188 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/account/_group.py @@ -0,0 +1,15 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .get import DynamixAccountGetImpl +from .list import DynamixAccountListImpl + + +class DynamixAccountImpl(APIOperationGroupImpl): + @cached_property + def get(self) -> DynamixAccountGetImpl: + return DynamixAccountGetImpl(config=self._config) + + @cached_property + def list(self) -> DynamixAccountListImpl: + return DynamixAccountListImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/dynamix/account/get.py b/src/digital_energy_sdk/api/dynamix/account/get.py new file mode 100644 index 0000000..914469e --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/account/get.py @@ -0,0 +1,113 @@ +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 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): + can_be_deleted: bool | None = Field(validation_alias='canBeDeleted', default=None) + emails: list[str] | None = Field(validation_alias='emails', 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 Computes(_ResultModel): + started: int | None = Field(validation_alias='started', default=None) + stopped: int | None = Field(validation_alias='stopped', default=None) + + +class Machines(_ResultModel): + halted: int | None = Field(validation_alias='halted', default=None) + running: int | None = Field(validation_alias='running', 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 ZoneIdsItem(_ResultModel): + id: int | None = Field(validation_alias='id', default=None) + name: str | None = Field(validation_alias='name', default=None) + + +class Record(_ResultModel): + dc_location: str | None = Field(validation_alias='DCLocation', default=None) + acl: list[AclItem] | None = Field(validation_alias='acl', default=None) + company: str | None = Field(validation_alias='company', default=None) + companyurl: str | None = Field(validation_alias='companyurl', default=None) + compute_features: list[str] | None = Field(validation_alias='computeFeatures', default=None) + computes: Computes | None = Field(validation_alias='computes', 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) + deactivation_time: float | None = Field(validation_alias='deactivationTime', default=None) + default_zone_id: int | None = Field(validation_alias='defaultZoneId', 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) + displayname: str | None = Field(validation_alias='displayname', default=None) + guid: int | None = Field(validation_alias='guid', default=None) + id: int | None = Field(validation_alias='id', default=None) + machines: Machines | None = Field(validation_alias='machines', default=None) + name: str | None = Field(validation_alias='name', default=None) + resource_limits: ResourceLimits | None = Field(validation_alias='resourceLimits', default=None) + resource_types: list[str] | None = Field(validation_alias='resourceTypes', default=None) + send_access_emails: bool | None = Field(validation_alias='sendAccessEmails', 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[Any] | 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) + version: int | None = Field(validation_alias='version', default=None) + vins: list[int] | None = Field(validation_alias='vins', default=None) + vinses: int | None = Field(validation_alias='vinses', default=None) + zone_ids: list[ZoneIdsItem] | None = Field(validation_alias='zoneIds', default=None) + + +class Result(_ResultModel): + record: Record | None = Field(validation_alias='record', default=None) + + +class DynamixAccountGetResult(_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 DynamixAccountGetImpl(_APIOperationImpl): + path = '/api/v1/dynamix/account/get' + http_method = HTTPMethod.POST + param_aliases = { + 'account_id': 'accountId', + } + + def __call__( + self, + *, + account_id: int, + ) -> DynamixAccountGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/account/list.py b/src/digital_energy_sdk/api/dynamix/account/list.py new file mode 100644 index 0000000..0b2a14c --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/account/list.py @@ -0,0 +1,58 @@ +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 results as _results + + +class AclItem(_ResultModel): + can_be_deleted: bool | None = Field(validation_alias='canBeDeleted', 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 RecordsItem(_ResultModel): + acl: list[AclItem] | None = Field(validation_alias='acl', default=None) + compute_features: list[str] | None = Field(validation_alias='computeFeatures', 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) + desc: str | None = Field(validation_alias='desc', default=None) + id: int | None = Field(validation_alias='id', default=None) + name: str | None = Field(validation_alias='name', 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) + zone_ids: list[int] | None = Field(validation_alias='zoneIds', default=None) + + +class Result(_ResultModel): + records: list[RecordsItem] | None = Field(validation_alias='records', default=None) + + +class DynamixAccountListResult(_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 DynamixAccountListImpl(_APIOperationImpl): + path = '/api/v1/dynamix/account/list' + http_method = HTTPMethod.POST + param_aliases = {} + + def __call__( + self, + ) -> DynamixAccountListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/compute/__init__.py b/src/digital_energy_sdk/api/dynamix/compute/__init__.py new file mode 100644 index 0000000..9a286f8 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/compute/__init__.py @@ -0,0 +1,4 @@ +from ._group import DynamixComputeImpl + + +__all__ = ['DynamixComputeImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/compute/_group.py b/src/digital_energy_sdk/api/dynamix/compute/_group.py new file mode 100644 index 0000000..b6356c9 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/compute/_group.py @@ -0,0 +1,30 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .attach_v_gpu import DynamixComputeAttachVGpuImpl +from .deattach_v_gpu import DynamixComputeDeattachVGpuImpl +from .delete import DynamixComputeDeleteImpl +from .get import DynamixComputeGetImpl +from .list import DynamixComputeListImpl + + +class DynamixComputeImpl(APIOperationGroupImpl): + @cached_property + def attach_v_gpu(self) -> DynamixComputeAttachVGpuImpl: + return DynamixComputeAttachVGpuImpl(config=self._config) + + @cached_property + def deattach_v_gpu(self) -> DynamixComputeDeattachVGpuImpl: + return DynamixComputeDeattachVGpuImpl(config=self._config) + + @cached_property + def delete(self) -> DynamixComputeDeleteImpl: + return DynamixComputeDeleteImpl(config=self._config) + + @cached_property + def get(self) -> DynamixComputeGetImpl: + return DynamixComputeGetImpl(config=self._config) + + @cached_property + def list(self) -> DynamixComputeListImpl: + return DynamixComputeListImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/dynamix/compute/attach_v_gpu.py b/src/digital_energy_sdk/api/dynamix/compute/attach_v_gpu.py new file mode 100644 index 0000000..3b9fa8f --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/compute/attach_v_gpu.py @@ -0,0 +1,39 @@ +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 results as _results + + +class Result(_ResultModel): + attach: int | None = Field(validation_alias='attach', default=None) + + +class DynamixComputeAttachVGpuResult(_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 DynamixComputeAttachVGpuImpl(_APIOperationImpl): + path = '/api/v1/dynamix/compute/attachVGpu' + http_method = HTTPMethod.POST + param_aliases = { + 'compute_id': 'computeId', + 'vgpu_id': 'vgpuId', + } + + def __call__( + self, + *, + compute_id: int, + vgpu_id: int, + ) -> DynamixComputeAttachVGpuResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/compute/deattach_v_gpu.py b/src/digital_energy_sdk/api/dynamix/compute/deattach_v_gpu.py new file mode 100644 index 0000000..a47f800 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/compute/deattach_v_gpu.py @@ -0,0 +1,39 @@ +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 results as _results + + +class Result(_ResultModel): + deattach: bool | None = Field(validation_alias='deattach', default=None) + + +class DynamixComputeDeattachVGpuResult(_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 DynamixComputeDeattachVGpuImpl(_APIOperationImpl): + path = '/api/v1/dynamix/compute/deattachVGpu' + http_method = HTTPMethod.POST + param_aliases = { + 'compute_id': 'computeId', + 'vgpu_id': 'vgpuId', + } + + def __call__( + self, + *, + compute_id: int, + vgpu_id: int | None = None, + ) -> DynamixComputeDeattachVGpuResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/compute/delete.py b/src/digital_energy_sdk/api/dynamix/compute/delete.py new file mode 100644 index 0000000..ad7584e --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/compute/delete.py @@ -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 results as _results + + +class Result(_ResultModel): + deleted: bool | None = Field(validation_alias='deleted', default=None) + + +class DynamixComputeDeleteResult(_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 DynamixComputeDeleteImpl(_APIOperationImpl): + path = '/api/v1/dynamix/compute/delete' + http_method = HTTPMethod.POST + param_aliases = { + 'compute_id': 'computeId', + } + + def __call__( + self, + *, + compute_id: int, + ) -> DynamixComputeDeleteResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/compute/get.py b/src/digital_energy_sdk/api/dynamix/compute/get.py new file mode 100644 index 0000000..5ed6898 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/compute/get.py @@ -0,0 +1,132 @@ +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 results as _results + + +class ACL(_ResultModel): + account_acl: list[_results.SdkPkgCloudapiComputeItemACL] | None = Field(validation_alias='accountACL', default=None) + compute_acl: list[_results.SdkPkgCloudapiComputeItemACL] | None = Field(validation_alias='computeACL', default=None) + rg_acl: list[_results.SdkPkgCloudapiComputeItemACL] | None = Field(validation_alias='rgACL', default=None) + + +class Record(_ResultModel): + acl: ACL | None = Field(validation_alias='ACL', default=None) + account_id: int | None = Field(validation_alias='accountId', default=None) + account_name: str | None = Field(validation_alias='accountName', default=None) + affinity_label: str | None = Field(validation_alias='affinityLabel', default=None) + affinity_rules: list[_results.PkgCloudapiComputeItemRule] | None = Field(validation_alias='affinityRules', default=None) + affinity_weight: int | None = Field(validation_alias='affinityWeight', default=None) + anti_affinity_rules: list[_results.PkgCloudapiComputeItemRule] | None = Field(validation_alias='antiAffinityRules', default=None) + arch: str | None = Field(validation_alias='arch', default=None) + auto_start: bool | None = Field(validation_alias='autoStart', default=None) + boot_order: list[str] | None = Field(validation_alias='bootOrder', default=None) + boot_type: str | None = Field(validation_alias='bootType', default=None) + boot_image_id: int | None = Field(validation_alias='boot_image_id', default=None) + bootdisk_size: int | None = Field(validation_alias='bootdiskSize', default=None) + cd_image_id: int | None = Field(validation_alias='cdImageId', default=None) + chipset: str | None = Field(validation_alias='chipset', default=None) + clock: str | None = Field(validation_alias='clock', default=None) + clone_reference: int | None = Field(validation_alias='cloneReference', default=None) + clones: list[int] | None = Field(validation_alias='clones', default=None) + computeci_id: int | None = Field(validation_alias='computeciId', default=None) + cpu_alignment_profile: _results.ComputeCPUAlignmentProfile | None = Field(validation_alias='cpu_alignment_profile', default=None) + cpupin: bool | None = Field(validation_alias='cpupin', default=None) + cpus: int | None = Field(validation_alias='cpus', default=None) + created_by: str | None = Field(validation_alias='createdBy', default=None) + created_time: int | None = Field(validation_alias='createdTime', default=None) + custom_fields: dict[Any, Any] | None = Field(validation_alias='customFields', 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) + devices: Any | None = Field(validation_alias='devices', default=None) + disks: list[_results.CloudapiComputeItemComputeDisk] | None = Field(validation_alias='disks', default=None) + driver: str | None = Field(validation_alias='driver', default=None) + folder_id: int | None = Field(validation_alias='folder_id', default=None) + gid: int | None = Field(validation_alias='gid', default=None) + guid: int | None = Field(validation_alias='guid', default=None) + hot_resize: bool | None = Field(validation_alias='hotResize', default=None) + hp_backed: bool | None = Field(validation_alias='hpBacked', default=None) + id: int | None = Field(validation_alias='id', default=None) + image_id: int | None = Field(validation_alias='imageId', default=None) + image_name: str | None = Field(validation_alias='imageName', default=None) + interfaces: list[_results.ComputeItemVNFInterface] | None = Field(validation_alias='interfaces', default=None) + live_migration_job_id: int | None = Field(validation_alias='live_migration_job_id', default=None) + loader_meta_iso: _results.CloudapiComputeLoaderMetaIso | None = Field(validation_alias='loaderMetaIso', default=None) + loader_type: str | None = Field(validation_alias='loaderType', default=None) + lock_status: str | None = Field(validation_alias='lockStatus', default=None) + manager_id: int | None = Field(validation_alias='managerId', default=None) + manager_type: str | None = Field(validation_alias='managerType', default=None) + migrationjob: int | None = Field(validation_alias='migrationjob', default=None) + milestones: int | None = Field(validation_alias='milestones', default=None) + name: str | None = Field(validation_alias='name', default=None) + natable_vins_id: int | None = Field(validation_alias='natableVinsId', default=None) + natable_vins_ip: str | None = Field(validation_alias='natableVinsIp', default=None) + natable_vins_name: str | None = Field(validation_alias='natableVinsName', default=None) + natable_vins_network: str | None = Field(validation_alias='natableVinsNetwork', default=None) + natable_vins_network_name: str | None = Field(validation_alias='natableVinsNetworkName', default=None) + need_reboot: bool | None = Field(validation_alias='needReboot', default=None) + network_interface_naming: str | None = Field(validation_alias='networkInterfaceNaming', default=None) + numa_affinity: str | None = Field(validation_alias='numaAffinity', default=None) + numa_node_id: int | None = Field(validation_alias='numaNodeId', default=None) + os_users: list[_results.PkgCloudapiComputeItemOSUser] | None = Field(validation_alias='osUsers', default=None) + os_version: str | None = Field(validation_alias='os_version', default=None) + pinned_to_node: bool | None = Field(validation_alias='pinnedToNode', default=None) + preferred_cpu: list[int] | None = Field(validation_alias='preferredCpu', default=None) + qemu_guest: _results.PkgCloudapiComputeQemuQuest | None = Field(validation_alias='qemu_guest', default=None) + ram: int | None = Field(validation_alias='ram', default=None) + read_only: bool | None = Field(validation_alias='read_only', default=None) + reference_id: str | None = Field(validation_alias='referenceId', default=None) + registered: bool | None = Field(validation_alias='registered', default=None) + res_name: str | None = Field(validation_alias='resName', default=None) + reserved_node_cpus: list[int] | None = Field(validation_alias='reservedNodeCpus', default=None) + resized_online: bool | None = Field(validation_alias='resizedOnline', default=None) + rg_id: int | None = Field(validation_alias='rgId', default=None) + rg_name: str | None = Field(validation_alias='rgName', default=None) + snap_sets: list[_results.PkgCloudapiComputeItemSnapSet] | None = Field(validation_alias='snapSets', default=None) + stateless_sep_id: int | None = Field(validation_alias='statelessSepId', default=None) + stateless_sep_type: str | None = Field(validation_alias='statelessSepType', default=None) + status: str | None = Field(validation_alias='status', default=None) + tags: dict[Any, Any] | None = Field(validation_alias='tags', default=None) + tech_status: str | None = Field(validation_alias='techStatus', default=None) + updated_by: str | None = Field(validation_alias='updatedBy', default=None) + updated_time: int | None = Field(validation_alias='updatedTime', default=None) + user_managed: bool | None = Field(validation_alias='userManaged', default=None) + userdata: Any | None = Field(validation_alias='userdata', default=None) + vgpus: list[_results.PkgCloudapiComputeVGPUItem] | None = Field(validation_alias='vgpus', default=None) + vnc_passwd: str | None = Field(validation_alias='vncPasswd', default=None) + weight: int | None = Field(validation_alias='weight', default=None) + zone_id: int | None = Field(validation_alias='zoneId', default=None) + + +class Result(_ResultModel): + record: Record | None = Field(validation_alias='record', default=None) + + +class DynamixComputeGetResult(_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 DynamixComputeGetImpl(_APIOperationImpl): + path = '/api/v1/dynamix/compute/get' + http_method = HTTPMethod.POST + param_aliases = { + 'compute_id': 'computeId', + } + + def __call__( + self, + *, + compute_id: int, + ) -> DynamixComputeGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/compute/list.py b/src/digital_energy_sdk/api/dynamix/compute/list.py new file mode 100644 index 0000000..1eb669d --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/compute/list.py @@ -0,0 +1,120 @@ +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 results as _results + + +class DisksItem(_ResultModel): + id: int | None = Field(validation_alias='id', default=None) + read_only: bool | None = Field(validation_alias='read_only', default=None) + sep_id: int | None = Field(validation_alias='sepId', default=None) + + +class RecordsItem(_ResultModel): + account_id: int | None = Field(validation_alias='accountId', default=None) + account_name: str | None = Field(validation_alias='accountName', default=None) + acl: list[_results.SdkPkgCloudapiComputeItemACL] | None = Field(validation_alias='acl', default=None) + affinity_label: str | None = Field(validation_alias='affinityLabel', default=None) + affinity_rules: list[_results.PkgCloudapiComputeItemRule] | None = Field(validation_alias='affinityRules', default=None) + affinity_weight: int | None = Field(validation_alias='affinityWeight', default=None) + anti_affinity_rules: list[_results.PkgCloudapiComputeItemRule] | None = Field(validation_alias='antiAffinityRules', default=None) + arch: str | None = Field(validation_alias='arch', default=None) + auto_start: bool | None = Field(validation_alias='autoStart', default=None) + boot_order: list[str] | None = Field(validation_alias='bootOrder', default=None) + boot_type: str | None = Field(validation_alias='bootType', default=None) + boot_image_id: int | None = Field(validation_alias='boot_image_id', default=None) + bootdisk_size: int | None = Field(validation_alias='bootdiskSize', default=None) + cd_image_id: int | None = Field(validation_alias='cdImageId', default=None) + chipset: str | None = Field(validation_alias='chipset', default=None) + clock: str | None = Field(validation_alias='clock', default=None) + clone_reference: int | None = Field(validation_alias='cloneReference', default=None) + clones: list[int] | None = Field(validation_alias='clones', default=None) + computeci_id: int | None = Field(validation_alias='computeciId', default=None) + cpu_alignment_profile: _results.ComputeCPUAlignmentProfile | None = Field(validation_alias='cpu_alignment_profile', default=None) + cpupin: bool | None = Field(validation_alias='cpupin', default=None) + cpus: int | None = Field(validation_alias='cpus', default=None) + created_by: str | None = Field(validation_alias='createdBy', default=None) + created_time: int | None = Field(validation_alias='createdTime', default=None) + custom_fields: dict[Any, Any] | None = Field(validation_alias='customFields', 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) + devices: Any | None = Field(validation_alias='devices', default=None) + disks: list[DisksItem] | None = Field(validation_alias='disks', default=None) + driver: str | None = Field(validation_alias='driver', default=None) + folder_id: int | None = Field(validation_alias='folder_id', default=None) + gid: int | None = Field(validation_alias='gid', default=None) + guid: int | None = Field(validation_alias='guid', default=None) + hot_resize: bool | None = Field(validation_alias='hotResize', default=None) + hp_backed: bool | None = Field(validation_alias='hpBacked', default=None) + id: int | None = Field(validation_alias='id', default=None) + interfaces: list[_results.ComputeItemVNFInterface] | None = Field(validation_alias='interfaces', default=None) + live_migration_job_id: int | None = Field(validation_alias='live_migration_job_id', default=None) + loader_type: str | None = Field(validation_alias='loaderType', default=None) + lock_status: str | None = Field(validation_alias='lockStatus', default=None) + manager_id: int | None = Field(validation_alias='managerId', default=None) + manager_type: str | None = Field(validation_alias='managerType', default=None) + migrationjob: int | None = Field(validation_alias='migrationjob', default=None) + milestones: int | None = Field(validation_alias='milestones', default=None) + name: str | None = Field(validation_alias='name', default=None) + need_reboot: bool | None = Field(validation_alias='needReboot', default=None) + network_interface_naming: str | None = Field(validation_alias='networkInterfaceNaming', default=None) + node_id: int | None = Field(validation_alias='node_id', default=None) + numa_affinity: str | None = Field(validation_alias='numaAffinity', default=None) + numa_node_id: int | None = Field(validation_alias='numaNodeId', default=None) + os_version: str | None = Field(validation_alias='os_version', default=None) + pinned_to_node: bool | None = Field(validation_alias='pinnedToNode', default=None) + preferred_cpu: list[int] | None = Field(validation_alias='preferredCpu', default=None) + qemu_guest: _results.PkgCloudapiComputeQemuQuest | None = Field(validation_alias='qemu_guest', default=None) + ram: int | None = Field(validation_alias='ram', default=None) + read_only: bool | None = Field(validation_alias='read_only', default=None) + reference_id: str | None = Field(validation_alias='referenceId', default=None) + registered: bool | None = Field(validation_alias='registered', default=None) + res_name: str | None = Field(validation_alias='resName', default=None) + reserved_node_cpus: list[int] | None = Field(validation_alias='reservedNodeCpus', default=None) + resized_online: bool | None = Field(validation_alias='resizedOnline', default=None) + rg_id: int | None = Field(validation_alias='rgId', default=None) + rg_name: str | None = Field(validation_alias='rgName', default=None) + snap_sets: list[_results.PkgCloudapiComputeItemSnapSet] | None = Field(validation_alias='snapSets', default=None) + stateless_sep_id: int | None = Field(validation_alias='statelessSepId', default=None) + stateless_sep_type: str | None = Field(validation_alias='statelessSepType', default=None) + status: str | None = Field(validation_alias='status', default=None) + tags: dict[Any, Any] | None = Field(validation_alias='tags', default=None) + tech_status: str | None = Field(validation_alias='techStatus', default=None) + total_disks_size: int | None = Field(validation_alias='totalDisksSize', default=None) + updated_by: str | None = Field(validation_alias='updatedBy', default=None) + updated_time: int | None = Field(validation_alias='updatedTime', default=None) + user_managed: bool | None = Field(validation_alias='userManaged', default=None) + vgpus: list[int] | None = Field(validation_alias='vgpus', default=None) + vins_connected: int | None = Field(validation_alias='vinsConnected', default=None) + weight: int | None = Field(validation_alias='weight', default=None) + zone_id: int | None = Field(validation_alias='zoneId', default=None) + + +class Result(_ResultModel): + records: list[RecordsItem] | None = Field(validation_alias='records', default=None) + + +class DynamixComputeListResult(_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 DynamixComputeListImpl(_APIOperationImpl): + path = '/api/v1/dynamix/compute/list' + http_method = HTTPMethod.POST + param_aliases = {} + + def __call__( + self, + ) -> DynamixComputeListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/disk/__init__.py b/src/digital_energy_sdk/api/dynamix/disk/__init__.py new file mode 100644 index 0000000..f5daf2b --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/disk/__init__.py @@ -0,0 +1,4 @@ +from ._group import DynamixDiskImpl + + +__all__ = ['DynamixDiskImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/disk/_group.py b/src/digital_energy_sdk/api/dynamix/disk/_group.py new file mode 100644 index 0000000..6684e45 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/disk/_group.py @@ -0,0 +1,10 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .list_types import DynamixDiskListTypesImpl + + +class DynamixDiskImpl(APIOperationGroupImpl): + @cached_property + def list_types(self) -> DynamixDiskListTypesImpl: + return DynamixDiskListTypesImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/dynamix/disk/list_types.py b/src/digital_energy_sdk/api/dynamix/disk/list_types.py new file mode 100644 index 0000000..cd859f7 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/disk/list_types.py @@ -0,0 +1,46 @@ +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 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[RecordsItem] | None = Field(validation_alias='records', default=None) + + +class DynamixDiskListTypesResult(_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 DynamixDiskListTypesImpl(_APIOperationImpl): + path = '/api/v1/dynamix/disk/listTypes' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + detailed: bool | None = None, + ) -> DynamixDiskListTypesResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/extnet/__init__.py b/src/digital_energy_sdk/api/dynamix/extnet/__init__.py new file mode 100644 index 0000000..67c5c50 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/extnet/__init__.py @@ -0,0 +1,4 @@ +from ._group import DynamixExtnetImpl + + +__all__ = ['DynamixExtnetImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/extnet/_group.py b/src/digital_energy_sdk/api/dynamix/extnet/_group.py new file mode 100644 index 0000000..8f71bdb --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/extnet/_group.py @@ -0,0 +1,15 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .get import DynamixExtnetGetImpl +from .list import DynamixExtnetListImpl + + +class DynamixExtnetImpl(APIOperationGroupImpl): + @cached_property + def get(self) -> DynamixExtnetGetImpl: + return DynamixExtnetGetImpl(config=self._config) + + @cached_property + def list(self) -> DynamixExtnetListImpl: + return DynamixExtnetListImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/dynamix/extnet/get.py b/src/digital_energy_sdk/api/dynamix/extnet/get.py new file mode 100644 index 0000000..9c5086e --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/extnet/get.py @@ -0,0 +1,101 @@ +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 results as _results + + +class DefaultQos(_ResultModel): + e_burst: int | None = Field(validation_alias='eBurst', default=None) + e_rate: int | None = Field(validation_alias='eRate', default=None) + guid: str | None = Field(validation_alias='guid', default=None) + in_burst: int | None = Field(validation_alias='inBurst', default=None) + in_rate: int | None = Field(validation_alias='inRate', default=None) + + +class ExcludedItem(_ResultModel): + client_type: str | None = Field(validation_alias='clientType', default=None) + domainname: str | None = Field(validation_alias='domainname', default=None) + hostname: str | None = Field(validation_alias='hostname', default=None) + ip: str | None = Field(validation_alias='ip', default=None) + mac: str | None = Field(validation_alias='mac', default=None) + type: str | None = Field(validation_alias='type', default=None) + vm_id: int | None = Field(validation_alias='vmId', default=None) + + +class NetworkIds(_ResultModel): + primary: int | None = Field(validation_alias='primary', default=None) + secondary: int | None = Field(validation_alias='secondary', default=None) + + +class Vnfs(_ResultModel): + dhcp: int | None = Field(validation_alias='dhcp', default=None) + + +class Record(_ResultModel): + ckey: str | None = Field(validation_alias='_ckey', default=None) + meta: list[Any] | None = Field(validation_alias='_meta', default=None) + check_ips: list[str] | None = Field(validation_alias='checkIps', default=None) + default: bool | None = Field(validation_alias='default', default=None) + default_qos: DefaultQos | None = Field(validation_alias='defaultQos', default=None) + desc: str | None = Field(validation_alias='desc', default=None) + dns: list[str] | None = Field(validation_alias='dns', default=None) + enable_secgroups: bool | None = Field(validation_alias='enable_secgroups', default=None) + excluded: list[ExcludedItem] | None = Field(validation_alias='excluded', default=None) + free_ips: int | None = Field(validation_alias='free_ips', default=None) + gateway: str | None = Field(validation_alias='gateway', 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) + ipcidr: str | None = Field(validation_alias='ipcidr', default=None) + milestones: int | None = Field(validation_alias='milestones', default=None) + mtu: int | None = Field(validation_alias='mtu', default=None) + name: str | None = Field(validation_alias='name', default=None) + network: str | None = Field(validation_alias='network', default=None) + network_ids: NetworkIds | None = Field(validation_alias='networkIds', default=None) + ntp: list[str] | None = Field(validation_alias='ntp', default=None) + ovs_bridge: str | None = Field(validation_alias='ovsBridge', default=None) + pre_reservations: list[_results.ExtnetItemReservation] | None = Field(validation_alias='pre-reservations', default=None) + pre_reservations_num: int | None = Field(validation_alias='preReservationsNum', default=None) + prefix: int | None = Field(validation_alias='prefix', default=None) + pri_vnf_dev_id: int | None = Field(validation_alias='priVnfDevId', default=None) + redundant: bool | None = Field(validation_alias='redundant', default=None) + reservations: list[_results.ExtnetItemReservation] | None = Field(validation_alias='reservations', default=None) + sec_vnf_dev_id: int | None = Field(validation_alias='secVnfDevId', default=None) + shared_with: list[int] | None = Field(validation_alias='sharedWith', default=None) + status: str | None = Field(validation_alias='status', default=None) + vlan_id: int | None = Field(validation_alias='vlanId', default=None) + vnfs: Vnfs | None = Field(validation_alias='vnfs', default=None) + zone_id: int | None = Field(validation_alias='zoneId', default=None) + + +class Result(_ResultModel): + record: Record | None = Field(validation_alias='record', default=None) + + +class DynamixExtnetGetResult(_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 DynamixExtnetGetImpl(_APIOperationImpl): + path = '/api/v1/dynamix/extnet/get' + http_method = HTTPMethod.POST + param_aliases = { + 'net_id': 'netId', + } + + def __call__( + self, + *, + net_id: int, + ) -> DynamixExtnetGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/extnet/list.py b/src/digital_energy_sdk/api/dynamix/extnet/list.py new file mode 100644 index 0000000..c7c801f --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/extnet/list.py @@ -0,0 +1,40 @@ +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 results as _results + + +class RecordsItem(_ResultModel): + 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) + status: str | None = Field(validation_alias='status', default=None) + + +class Result(_ResultModel): + records: list[RecordsItem] | None = Field(validation_alias='records', default=None) + + +class DynamixExtnetListResult(_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 DynamixExtnetListImpl(_APIOperationImpl): + path = '/api/v1/dynamix/extnet/list' + http_method = HTTPMethod.POST + param_aliases = {} + + def __call__( + self, + ) -> DynamixExtnetListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/get_version.py b/src/digital_energy_sdk/api/dynamix/get_version.py new file mode 100644 index 0000000..1a6e048 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/get_version.py @@ -0,0 +1,33 @@ +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 results as _results + + +class Result(_ResultModel): + record: _results.InternalDxlogicIotypeVersion | None = Field(validation_alias='record', default=None) + + +class DynamixGetVersionResult(_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 DynamixGetVersionImpl(_APIOperationImpl): + path = '/api/v1/dynamix/getVersion' + http_method = HTTPMethod.POST + param_aliases = {} + + def __call__( + self, + ) -> DynamixGetVersionResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/image/__init__.py b/src/digital_energy_sdk/api/dynamix/image/__init__.py new file mode 100644 index 0000000..b450990 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/image/__init__.py @@ -0,0 +1,4 @@ +from ._group import DynamixImageImpl + + +__all__ = ['DynamixImageImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/image/_group.py b/src/digital_energy_sdk/api/dynamix/image/_group.py new file mode 100644 index 0000000..cf0408a --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/image/_group.py @@ -0,0 +1,15 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .get import DynamixImageGetImpl +from .list import DynamixImageListImpl + + +class DynamixImageImpl(APIOperationGroupImpl): + @cached_property + def get(self) -> DynamixImageGetImpl: + return DynamixImageGetImpl(config=self._config) + + @cached_property + def list(self) -> DynamixImageListImpl: + return DynamixImageListImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/dynamix/image/get.py b/src/digital_energy_sdk/api/dynamix/image/get.py new file mode 100644 index 0000000..d746484 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/image/get.py @@ -0,0 +1,88 @@ +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 results as _results + + +class HistoryItem(_ResultModel): + guid: str | None = Field(validation_alias='guid', default=None) + id: int | None = Field(validation_alias='id', default=None) + timestamp: int | None = Field(validation_alias='timestamp', default=None) + + +class Record(_ResultModel): + unc_path: str | None = Field(validation_alias='UNCPath', default=None) + account_id: int | None = Field(validation_alias='accountId', default=None) + acl: Any | None = Field(validation_alias='acl', default=None) + architecture: str | None = Field(validation_alias='architecture', default=None) + boot_type: str | None = Field(validation_alias='bootType', default=None) + bootable: bool | None = Field(validation_alias='bootable', default=None) + cd_presented_to: Any | None = Field(validation_alias='cdPresentedTo', default=None) + computeci_id: int | None = Field(validation_alias='computeciId', default=None) + deleted_time: int | None = Field(validation_alias='deletedTime', default=None) + desc: str | None = Field(validation_alias='desc', default=None) + drivers: list[str] | None = Field(validation_alias='drivers', default=None) + enabled: bool | None = Field(validation_alias='enabled', default=None) + gid: int | None = Field(validation_alias='gid', default=None) + guid: int | None = Field(validation_alias='guid', default=None) + history: list[HistoryItem] | None = Field(validation_alias='history', default=None) + hot_resize: bool | None = Field(validation_alias='hotResize', default=None) + id: int | None = Field(validation_alias='id', default=None) + independent: bool | None = Field(validation_alias='independent', default=None) + last_modified: int | None = Field(validation_alias='lastModified', default=None) + link_to: int | None = Field(validation_alias='linkTo', default=None) + links_to: list[int] | None = Field(validation_alias='linksTo', default=None) + milestones: int | None = Field(validation_alias='milestones', default=None) + name: str | None = Field(validation_alias='name', default=None) + network_interface_naming: str | None = Field(validation_alias='networkInterfaceNaming', default=None) + password: str | None = Field(validation_alias='password', default=None) + pool: str | None = Field(validation_alias='pool', default=None) + present_to: dict[Any, Any] | None = Field(validation_alias='presentTo', default=None) + provider_name: str | None = Field(validation_alias='provider_name', default=None) + purge_attempts: int | None = Field(validation_alias='purgeAttempts', default=None) + res_id: str | None = Field(validation_alias='resId', default=None) + rescuecd: bool | None = Field(validation_alias='rescuecd', default=None) + sep_id: int | None = Field(validation_alias='sepId', default=None) + shared_with: list[int] | None = Field(validation_alias='sharedWith', default=None) + size: int | None = Field(validation_alias='size', default=None) + snapshot_id: str | None = Field(validation_alias='snapshotId', default=None) + status: str | None = Field(validation_alias='status', default=None) + storage_policy_id: int | None = Field(validation_alias='storage_policy_id', default=None) + tech_status: str | None = Field(validation_alias='techStatus', default=None) + to_clean: bool | None = Field(validation_alias='to_clean', default=None) + type: str | None = Field(validation_alias='type', default=None) + username: str | None = Field(validation_alias='username', default=None) + version: str | None = Field(validation_alias='version', default=None) + + +class Result(_ResultModel): + record: Record | None = Field(validation_alias='record', default=None) + + +class DynamixImageGetResult(_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 DynamixImageGetImpl(_APIOperationImpl): + path = '/api/v1/dynamix/image/get' + http_method = HTTPMethod.POST + param_aliases = { + 'image_id': 'imageId', + } + + def __call__( + self, + *, + image_id: int, + ) -> DynamixImageGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/image/list.py b/src/digital_energy_sdk/api/dynamix/image/list.py new file mode 100644 index 0000000..b655a9c --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/image/list.py @@ -0,0 +1,56 @@ +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 results as _results + + +class RecordsItem(_ResultModel): + account_id: int | None = Field(validation_alias='accountId', default=None) + architecture: str | None = Field(validation_alias='architecture', default=None) + boot_type: str | None = Field(validation_alias='bootType', default=None) + bootable: bool | None = Field(validation_alias='bootable', default=None) + cdrom: bool | None = Field(validation_alias='cdrom', default=None) + desc: str | None = Field(validation_alias='desc', default=None) + drivers: list[str] | None = Field(validation_alias='drivers', default=None) + hot_resize: bool | None = Field(validation_alias='hotResize', default=None) + id: int | None = Field(validation_alias='id', default=None) + link_to: int | None = Field(validation_alias='linkTo', default=None) + name: str | None = Field(validation_alias='name', default=None) + network_interface_naming: str | None = Field(validation_alias='networkInterfaceNaming', default=None) + pool: str | None = Field(validation_alias='pool', default=None) + sep_id: int | None = Field(validation_alias='sepId', default=None) + size: int | None = Field(validation_alias='size', default=None) + status: str | None = Field(validation_alias='status', default=None) + storage_policy_id: int | None = Field(validation_alias='storage_policy_id', default=None) + type: str | None = Field(validation_alias='type', default=None) + username: str | None = Field(validation_alias='username', default=None) + virtual: bool | None = Field(validation_alias='virtual', default=None) + + +class Result(_ResultModel): + records: list[RecordsItem] | None = Field(validation_alias='records', default=None) + + +class DynamixImageListResult(_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 DynamixImageListImpl(_APIOperationImpl): + path = '/api/v1/dynamix/image/list' + http_method = HTTPMethod.POST + param_aliases = {} + + def __call__( + self, + ) -> DynamixImageListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/k8ci/__init__.py b/src/digital_energy_sdk/api/dynamix/k8ci/__init__.py new file mode 100644 index 0000000..8331707 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/k8ci/__init__.py @@ -0,0 +1,4 @@ +from ._group import DynamixK8ciImpl + + +__all__ = ['DynamixK8ciImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/k8ci/_group.py b/src/digital_energy_sdk/api/dynamix/k8ci/_group.py new file mode 100644 index 0000000..e276439 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/k8ci/_group.py @@ -0,0 +1,15 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .get import DynamixK8ciGetImpl +from .list import DynamixK8ciListImpl + + +class DynamixK8ciImpl(APIOperationGroupImpl): + @cached_property + def get(self) -> DynamixK8ciGetImpl: + return DynamixK8ciGetImpl(config=self._config) + + @cached_property + def list(self) -> DynamixK8ciListImpl: + return DynamixK8ciListImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/dynamix/k8ci/get.py b/src/digital_energy_sdk/api/dynamix/k8ci/get.py new file mode 100644 index 0000000..5c1a7f6 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/k8ci/get.py @@ -0,0 +1,45 @@ +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 results as _results + + +class Record(_ResultModel): + desc: str | None = Field(validation_alias='desc', default=None) + id: int | None = Field(validation_alias='id', default=None) + name: str | None = Field(validation_alias='name', default=None) + network_plugins: list[str] | None = Field(validation_alias='networkPlugins', default=None) + version: str | None = Field(validation_alias='version', default=None) + + +class Result(_ResultModel): + record: Record | None = Field(validation_alias='record', default=None) + + +class DynamixK8ciGetResult(_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 DynamixK8ciGetImpl(_APIOperationImpl): + path = '/api/v1/dynamix/k8ci/get' + http_method = HTTPMethod.POST + param_aliases = { + 'k8ci_id': 'k8ciId', + } + + def __call__( + self, + *, + k8ci_id: int, + ) -> DynamixK8ciGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/k8ci/list.py b/src/digital_energy_sdk/api/dynamix/k8ci/list.py new file mode 100644 index 0000000..d4e85d2 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/k8ci/list.py @@ -0,0 +1,38 @@ +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 results as _results + + +class RecordsItem(_ResultModel): + id: int | None = Field(validation_alias='id', default=None) + name: str | None = Field(validation_alias='name', default=None) + + +class Result(_ResultModel): + records: list[RecordsItem] | None = Field(validation_alias='records', default=None) + + +class DynamixK8ciListResult(_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 DynamixK8ciListImpl(_APIOperationImpl): + path = '/api/v1/dynamix/k8ci/list' + http_method = HTTPMethod.POST + param_aliases = {} + + def __call__( + self, + ) -> DynamixK8ciListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/rg/__init__.py b/src/digital_energy_sdk/api/dynamix/rg/__init__.py new file mode 100644 index 0000000..13a64fb --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/rg/__init__.py @@ -0,0 +1,4 @@ +from ._group import DynamixRgImpl + + +__all__ = ['DynamixRgImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/rg/_group.py b/src/digital_energy_sdk/api/dynamix/rg/_group.py new file mode 100644 index 0000000..14fd046 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/rg/_group.py @@ -0,0 +1,15 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .get import DynamixRgGetImpl +from .list import DynamixRgListImpl + + +class DynamixRgImpl(APIOperationGroupImpl): + @cached_property + def get(self) -> DynamixRgGetImpl: + return DynamixRgGetImpl(config=self._config) + + @cached_property + def list(self) -> DynamixRgListImpl: + return DynamixRgListImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/dynamix/rg/get.py b/src/digital_energy_sdk/api/dynamix/rg/get.py new file mode 100644 index 0000000..c5ab4ab --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/rg/get.py @@ -0,0 +1,96 @@ +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 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[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) + 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: 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) + 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): + record: Record | None = Field(validation_alias='record', default=None) + + +class DynamixRgGetResult(_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 DynamixRgGetImpl(_APIOperationImpl): + path = '/api/v1/dynamix/rg/get' + http_method = HTTPMethod.POST + param_aliases = { + 'rg_id': 'rgId', + } + + def __call__( + self, + *, + rg_id: int, + ) -> DynamixRgGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/rg/list.py b/src/digital_energy_sdk/api/dynamix/rg/list.py new file mode 100644 index 0000000..00d3ae0 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/rg/list.py @@ -0,0 +1,39 @@ +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 results as _results + + +class RecordsItem(_ResultModel): + account_id: int | None = Field(validation_alias='accountId', default=None) + id: int | None = Field(validation_alias='id', default=None) + name: str | None = Field(validation_alias='name', default=None) + + +class Result(_ResultModel): + records: list[RecordsItem] | None = Field(validation_alias='records', default=None) + + +class DynamixRgListResult(_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 DynamixRgListImpl(_APIOperationImpl): + path = '/api/v1/dynamix/rg/list' + http_method = HTTPMethod.POST + param_aliases = {} + + def __call__( + self, + ) -> DynamixRgListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/sp/__init__.py b/src/digital_energy_sdk/api/dynamix/sp/__init__.py new file mode 100644 index 0000000..fe8389f --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/sp/__init__.py @@ -0,0 +1,4 @@ +from ._group import DynamixSpImpl + + +__all__ = ['DynamixSpImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/sp/_group.py b/src/digital_energy_sdk/api/dynamix/sp/_group.py new file mode 100644 index 0000000..97e227c --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/sp/_group.py @@ -0,0 +1,10 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .list import DynamixSpListImpl + + +class DynamixSpImpl(APIOperationGroupImpl): + @cached_property + def list(self) -> DynamixSpListImpl: + return DynamixSpListImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/dynamix/sp/list.py b/src/digital_energy_sdk/api/dynamix/sp/list.py new file mode 100644 index 0000000..f514368 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/sp/list.py @@ -0,0 +1,52 @@ +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 results as _results + + +class AccessSepsPoolsItem(_ResultModel): + pool_names: list[str] | None = Field(validation_alias='pool_names', default=None) + sep_id: int | None = Field(validation_alias='sep_id', default=None) + sep_name: str | None = Field(validation_alias='sep_name', default=None) + + +class RecordsItem(_ResultModel): + access_seps_pools: list[AccessSepsPoolsItem] | None = Field(validation_alias='access_seps_pools', default=None) + id: int | None = Field(validation_alias='id', default=None) + name: str | None = Field(validation_alias='name', default=None) + + +class Result(_ResultModel): + dx_version: _results.InternalDxlogicIotypeVersion | None = Field(validation_alias='dxVersion', default=None) + records: list[RecordsItem] | None = Field(validation_alias='records', default=None) + + +class DynamixSpListResult(_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 DynamixSpListImpl(_APIOperationImpl): + path = '/api/v1/dynamix/sp/list' + http_method = HTTPMethod.POST + param_aliases = { + 'account_id': 'accountId', + 'resource_group_id': 'resourceGroupId', + } + + def __call__( + self, + *, + account_id: int | None = None, + resource_group_id: int | None = None, + ) -> DynamixSpListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/task/__init__.py b/src/digital_energy_sdk/api/dynamix/task/__init__.py new file mode 100644 index 0000000..dbd6852 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/task/__init__.py @@ -0,0 +1,4 @@ +from ._group import DynamixTaskImpl + + +__all__ = ['DynamixTaskImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/task/_group.py b/src/digital_energy_sdk/api/dynamix/task/_group.py new file mode 100644 index 0000000..99ab8c1 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/task/_group.py @@ -0,0 +1,15 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .get import DynamixTaskGetImpl +from .list import DynamixTaskListImpl + + +class DynamixTaskImpl(APIOperationGroupImpl): + @cached_property + def get(self) -> DynamixTaskGetImpl: + return DynamixTaskGetImpl(config=self._config) + + @cached_property + def list(self) -> DynamixTaskListImpl: + return DynamixTaskListImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/dynamix/task/get.py b/src/digital_energy_sdk/api/dynamix/task/get.py new file mode 100644 index 0000000..6613627 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/task/get.py @@ -0,0 +1,50 @@ +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 results as _results + + +class Record(_ResultModel): + audit_id: str | None = Field(validation_alias='auditId', default=None) + completed: bool | None = Field(validation_alias='completed', default=None) + error: str | None = Field(validation_alias='error', default=None) + log: list[str] | None = Field(validation_alias='log', default=None) + result: Any | None = Field(validation_alias='result', default=None) + stage: str | None = Field(validation_alias='stage', default=None) + status: str | None = Field(validation_alias='status', default=None) + update_time: int | None = Field(validation_alias='updateTime', default=None) + updated_by: str | None = Field(validation_alias='updatedBy', default=None) + updated_time: int | None = Field(validation_alias='updatedTime', default=None) + + +class Result(_ResultModel): + record: Record | None = Field(validation_alias='record', default=None) + + +class DynamixTaskGetResult(_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 DynamixTaskGetImpl(_APIOperationImpl): + path = '/api/v1/dynamix/task/get' + http_method = HTTPMethod.POST + param_aliases = { + 'task_id': 'taskId', + } + + def __call__( + self, + *, + task_id: str, + ) -> DynamixTaskGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/task/list.py b/src/digital_energy_sdk/api/dynamix/task/list.py new file mode 100644 index 0000000..52cbfd8 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/task/list.py @@ -0,0 +1,46 @@ +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 results as _results + + +class RecordsItem(_ResultModel): + audit_id: str | None = Field(validation_alias='auditId', default=None) + completed: bool | None = Field(validation_alias='completed', default=None) + error: str | None = Field(validation_alias='error', default=None) + log: list[str] | None = Field(validation_alias='log', default=None) + result: Any | None = Field(validation_alias='result', default=None) + stage: str | None = Field(validation_alias='stage', default=None) + status: str | None = Field(validation_alias='status', default=None) + update_time: int | None = Field(validation_alias='updateTime', default=None) + updated_by: str | None = Field(validation_alias='updatedBy', default=None) + updated_time: int | None = Field(validation_alias='updatedTime', default=None) + + +class Result(_ResultModel): + records: list[RecordsItem] | None = Field(validation_alias='records', default=None) + + +class DynamixTaskListResult(_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 DynamixTaskListImpl(_APIOperationImpl): + path = '/api/v1/dynamix/task/list' + http_method = HTTPMethod.POST + param_aliases = {} + + def __call__( + self, + ) -> DynamixTaskListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/vgpu/__init__.py b/src/digital_energy_sdk/api/dynamix/vgpu/__init__.py new file mode 100644 index 0000000..8f37ea3 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/vgpu/__init__.py @@ -0,0 +1,4 @@ +from ._group import DynamixVgpuImpl + + +__all__ = ['DynamixVgpuImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/vgpu/_group.py b/src/digital_energy_sdk/api/dynamix/vgpu/_group.py new file mode 100644 index 0000000..9d8e219 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/vgpu/_group.py @@ -0,0 +1,10 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .list import DynamixVgpuListImpl + + +class DynamixVgpuImpl(APIOperationGroupImpl): + @cached_property + def list(self) -> DynamixVgpuListImpl: + return DynamixVgpuListImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/dynamix/vgpu/list.py b/src/digital_energy_sdk/api/dynamix/vgpu/list.py new file mode 100644 index 0000000..566d4c4 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/vgpu/list.py @@ -0,0 +1,73 @@ +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 results as _results + + +class RecordsItem(_ResultModel): + account_id: int | None = Field(validation_alias='accountId', default=None) + bus_number: int | None = Field(validation_alias='bus_number', default=None) + created_time: int | None = Field(validation_alias='createdTime', default=None) + deleted_time: int | None = Field(validation_alias='deletedTime', 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) + last_claimed_by: int | None = Field(validation_alias='lastClaimedBy', default=None) + last_update_time: int | None = Field(validation_alias='lastUpdateTime', default=None) + mode: str | None = Field(validation_alias='mode', default=None) + pci_slot: int | None = Field(validation_alias='pciSlot', default=None) + pgpuid: int | None = Field(validation_alias='pgpuid', default=None) + profile_id: int | None = Field(validation_alias='profileId', default=None) + ram: int | None = Field(validation_alias='ram', default=None) + reference_id: str | None = Field(validation_alias='referenceId', default=None) + rg_id: int | None = Field(validation_alias='rgId', default=None) + status: str | None = Field(validation_alias='status', default=None) + type: str | None = Field(validation_alias='type', default=None) + vmid: int | None = Field(validation_alias='vmid', default=None) + + +class Result(_ResultModel): + records: list[RecordsItem] | None = Field(validation_alias='records', default=None) + + +class DynamixVgpuListResult(_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 DynamixVgpuListImpl(_APIOperationImpl): + path = '/api/v1/dynamix/vgpu/list' + http_method = HTTPMethod.POST + param_aliases = { + 'rg_id': 'rgId', + 'account_id': 'accountId', + 'compute_id': 'computeId', + 'pgpu_id': 'pgpuId', + 'sort_by': 'sortBy', + } + + def __call__( + self, + *, + by_id: int | None = None, + status: str | None = None, + type: str | None = None, + mode: str | None = None, + rg_id: int | None = None, + account_id: int | None = None, + compute_id: int | None = None, + pgpu_id: int | None = None, + sort_by: str | None = None, + page: int | None = None, + size: int | None = None, + ) -> DynamixVgpuListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/vins/__init__.py b/src/digital_energy_sdk/api/dynamix/vins/__init__.py new file mode 100644 index 0000000..1bc1434 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/vins/__init__.py @@ -0,0 +1,4 @@ +from ._group import DynamixVinsImpl + + +__all__ = ['DynamixVinsImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/vins/_group.py b/src/digital_energy_sdk/api/dynamix/vins/_group.py new file mode 100644 index 0000000..9c68a80 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/vins/_group.py @@ -0,0 +1,15 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .get import DynamixVinsGetImpl +from .list import DynamixVinsListImpl + + +class DynamixVinsImpl(APIOperationGroupImpl): + @cached_property + def get(self) -> DynamixVinsGetImpl: + return DynamixVinsGetImpl(config=self._config) + + @cached_property + def list(self) -> DynamixVinsListImpl: + return DynamixVinsListImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/dynamix/vins/get.py b/src/digital_energy_sdk/api/dynamix/vins/get.py new file mode 100644 index 0000000..eece111 --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/vins/get.py @@ -0,0 +1,274 @@ +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 results as _results + + +class ReservationsItem(_ResultModel): + account_id: int | None = Field(validation_alias='account_id', default=None) + ip: str | None = Field(validation_alias='ip', default=None) + mac: str | None = Field(validation_alias='mac', default=None) + type: str | None = Field(validation_alias='type', default=None) + vm_id: int | None = Field(validation_alias='vmId', default=None) + + +class RulesItem(_ResultModel): + id: int | None = Field(validation_alias='id', default=None) + local_ip: str | None = Field(validation_alias='localIp', default=None) + local_port: int | None = Field(validation_alias='localPort', default=None) + protocol: str | None = Field(validation_alias='protocol', default=None) + public_port_end: int | None = Field(validation_alias='publicPortEnd', default=None) + public_port_start: int | None = Field(validation_alias='publicPortStart', default=None) + vm_id: int | None = Field(validation_alias='vmId', default=None) + vm_name: str | None = Field(validation_alias='vmName', default=None) + + +class Mgmt(_ResultModel): + ipaddr: str | None = Field(validation_alias='ipaddr', default=None) + password: str | None = Field(validation_alias='password', default=None) + sshkey: str | None = Field(validation_alias='sshkey', default=None) + user: str | None = Field(validation_alias='user', default=None) + + +class Resources(_ResultModel): + cpu: int | None = Field(validation_alias='cpu', default=None) + node_id: int | None = Field(validation_alias='node_id', default=None) + ram: int | None = Field(validation_alias='ram', default=None) + uuid: str | None = Field(validation_alias='uuid', default=None) + + +class LibvirtSettings(_ResultModel): + event_idx: str | None = Field(validation_alias='event_idx', default=None) + guid: str | None = Field(validation_alias='guid', default=None) + ioeventfd: str | None = Field(validation_alias='ioeventfd', default=None) + queues: int | None = Field(validation_alias='queues', default=None) + rx_queue_size: int | None = Field(validation_alias='rx_queue_size', default=None) + tx_queue_size: int | None = Field(validation_alias='tx_queue_size', default=None) + txmode: str | None = Field(validation_alias='txmode', default=None) + + +class DHCPConfig(_ResultModel): + default_gw: str | None = Field(validation_alias='default_gw', default=None) + dns: list[str] | None = Field(validation_alias='dns', default=None) + ip_end: str | None = Field(validation_alias='ip_end', default=None) + ip_start: str | None = Field(validation_alias='ip_start', default=None) + lease: int | None = Field(validation_alias='lease', default=None) + netmask: int | None = Field(validation_alias='netmask', default=None) + network: str | None = Field(validation_alias='network', default=None) + reservations: list[ReservationsItem] | None = Field(validation_alias='reservations', default=None) + + +class GWConfig(_ResultModel): + default_gw: str | None = Field(validation_alias='default_gw', default=None) + ext_net_id: int | None = Field(validation_alias='ext_net_id', default=None) + ext_net_ip: str | None = Field(validation_alias='ext_net_ip', default=None) + ext_netmask: int | None = Field(validation_alias='ext_netmask', default=None) + qos: _results.GolangSdkPkgCloudapiVinsQOS | None = Field(validation_alias='qos', default=None) + + +class NATConfig(_ResultModel): + netmask: int | None = Field(validation_alias='netmask', default=None) + network: str | None = Field(validation_alias='network', default=None) + rules: list[RulesItem] | None = Field(validation_alias='rules', default=None) + + +class VNFDevConfig(_ResultModel): + mgmt: Mgmt | None = Field(validation_alias='mgmt', default=None) + resources: Resources | None = Field(validation_alias='resources', default=None) + + +class InterfacesItem(_ResultModel): + bus_number: int | None = Field(validation_alias='bus_number', default=None) + conn_id: int | None = Field(validation_alias='connId', default=None) + conn_type: str | None = Field(validation_alias='connType', default=None) + def_gw: str | None = Field(validation_alias='defGw', default=None) + enable_secgroups: bool | None = Field(validation_alias='enable_secgroups', default=None) + enabled: bool | None = Field(validation_alias='enabled', default=None) + flipgroup_id: int | None = Field(validation_alias='flipgroupId', default=None) + guid: str | None = Field(validation_alias='guid', default=None) + ip_address: str | None = Field(validation_alias='ipAddress', default=None) + libvirt_settings: LibvirtSettings | None = Field(validation_alias='libvirtSettings', default=None) + listen_ssh: bool | None = Field(validation_alias='listenSsh', default=None) + mac: str | None = Field(validation_alias='mac', default=None) + mtu: int | None = Field(validation_alias='mtu', default=None) + name: str | None = Field(validation_alias='name', default=None) + net_id: int | None = Field(validation_alias='netId', default=None) + net_mask: int | None = Field(validation_alias='netMask', default=None) + net_type: str | None = Field(validation_alias='netType', default=None) + node_id: int | None = Field(validation_alias='nodeId', default=None) + pci_slot: int | None = Field(validation_alias='pciSlot', default=None) + qos: _results.GolangSdkPkgCloudapiVinsQOS | None = Field(validation_alias='qos', default=None) + sdn_interface_id: str | None = Field(validation_alias='sdn_interface_id', default=None) + security_groups: list[int] | None = Field(validation_alias='security_groups', default=None) + target: str | None = Field(validation_alias='target', default=None) + type: str | None = Field(validation_alias='type', default=None) + vnfs: list[int] | None = Field(validation_alias='vnfs', default=None) + + +class DHCP(_ResultModel): + ckey: str | None = Field(validation_alias='_ckey', default=None) + account_id: int | None = Field(validation_alias='accountId', default=None) + config: DHCPConfig | None = Field(validation_alias='config', default=None) + created_time: int | None = Field(validation_alias='createdTime', default=None) + devices: _results.CloudapiVinsRecordDevices | None = Field(validation_alias='devices', 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) + owner_id: int | None = Field(validation_alias='ownerId', default=None) + owner_type: str | None = Field(validation_alias='ownerType', default=None) + pure_virtual: bool | None = Field(validation_alias='pureVirtual', default=None) + routes: list[_results.PkgCloudapiVinsItemRoutes] | None = Field(validation_alias='routes', default=None) + status: str | None = Field(validation_alias='status', default=None) + tech_status: str | None = Field(validation_alias='techStatus', default=None) + type: str | None = Field(validation_alias='type', default=None) + zone_id: int | None = Field(validation_alias='zoneId', default=None) + + +class GW(_ResultModel): + ckey: str | None = Field(validation_alias='_ckey', default=None) + account_id: int | None = Field(validation_alias='accountId', default=None) + config: GWConfig | None = Field(validation_alias='config', default=None) + created_time: int | None = Field(validation_alias='createdTime', default=None) + devices: _results.CloudapiVinsRecordDevices | None = Field(validation_alias='devices', 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) + owner_id: int | None = Field(validation_alias='ownerId', default=None) + owner_type: str | None = Field(validation_alias='ownerType', default=None) + pure_virtual: bool | None = Field(validation_alias='pureVirtual', default=None) + routes: list[_results.PkgCloudapiVinsItemRoutes] | None = Field(validation_alias='routes', default=None) + status: str | None = Field(validation_alias='status', default=None) + tech_status: str | None = Field(validation_alias='techStatus', default=None) + type: str | None = Field(validation_alias='type', default=None) + zone_id: int | None = Field(validation_alias='zoneId', default=None) + + +class NAT(_ResultModel): + ckey: str | None = Field(validation_alias='_ckey', default=None) + account_id: int | None = Field(validation_alias='accountId', default=None) + config: NATConfig | None = Field(validation_alias='config', default=None) + created_time: int | None = Field(validation_alias='createdTime', default=None) + devices: _results.CloudapiVinsRecordDevices | None = Field(validation_alias='devices', 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) + owner_id: int | None = Field(validation_alias='ownerId', default=None) + owner_type: str | None = Field(validation_alias='ownerType', default=None) + pure_virtual: bool | None = Field(validation_alias='pureVirtual', default=None) + routes: list[_results.PkgCloudapiVinsItemRoutes] | None = Field(validation_alias='routes', default=None) + status: str | None = Field(validation_alias='status', default=None) + tech_status: str | None = Field(validation_alias='techStatus', default=None) + type: str | None = Field(validation_alias='type', default=None) + zone_id: int | None = Field(validation_alias='zoneId', default=None) + + +class VNFDev(_ResultModel): + ckey: str | None = Field(validation_alias='_ckey', default=None) + account_id: int | None = Field(validation_alias='accountId', default=None) + capabilities: list[str] | None = Field(validation_alias='capabilities', default=None) + config: VNFDevConfig | None = Field(validation_alias='config', default=None) + config_saved: bool | None = Field(validation_alias='configSaved', default=None) + custom_precfg: bool | None = Field(validation_alias='customPrecfg', default=None) + desc: str | None = Field(validation_alias='desc', 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) + interfaces: list[InterfacesItem] | None = Field(validation_alias='interfaces', default=None) + live_migration_job_id: int | None = Field(validation_alias='live_migration_job_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) + status: str | None = Field(validation_alias='status', default=None) + tech_status: str | None = Field(validation_alias='techStatus', default=None) + type: str | None = Field(validation_alias='type', default=None) + vins: list[int] | None = Field(validation_alias='vins', default=None) + vnc_passwd: str | None = Field(validation_alias='vncPasswd', default=None) + zone_id: int | None = Field(validation_alias='zoneId', default=None) + + +class ComputesItem(_ResultModel): + id: int | None = Field(validation_alias='id', default=None) + name: str | None = Field(validation_alias='name', default=None) + + +class Vnfs(_ResultModel): + dhcp: DHCP | None = Field(validation_alias='DHCP', default=None) + gw: GW | None = Field(validation_alias='GW', default=None) + nat: NAT | None = Field(validation_alias='NAT', default=None) + + +class Record(_ResultModel): + vnf_dev: VNFDev | None = Field(validation_alias='VNFDev', default=None) + account_id: int | None = Field(validation_alias='accountId', default=None) + account_name: str | None = Field(validation_alias='accountName', default=None) + computes: list[ComputesItem] | None = Field(validation_alias='computes', default=None) + created_by: str | None = Field(validation_alias='createdBy', default=None) + created_time: int | None = Field(validation_alias='createdTime', default=None) + default_gw: str | None = Field(validation_alias='defaultGW', default=None) + default_qos: _results.GolangSdkPkgCloudapiVinsQOS | None = Field(validation_alias='defaultQos', 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) + enable_default_gateway: bool | None = Field(validation_alias='enable_default_gateway', default=None) + enable_secgroups: bool | None = Field(validation_alias='enable_secgroups', 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) + manager_id: int | None = Field(validation_alias='managerId', default=None) + manager_type: str | None = Field(validation_alias='managerType', default=None) + milestones: int | None = Field(validation_alias='milestones', default=None) + name: str | None = Field(validation_alias='name', default=None) + net_mask: int | None = Field(validation_alias='netMask', default=None) + network: str | None = Field(validation_alias='network', default=None) + pre_reservations_num: int | None = Field(validation_alias='preReservationsNum', default=None) + redundant: bool | None = Field(validation_alias='redundant', default=None) + rg_id: int | None = Field(validation_alias='rgId', default=None) + rg_name: str | None = Field(validation_alias='rgName', default=None) + sec_vnf_dev_id: int | None = Field(validation_alias='secVnfDevId', 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) + user_managed: bool | None = Field(validation_alias='userManaged', default=None) + vnfs: Vnfs | None = Field(validation_alias='vnfs', default=None) + vxlan_id: int | None = Field(validation_alias='vxlanId', default=None) + zone_id: int | None = Field(validation_alias='zoneId', default=None) + + +class Result(_ResultModel): + record: Record | None = Field(validation_alias='record', default=None) + + +class DynamixVinsGetResult(_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 DynamixVinsGetImpl(_APIOperationImpl): + path = '/api/v1/dynamix/vins/get' + http_method = HTTPMethod.POST + param_aliases = { + 'vins_id': 'vinsId', + } + + def __call__( + self, + *, + vins_id: int, + ) -> DynamixVinsGetResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/dynamix/vins/list.py b/src/digital_energy_sdk/api/dynamix/vins/list.py new file mode 100644 index 0000000..2e8e89a --- /dev/null +++ b/src/digital_energy_sdk/api/dynamix/vins/list.py @@ -0,0 +1,45 @@ +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 results as _results + + +class RecordsItem(_ResultModel): + extnet_id: int | None = Field(validation_alias='extnetId', default=None) + id: int | None = Field(validation_alias='id', default=None) + network: str | None = Field(validation_alias='network', default=None) + rg_id: int | None = Field(validation_alias='rgId', default=None) + status: str | None = Field(validation_alias='status', default=None) + + +class Result(_ResultModel): + records: list[RecordsItem] | None = Field(validation_alias='records', default=None) + + +class DynamixVinsListResult(_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 DynamixVinsListImpl(_APIOperationImpl): + path = '/api/v1/dynamix/vins/list' + http_method = HTTPMethod.POST + param_aliases = { + 'rg_id': 'rgId', + } + + def __call__( + self, + *, + rg_id: int | None = None, + ) -> DynamixVinsListResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/openid/__init__.py b/src/digital_energy_sdk/api/openid/__init__.py new file mode 100644 index 0000000..2b03341 --- /dev/null +++ b/src/digital_energy_sdk/api/openid/__init__.py @@ -0,0 +1,4 @@ +from ._group import OpenidImpl + + +__all__ = ['OpenidImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/openid/_group.py b/src/digital_energy_sdk/api/openid/_group.py new file mode 100644 index 0000000..11499c3 --- /dev/null +++ b/src/digital_energy_sdk/api/openid/_group.py @@ -0,0 +1,10 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .status import OpenidStatusImpl + + +class OpenidImpl(APIOperationGroupImpl): + @cached_property + def status(self) -> OpenidStatusImpl: + return OpenidStatusImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/openid/status.py b/src/digital_energy_sdk/api/openid/status.py new file mode 100644 index 0000000..4a27399 --- /dev/null +++ b/src/digital_energy_sdk/api/openid/status.py @@ -0,0 +1,38 @@ +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 results as _results + + +class OpenIdStatusesItem(_ResultModel): + enabled: bool | None = Field(validation_alias='enabled', default=None) + name: str | None = Field(validation_alias='name', default=None) + + +class Result(_ResultModel): + open_id_statuses: list[OpenIdStatusesItem] | None = Field(validation_alias='openIdStatuses', default=None) + + +class OpenidStatusResult(_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 OpenidStatusImpl(_APIOperationImpl): + path = '/api/v1/openid/status' + http_method = HTTPMethod.GET + param_aliases = {} + + def __call__( + self, + ) -> OpenidStatusResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/prod/__init__.py b/src/digital_energy_sdk/api/prod/__init__.py new file mode 100644 index 0000000..17a8818 --- /dev/null +++ b/src/digital_energy_sdk/api/prod/__init__.py @@ -0,0 +1,4 @@ +from ._group import ProdImpl + + +__all__ = ['ProdImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/prod/_group.py b/src/digital_energy_sdk/api/prod/_group.py new file mode 100644 index 0000000..082fc00 --- /dev/null +++ b/src/digital_energy_sdk/api/prod/_group.py @@ -0,0 +1,40 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .dependency_track import ProdDependencyTrackImpl +from .gitlab import ProdGitlabImpl +from .harbor import ProdHarborImpl +from .jenkins import ProdJenkinsImpl +from .nexus import ProdNexusImpl +from .redmine import ProdRedmineImpl +from .sonarqube import ProdSonarqubeImpl + + +class ProdImpl(APIOperationGroupImpl): + @cached_property + def dependency_track(self) -> ProdDependencyTrackImpl: + return ProdDependencyTrackImpl(config=self._config) + + @cached_property + def gitlab(self) -> ProdGitlabImpl: + return ProdGitlabImpl(config=self._config) + + @cached_property + def harbor(self) -> ProdHarborImpl: + return ProdHarborImpl(config=self._config) + + @cached_property + def jenkins(self) -> ProdJenkinsImpl: + return ProdJenkinsImpl(config=self._config) + + @cached_property + def nexus(self) -> ProdNexusImpl: + return ProdNexusImpl(config=self._config) + + @cached_property + def redmine(self) -> ProdRedmineImpl: + return ProdRedmineImpl(config=self._config) + + @cached_property + def sonarqube(self) -> ProdSonarqubeImpl: + return ProdSonarqubeImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/prod/dependency_track/__init__.py b/src/digital_energy_sdk/api/prod/dependency_track/__init__.py new file mode 100644 index 0000000..0d58501 --- /dev/null +++ b/src/digital_energy_sdk/api/prod/dependency_track/__init__.py @@ -0,0 +1,4 @@ +from ._group import ProdDependencyTrackImpl + + +__all__ = ['ProdDependencyTrackImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/prod/dependency_track/_group.py b/src/digital_energy_sdk/api/prod/dependency_track/_group.py new file mode 100644 index 0000000..74d81bb --- /dev/null +++ b/src/digital_energy_sdk/api/prod/dependency_track/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .create_user import ProdDependencyTrackCreateUserImpl +from .delete_user import ProdDependencyTrackDeleteUserImpl +from .list_users import ProdDependencyTrackListUsersImpl + + +class ProdDependencyTrackImpl(APIOperationGroupImpl): + @cached_property + def create_user(self) -> ProdDependencyTrackCreateUserImpl: + return ProdDependencyTrackCreateUserImpl(config=self._config) + + @cached_property + def delete_user(self) -> ProdDependencyTrackDeleteUserImpl: + return ProdDependencyTrackDeleteUserImpl(config=self._config) + + @cached_property + def list_users(self) -> ProdDependencyTrackListUsersImpl: + return ProdDependencyTrackListUsersImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/prod/dependency_track/create_user.py b/src/digital_energy_sdk/api/prod/dependency_track/create_user.py new file mode 100644 index 0000000..fd82e95 --- /dev/null +++ b/src/digital_energy_sdk/api/prod/dependency_track/create_user.py @@ -0,0 +1,42 @@ +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 results as _results + + +class ProdDependencyTrackCreateUserResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class ProdDependencyTrackCreateUserImpl(_APIOperationImpl): + path = '/api/v1/prod/dependency-track/createUser' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'force_password_change': 'forcePasswordChange', + 'non_expiry_password': 'nonExpiryPassword', + } + + def __call__( + self, + *, + cluster_id: int, + username: str, + password: str, + fullname: str, + email: str, + suspended: bool | None = None, + force_password_change: bool | None = None, + non_expiry_password: bool | None = None, + ) -> ProdDependencyTrackCreateUserResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/prod/dependency_track/delete_user.py b/src/digital_energy_sdk/api/prod/dependency_track/delete_user.py new file mode 100644 index 0000000..27463c7 --- /dev/null +++ b/src/digital_energy_sdk/api/prod/dependency_track/delete_user.py @@ -0,0 +1,34 @@ +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 results as _results + + +class ProdDependencyTrackDeleteUserResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class ProdDependencyTrackDeleteUserImpl(_APIOperationImpl): + path = '/api/v1/prod/dependency-track/deleteUser' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + username: str, + ) -> ProdDependencyTrackDeleteUserResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/prod/dependency_track/list_users.py b/src/digital_energy_sdk/api/prod/dependency_track/list_users.py new file mode 100644 index 0000000..bc157f5 --- /dev/null +++ b/src/digital_energy_sdk/api/prod/dependency_track/list_users.py @@ -0,0 +1,43 @@ +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 results as _results + + +class UsersItem(_ResultModel): + email: str | None = Field(validation_alias='email', default=None) + fullname: str | None = Field(validation_alias='fullname', default=None) + username: str | None = Field(validation_alias='username', default=None) + + +class Result(_ResultModel): + users: list[UsersItem] | None = Field(validation_alias='users', default=None) + + +class ProdDependencyTrackListUsersResult(_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 ProdDependencyTrackListUsersImpl(_APIOperationImpl): + path = '/api/v1/prod/dependency-track/listUsers' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + ) -> ProdDependencyTrackListUsersResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/prod/gitlab/__init__.py b/src/digital_energy_sdk/api/prod/gitlab/__init__.py new file mode 100644 index 0000000..1495e73 --- /dev/null +++ b/src/digital_energy_sdk/api/prod/gitlab/__init__.py @@ -0,0 +1,4 @@ +from ._group import ProdGitlabImpl + + +__all__ = ['ProdGitlabImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/prod/gitlab/_group.py b/src/digital_energy_sdk/api/prod/gitlab/_group.py new file mode 100644 index 0000000..ff5f57b --- /dev/null +++ b/src/digital_energy_sdk/api/prod/gitlab/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .create_user import ProdGitlabCreateUserImpl +from .delete_user import ProdGitlabDeleteUserImpl +from .list_users import ProdGitlabListUsersImpl + + +class ProdGitlabImpl(APIOperationGroupImpl): + @cached_property + def create_user(self) -> ProdGitlabCreateUserImpl: + return ProdGitlabCreateUserImpl(config=self._config) + + @cached_property + def delete_user(self) -> ProdGitlabDeleteUserImpl: + return ProdGitlabDeleteUserImpl(config=self._config) + + @cached_property + def list_users(self) -> ProdGitlabListUsersImpl: + return ProdGitlabListUsersImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/prod/gitlab/create_user.py b/src/digital_energy_sdk/api/prod/gitlab/create_user.py new file mode 100644 index 0000000..3bdf105 --- /dev/null +++ b/src/digital_energy_sdk/api/prod/gitlab/create_user.py @@ -0,0 +1,67 @@ +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 results as _results + + +class ProdGitlabCreateUserResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class ProdGitlabCreateUserImpl(_APIOperationImpl): + path = '/api/v1/prod/gitlab/createUser' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + 'reset_password': 'resetPassword', + 'force_random_password': 'forceRandomPassword', + 'website_url': 'websiteURL', + 'job_title': 'jobTitle', + 'projects_limit': 'projectsLimit', + 'extern_uid': 'externUID', + 'can_create_group': 'canCreateGroup', + 'skip_confirmation': 'skipConfirmation', + 'private_profile': 'privateProfile', + 'theme_id': 'themeID', + } + + def __call__( + self, + *, + cluster_id: int, + username: str, + password: str, + fullname: str, + email: str, + provider: str, + reset_password: bool | None = None, + force_random_password: bool | None = None, + skype: str | None = None, + linkedin: str | None = None, + twitter: str | None = None, + website_url: str | None = None, + organization: str | None = None, + job_title: str | None = None, + projects_limit: int | None = None, + extern_uid: str | None = None, + bio: str | None = None, + location: str | None = None, + admin: bool | None = None, + can_create_group: bool | None = None, + skip_confirmation: bool | None = None, + external: bool | None = None, + private_profile: bool | None = None, + note: str | None = None, + theme_id: int | None = None, + ) -> ProdGitlabCreateUserResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/prod/gitlab/delete_user.py b/src/digital_energy_sdk/api/prod/gitlab/delete_user.py new file mode 100644 index 0000000..982d9a6 --- /dev/null +++ b/src/digital_energy_sdk/api/prod/gitlab/delete_user.py @@ -0,0 +1,34 @@ +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 results as _results + + +class ProdGitlabDeleteUserResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class ProdGitlabDeleteUserImpl(_APIOperationImpl): + path = '/api/v1/prod/gitlab/deleteUser' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + username: str, + ) -> ProdGitlabDeleteUserResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/prod/gitlab/list_users.py b/src/digital_energy_sdk/api/prod/gitlab/list_users.py new file mode 100644 index 0000000..4203c23 --- /dev/null +++ b/src/digital_energy_sdk/api/prod/gitlab/list_users.py @@ -0,0 +1,44 @@ +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 results as _results + + +class UsersItem(_ResultModel): + email: str | None = Field(validation_alias='email', default=None) + fullname: str | None = Field(validation_alias='fullname', default=None) + state: str | None = Field(validation_alias='state', default=None) + username: str | None = Field(validation_alias='username', default=None) + + +class Result(_ResultModel): + users: list[UsersItem] | None = Field(validation_alias='users', default=None) + + +class ProdGitlabListUsersResult(_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 ProdGitlabListUsersImpl(_APIOperationImpl): + path = '/api/v1/prod/gitlab/listUsers' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + ) -> ProdGitlabListUsersResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/prod/harbor/__init__.py b/src/digital_energy_sdk/api/prod/harbor/__init__.py new file mode 100644 index 0000000..55eb978 --- /dev/null +++ b/src/digital_energy_sdk/api/prod/harbor/__init__.py @@ -0,0 +1,4 @@ +from ._group import ProdHarborImpl + + +__all__ = ['ProdHarborImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/prod/harbor/_group.py b/src/digital_energy_sdk/api/prod/harbor/_group.py new file mode 100644 index 0000000..a57ae24 --- /dev/null +++ b/src/digital_energy_sdk/api/prod/harbor/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .create_user import ProdHarborCreateUserImpl +from .delete_user import ProdHarborDeleteUserImpl +from .list_users import ProdHarborListUsersImpl + + +class ProdHarborImpl(APIOperationGroupImpl): + @cached_property + def create_user(self) -> ProdHarborCreateUserImpl: + return ProdHarborCreateUserImpl(config=self._config) + + @cached_property + def delete_user(self) -> ProdHarborDeleteUserImpl: + return ProdHarborDeleteUserImpl(config=self._config) + + @cached_property + def list_users(self) -> ProdHarborListUsersImpl: + return ProdHarborListUsersImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/prod/harbor/create_user.py b/src/digital_energy_sdk/api/prod/harbor/create_user.py new file mode 100644 index 0000000..ffaee04 --- /dev/null +++ b/src/digital_energy_sdk/api/prod/harbor/create_user.py @@ -0,0 +1,38 @@ +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 results as _results + + +class ProdHarborCreateUserResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class ProdHarborCreateUserImpl(_APIOperationImpl): + path = '/api/v1/prod/harbor/createUser' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + username: str, + password: str, + fullname: str, + email: str, + comment: str | None = None, + ) -> ProdHarborCreateUserResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/prod/harbor/delete_user.py b/src/digital_energy_sdk/api/prod/harbor/delete_user.py new file mode 100644 index 0000000..93d58f2 --- /dev/null +++ b/src/digital_energy_sdk/api/prod/harbor/delete_user.py @@ -0,0 +1,34 @@ +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 results as _results + + +class ProdHarborDeleteUserResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class ProdHarborDeleteUserImpl(_APIOperationImpl): + path = '/api/v1/prod/harbor/deleteUser' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + username: str, + ) -> ProdHarborDeleteUserResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/prod/harbor/list_users.py b/src/digital_energy_sdk/api/prod/harbor/list_users.py new file mode 100644 index 0000000..937eaa6 --- /dev/null +++ b/src/digital_energy_sdk/api/prod/harbor/list_users.py @@ -0,0 +1,44 @@ +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 results as _results + + +class UsersItem(_ResultModel): + comment: str | None = Field(validation_alias='comment', default=None) + email: str | None = Field(validation_alias='email', default=None) + fullname: str | None = Field(validation_alias='fullname', default=None) + username: str | None = Field(validation_alias='username', default=None) + + +class Result(_ResultModel): + users: list[UsersItem] | None = Field(validation_alias='users', default=None) + + +class ProdHarborListUsersResult(_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 ProdHarborListUsersImpl(_APIOperationImpl): + path = '/api/v1/prod/harbor/listUsers' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + ) -> ProdHarborListUsersResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/prod/jenkins/__init__.py b/src/digital_energy_sdk/api/prod/jenkins/__init__.py new file mode 100644 index 0000000..eeec6a8 --- /dev/null +++ b/src/digital_energy_sdk/api/prod/jenkins/__init__.py @@ -0,0 +1,4 @@ +from ._group import ProdJenkinsImpl + + +__all__ = ['ProdJenkinsImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/prod/jenkins/_group.py b/src/digital_energy_sdk/api/prod/jenkins/_group.py new file mode 100644 index 0000000..50fb6e8 --- /dev/null +++ b/src/digital_energy_sdk/api/prod/jenkins/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .create_user import ProdJenkinsCreateUserImpl +from .delete_user import ProdJenkinsDeleteUserImpl +from .list_users import ProdJenkinsListUsersImpl + + +class ProdJenkinsImpl(APIOperationGroupImpl): + @cached_property + def create_user(self) -> ProdJenkinsCreateUserImpl: + return ProdJenkinsCreateUserImpl(config=self._config) + + @cached_property + def delete_user(self) -> ProdJenkinsDeleteUserImpl: + return ProdJenkinsDeleteUserImpl(config=self._config) + + @cached_property + def list_users(self) -> ProdJenkinsListUsersImpl: + return ProdJenkinsListUsersImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/prod/jenkins/create_user.py b/src/digital_energy_sdk/api/prod/jenkins/create_user.py new file mode 100644 index 0000000..999508b --- /dev/null +++ b/src/digital_energy_sdk/api/prod/jenkins/create_user.py @@ -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 results as _results + + +class ProdJenkinsCreateUserResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class ProdJenkinsCreateUserImpl(_APIOperationImpl): + path = '/api/v1/prod/jenkins/createUser' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + username: str, + password: str, + fullname: str, + email: str, + ) -> ProdJenkinsCreateUserResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/prod/jenkins/delete_user.py b/src/digital_energy_sdk/api/prod/jenkins/delete_user.py new file mode 100644 index 0000000..a756a31 --- /dev/null +++ b/src/digital_energy_sdk/api/prod/jenkins/delete_user.py @@ -0,0 +1,34 @@ +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 results as _results + + +class ProdJenkinsDeleteUserResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class ProdJenkinsDeleteUserImpl(_APIOperationImpl): + path = '/api/v1/prod/jenkins/deleteUser' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + username: str, + ) -> ProdJenkinsDeleteUserResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/prod/jenkins/list_users.py b/src/digital_energy_sdk/api/prod/jenkins/list_users.py new file mode 100644 index 0000000..7e79daf --- /dev/null +++ b/src/digital_energy_sdk/api/prod/jenkins/list_users.py @@ -0,0 +1,44 @@ +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 results as _results + + +class UsersItem(_ResultModel): + absolute_url: str | None = Field(validation_alias='absoluteUrl', default=None) + fullname: str | None = Field(validation_alias='fullname', default=None) + project: str | None = Field(validation_alias='project', default=None) + username: str | None = Field(validation_alias='username', default=None) + + +class Result(_ResultModel): + users: list[UsersItem] | None = Field(validation_alias='users', default=None) + + +class ProdJenkinsListUsersResult(_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 ProdJenkinsListUsersImpl(_APIOperationImpl): + path = '/api/v1/prod/jenkins/listUsers' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + ) -> ProdJenkinsListUsersResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/prod/nexus/__init__.py b/src/digital_energy_sdk/api/prod/nexus/__init__.py new file mode 100644 index 0000000..c220453 --- /dev/null +++ b/src/digital_energy_sdk/api/prod/nexus/__init__.py @@ -0,0 +1,4 @@ +from ._group import ProdNexusImpl + + +__all__ = ['ProdNexusImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/prod/nexus/_group.py b/src/digital_energy_sdk/api/prod/nexus/_group.py new file mode 100644 index 0000000..72a2597 --- /dev/null +++ b/src/digital_energy_sdk/api/prod/nexus/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .create_user import ProdNexusCreateUserImpl +from .delete_user import ProdNexusDeleteUserImpl +from .list_users import ProdNexusListUsersImpl + + +class ProdNexusImpl(APIOperationGroupImpl): + @cached_property + def create_user(self) -> ProdNexusCreateUserImpl: + return ProdNexusCreateUserImpl(config=self._config) + + @cached_property + def delete_user(self) -> ProdNexusDeleteUserImpl: + return ProdNexusDeleteUserImpl(config=self._config) + + @cached_property + def list_users(self) -> ProdNexusListUsersImpl: + return ProdNexusListUsersImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/prod/nexus/create_user.py b/src/digital_energy_sdk/api/prod/nexus/create_user.py new file mode 100644 index 0000000..8eb2b71 --- /dev/null +++ b/src/digital_energy_sdk/api/prod/nexus/create_user.py @@ -0,0 +1,46 @@ +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 results as _results + + +class Status(Enum): + ACTIVE = 'active' + DISABLED = 'disabled' + + +class ProdNexusCreateUserResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class ProdNexusCreateUserImpl(_APIOperationImpl): + path = '/api/v1/prod/nexus/createUser' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + username: str, + password: str, + firstname: str, + lastname: str, + email: str, + status: Status, + source: str, + roles: list[str], + ) -> ProdNexusCreateUserResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/prod/nexus/delete_user.py b/src/digital_energy_sdk/api/prod/nexus/delete_user.py new file mode 100644 index 0000000..d93de7c --- /dev/null +++ b/src/digital_energy_sdk/api/prod/nexus/delete_user.py @@ -0,0 +1,34 @@ +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 results as _results + + +class ProdNexusDeleteUserResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class ProdNexusDeleteUserImpl(_APIOperationImpl): + path = '/api/v1/prod/nexus/deleteUser' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + username: str, + ) -> ProdNexusDeleteUserResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/prod/nexus/list_users.py b/src/digital_energy_sdk/api/prod/nexus/list_users.py new file mode 100644 index 0000000..cd2bb7d --- /dev/null +++ b/src/digital_energy_sdk/api/prod/nexus/list_users.py @@ -0,0 +1,43 @@ +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 results as _results + + +class UsersItem(_ResultModel): + email: str | None = Field(validation_alias='email', default=None) + fullname: str | None = Field(validation_alias='fullname', default=None) + username: str | None = Field(validation_alias='username', default=None) + + +class Result(_ResultModel): + users: list[UsersItem] | None = Field(validation_alias='users', default=None) + + +class ProdNexusListUsersResult(_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 ProdNexusListUsersImpl(_APIOperationImpl): + path = '/api/v1/prod/nexus/listUsers' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + ) -> ProdNexusListUsersResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/prod/redmine/__init__.py b/src/digital_energy_sdk/api/prod/redmine/__init__.py new file mode 100644 index 0000000..151b11b --- /dev/null +++ b/src/digital_energy_sdk/api/prod/redmine/__init__.py @@ -0,0 +1,4 @@ +from ._group import ProdRedmineImpl + + +__all__ = ['ProdRedmineImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/prod/redmine/_group.py b/src/digital_energy_sdk/api/prod/redmine/_group.py new file mode 100644 index 0000000..ee54738 --- /dev/null +++ b/src/digital_energy_sdk/api/prod/redmine/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .create_user import ProdRedmineCreateUserImpl +from .delete_user import ProdRedmineDeleteUserImpl +from .list_users import ProdRedmineListUsersImpl + + +class ProdRedmineImpl(APIOperationGroupImpl): + @cached_property + def create_user(self) -> ProdRedmineCreateUserImpl: + return ProdRedmineCreateUserImpl(config=self._config) + + @cached_property + def delete_user(self) -> ProdRedmineDeleteUserImpl: + return ProdRedmineDeleteUserImpl(config=self._config) + + @cached_property + def list_users(self) -> ProdRedmineListUsersImpl: + return ProdRedmineListUsersImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/prod/redmine/create_user.py b/src/digital_energy_sdk/api/prod/redmine/create_user.py new file mode 100644 index 0000000..579142d --- /dev/null +++ b/src/digital_energy_sdk/api/prod/redmine/create_user.py @@ -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 results as _results + + +class ProdRedmineCreateUserResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class ProdRedmineCreateUserImpl(_APIOperationImpl): + path = '/api/v1/prod/redmine/createUser' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + username: str, + password: str, + fullname: str, + email: str, + ) -> ProdRedmineCreateUserResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/prod/redmine/delete_user.py b/src/digital_energy_sdk/api/prod/redmine/delete_user.py new file mode 100644 index 0000000..0081216 --- /dev/null +++ b/src/digital_energy_sdk/api/prod/redmine/delete_user.py @@ -0,0 +1,34 @@ +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 results as _results + + +class ProdRedmineDeleteUserResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class ProdRedmineDeleteUserImpl(_APIOperationImpl): + path = '/api/v1/prod/redmine/deleteUser' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + username: str, + ) -> ProdRedmineDeleteUserResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/prod/redmine/list_users.py b/src/digital_energy_sdk/api/prod/redmine/list_users.py new file mode 100644 index 0000000..1445272 --- /dev/null +++ b/src/digital_energy_sdk/api/prod/redmine/list_users.py @@ -0,0 +1,45 @@ +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 results as _results + + +class UsersItem(_ResultModel): + email: str | None = Field(validation_alias='email', default=None) + fullname: str | None = Field(validation_alias='fullname', default=None) + local: bool | None = Field(validation_alias='local', default=None) + scm_accounts: list[str] | None = Field(validation_alias='scmAccounts', default=None) + username: str | None = Field(validation_alias='username', default=None) + + +class Result(_ResultModel): + users: list[UsersItem] | None = Field(validation_alias='users', default=None) + + +class ProdRedmineListUsersResult(_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 ProdRedmineListUsersImpl(_APIOperationImpl): + path = '/api/v1/prod/redmine/listUsers' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + ) -> ProdRedmineListUsersResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/prod/sonarqube/__init__.py b/src/digital_energy_sdk/api/prod/sonarqube/__init__.py new file mode 100644 index 0000000..4a10686 --- /dev/null +++ b/src/digital_energy_sdk/api/prod/sonarqube/__init__.py @@ -0,0 +1,4 @@ +from ._group import ProdSonarqubeImpl + + +__all__ = ['ProdSonarqubeImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/prod/sonarqube/_group.py b/src/digital_energy_sdk/api/prod/sonarqube/_group.py new file mode 100644 index 0000000..4ea9f4d --- /dev/null +++ b/src/digital_energy_sdk/api/prod/sonarqube/_group.py @@ -0,0 +1,20 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .create_user import ProdSonarqubeCreateUserImpl +from .delete_user import ProdSonarqubeDeleteUserImpl +from .list_users import ProdSonarqubeListUsersImpl + + +class ProdSonarqubeImpl(APIOperationGroupImpl): + @cached_property + def create_user(self) -> ProdSonarqubeCreateUserImpl: + return ProdSonarqubeCreateUserImpl(config=self._config) + + @cached_property + def delete_user(self) -> ProdSonarqubeDeleteUserImpl: + return ProdSonarqubeDeleteUserImpl(config=self._config) + + @cached_property + def list_users(self) -> ProdSonarqubeListUsersImpl: + return ProdSonarqubeListUsersImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/prod/sonarqube/create_user.py b/src/digital_energy_sdk/api/prod/sonarqube/create_user.py new file mode 100644 index 0000000..f752b98 --- /dev/null +++ b/src/digital_energy_sdk/api/prod/sonarqube/create_user.py @@ -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 results as _results + + +class ProdSonarqubeCreateUserResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class ProdSonarqubeCreateUserImpl(_APIOperationImpl): + path = '/api/v1/prod/sonarqube/createUser' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + username: str, + password: str, + fullname: str, + email: str, + ) -> ProdSonarqubeCreateUserResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/prod/sonarqube/delete_user.py b/src/digital_energy_sdk/api/prod/sonarqube/delete_user.py new file mode 100644 index 0000000..62c2d83 --- /dev/null +++ b/src/digital_energy_sdk/api/prod/sonarqube/delete_user.py @@ -0,0 +1,34 @@ +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 results as _results + + +class ProdSonarqubeDeleteUserResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class ProdSonarqubeDeleteUserImpl(_APIOperationImpl): + path = '/api/v1/prod/sonarqube/deleteUser' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + username: str, + ) -> ProdSonarqubeDeleteUserResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/prod/sonarqube/list_users.py b/src/digital_energy_sdk/api/prod/sonarqube/list_users.py new file mode 100644 index 0000000..2ab7f7a --- /dev/null +++ b/src/digital_energy_sdk/api/prod/sonarqube/list_users.py @@ -0,0 +1,45 @@ +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 results as _results + + +class UsersItem(_ResultModel): + email: str | None = Field(validation_alias='email', default=None) + fullname: str | None = Field(validation_alias='fullname', default=None) + local: bool | None = Field(validation_alias='local', default=None) + scm_accounts: list[str] | None = Field(validation_alias='scmAccounts', default=None) + username: str | None = Field(validation_alias='username', default=None) + + +class Result(_ResultModel): + users: list[UsersItem] | None = Field(validation_alias='users', default=None) + + +class ProdSonarqubeListUsersResult(_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 ProdSonarqubeListUsersImpl(_APIOperationImpl): + path = '/api/v1/prod/sonarqube/listUsers' + http_method = HTTPMethod.POST + param_aliases = { + 'cluster_id': 'clusterId', + } + + def __call__( + self, + *, + cluster_id: int, + ) -> ProdSonarqubeListUsersResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/session/__init__.py b/src/digital_energy_sdk/api/session/__init__.py new file mode 100644 index 0000000..6f5326e --- /dev/null +++ b/src/digital_energy_sdk/api/session/__init__.py @@ -0,0 +1,4 @@ +from ._group import SessionImpl + + +__all__ = ['SessionImpl'] \ No newline at end of file diff --git a/src/digital_energy_sdk/api/session/_group.py b/src/digital_energy_sdk/api/session/_group.py new file mode 100644 index 0000000..9ee737c --- /dev/null +++ b/src/digital_energy_sdk/api/session/_group.py @@ -0,0 +1,25 @@ +from functools import cached_property + +from digital_energy_sdk.base import APIOperationGroupImpl +from .close import SessionCloseImpl +from .create import SessionCreateImpl +from .current import SessionCurrentImpl +from .renew import SessionRenewImpl + + +class SessionImpl(APIOperationGroupImpl): + @cached_property + def close(self) -> SessionCloseImpl: + return SessionCloseImpl(config=self._config) + + @cached_property + def create(self) -> SessionCreateImpl: + return SessionCreateImpl(config=self._config) + + @cached_property + def current(self) -> SessionCurrentImpl: + return SessionCurrentImpl(config=self._config) + + @cached_property + def renew(self) -> SessionRenewImpl: + return SessionRenewImpl(config=self._config) diff --git a/src/digital_energy_sdk/api/session/close.py b/src/digital_energy_sdk/api/session/close.py new file mode 100644 index 0000000..c796ab2 --- /dev/null +++ b/src/digital_energy_sdk/api/session/close.py @@ -0,0 +1,32 @@ +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 results as _results + + +class SessionCloseResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) + + +class SessionCloseImpl(_APIOperationImpl): + path = '/api/v1/session/close' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + token: str | None = None, + ) -> SessionCloseResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/session/create.py b/src/digital_energy_sdk/api/session/create.py new file mode 100644 index 0000000..8ab3974 --- /dev/null +++ b/src/digital_energy_sdk/api/session/create.py @@ -0,0 +1,26 @@ +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 results as _results + + +class SessionCreateImpl(_APIOperationImpl): + path = '/api/v1/session/create' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + username: str, + password: str, + ) -> _results.IotypeCreateSessionResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/session/current.py b/src/digital_energy_sdk/api/session/current.py new file mode 100644 index 0000000..6b051ba --- /dev/null +++ b/src/digital_energy_sdk/api/session/current.py @@ -0,0 +1,22 @@ +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 results as _results + + +class SessionCurrentImpl(_APIOperationImpl): + path = '/api/v1/session/current' + http_method = HTTPMethod.GET + param_aliases = {} + + def __call__( + self, + ) -> _results.IotypeCreateSessionResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/api/session/renew.py b/src/digital_energy_sdk/api/session/renew.py new file mode 100644 index 0000000..7566573 --- /dev/null +++ b/src/digital_energy_sdk/api/session/renew.py @@ -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 results as _results + + +class Result(_ResultModel): + expire: int | None = Field(validation_alias='expire', default=None) + token: str | None = Field(validation_alias='token', default=None) + + +class SessionRenewResult(_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 SessionRenewImpl(_APIOperationImpl): + path = '/api/v1/session/renew' + http_method = HTTPMethod.POST + param_aliases = { + } + + def __call__( + self, + *, + token: str | None = None, + ) -> SessionRenewResult: + raise NotImplementedError \ No newline at end of file diff --git a/src/digital_energy_sdk/base.py b/src/digital_energy_sdk/base.py new file mode 100644 index 0000000..fc7323b --- /dev/null +++ b/src/digital_energy_sdk/base.py @@ -0,0 +1,304 @@ +from abc import ABC +import functools +import inspect +import time +import io +import mimetypes +from types import GenericAlias, UnionType +from typing import Any, BinaryIO, get_args, get_origin +from http import HTTPMethod + +import requests +from pydantic import ( + BaseModel, + ConfigDict, + create_model, + validate_call, + Field, +) + +from .config import Config, ConfigWithAuth +from .exceptions import RequestException +from .utils import JSON, gen_cls_name + + +class ParamModel(BaseModel, ABC): + model_config = ConfigDict( + extra='forbid', + ) + + +class ParamFile(BaseModel): + model_config = ConfigDict( + extra='forbid', + arbitrary_types_allowed=True, + ) + + content: io.BufferedReader | bytes | BinaryIO | io.BytesIO + file_name: str | None = None + content_type: str | None = None + + def to_tuple_for_requests_files( + self, + default_name: str = 'file' + ) -> tuple[str, io.BufferedReader | bytes | BinaryIO, str]: + name = self.file_name or default_name + + # Если тип не указан, пытаемся угадать по имени файла + mime = ( + self.content_type + or ( + mimetypes.guess_type(name)[0] if name else None + ) + or 'application/octet-stream' + ) + return (name, self.content, mime) + + +class ResultModel(BaseModel, ABC): + model_config = ConfigDict( + extra='ignore', + frozen=True, + ) + + +class APIOperationGroupImpl(ABC): + _config: Config + + def __init__( + self, + config: Config, + ): + self._config = config + + +class APIOperationImpl(ABC): + ___call___implemented: bool = False + path: str + config: Config + func_name: str + http_method: HTTPMethod + param_aliases: dict[str, str] + last_http_resp: requests.Response | None = None + last_params_model: ParamModel | None = None + params_model_type: type[ParamModel] + post_json: bool = True + result_type: Any + signature: inspect.Signature + + def __call__(self, *args, **kwargs): + raise NotImplementedError + + def __init_subclass__(cls) -> None: + super().__init_subclass__() + + cls.signature = inspect.signature(cls.__call__) + + cls.result_type = cls.signature.return_annotation + + if not cls.___call___implemented: + cls._implement___call__() + + def __init__( + self, + *, + config: Config, + ): + self.config = config + + self._init_params_model_type() + + @classmethod + def _implement___call__(cls): + if cls.___call___implemented: + raise RuntimeError('Method __call__ is already implemented.') + + @validate_call(validate_return=True) + @functools.wraps(cls.__call__) + def __call__(*args, **kwargs): + arg1 = args[0] + if not isinstance(arg1, APIOperationImpl): + raise TypeError + self: APIOperationImpl = arg1 + + f = self._make_api_call + + if self.config.f_decorators: + for decorator in reversed(self.config.f_decorators): + f = decorator(f) + + return f(**kwargs) + + cls.__call__ = __call__ + + cls.___call___implemented = True + + def _init_params_model_type(self): + try: + self.params_model_type + except AttributeError: + pass + else: + raise RuntimeError('Params model is already created.') + + field_definitions = {} + params = self.signature.parameters.values() + inspect_empty = inspect.Parameter.empty + + for param in params: + if param.name == 'self': + continue + + field_info = Field( + default=... if param.default is inspect_empty else param.default, + serialization_alias=self.param_aliases.get(param.name), + ) + + field_definitions[param.name] = ( + param.annotation, + field_info, + ) + + cls_name = gen_cls_name( + s=self.path, + postfix='ParamSet', + ) + + params_model_type = create_model( + cls_name, + __base__=ParamModel, + __module__=self.__module__, + **field_definitions, + ) + + self.params_model_type = params_model_type + + def _make_api_call(self, **validated_params) -> Any: + params_model = self.params_model_type.model_construct(**validated_params) # noqa: E501 + + self.last_params_model = params_model + + req_files: dict[str, tuple[str, io.BufferedReader | bytes | BinaryIO, str]] = {} + + file_field_names: set[str] = set() + + for field_name, field_info in params_model.model_fields.items(): + field_value = getattr(params_model, field_name) + + if isinstance(field_value, ParamFile): + file_field_names.add(field_name) + + req_files[field_info.serialization_alias or field_name] = ( + field_value.to_tuple_for_requests_files() + ) + + params_dict = params_model.model_dump( + by_alias=True, + exclude_none=True, + exclude=file_field_names, + ) + + req_params = None + req_json = None + req_data = None + + match self.http_method: + case HTTPMethod.GET: + req_params = params_dict + case ( + HTTPMethod.POST + | HTTPMethod.DELETE + | HTTPMethod.PATCH + | HTTPMethod.PUT + ): + if self.post_json: + req_json = params_dict + else: + req_data = params_dict + case _: + raise RuntimeError + + req_headers = { + 'Accept': 'application/json', + } + if isinstance(self.config, ConfigWithAuth): + req_headers['Authorization'] = f'Bearer {self.config.auth}' + + http_request = requests.Request( + method=self.http_method, + url=self.config.get_api_url(api_path=self.path), + headers=req_headers, + params=req_params, + json=req_json, + data=req_data, + files=req_files, + ).prepare() + + attempts = self.config.http503_attempts + try: + with requests.Session() as session: + while True: + http_response = session.send( + request=http_request, + verify=self.config.verify_ssl, + ) + + self.last_http_resp = http_response + + if http_response.status_code == 503: + if attempts < 1: + break + else: + attempts -= 1 + time.sleep( + self.config.http503_attempts_interval + ) + else: + break + + http_response.raise_for_status() + except requests.exceptions.RequestException as e: + if self.config.wrap_request_exceptions: + raise RequestException( + orig_exception=e, + func_name=self.func_name, + func_kwargs=validated_params, + status_code=( + e.response.status_code if e.response is not None + else None + ), + ) + else: + raise e + + json_decoded: JSON = http_response.json() + + if isinstance(self.result_type, GenericAlias): + origin_type = get_origin(self.result_type) + + if origin_type is list: + list_elem_type = get_args(self.result_type)[0] + + if ( + not isinstance(list_elem_type, GenericAlias) + and issubclass(list_elem_type, ResultModel) + ): + if isinstance(json_decoded, list): + result_list: list[ResultModel] = [] + for elem in json_decoded: + model = list_elem_type.model_validate(elem, strict=False) # noqa: E501 + result_list.append(model) + + return result_list + elif isinstance(self.result_type, UnionType): + for union_arg in get_args(self.result_type): + if ( + issubclass(union_arg, ResultModel) + and isinstance(json_decoded, dict) + ): + return union_arg.model_validate(json_decoded, strict=False) + + elif issubclass(self.result_type, ResultModel): + return self.result_type.model_validate(json_decoded, strict=False) + + return json_decoded \ No newline at end of file diff --git a/src/digital_energy_sdk/config.py b/src/digital_energy_sdk/config.py new file mode 100644 index 0000000..1e8db87 --- /dev/null +++ b/src/digital_energy_sdk/config.py @@ -0,0 +1,30 @@ +from dataclasses import dataclass +import re +from typing import Protocol + +from .utils import F_DECORATOR + + +@dataclass(kw_only=True) +class Config: + url: str + verify_ssl: bool + http503_attempts: int = 10 + http503_attempts_interval: int = 5 + wrap_request_exceptions: bool = False + f_decorators: list[F_DECORATOR] | None = None + + def get_api_url(self, api_path: str): + substitutions = re.findall(r'\[\w+\]', api_path) + _api_path = api_path[:] + for s in substitutions: + attr_name = f'{s.strip("[]")}' + attr_value = getattr(self, attr_name) + _api_path = _api_path.replace(s, attr_value) + + return f'{self.url}{_api_path}' + + +@dataclass(kw_only=True) +class ConfigWithAuth(Config): + auth: str \ No newline at end of file diff --git a/src/digital_energy_sdk/digital_energy.py b/src/digital_energy_sdk/digital_energy.py new file mode 100644 index 0000000..1e66562 --- /dev/null +++ b/src/digital_energy_sdk/digital_energy.py @@ -0,0 +1,36 @@ +from functools import cached_property + +from digital_energy_sdk import config +from digital_energy_sdk.utils import F_DECORATOR +from digital_energy_sdk.api import APIImpl + + +class DigitalEnergy: + _config: config.ConfigWithAuth + + def __init__( + self, + *, + url: str, + auth: str, + verify_ssl: bool = True, + http503_attempts: int = 10, + http503_attempts_interval: int = 5, + wrap_request_exceptions: bool = False, + f_decorators: list[F_DECORATOR] | None = None, + ): + self._config = config.ConfigWithAuth( + url=url, + auth=auth, + verify_ssl=verify_ssl, + http503_attempts=http503_attempts, + http503_attempts_interval=http503_attempts_interval, + wrap_request_exceptions=wrap_request_exceptions, + f_decorators=f_decorators, + ) + + self.api = APIImpl(config=self._config) + + @cached_property + def api(self) -> APIImpl: + return APIImpl(config=self._config) \ No newline at end of file diff --git a/src/digital_energy_sdk/exceptions.py b/src/digital_energy_sdk/exceptions.py new file mode 100644 index 0000000..a0b8700 --- /dev/null +++ b/src/digital_energy_sdk/exceptions.py @@ -0,0 +1,20 @@ +import requests + + +class RequestException(Exception): + orig_exception: requests.exceptions.RequestException + func_name: str + func_kwargs: None | dict = None + status_code: None | int = None + + def __init__( + self, + orig_exception: requests.exceptions.RequestException, + func_name: str, + func_kwargs: None | dict, + status_code: None | int, + ): + self.orig_exception = orig_exception + self.func_name = func_name + self.func_kwargs = func_kwargs + self.status_code = status_code \ No newline at end of file diff --git a/src/digital_energy_sdk/types/params/__init__.py b/src/digital_energy_sdk/types/params/__init__.py new file mode 100644 index 0000000..284076f --- /dev/null +++ b/src/digital_energy_sdk/types/params/__init__.py @@ -0,0 +1,6 @@ +from digital_energy_sdk.base import ParamFile + + +__all__ = [ + 'ParamFile', +] \ No newline at end of file diff --git a/src/digital_energy_sdk/types/results/__init__.py b/src/digital_energy_sdk/types/results/__init__.py new file mode 100644 index 0000000..adbfb89 --- /dev/null +++ b/src/digital_energy_sdk/types/results/__init__.py @@ -0,0 +1,96 @@ +from .comtype_iotype_create_task_result import ComtypeIotypeCreateTaskResult +from .cluster_task_creation_result import ClusterTaskCreationResult +from .comtype_iotype_worker_group_result import ComtypeIotypeWorkerGroupResult +from .restore_kyverno_policy_result import RestoreKyvernoPolicyResult +from .iotype_create_session_result import IotypeCreateSessionResult +from .iotype_describe_custom_app_result import IotypeDescribeCustomAppResult +from .comtype_audescr_product_descr import ComtypeAudescrProductDescr +from .auxlogic_comtype_aaatype_group import AuxlogicComtypeAaatypeGroup +from .aaatype_notification import AaatypeNotification +from .comtype_aaatype_operation_record import ComtypeAaatypeOperationRecord +from .auxlogic_comtype_aaatype_role import AuxlogicComtypeAaatypeRole +from .auxlogic_comtype_aaatype_user import AuxlogicComtypeAaatypeUser +from .delogic_comtype_prtype_task_brief import DelogicComtypePrtypeTaskBrief +from .prtype_apps_repository import PrtypeAppsRepository +from .prtype_charts_repository import PrtypeChartsRepository +from .prtype_files_repository import PrtypeFilesRepository +from .prtype_kube_repository import PrtypeKubeRepository +from .comtype_prtype_kyverno_policy import ComtypePrtypeKyvernoPolicy +from .comtype_prtype_load_balancer import ComtypePrtypeLoadBalancer +from .delogic_comtype_prtype_master import DelogicComtypePrtypeMaster +from .delogic_comtype_prtype_os_type import DelogicComtypePrtypeOSType +from .prtype_verification_report_brief import PrtypeVerificationReportBrief +from .delogic_comtype_prtype_worker import DelogicComtypePrtypeWorker +from .delogic_comtype_iotype_node_limit import DelogicComtypeIotypeNodeLimit +from .delogic_comtype_prtype_resource import DelogicComtypePrtypeResource +from .delogic_comtype_prtype_summary import DelogicComtypePrtypeSummary +from .internal_delogic_comtype_prtype_rule import InternalDelogicComtypePrtypeRule +from .internal_delogic_comtype_prtype_gpu import InternalDelogicComtypePrtypeGPU +from .internal_dxlogic_iotype_version import InternalDxlogicIotypeVersion +from .istorelogic_comtype_iotype_chart import IstorelogicComtypeIotypeChart +from .istorelogic_comtype_iotype_manifest import IstorelogicComtypeIotypeManifest +from .internal_rbaclogic_aaatype_user import InternalRbaclogicAaatypeUser +from .sdk_pkg_cloudapi_compute_item_acl import SdkPkgCloudapiComputeItemACL +from .pkg_cloudapi_compute_item_rule import PkgCloudapiComputeItemRule +from .compute_cpu_alignment_profile import ComputeCPUAlignmentProfile +from .compute_item_vnf_interface import ComputeItemVNFInterface +from .pkg_cloudapi_compute_qemu_quest import PkgCloudapiComputeQemuQuest +from .pkg_cloudapi_compute_item_snap_set import PkgCloudapiComputeItemSnapSet +from .cloudapi_compute_item_compute_disk import CloudapiComputeItemComputeDisk +from .cloudapi_compute_loader_meta_iso import CloudapiComputeLoaderMetaIso +from .pkg_cloudapi_compute_item_os_user import PkgCloudapiComputeItemOSUser +from .pkg_cloudapi_compute_vgpu_item import PkgCloudapiComputeVGPUItem +from .extnet_item_reservation import ExtnetItemReservation +from .golang_sdk_pkg_cloudapi_vins_qos import GolangSdkPkgCloudapiVinsQOS +from .cloudapi_vins_record_devices import CloudapiVinsRecordDevices +from .pkg_cloudapi_vins_item_routes import PkgCloudapiVinsItemRoutes + + +__all__ = [ + 'ComtypeIotypeCreateTaskResult', + 'ClusterTaskCreationResult', + 'ComtypeIotypeWorkerGroupResult', + 'RestoreKyvernoPolicyResult', + 'IotypeCreateSessionResult', + 'IotypeDescribeCustomAppResult', + 'ComtypeAudescrProductDescr', + 'AuxlogicComtypeAaatypeGroup', + 'AaatypeNotification', + 'ComtypeAaatypeOperationRecord', + 'AuxlogicComtypeAaatypeRole', + 'AuxlogicComtypeAaatypeUser', + 'DelogicComtypePrtypeTaskBrief', + 'PrtypeAppsRepository', + 'PrtypeChartsRepository', + 'PrtypeFilesRepository', + 'PrtypeKubeRepository', + 'ComtypePrtypeKyvernoPolicy', + 'ComtypePrtypeLoadBalancer', + 'DelogicComtypePrtypeMaster', + 'DelogicComtypePrtypeOSType', + 'PrtypeVerificationReportBrief', + 'DelogicComtypePrtypeWorker', + 'DelogicComtypeIotypeNodeLimit', + 'DelogicComtypePrtypeResource', + 'DelogicComtypePrtypeSummary', + 'InternalDelogicComtypePrtypeRule', + 'InternalDelogicComtypePrtypeGPU', + 'InternalDxlogicIotypeVersion', + 'IstorelogicComtypeIotypeChart', + 'IstorelogicComtypeIotypeManifest', + 'InternalRbaclogicAaatypeUser', + 'SdkPkgCloudapiComputeItemACL', + 'PkgCloudapiComputeItemRule', + 'ComputeCPUAlignmentProfile', + 'ComputeItemVNFInterface', + 'PkgCloudapiComputeQemuQuest', + 'PkgCloudapiComputeItemSnapSet', + 'CloudapiComputeItemComputeDisk', + 'CloudapiComputeLoaderMetaIso', + 'PkgCloudapiComputeItemOSUser', + 'PkgCloudapiComputeVGPUItem', + 'ExtnetItemReservation', + 'GolangSdkPkgCloudapiVinsQOS', + 'CloudapiVinsRecordDevices', + 'PkgCloudapiVinsItemRoutes', +] \ No newline at end of file diff --git a/src/digital_energy_sdk/types/results/aaatype_notification.py b/src/digital_energy_sdk/types/results/aaatype_notification.py new file mode 100644 index 0000000..4e79af8 --- /dev/null +++ b/src/digital_energy_sdk/types/results/aaatype_notification.py @@ -0,0 +1,18 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class AaatypeNotification(_ResultModel): + cluster_id: int | None = Field(validation_alias='clusterId', default=None) + create_at: str | None = Field(validation_alias='createAt', default=None) + event_id: int | None = Field(validation_alias='eventId', default=None) + id: int | None = Field(validation_alias='id', default=None) + message: str | None = Field(validation_alias='message', default=None) + read: bool | None = Field(validation_alias='read', default=None) + type: str | None = Field(validation_alias='type', default=None) + update_at: str | None = Field(validation_alias='updateAt', default=None) + user_id: int | None = Field(validation_alias='userId', default=None) diff --git a/src/digital_energy_sdk/types/results/auxlogic_comtype_aaatype_group.py b/src/digital_energy_sdk/types/results/auxlogic_comtype_aaatype_group.py new file mode 100644 index 0000000..e4116e6 --- /dev/null +++ b/src/digital_energy_sdk/types/results/auxlogic_comtype_aaatype_group.py @@ -0,0 +1,12 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class AuxlogicComtypeAaatypeGroup(_ResultModel): + id: int | None = Field(validation_alias='id', default=None) + locked: bool | None = Field(validation_alias='locked', default=None) + name: str | None = Field(validation_alias='name', default=None) diff --git a/src/digital_energy_sdk/types/results/auxlogic_comtype_aaatype_role.py b/src/digital_energy_sdk/types/results/auxlogic_comtype_aaatype_role.py new file mode 100644 index 0000000..faeda94 --- /dev/null +++ b/src/digital_energy_sdk/types/results/auxlogic_comtype_aaatype_role.py @@ -0,0 +1,12 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class AuxlogicComtypeAaatypeRole(_ResultModel): + description: str | None = Field(validation_alias='description', default=None) + grants: list[str] | None = Field(validation_alias='grants', default=None) + name: str | None = Field(validation_alias='name', default=None) diff --git a/src/digital_energy_sdk/types/results/auxlogic_comtype_aaatype_user.py b/src/digital_energy_sdk/types/results/auxlogic_comtype_aaatype_user.py new file mode 100644 index 0000000..2b1b3ba --- /dev/null +++ b/src/digital_energy_sdk/types/results/auxlogic_comtype_aaatype_user.py @@ -0,0 +1,39 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class AuxlogicComtypeAaatypeUser(_ResultModel): + banned: bool | None = Field(validation_alias='banned', default=None) + blocked_till: str | None = Field(validation_alias='blockedTill', default=None) + cluster_id: int | None = Field(validation_alias='clusterId', default=None) + dynamix_app_id: str | None = Field(validation_alias='dynamixAppID', default=None) + dynamix_app_secret: str | None = Field(validation_alias='dynamixAppSecret', default=None) + dynamix_auth_domain: str | None = Field(validation_alias='dynamixAuthDomain', default=None) + dynamix_auth_type: str | None = Field(validation_alias='dynamixAuthType', default=None) + dynamix_password: str | None = Field(validation_alias='dynamixPassword', default=None) + dynamix_ssourl: str | None = Field(validation_alias='dynamixSSOURL', default=None) + dynamix_url: str | None = Field(validation_alias='dynamixURL', default=None) + dynamix_username: str | None = Field(validation_alias='dynamixUsername', default=None) + encrypted: bool | None = Field(validation_alias='encrypted', default=None) + external_auth_flag: bool | None = Field(validation_alias='externalAuthFlag', default=None) + external_auth_id: str | None = Field(validation_alias='externalAuthId', default=None) + external_auth_login: str | None = Field(validation_alias='externalAuthLogin', default=None) + external_auth_system: str | None = Field(validation_alias='externalAuthSystem', default=None) + failed_password_attempts: int | None = Field(validation_alias='failedPasswordAttempts', default=None) + grants: list[str] | None = Field(validation_alias='grants', default=None) + group_id: int | None = Field(validation_alias='groupId', default=None) + group_name: str | None = Field(validation_alias='groupName', default=None) + id: int | None = Field(validation_alias='id', default=None) + istore_account_id: int | None = Field(validation_alias='istoreAccountId', default=None) + name: str | None = Field(validation_alias='name', default=None) + password: str | None = Field(validation_alias='password', default=None) + reason_banned: str | None = Field(validation_alias='reasonBanned', default=None) + role: str | None = Field(validation_alias='role', default=None) + system_user: bool | None = Field(validation_alias='systemUser', default=None) + time_update_ban: str | None = Field(validation_alias='timeUpdateBan', default=None) + username: str | None = Field(validation_alias='username', default=None) + version_crypt: str | None = Field(validation_alias='versionCrypt', default=None) diff --git a/src/digital_energy_sdk/types/results/cloudapi_compute_item_compute_disk.py b/src/digital_energy_sdk/types/results/cloudapi_compute_item_compute_disk.py new file mode 100644 index 0000000..9a9fc5c --- /dev/null +++ b/src/digital_energy_sdk/types/results/cloudapi_compute_item_compute_disk.py @@ -0,0 +1,98 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class Iotune(_ResultModel): + read_bytes_sec: int | None = Field(validation_alias='read_bytes_sec', default=None) + read_bytes_sec_max: int | None = Field(validation_alias='read_bytes_sec_max', default=None) + read_iops_sec: int | None = Field(validation_alias='read_iops_sec', default=None) + read_iops_sec_max: int | None = Field(validation_alias='read_iops_sec_max', default=None) + size_iops_sec: int | None = Field(validation_alias='size_iops_sec', default=None) + total_bytes_sec: int | None = Field(validation_alias='total_bytes_sec', default=None) + total_bytes_sec_max: int | None = Field(validation_alias='total_bytes_sec_max', default=None) + total_iops_sec: int | None = Field(validation_alias='total_iops_sec', default=None) + total_iops_sec_max: int | None = Field(validation_alias='total_iops_sec_max', default=None) + write_bytes_sec: int | None = Field(validation_alias='write_bytes_sec', default=None) + write_bytes_sec_max: int | None = Field(validation_alias='write_bytes_sec_max', default=None) + write_iops_sec: int | None = Field(validation_alias='write_iops_sec', default=None) + write_iops_sec_max: int | None = Field(validation_alias='write_iops_sec_max', default=None) + + +class Replication(_ResultModel): + disk_id: int | None = Field(validation_alias='diskId', default=None) + pool_id: str | None = Field(validation_alias='poolId', default=None) + role: str | None = Field(validation_alias='role', default=None) + self_volume_id: str | None = Field(validation_alias='selfVolumeId', default=None) + storage_id: str | None = Field(validation_alias='storageId', default=None) + volume_id: str | None = Field(validation_alias='volumeId', default=None) + + +class SnapshotsItem(_ResultModel): + guid: str | None = Field(validation_alias='guid', default=None) + label: str | None = Field(validation_alias='label', default=None) + pool_name: str | None = Field(validation_alias='poolName', default=None) + reference_id: str | None = Field(validation_alias='referenceId', default=None) + res_id: str | None = Field(validation_alias='resId', default=None) + snap_set_guid: str | None = Field(validation_alias='snapSetGuid', default=None) + snap_set_time: int | None = Field(validation_alias='snapSetTime', default=None) + timestamp: int | None = Field(validation_alias='timestamp', default=None) + + +class CloudapiComputeItemComputeDisk(_ResultModel): + ckey: str | None = Field(validation_alias='_ckey', default=None) + account_id: int | None = Field(validation_alias='accountId', default=None) + acl: dict[Any, Any] | None = Field(validation_alias='acl', default=None) + block_size: str | None = Field(validation_alias='block_size', default=None) + boot_partition: int | None = Field(validation_alias='bootPartition', default=None) + bus_number: int | None = Field(validation_alias='bus_number', default=None) + cache: str | None = Field(validation_alias='cache', 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) + desc: str | None = Field(validation_alias='desc', default=None) + destruction_time: int | None = Field(validation_alias='destructionTime', default=None) + devicename: str | None = Field(validation_alias='devicename', default=None) + discard: str | None = Field(validation_alias='discard', default=None) + disk_path: str | None = Field(validation_alias='diskPath', 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) + image_id: int | None = Field(validation_alias='imageId', default=None) + images: list[int] | None = Field(validation_alias='images', default=None) + independent: bool | None = Field(validation_alias='independent', default=None) + iotune: Iotune | None = Field(validation_alias='iotune', default=None) + iqn: str | None = Field(validation_alias='iqn', default=None) + login: str | None = Field(validation_alias='login', default=None) + milestones: int | None = Field(validation_alias='milestones', default=None) + name: str | None = Field(validation_alias='name', default=None) + params: str | None = Field(validation_alias='params', default=None) + parent_id: int | None = Field(validation_alias='parentId', default=None) + passwd: str | None = Field(validation_alias='passwd', default=None) + pci_slot: int | None = Field(validation_alias='pci_slot', default=None) + pool: str | None = Field(validation_alias='pool', default=None) + present_to: dict[Any, Any] | None = Field(validation_alias='presentTo', default=None) + provision: str | None = Field(validation_alias='provision', default=None) + purge_time: int | None = Field(validation_alias='purgeTime', default=None) + read_only: bool | None = Field(validation_alias='read_only', default=None) + reality_device_number: int | None = Field(validation_alias='realityDeviceNumber', default=None) + replication: Replication | None = Field(validation_alias='replication', default=None) + res_id: str | None = Field(validation_alias='resId', default=None) + role: str | None = Field(validation_alias='role', default=None) + sep_id: int | None = Field(validation_alias='sepId', default=None) + shareable: bool | None = Field(validation_alias='shareable', default=None) + size_available: float | None = Field(validation_alias='sizeAvailable', default=None) + size_max: int | None = Field(validation_alias='sizeMax', default=None) + size_used: float | None = Field(validation_alias='sizeUsed', default=None) + snapshots: list[SnapshotsItem] | None = Field(validation_alias='snapshots', default=None) + status: str | None = Field(validation_alias='status', default=None) + storage_policy_id: int | None = Field(validation_alias='storage_policy_id', default=None) + tech_status: str | None = Field(validation_alias='techStatus', default=None) + to_clean: bool | None = Field(validation_alias='to_clean', default=None) + type: str | None = Field(validation_alias='type', default=None) + updated_by: str | None = Field(validation_alias='updatedBy', default=None) + updated_time: int | None = Field(validation_alias='updatedTime', default=None) diff --git a/src/digital_energy_sdk/types/results/cloudapi_compute_loader_meta_iso.py b/src/digital_energy_sdk/types/results/cloudapi_compute_loader_meta_iso.py new file mode 100644 index 0000000..c2a1b23 --- /dev/null +++ b/src/digital_energy_sdk/types/results/cloudapi_compute_loader_meta_iso.py @@ -0,0 +1,11 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class CloudapiComputeLoaderMetaIso(_ResultModel): + devicename: str | None = Field(validation_alias='devicename', default=None) + path: str | None = Field(validation_alias='path', default=None) diff --git a/src/digital_energy_sdk/types/results/cloudapi_vins_record_devices.py b/src/digital_energy_sdk/types/results/cloudapi_vins_record_devices.py new file mode 100644 index 0000000..57853f6 --- /dev/null +++ b/src/digital_energy_sdk/types/results/cloudapi_vins_record_devices.py @@ -0,0 +1,16 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class Primary(_ResultModel): + dev_id: int | None = Field(validation_alias='devId', default=None) + iface01: str | None = Field(validation_alias='iface01', default=None) + iface02: str | None = Field(validation_alias='iface02', default=None) + + +class CloudapiVinsRecordDevices(_ResultModel): + primary: Primary | None = Field(validation_alias='primary', default=None) diff --git a/src/digital_energy_sdk/types/results/cluster_task_creation_result.py b/src/digital_energy_sdk/types/results/cluster_task_creation_result.py new file mode 100644 index 0000000..8556f16 --- /dev/null +++ b/src/digital_energy_sdk/types/results/cluster_task_creation_result.py @@ -0,0 +1,21 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class Result(_ResultModel): + audit_id: str | None = Field(validation_alias='auditId', default=None) + cluster_id: int | None = Field(validation_alias='clusterId', default=None) + cluster_type: str | None = Field(validation_alias='clusterType', default=None) + task_id: int | None = Field(validation_alias='taskId', default=None) + task_is_async: bool | None = Field(validation_alias='taskIsAsync', default=None) + + +class ClusterTaskCreationResult(_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) diff --git a/src/digital_energy_sdk/types/results/compute_cpu_alignment_profile.py b/src/digital_energy_sdk/types/results/compute_cpu_alignment_profile.py new file mode 100644 index 0000000..337b135 --- /dev/null +++ b/src/digital_energy_sdk/types/results/compute_cpu_alignment_profile.py @@ -0,0 +1,12 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class ComputeCPUAlignmentProfile(_ResultModel): + model: str | None = Field(validation_alias='model', default=None) + name: str | None = Field(validation_alias='name', default=None) + vendor: str | None = Field(validation_alias='vendor', default=None) diff --git a/src/digital_energy_sdk/types/results/compute_item_vnf_interface.py b/src/digital_energy_sdk/types/results/compute_item_vnf_interface.py new file mode 100644 index 0000000..47d43de --- /dev/null +++ b/src/digital_energy_sdk/types/results/compute_item_vnf_interface.py @@ -0,0 +1,53 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class LibvirtSettings(_ResultModel): + event_idx: str | None = Field(validation_alias='event_idx', default=None) + guid: str | None = Field(validation_alias='guid', default=None) + ioeventfd: str | None = Field(validation_alias='ioeventfd', default=None) + queues: int | None = Field(validation_alias='queues', default=None) + rx_queue_size: int | None = Field(validation_alias='rx_queue_size', default=None) + tx_queue_size: int | None = Field(validation_alias='tx_queue_size', default=None) + txmode: str | None = Field(validation_alias='txmode', default=None) + + +class Qos(_ResultModel): + e_rate: int | None = Field(validation_alias='eRate', default=None) + guid: str | None = Field(validation_alias='guid', default=None) + in_burst: int | None = Field(validation_alias='inBurst', default=None) + in_rate: int | None = Field(validation_alias='inRate', default=None) + + +class ComputeItemVNFInterface(_ResultModel): + bus_number: int | None = Field(validation_alias='bus_number', default=None) + conn_id: int | None = Field(validation_alias='connId', default=None) + conn_type: str | None = Field(validation_alias='connType', default=None) + def_gw: str | None = Field(validation_alias='defGw', default=None) + enable_default_gateway: bool | None = Field(validation_alias='enable_default_gateway', default=None) + enable_secgroups: bool | None = Field(validation_alias='enable_secgroups', default=None) + enabled: bool | None = Field(validation_alias='enabled', default=None) + flipgroup_id: int | None = Field(validation_alias='flipgroupId', default=None) + guid: str | None = Field(validation_alias='guid', default=None) + ip_address: str | None = Field(validation_alias='ipAddress', default=None) + libvirt_settings: LibvirtSettings | None = Field(validation_alias='libvirtSettings', default=None) + listen_ssh: bool | None = Field(validation_alias='listenSsh', default=None) + mac: str | None = Field(validation_alias='mac', default=None) + mtu: int | None = Field(validation_alias='mtu', default=None) + name: str | None = Field(validation_alias='name', default=None) + net_id: int | None = Field(validation_alias='netId', default=None) + net_mask: int | None = Field(validation_alias='netMask', default=None) + net_type: str | None = Field(validation_alias='netType', default=None) + node_id: int | None = Field(validation_alias='nodeId', default=None) + pci_slot: int | None = Field(validation_alias='pciSlot', default=None) + qos: Qos | None = Field(validation_alias='qos', default=None) + sdn_interface_id: str | None = Field(validation_alias='sdn_interface_id', default=None) + security_groups: list[int] | None = Field(validation_alias='security_groups', default=None) + target: str | None = Field(validation_alias='target', default=None) + trunk_tags: str | None = Field(validation_alias='trunk_tags', default=None) + type: str | None = Field(validation_alias='type', default=None) + vnfs: list[int] | None = Field(validation_alias='vnfs', default=None) diff --git a/src/digital_energy_sdk/types/results/comtype_aaatype_operation_record.py b/src/digital_energy_sdk/types/results/comtype_aaatype_operation_record.py new file mode 100644 index 0000000..d45a3f2 --- /dev/null +++ b/src/digital_energy_sdk/types/results/comtype_aaatype_operation_record.py @@ -0,0 +1,39 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class ComtypeAaatypeOperationRecord(_ResultModel): + changes: str | None = Field(validation_alias='changes', default=None) + client_ip_address: str | None = Field(validation_alias='clientIpAddress', default=None) + error_message: str | None = Field(validation_alias='errorMessage', default=None) + exe_process_path: str | None = Field(validation_alias='exeProcessPath', default=None) + finish_time: int | None = Field(validation_alias='finishTime', default=None) + finish_timestamp: str | None = Field(validation_alias='finishTimestamp', default=None) + finished: bool | None = Field(validation_alias='finished', default=None) + finished_with_error: bool | None = Field(validation_alias='finishedWithError', default=None) + grants: list[str] | None = Field(validation_alias='grants', default=None) + group_id: int | None = Field(validation_alias='groupId', default=None) + group_name: str | None = Field(validation_alias='groupName', default=None) + has_grants: bool | None = Field(validation_alias='hasGrants', default=None) + id: int | None = Field(validation_alias='id', default=None) + locked: bool | None = Field(validation_alias='locked', default=None) + node_id: int | None = Field(validation_alias='nodeId', default=None) + operation_name: str | None = Field(validation_alias='operationName', default=None) + parent_pid: int | None = Field(validation_alias='parentPid', default=None) + parent_process_name: str | None = Field(validation_alias='parentProcessName', default=None) + pid: int | None = Field(validation_alias='pid', default=None) + role: str | None = Field(validation_alias='role', default=None) + session_id: int | None = Field(validation_alias='sessionId', default=None) + severity_level: str | None = Field(validation_alias='severityLevel', default=None) + start_background_process: bool | None = Field(validation_alias='startBackgroundProcess', default=None) + start_time: int | None = Field(validation_alias='startTime', default=None) + start_timestamp: str | None = Field(validation_alias='startTimestamp', default=None) + subject_id: int | None = Field(validation_alias='subjectId', default=None) + system_operation: bool | None = Field(validation_alias='systemOperation', default=None) + task_id: int | None = Field(validation_alias='taskId', default=None) + user_id: int | None = Field(validation_alias='userId', default=None) + username: str | None = Field(validation_alias='username', default=None) diff --git a/src/digital_energy_sdk/types/results/comtype_audescr_product_descr.py b/src/digital_energy_sdk/types/results/comtype_audescr_product_descr.py new file mode 100644 index 0000000..4d903b0 --- /dev/null +++ b/src/digital_energy_sdk/types/results/comtype_audescr_product_descr.py @@ -0,0 +1,25 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class DependsAnyItem(_ResultModel): + depends: list[str] | None = Field(validation_alias='depends', default=None) + key: str | None = Field(validation_alias='key', default=None) + + +class ImagesItem(_ResultModel): + image: str | None = Field(validation_alias='image', default=None) + name: str | None = Field(validation_alias='name', default=None) + + +class ComtypeAudescrProductDescr(_ResultModel): + depends: list[str] | None = Field(validation_alias='depends', default=None) + depends_any: list[DependsAnyItem] | None = Field(validation_alias='dependsAny', default=None) + images: list[ImagesItem] | None = Field(validation_alias='images', default=None) + name: str | None = Field(validation_alias='name', default=None) + product_name: str | None = Field(validation_alias='productName', default=None) + product_version: str | None = Field(validation_alias='productVersion', default=None) diff --git a/src/digital_energy_sdk/types/results/comtype_iotype_create_task_result.py b/src/digital_energy_sdk/types/results/comtype_iotype_create_task_result.py new file mode 100644 index 0000000..3c6d5eb --- /dev/null +++ b/src/digital_energy_sdk/types/results/comtype_iotype_create_task_result.py @@ -0,0 +1,17 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class Result(_ResultModel): + task_id: int | None = Field(validation_alias='taskId', default=None) + + +class ComtypeIotypeCreateTaskResult(_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) diff --git a/src/digital_energy_sdk/types/results/comtype_iotype_worker_group_result.py b/src/digital_energy_sdk/types/results/comtype_iotype_worker_group_result.py new file mode 100644 index 0000000..0334314 --- /dev/null +++ b/src/digital_energy_sdk/types/results/comtype_iotype_worker_group_result.py @@ -0,0 +1,13 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class ComtypeIotypeWorkerGroupResult(_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: dict[Any, Any] | None = Field(validation_alias='result', default=None) diff --git a/src/digital_energy_sdk/types/results/comtype_prtype_kyverno_policy.py b/src/digital_energy_sdk/types/results/comtype_prtype_kyverno_policy.py new file mode 100644 index 0000000..dda387f --- /dev/null +++ b/src/digital_energy_sdk/types/results/comtype_prtype_kyverno_policy.py @@ -0,0 +1,25 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel +from . import internal_delogic_comtype_prtype_rule as _internal_delogic_comtype_prtype_rule + + +class ComtypePrtypeKyvernoPolicy(_ResultModel): + background: bool | None = Field(validation_alias='background', default=None) + category: str | None = Field(validation_alias='category', default=None) + cluster_ids: list[int] | None = Field(validation_alias='clusterIds', default=None) + creation_date: str | None = Field(validation_alias='creationDate', default=None) + description: str | None = Field(validation_alias='description', default=None) + id: int | None = Field(validation_alias='id', default=None) + import_from: str | None = Field(validation_alias='importFrom', default=None) + name: str | None = Field(validation_alias='name', default=None) + owner_id: int | None = Field(validation_alias='ownerId', default=None) + policy: str | None = Field(validation_alias='policy', default=None) + rules: list[_internal_delogic_comtype_prtype_rule.InternalDelogicComtypePrtypeRule] | None = Field(validation_alias='rules', default=None) + severity: str | None = Field(validation_alias='severity', default=None) + template: bool | None = Field(validation_alias='template', default=None) + updated_date: str | None = Field(validation_alias='updatedDate', default=None) + validate_action: str | None = Field(validation_alias='validateAction', default=None) diff --git a/src/digital_energy_sdk/types/results/comtype_prtype_load_balancer.py b/src/digital_energy_sdk/types/results/comtype_prtype_load_balancer.py new file mode 100644 index 0000000..b2a42fd --- /dev/null +++ b/src/digital_energy_sdk/types/results/comtype_prtype_load_balancer.py @@ -0,0 +1,52 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel +from . import internal_delogic_comtype_prtype_gpu as _internal_delogic_comtype_prtype_gpu + + +class ComtypePrtypeLoadBalancer(_ResultModel): + balancer_status: str | None = Field(validation_alias='balancerStatus', default=None) + cloud_init: str | None = Field(validation_alias='cloudInit', default=None) + cluster_id: int | None = Field(validation_alias='clusterId', default=None) + cpu_count: int | None = Field(validation_alias='cpuCount', default=None) + creation_date: str | None = Field(validation_alias='creationDate', default=None) + creation_error: str | None = Field(validation_alias='creationError', default=None) + destroying_date: str | None = Field(validation_alias='destroyingDate', default=None) + destroying_error: str | None = Field(validation_alias='destroyingError', default=None) + disk_size: int | None = Field(validation_alias='diskSize', default=None) + dynamix_sep_id: int | None = Field(validation_alias='dynamixSEPId', default=None) + dynamix_sep_pool: str | None = Field(validation_alias='dynamixSEPPool', default=None) + encrypted: bool | None = Field(validation_alias='encrypted', default=None) + ext_ip_address: str | None = Field(validation_alias='extIPAddress', default=None) + gpu_id: int | None = Field(validation_alias='gpuId', default=None) + gpus: list[_internal_delogic_comtype_prtype_gpu.InternalDelogicComtypePrtypeGPU] | None = Field(validation_alias='gpus', default=None) + has_gpu: bool | None = Field(validation_alias='hasGPU', default=None) + id: int | None = Field(validation_alias='id', default=None) + int_ip_address: str | None = Field(validation_alias='intIPAddress', default=None) + lbmanager_password: str | None = Field(validation_alias='lbmanagerPassword', default=None) + lbmanager_port: int | None = Field(validation_alias='lbmanagerPort', default=None) + lbmanager_username: str | None = Field(validation_alias='lbmanagerUsername', default=None) + machine_os_image_id: int | None = Field(validation_alias='machineOSImageId', default=None) + machine_os_build: str | None = Field(validation_alias='machineOsBuild', default=None) + machine_provider: str | None = Field(validation_alias='machineProvider', default=None) + machine_status: str | None = Field(validation_alias='machineStatus', default=None) + machine_type: str | None = Field(validation_alias='machineType', default=None) + memory_size: int | None = Field(validation_alias='memorySize', default=None) + name: str | None = Field(validation_alias='name', default=None) + owner_id: int | None = Field(validation_alias='ownerId', default=None) + provider_machine_id: int | None = Field(validation_alias='providerMachineId', default=None) + provider_machine_name: str | None = Field(validation_alias='providerMachineName', default=None) + reference_id: int | None = Field(validation_alias='referenceId', default=None) + secure_shell_port: int | None = Field(validation_alias='secureShellPort', default=None) + sys_root_password: str | None = Field(validation_alias='sysRootPassword', default=None) + sys_root_username: str | None = Field(validation_alias='sysRootUsername', default=None) + sys_user_password: str | None = Field(validation_alias='sysUserPassword', default=None) + sys_user_username: str | None = Field(validation_alias='sysUserUsername', default=None) + sysagent_password: str | None = Field(validation_alias='sysagentPassword', default=None) + sysagent_port: int | None = Field(validation_alias='sysagentPort', default=None) + sysagent_username: str | None = Field(validation_alias='sysagentUsername', default=None) + type: str | None = Field(validation_alias='type', default=None) + version_crypt: str | None = Field(validation_alias='versionCrypt', default=None) diff --git a/src/digital_energy_sdk/types/results/delogic_comtype_iotype_node_limit.py b/src/digital_energy_sdk/types/results/delogic_comtype_iotype_node_limit.py new file mode 100644 index 0000000..61b31ac --- /dev/null +++ b/src/digital_energy_sdk/types/results/delogic_comtype_iotype_node_limit.py @@ -0,0 +1,16 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class DelogicComtypeIotypeNodeLimit(_ResultModel): + max_cpu_count: int | None = Field(validation_alias='maxCPUCount', default=None) + max_count: int | None = Field(validation_alias='maxCount', default=None) + max_disk_size: int | None = Field(validation_alias='maxDiskSize', default=None) + max_memory_size: int | None = Field(validation_alias='maxMemorySize', default=None) + min_cpu_count: int | None = Field(validation_alias='minCPUCount', default=None) + min_disk_size: int | None = Field(validation_alias='minDiskSize', default=None) + min_memory_size: int | None = Field(validation_alias='minMemorySize', default=None) diff --git a/src/digital_energy_sdk/types/results/delogic_comtype_prtype_master.py b/src/digital_energy_sdk/types/results/delogic_comtype_prtype_master.py new file mode 100644 index 0000000..ee7ed0d --- /dev/null +++ b/src/digital_energy_sdk/types/results/delogic_comtype_prtype_master.py @@ -0,0 +1,64 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel +from . import internal_delogic_comtype_prtype_gpu as _internal_delogic_comtype_prtype_gpu + + +class DelogicComtypePrtypeMaster(_ResultModel): + audit_enable: bool | None = Field(validation_alias='auditEnable', default=None) + audit_log_filepath: str | None = Field(validation_alias='auditLogFilepath', default=None) + audit_log_max_age: int | None = Field(validation_alias='auditLogMaxAge', default=None) + audit_log_max_backup: int | None = Field(validation_alias='auditLogMaxBackup', default=None) + audit_log_max_size: int | None = Field(validation_alias='auditLogMaxSize', default=None) + audit_policy: str | None = Field(validation_alias='auditPolicy', default=None) + cloud_init: str | None = Field(validation_alias='cloudInit', default=None) + cluster_id: int | None = Field(validation_alias='clusterId', default=None) + cpu_count: int | None = Field(validation_alias='cpuCount', default=None) + creation_date: str | None = Field(validation_alias='creationDate', default=None) + creation_error: str | None = Field(validation_alias='creationError', default=None) + description: str | None = Field(validation_alias='description', default=None) + destroying_date: str | None = Field(validation_alias='destroyingDate', default=None) + destroying_error: str | None = Field(validation_alias='destroyingError', default=None) + disk_size: int | None = Field(validation_alias='diskSize', default=None) + dynamix_sep_id: int | None = Field(validation_alias='dynamixSEPId', default=None) + dynamix_sep_pool: str | None = Field(validation_alias='dynamixSEPPool', default=None) + encrypted: bool | None = Field(validation_alias='encrypted', default=None) + ext_ip_address: str | None = Field(validation_alias='extIPAddress', default=None) + gpu_id: int | None = Field(validation_alias='gpuId', default=None) + gpus: list[_internal_delogic_comtype_prtype_gpu.InternalDelogicComtypePrtypeGPU] | None = Field(validation_alias='gpus', default=None) + has_gpu: bool | None = Field(validation_alias='hasGPU', default=None) + id: int | None = Field(validation_alias='id', default=None) + int_ip_address: str | None = Field(validation_alias='intIPAddress', default=None) + is_spare: bool | None = Field(validation_alias='isSpare', default=None) + key_for_encryption_config: str | None = Field(validation_alias='keyForEncryptionConfig', default=None) + logwatcher_password: str | None = Field(validation_alias='logwatcherPassword', default=None) + logwatcher_port: int | None = Field(validation_alias='logwatcherPort', default=None) + logwatcher_username: str | None = Field(validation_alias='logwatcherUsername', default=None) + machine_os_build: str | None = Field(validation_alias='machineOSBuild', default=None) + machine_os_image_id: int | None = Field(validation_alias='machineOSImageId', default=None) + machine_os_type: str | None = Field(validation_alias='machineOSType', default=None) + machine_provider: str | None = Field(validation_alias='machineProvider', default=None) + machine_status: str | None = Field(validation_alias='machineStatus', default=None) + memory_size: int | None = Field(validation_alias='memorySize', default=None) + name: str | None = Field(validation_alias='name', default=None) + node_status: str | None = Field(validation_alias='nodeStatus', default=None) + owner_id: int | None = Field(validation_alias='ownerId', default=None) + provider_machine_id: int | None = Field(validation_alias='providerMachineId', default=None) + provider_machine_name: str | None = Field(validation_alias='providerMachineName', default=None) + reference_id: int | None = Field(validation_alias='referenceId', default=None) + runtime_end_point: str | None = Field(validation_alias='runtimeEndPoint', default=None) + runtime_type: str | None = Field(validation_alias='runtimeType', default=None) + secure_shell_port: int | None = Field(validation_alias='secureShellPort', default=None) + sys_root_password: str | None = Field(validation_alias='sysRootPassword', default=None) + sys_root_username: str | None = Field(validation_alias='sysRootUsername', default=None) + sys_user_password: str | None = Field(validation_alias='sysUserPassword', default=None) + sys_user_username: str | None = Field(validation_alias='sysUserUsername', default=None) + sysagent_password: str | None = Field(validation_alias='sysagentPassword', default=None) + sysagent_port: int | None = Field(validation_alias='sysagentPort', default=None) + sysagent_username: str | None = Field(validation_alias='sysagentUsername', default=None) + type: str | None = Field(validation_alias='type', default=None) + version_crypt: str | None = Field(validation_alias='versionCrypt', default=None) + worker_group_id: int | None = Field(validation_alias='workerGroupId', default=None) diff --git a/src/digital_energy_sdk/types/results/delogic_comtype_prtype_os_type.py b/src/digital_energy_sdk/types/results/delogic_comtype_prtype_os_type.py new file mode 100644 index 0000000..b3e809b --- /dev/null +++ b/src/digital_energy_sdk/types/results/delogic_comtype_prtype_os_type.py @@ -0,0 +1,26 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class ImagesItem(_ResultModel): + configured_cni: list[str] | None = Field(validation_alias='configuredCNI', default=None) + description: str | None = Field(validation_alias='description', default=None) + id: int | None = Field(validation_alias='id', default=None) + name: str | None = Field(validation_alias='name', default=None) + size: int | None = Field(validation_alias='size', default=None) + + +class BuildsItem(_ResultModel): + images: list[ImagesItem] | None = Field(validation_alias='images', default=None) + name: str | None = Field(validation_alias='name', default=None) + + +class DelogicComtypePrtypeOSType(_ResultModel): + builds: list[BuildsItem] | None = Field(validation_alias='builds', default=None) + kube_versions: list[str] | None = Field(validation_alias='kubeVersions', default=None) + os_type: str | None = Field(validation_alias='osType', default=None) + possible_cni: list[str] | None = Field(validation_alias='possibleCNI', default=None) diff --git a/src/digital_energy_sdk/types/results/delogic_comtype_prtype_resource.py b/src/digital_energy_sdk/types/results/delogic_comtype_prtype_resource.py new file mode 100644 index 0000000..9555976 --- /dev/null +++ b/src/digital_energy_sdk/types/results/delogic_comtype_prtype_resource.py @@ -0,0 +1,14 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class DelogicComtypePrtypeResource(_ResultModel): + api_version: str | None = Field(validation_alias='apiVersion', default=None) + kind: str | None = Field(validation_alias='kind', default=None) + name: str | None = Field(validation_alias='name', default=None) + namespace: str | None = Field(validation_alias='namespace', default=None) + uid: str | None = Field(validation_alias='uid', default=None) diff --git a/src/digital_energy_sdk/types/results/delogic_comtype_prtype_summary.py b/src/digital_energy_sdk/types/results/delogic_comtype_prtype_summary.py new file mode 100644 index 0000000..f3d5f8b --- /dev/null +++ b/src/digital_energy_sdk/types/results/delogic_comtype_prtype_summary.py @@ -0,0 +1,14 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class DelogicComtypePrtypeSummary(_ResultModel): + error: int | None = Field(validation_alias='error', default=None) + fail: int | None = Field(validation_alias='fail', default=None) + pass_: int | None = Field(validation_alias='pass', default=None) + skip: int | None = Field(validation_alias='skip', default=None) + warn: int | None = Field(validation_alias='warn', default=None) diff --git a/src/digital_energy_sdk/types/results/delogic_comtype_prtype_task_brief.py b/src/digital_energy_sdk/types/results/delogic_comtype_prtype_task_brief.py new file mode 100644 index 0000000..61acaca --- /dev/null +++ b/src/digital_energy_sdk/types/results/delogic_comtype_prtype_task_brief.py @@ -0,0 +1,20 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class DelogicComtypePrtypeTaskBrief(_ResultModel): + deleted: bool | None = Field(validation_alias='deleted', default=None) + done: bool | None = Field(validation_alias='done', default=None) + error: bool | None = Field(validation_alias='error', default=None) + errormessage: str | None = Field(validation_alias='errormessage', default=None) + id: int | None = Field(validation_alias='id', default=None) + operation: str | None = Field(validation_alias='operation', default=None) + owner_id: int | None = Field(validation_alias='ownerId', default=None) + start_timestamp: str | None = Field(validation_alias='startTimestamp', default=None) + stop_timestamp: str | None = Field(validation_alias='stopTimestamp', default=None) + subject_id: int | None = Field(validation_alias='subjectId', default=None) + subject_type: str | None = Field(validation_alias='subjectType', default=None) diff --git a/src/digital_energy_sdk/types/results/delogic_comtype_prtype_worker.py b/src/digital_energy_sdk/types/results/delogic_comtype_prtype_worker.py new file mode 100644 index 0000000..7a6c009 --- /dev/null +++ b/src/digital_energy_sdk/types/results/delogic_comtype_prtype_worker.py @@ -0,0 +1,64 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel +from . import internal_delogic_comtype_prtype_gpu as _internal_delogic_comtype_prtype_gpu + + +class DelogicComtypePrtypeWorker(_ResultModel): + audit_enable: bool | None = Field(validation_alias='auditEnable', default=None) + audit_log_filepath: str | None = Field(validation_alias='auditLogFilepath', default=None) + audit_log_max_age: int | None = Field(validation_alias='auditLogMaxAge', default=None) + audit_log_max_backup: int | None = Field(validation_alias='auditLogMaxBackup', default=None) + audit_log_max_size: int | None = Field(validation_alias='auditLogMaxSize', default=None) + audit_policy: str | None = Field(validation_alias='auditPolicy', default=None) + cloud_init: str | None = Field(validation_alias='cloudInit', default=None) + cluster_id: int | None = Field(validation_alias='clusterId', default=None) + cpu_count: int | None = Field(validation_alias='cpuCount', default=None) + creation_date: str | None = Field(validation_alias='creationDate', default=None) + creation_error: str | None = Field(validation_alias='creationError', default=None) + description: str | None = Field(validation_alias='description', default=None) + destroying_date: str | None = Field(validation_alias='destroyingDate', default=None) + destroying_error: str | None = Field(validation_alias='destroyingError', default=None) + disk_size: int | None = Field(validation_alias='diskSize', default=None) + dynamix_sep_id: int | None = Field(validation_alias='dynamixSEPId', default=None) + dynamix_sep_pool: str | None = Field(validation_alias='dynamixSEPPool', default=None) + encrypted: bool | None = Field(validation_alias='encrypted', default=None) + ext_ip_address: str | None = Field(validation_alias='extIPAddress', default=None) + gpu_id: int | None = Field(validation_alias='gpuId', default=None) + gpus: list[_internal_delogic_comtype_prtype_gpu.InternalDelogicComtypePrtypeGPU] | None = Field(validation_alias='gpus', default=None) + has_gpu: bool | None = Field(validation_alias='hasGPU', default=None) + id: int | None = Field(validation_alias='id', default=None) + int_ip_address: str | None = Field(validation_alias='intIPAddress', default=None) + is_spare: bool | None = Field(validation_alias='isSpare', default=None) + key_for_encryption_config: str | None = Field(validation_alias='keyForEncryptionConfig', default=None) + logwatcher_password: str | None = Field(validation_alias='logwatcherPassword', default=None) + logwatcher_port: int | None = Field(validation_alias='logwatcherPort', default=None) + logwatcher_username: str | None = Field(validation_alias='logwatcherUsername', default=None) + machine_os_build: str | None = Field(validation_alias='machineOSBuild', default=None) + machine_os_image_id: int | None = Field(validation_alias='machineOSImageId', default=None) + machine_os_type: str | None = Field(validation_alias='machineOSType', default=None) + machine_provider: str | None = Field(validation_alias='machineProvider', default=None) + machine_status: str | None = Field(validation_alias='machineStatus', default=None) + memory_size: int | None = Field(validation_alias='memorySize', default=None) + name: str | None = Field(validation_alias='name', default=None) + node_status: str | None = Field(validation_alias='nodeStatus', default=None) + owner_id: int | None = Field(validation_alias='ownerId', default=None) + provider_machine_id: int | None = Field(validation_alias='providerMachineId', default=None) + provider_machine_name: str | None = Field(validation_alias='providerMachineName', default=None) + reference_id: int | None = Field(validation_alias='referenceId', default=None) + runtime_end_point: str | None = Field(validation_alias='runtimeEndPoint', default=None) + runtime_type: str | None = Field(validation_alias='runtimeType', default=None) + secure_shell_port: int | None = Field(validation_alias='secureShellPort', default=None) + sys_root_password: str | None = Field(validation_alias='sysRootPassword', default=None) + sys_root_username: str | None = Field(validation_alias='sysRootUsername', default=None) + sys_user_password: str | None = Field(validation_alias='sysUserPassword', default=None) + sys_user_username: str | None = Field(validation_alias='sysUserUsername', default=None) + sysagent_password: str | None = Field(validation_alias='sysagentPassword', default=None) + sysagent_port: int | None = Field(validation_alias='sysagentPort', default=None) + sysagent_username: str | None = Field(validation_alias='sysagentUsername', default=None) + type: str | None = Field(validation_alias='type', default=None) + version_crypt: str | None = Field(validation_alias='versionCrypt', default=None) + worker_group_id: int | None = Field(validation_alias='workerGroupId', default=None) diff --git a/src/digital_energy_sdk/types/results/extnet_item_reservation.py b/src/digital_energy_sdk/types/results/extnet_item_reservation.py new file mode 100644 index 0000000..04b2500 --- /dev/null +++ b/src/digital_energy_sdk/types/results/extnet_item_reservation.py @@ -0,0 +1,18 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class ExtnetItemReservation(_ResultModel): + account_id: int | None = Field(validation_alias='account_id', default=None) + client_type: str | None = Field(validation_alias='clientType', default=None) + desc: str | None = Field(validation_alias='desc', default=None) + domainname: str | None = Field(validation_alias='domainname', default=None) + hostname: str | None = Field(validation_alias='hostname', default=None) + ip: str | None = Field(validation_alias='ip', default=None) + mac: str | None = Field(validation_alias='mac', default=None) + type: str | None = Field(validation_alias='type', default=None) + vm_id: int | None = Field(validation_alias='vmId', default=None) diff --git a/src/digital_energy_sdk/types/results/golang_sdk_pkg_cloudapi_vins_qos.py b/src/digital_energy_sdk/types/results/golang_sdk_pkg_cloudapi_vins_qos.py new file mode 100644 index 0000000..5f8a6ce --- /dev/null +++ b/src/digital_energy_sdk/types/results/golang_sdk_pkg_cloudapi_vins_qos.py @@ -0,0 +1,13 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class GolangSdkPkgCloudapiVinsQOS(_ResultModel): + e_rate: int | None = Field(validation_alias='eRate', default=None) + guid: str | None = Field(validation_alias='guid', default=None) + in_burst: int | None = Field(validation_alias='inBurst', default=None) + in_rate: int | None = Field(validation_alias='inRate', default=None) diff --git a/src/digital_energy_sdk/types/results/internal_delogic_comtype_prtype_gpu.py b/src/digital_energy_sdk/types/results/internal_delogic_comtype_prtype_gpu.py new file mode 100644 index 0000000..a897b7e --- /dev/null +++ b/src/digital_energy_sdk/types/results/internal_delogic_comtype_prtype_gpu.py @@ -0,0 +1,12 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class InternalDelogicComtypePrtypeGPU(_ResultModel): + core_count: int | None = Field(validation_alias='coreCount', default=None) + gpu_name: str | None = Field(validation_alias='gpuName', default=None) + video_memory_size: int | None = Field(validation_alias='videoMemorySize', default=None) diff --git a/src/digital_energy_sdk/types/results/internal_delogic_comtype_prtype_rule.py b/src/digital_energy_sdk/types/results/internal_delogic_comtype_prtype_rule.py new file mode 100644 index 0000000..b5e867b --- /dev/null +++ b/src/digital_energy_sdk/types/results/internal_delogic_comtype_prtype_rule.py @@ -0,0 +1,12 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class InternalDelogicComtypePrtypeRule(_ResultModel): + message: str | None = Field(validation_alias='message', default=None) + name: str | None = Field(validation_alias='name', default=None) + type: str | None = Field(validation_alias='type', default=None) diff --git a/src/digital_energy_sdk/types/results/internal_dxlogic_iotype_version.py b/src/digital_energy_sdk/types/results/internal_dxlogic_iotype_version.py new file mode 100644 index 0000000..18de63b --- /dev/null +++ b/src/digital_energy_sdk/types/results/internal_dxlogic_iotype_version.py @@ -0,0 +1,12 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class InternalDxlogicIotypeVersion(_ResultModel): + major: int | None = Field(validation_alias='major', default=None) + minor: int | None = Field(validation_alias='minor', default=None) + patch: int | None = Field(validation_alias='patch', default=None) diff --git a/src/digital_energy_sdk/types/results/internal_rbaclogic_aaatype_user.py b/src/digital_energy_sdk/types/results/internal_rbaclogic_aaatype_user.py new file mode 100644 index 0000000..8591a10 --- /dev/null +++ b/src/digital_energy_sdk/types/results/internal_rbaclogic_aaatype_user.py @@ -0,0 +1,18 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class InternalRbaclogicAaatypeUser(_ResultModel): + cluster_id: int | None = Field(validation_alias='clusterId', default=None) + description: str | None = Field(validation_alias='description', default=None) + encrypted: bool | None = Field(validation_alias='encrypted', default=None) + id: int | None = Field(validation_alias='id', default=None) + kubeconfig: str | None = Field(validation_alias='kubeconfig', default=None) + settings: str | None = Field(validation_alias='settings', default=None) + status: str | None = Field(validation_alias='status', default=None) + username: str | None = Field(validation_alias='username', default=None) + version_crypt: str | None = Field(validation_alias='versionCrypt', default=None) diff --git a/src/digital_energy_sdk/types/results/iotype_create_session_result.py b/src/digital_energy_sdk/types/results/iotype_create_session_result.py new file mode 100644 index 0000000..16adeae --- /dev/null +++ b/src/digital_energy_sdk/types/results/iotype_create_session_result.py @@ -0,0 +1,18 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class Result(_ResultModel): + expire: int | None = Field(validation_alias='expire', default=None) + token: str | None = Field(validation_alias='token', default=None) + + +class IotypeCreateSessionResult(_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) diff --git a/src/digital_energy_sdk/types/results/iotype_describe_custom_app_result.py b/src/digital_energy_sdk/types/results/iotype_describe_custom_app_result.py new file mode 100644 index 0000000..caa476a --- /dev/null +++ b/src/digital_energy_sdk/types/results/iotype_describe_custom_app_result.py @@ -0,0 +1,28 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel +from . import comtype_audescr_product_descr as _comtype_audescr_product_descr + + +class Registry(_ResultModel): + chart_id: str | None = Field(validation_alias='chartId', default=None) + cluster_id: int | None = Field(validation_alias='clusterId', default=None) + id: int | None = Field(validation_alias='id', default=None) + name: str | None = Field(validation_alias='name', default=None) + namespace: str | None = Field(validation_alias='namespace', default=None) + owner_id: int | None = Field(validation_alias='ownerId', default=None) + product_name: str | None = Field(validation_alias='productName', default=None) + product_version: str | None = Field(validation_alias='productVersion', default=None) + task_ids: list[int] | None = Field(validation_alias='taskIds', default=None) + + +class IotypeDescribeCustomAppResult(_ResultModel): + check_list_ok: bool | None = Field(validation_alias='checkListOk', default=None) + description: _comtype_audescr_product_descr.ComtypeAudescrProductDescr | None = Field(validation_alias='description', default=None) + icon_path: str | None = Field(validation_alias='iconPath', 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) diff --git a/src/digital_energy_sdk/types/results/istorelogic_comtype_iotype_chart.py b/src/digital_energy_sdk/types/results/istorelogic_comtype_iotype_chart.py new file mode 100644 index 0000000..bc0eaf1 --- /dev/null +++ b/src/digital_energy_sdk/types/results/istorelogic_comtype_iotype_chart.py @@ -0,0 +1,26 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class IstorelogicComtypeIotypeChart(_ResultModel): + checksum: str | None = Field(validation_alias='checksum', default=None) + collection: str | None = Field(validation_alias='collection', default=None) + created_at: str | None = Field(validation_alias='createdAt', default=None) + description: str | None = Field(validation_alias='description', default=None) + icon_path: str | None = Field(validation_alias='iconPath', default=None) + id: str | 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) + path: str | None = Field(validation_alias='path', default=None) + public: bool | None = Field(validation_alias='public', default=None) + read_only: bool | None = Field(validation_alias='readOnly', default=None) + shared: bool | None = Field(validation_alias='shared', default=None) + size: int | None = Field(validation_alias='size', default=None) + updated_at: str | None = Field(validation_alias='updatedAt', default=None) + updated_by: int | None = Field(validation_alias='updatedBy', default=None) + user_id: int | None = Field(validation_alias='userId', default=None) + version: str | None = Field(validation_alias='version', default=None) diff --git a/src/digital_energy_sdk/types/results/istorelogic_comtype_iotype_manifest.py b/src/digital_energy_sdk/types/results/istorelogic_comtype_iotype_manifest.py new file mode 100644 index 0000000..1dc37dc --- /dev/null +++ b/src/digital_energy_sdk/types/results/istorelogic_comtype_iotype_manifest.py @@ -0,0 +1,24 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class IstorelogicComtypeIotypeManifest(_ResultModel): + collection: str | None = Field(validation_alias='collection', default=None) + content_type: str | None = Field(validation_alias='contentType', default=None) + created_at: str | None = Field(validation_alias='createdAt', default=None) + description: str | None = Field(validation_alias='description', default=None) + digest: str | None = Field(validation_alias='digest', default=None) + group_id: int | None = Field(validation_alias='groupId', default=None) + id: str | None = Field(validation_alias='id', default=None) + name: str | None = Field(validation_alias='name', default=None) + public: bool | None = Field(validation_alias='public', default=None) + read_only: bool | None = Field(validation_alias='readOnly', default=None) + reference: str | None = Field(validation_alias='reference', default=None) + shared: bool | None = Field(validation_alias='shared', default=None) + updated_at: str | None = Field(validation_alias='updatedAt', default=None) + updated_by: int | None = Field(validation_alias='updatedBy', default=None) + user_id: int | None = Field(validation_alias='userId', default=None) diff --git a/src/digital_energy_sdk/types/results/pkg_cloudapi_compute_item_os_user.py b/src/digital_energy_sdk/types/results/pkg_cloudapi_compute_item_os_user.py new file mode 100644 index 0000000..d02d564 --- /dev/null +++ b/src/digital_energy_sdk/types/results/pkg_cloudapi_compute_item_os_user.py @@ -0,0 +1,13 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class PkgCloudapiComputeItemOSUser(_ResultModel): + guid: str | None = Field(validation_alias='guid', default=None) + login: str | None = Field(validation_alias='login', default=None) + password: str | None = Field(validation_alias='password', default=None) + pubkey: str | None = Field(validation_alias='pubkey', default=None) diff --git a/src/digital_energy_sdk/types/results/pkg_cloudapi_compute_item_rule.py b/src/digital_energy_sdk/types/results/pkg_cloudapi_compute_item_rule.py new file mode 100644 index 0000000..f87bfb5 --- /dev/null +++ b/src/digital_energy_sdk/types/results/pkg_cloudapi_compute_item_rule.py @@ -0,0 +1,15 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class PkgCloudapiComputeItemRule(_ResultModel): + guid: str | None = Field(validation_alias='guid', default=None) + key: str | None = Field(validation_alias='key', default=None) + mode: str | None = Field(validation_alias='mode', default=None) + policy: str | None = Field(validation_alias='policy', default=None) + topology: str | None = Field(validation_alias='topology', default=None) + value: str | None = Field(validation_alias='value', default=None) diff --git a/src/digital_energy_sdk/types/results/pkg_cloudapi_compute_item_snap_set.py b/src/digital_energy_sdk/types/results/pkg_cloudapi_compute_item_snap_set.py new file mode 100644 index 0000000..41a60b4 --- /dev/null +++ b/src/digital_energy_sdk/types/results/pkg_cloudapi_compute_item_snap_set.py @@ -0,0 +1,112 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel +from . import sdk_pkg_cloudapi_compute_item_acl as _sdk_pkg_cloudapi_compute_item_acl +from . import pkg_cloudapi_compute_item_rule as _pkg_cloudapi_compute_item_rule +from . import pkg_cloudapi_compute_item_rule as _pkg_cloudapi_compute_item_rule +from . import compute_cpu_alignment_profile as _compute_cpu_alignment_profile +from . import cloudapi_compute_item_compute_disk as _cloudapi_compute_item_compute_disk +from . import compute_item_vnf_interface as _compute_item_vnf_interface +from . import cloudapi_compute_loader_meta_iso as _cloudapi_compute_loader_meta_iso +from . import pkg_cloudapi_compute_item_os_user as _pkg_cloudapi_compute_item_os_user +from . import pkg_cloudapi_compute_qemu_quest as _pkg_cloudapi_compute_qemu_quest +from . import pkg_cloudapi_compute_vgpu_item as _pkg_cloudapi_compute_vgpu_item + + +class Compute(_ResultModel): + account_id: int | None = Field(validation_alias='accountId', default=None) + account_name: str | None = Field(validation_alias='accountName', default=None) + acl: list[_sdk_pkg_cloudapi_compute_item_acl.SdkPkgCloudapiComputeItemACL] | None = Field(validation_alias='acl', default=None) + affinity_label: str | None = Field(validation_alias='affinityLabel', default=None) + affinity_rules: list[_pkg_cloudapi_compute_item_rule.PkgCloudapiComputeItemRule] | None = Field(validation_alias='affinityRules', default=None) + affinity_weight: int | None = Field(validation_alias='affinityWeight', default=None) + anti_affinity_rules: list[_pkg_cloudapi_compute_item_rule.PkgCloudapiComputeItemRule] | None = Field(validation_alias='antiAffinityRules', default=None) + arch: str | None = Field(validation_alias='arch', default=None) + auto_start: bool | None = Field(validation_alias='autoStart', default=None) + boot_order: list[str] | None = Field(validation_alias='bootOrder', default=None) + boot_type: str | None = Field(validation_alias='bootType', default=None) + boot_image_id: int | None = Field(validation_alias='boot_image_id', default=None) + bootdisk_size: int | None = Field(validation_alias='bootdiskSize', default=None) + cd_image_id: int | None = Field(validation_alias='cdImageId', default=None) + chipset: str | None = Field(validation_alias='chipset', default=None) + clock: str | None = Field(validation_alias='clock', default=None) + clone_reference: int | None = Field(validation_alias='cloneReference', default=None) + clones: list[int] | None = Field(validation_alias='clones', default=None) + computeci_id: int | None = Field(validation_alias='computeciId', default=None) + cpu_alignment_profile: _compute_cpu_alignment_profile.ComputeCPUAlignmentProfile | None = Field(validation_alias='cpu_alignment_profile', default=None) + cpupin: bool | None = Field(validation_alias='cpupin', default=None) + cpus: int | None = Field(validation_alias='cpus', default=None) + created_by: str | None = Field(validation_alias='createdBy', default=None) + created_time: int | None = Field(validation_alias='createdTime', default=None) + custom_fields: dict[Any, Any] | None = Field(validation_alias='customFields', 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) + devices: Any | None = Field(validation_alias='devices', default=None) + disks: list[_cloudapi_compute_item_compute_disk.CloudapiComputeItemComputeDisk] | None = Field(validation_alias='disks', default=None) + driver: str | None = Field(validation_alias='driver', default=None) + gid: int | None = Field(validation_alias='gid', default=None) + guid: int | None = Field(validation_alias='guid', default=None) + hot_resize: bool | None = Field(validation_alias='hotResize', default=None) + hp_backed: bool | None = Field(validation_alias='hpBacked', default=None) + id: int | None = Field(validation_alias='id', default=None) + image_id: int | None = Field(validation_alias='imageId', default=None) + image_name: str | None = Field(validation_alias='imageName', default=None) + interfaces: list[_compute_item_vnf_interface.ComputeItemVNFInterface] | None = Field(validation_alias='interfaces', default=None) + live_migration_job_id: int | None = Field(validation_alias='live_migration_job_id', default=None) + loader_meta_iso: _cloudapi_compute_loader_meta_iso.CloudapiComputeLoaderMetaIso | None = Field(validation_alias='loaderMetaIso', default=None) + loader_type: str | None = Field(validation_alias='loaderType', default=None) + lock_status: str | None = Field(validation_alias='lockStatus', default=None) + manager_id: int | None = Field(validation_alias='managerId', default=None) + manager_type: str | None = Field(validation_alias='managerType', default=None) + migrationjob: int | None = Field(validation_alias='migrationjob', default=None) + milestones: int | None = Field(validation_alias='milestones', default=None) + name: str | None = Field(validation_alias='name', default=None) + natable_vins_id: int | None = Field(validation_alias='natableVinsId', default=None) + natable_vins_ip: str | None = Field(validation_alias='natableVinsIp', default=None) + natable_vins_name: str | None = Field(validation_alias='natableVinsName', default=None) + natable_vins_network: str | None = Field(validation_alias='natableVinsNetwork', default=None) + natable_vins_network_name: str | None = Field(validation_alias='natableVinsNetworkName', default=None) + need_reboot: bool | None = Field(validation_alias='needReboot', default=None) + network_interface_naming: str | None = Field(validation_alias='networkInterfaceNaming', default=None) + node_id: int | None = Field(validation_alias='node_id', default=None) + numa_affinity: str | None = Field(validation_alias='numaAffinity', default=None) + numa_node_id: int | None = Field(validation_alias='numaNodeId', default=None) + os_users: list[_pkg_cloudapi_compute_item_os_user.PkgCloudapiComputeItemOSUser] | None = Field(validation_alias='osUsers', default=None) + os_version: str | None = Field(validation_alias='os_version', default=None) + pinned_to_node: int | None = Field(validation_alias='pinnedToNode', default=None) + preferred_cpu: list[int] | None = Field(validation_alias='preferredCpu', default=None) + qemu_guest: _pkg_cloudapi_compute_qemu_quest.PkgCloudapiComputeQemuQuest | None = Field(validation_alias='qemu_guest', default=None) + ram: int | None = Field(validation_alias='ram', default=None) + read_only: bool | None = Field(validation_alias='read_only', default=None) + reference_id: str | None = Field(validation_alias='referenceId', default=None) + registered: bool | None = Field(validation_alias='registered', default=None) + res_name: str | None = Field(validation_alias='resName', default=None) + reserved_node_cpus: list[int] | None = Field(validation_alias='reservedNodeCpus', default=None) + rg_id: int | None = Field(validation_alias='rgId', default=None) + rg_name: str | None = Field(validation_alias='rgName', default=None) + stateless_sep_id: int | None = Field(validation_alias='statelessSepId', default=None) + stateless_sep_type: str | None = Field(validation_alias='statelessSepType', default=None) + status: str | None = Field(validation_alias='status', default=None) + tags: dict[Any, Any] | None = Field(validation_alias='tags', default=None) + tech_status: str | None = Field(validation_alias='techStatus', default=None) + updated_by: str | None = Field(validation_alias='updatedBy', default=None) + updated_time: int | None = Field(validation_alias='updatedTime', default=None) + user_managed: bool | None = Field(validation_alias='userManaged', default=None) + userdata: Any | None = Field(validation_alias='userdata', default=None) + vgpus: list[_pkg_cloudapi_compute_vgpu_item.PkgCloudapiComputeVGPUItem] | None = Field(validation_alias='vgpus', default=None) + vnc_passwd: str | None = Field(validation_alias='vncPasswd', default=None) + weight: int | None = Field(validation_alias='weight', default=None) + zone_id: int | None = Field(validation_alias='zoneId', default=None) + + +class PkgCloudapiComputeItemSnapSet(_ResultModel): + compute: Compute | None = Field(validation_alias='compute', default=None) + disks: list[int] | None = Field(validation_alias='disks', default=None) + guid: str | None = Field(validation_alias='guid', default=None) + label: str | None = Field(validation_alias='label', default=None) + memory_dump_image: int | None = Field(validation_alias='memory_dump_image', default=None) + timestamp: int | None = Field(validation_alias='timestamp', default=None) diff --git a/src/digital_energy_sdk/types/results/pkg_cloudapi_compute_qemu_quest.py b/src/digital_energy_sdk/types/results/pkg_cloudapi_compute_qemu_quest.py new file mode 100644 index 0000000..6d94c97 --- /dev/null +++ b/src/digital_energy_sdk/types/results/pkg_cloudapi_compute_qemu_quest.py @@ -0,0 +1,14 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class PkgCloudapiComputeQemuQuest(_ResultModel): + enabled: bool | None = Field(validation_alias='enabled', default=None) + enabled_agent_features: list[str] | None = Field(validation_alias='enabled_agent_features', default=None) + guid: str | None = Field(validation_alias='guid', default=None) + last_update: int | None = Field(validation_alias='last_update', default=None) + user: str | None = Field(validation_alias='user', default=None) diff --git a/src/digital_energy_sdk/types/results/pkg_cloudapi_compute_vgpu_item.py b/src/digital_energy_sdk/types/results/pkg_cloudapi_compute_vgpu_item.py new file mode 100644 index 0000000..53b13d5 --- /dev/null +++ b/src/digital_energy_sdk/types/results/pkg_cloudapi_compute_vgpu_item.py @@ -0,0 +1,28 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class PkgCloudapiComputeVGPUItem(_ResultModel): + account_id: int | None = Field(validation_alias='accountId', default=None) + bus_number: int | None = Field(validation_alias='bus_number', default=None) + created_time: int | None = Field(validation_alias='createdTime', default=None) + deleted_time: int | None = Field(validation_alias='deletedTime', 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) + last_claimed_by: int | None = Field(validation_alias='lastClaimedBy', default=None) + last_update_time: int | None = Field(validation_alias='lastUpdateTime', default=None) + mode: str | None = Field(validation_alias='mode', default=None) + pci_slot: int | None = Field(validation_alias='pciSlot', default=None) + pgpuid: int | None = Field(validation_alias='pgpuid', default=None) + profile_id: int | None = Field(validation_alias='profileId', default=None) + ram: int | None = Field(validation_alias='ram', default=None) + reference_id: str | None = Field(validation_alias='referenceId', default=None) + rg_id: int | None = Field(validation_alias='rgId', default=None) + status: str | None = Field(validation_alias='status', default=None) + type: str | None = Field(validation_alias='type', default=None) + vmid: int | None = Field(validation_alias='vmid', default=None) diff --git a/src/digital_energy_sdk/types/results/pkg_cloudapi_vins_item_routes.py b/src/digital_energy_sdk/types/results/pkg_cloudapi_vins_item_routes.py new file mode 100644 index 0000000..54ae1ba --- /dev/null +++ b/src/digital_energy_sdk/types/results/pkg_cloudapi_vins_item_routes.py @@ -0,0 +1,15 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class PkgCloudapiVinsItemRoutes(_ResultModel): + compute_ids: list[int] | None = Field(validation_alias='computeIds', default=None) + destination: str | None = Field(validation_alias='destination', default=None) + gateway: str | None = Field(validation_alias='gateway', default=None) + guid: str | None = Field(validation_alias='guid', default=None) + id: int | None = Field(validation_alias='id', default=None) + netmask: str | None = Field(validation_alias='netmask', default=None) diff --git a/src/digital_energy_sdk/types/results/prtype_apps_repository.py b/src/digital_energy_sdk/types/results/prtype_apps_repository.py new file mode 100644 index 0000000..c11da94 --- /dev/null +++ b/src/digital_energy_sdk/types/results/prtype_apps_repository.py @@ -0,0 +1,15 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class PrtypeAppsRepository(_ResultModel): + default_repository: bool | None = Field(validation_alias='defaultRepository', default=None) + description: str | None = Field(validation_alias='description', default=None) + id: int | None = Field(validation_alias='id', default=None) + owner_id: int | None = Field(validation_alias='ownerId', default=None) + registry_str: str | None = Field(validation_alias='registryStr', default=None) + repository_str: str | None = Field(validation_alias='repositoryStr', default=None) diff --git a/src/digital_energy_sdk/types/results/prtype_charts_repository.py b/src/digital_energy_sdk/types/results/prtype_charts_repository.py new file mode 100644 index 0000000..3cc5f1f --- /dev/null +++ b/src/digital_energy_sdk/types/results/prtype_charts_repository.py @@ -0,0 +1,14 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class PrtypeChartsRepository(_ResultModel): + charts_repository_url: str | None = Field(validation_alias='chartsRepositoryURL', default=None) + default_repository: bool | None = Field(validation_alias='defaultRepository', default=None) + description: str | None = Field(validation_alias='description', default=None) + id: int | None = Field(validation_alias='id', default=None) + owner_id: int | None = Field(validation_alias='ownerId', default=None) diff --git a/src/digital_energy_sdk/types/results/prtype_files_repository.py b/src/digital_energy_sdk/types/results/prtype_files_repository.py new file mode 100644 index 0000000..893fd45 --- /dev/null +++ b/src/digital_energy_sdk/types/results/prtype_files_repository.py @@ -0,0 +1,14 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class PrtypeFilesRepository(_ResultModel): + default_repository: bool | None = Field(validation_alias='defaultRepository', default=None) + description: str | None = Field(validation_alias='description', default=None) + files_repository_url: str | None = Field(validation_alias='filesRepositoryURL', default=None) + id: int | None = Field(validation_alias='id', default=None) + owner_id: int | None = Field(validation_alias='ownerId', default=None) diff --git a/src/digital_energy_sdk/types/results/prtype_kube_repository.py b/src/digital_energy_sdk/types/results/prtype_kube_repository.py new file mode 100644 index 0000000..4fbaf9d --- /dev/null +++ b/src/digital_energy_sdk/types/results/prtype_kube_repository.py @@ -0,0 +1,14 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class PrtypeKubeRepository(_ResultModel): + default_repository: bool | None = Field(validation_alias='defaultRepository', default=None) + description: str | None = Field(validation_alias='description', default=None) + id: int | None = Field(validation_alias='id', default=None) + owner_id: int | None = Field(validation_alias='ownerId', default=None) + registry_str: str | None = Field(validation_alias='registryStr', default=None) diff --git a/src/digital_energy_sdk/types/results/prtype_verification_report_brief.py b/src/digital_energy_sdk/types/results/prtype_verification_report_brief.py new file mode 100644 index 0000000..78ca9b4 --- /dev/null +++ b/src/digital_energy_sdk/types/results/prtype_verification_report_brief.py @@ -0,0 +1,23 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class PrtypeVerificationReportBrief(_ResultModel): + artifact_name: str | None = Field(validation_alias='artifactName', default=None) + cluster_id: int | None = Field(validation_alias='clusterId', default=None) + create_at: str | None = Field(validation_alias='createAt', default=None) + document_create_at: str | None = Field(validation_alias='documentCreateAt', default=None) + host_user: str | None = Field(validation_alias='hostUser', default=None) + id: int | None = Field(validation_alias='id', default=None) + namespace: str | None = Field(validation_alias='namespace', default=None) + os_type: str | None = Field(validation_alias='osType', default=None) + payload: str | None = Field(validation_alias='payload', default=None) + report_type: str | None = Field(validation_alias='reportType', default=None) + severity_count: dict[Any, Any] | None = Field(validation_alias='severityCount', default=None) + severity_level: str | None = Field(validation_alias='severityLevel', default=None) + source: str | None = Field(validation_alias='source', default=None) + update_at: str | None = Field(validation_alias='updateAt', default=None) diff --git a/src/digital_energy_sdk/types/results/restore_kyverno_policy_result.py b/src/digital_energy_sdk/types/results/restore_kyverno_policy_result.py new file mode 100644 index 0000000..4708a6b --- /dev/null +++ b/src/digital_energy_sdk/types/results/restore_kyverno_policy_result.py @@ -0,0 +1,17 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class Result(_ResultModel): + id: int | None = Field(validation_alias='id', default=None) + + +class RestoreKyvernoPolicyResult(_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) diff --git a/src/digital_energy_sdk/types/results/sdk_pkg_cloudapi_compute_item_acl.py b/src/digital_energy_sdk/types/results/sdk_pkg_cloudapi_compute_item_acl.py new file mode 100644 index 0000000..b2cc8bd --- /dev/null +++ b/src/digital_energy_sdk/types/results/sdk_pkg_cloudapi_compute_item_acl.py @@ -0,0 +1,15 @@ +from typing import Any +from enum import Enum + +from pydantic import Field + +from digital_energy_sdk.base import ResultModel as _ResultModel + + +class SdkPkgCloudapiComputeItemACL(_ResultModel): + 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) diff --git a/src/digital_energy_sdk/utils.py b/src/digital_energy_sdk/utils.py new file mode 100644 index 0000000..16826cf --- /dev/null +++ b/src/digital_energy_sdk/utils.py @@ -0,0 +1,27 @@ +from enum import Enum, auto as enum_auto +import re +from typing import ParamSpec, TypeVar +from collections.abc import Callable + + +P = ParamSpec('P') +T = TypeVar('T') + + +type JSON = int | str | bool | list['JSON'] | dict[str, 'JSON'] | None +F_DECORATOR = Callable[[Callable[P, T]], Callable[P, T]] + + +class AutoNameEnum(Enum): + @staticmethod + def _generate_next_value_(name, start, count, last_values): + return name + + +class EmptyStr(str, Enum): + EMPTY_STR = '' + +def gen_cls_name(*, s: str, postfix: str = ''): + parts = re.split(r'[^a-zA-Z0-9]+', s) + base = ''.join(f'{p[0].upper()}{p[1:]}' for p in parts if p) + return f'{base}{postfix}' \ No newline at end of file