from http import HTTPMethod from typing import Any from enum import Enum from pydantic import Field from digital_energy_sdk.base import APIOperationImpl as _APIOperationImpl from digital_energy_sdk.base import ParamModel as _ParamModel from digital_energy_sdk.base import ParamFile as _ParamFile from digital_energy_sdk.base import ResultModel as _ResultModel from digital_energy_sdk.types import params as _params from digital_energy_sdk.types import results as _results class 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_k8_ci_id: int | None = Field(serialization_alias='dynamixK8CIId', default=None) dynamix_platform_id: int | None = Field(serialization_alias='dynamixPlatformId', 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) 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_tekton: bool | None = Field(serialization_alias='installTekton', 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