Spaces:
Runtime error
Runtime error
File size: 1,970 Bytes
105b369 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
from typing import Union, Optional
from typing_extensions import Literal
from kubernetes.client.models.v1_deployment_strategy import V1DeploymentStrategy
from kubernetes.client.models.v1_rolling_update_deployment import (
V1RollingUpdateDeployment,
)
from pydantic import Field
from phi.k8s.resource.base import K8sObject
class RollingUpdateDeployment(K8sObject):
"""
Reference:
- https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#rollingupdatedeployment-v1-apps
"""
resource_type: str = "RollingUpdateDeployment"
max_surge: Optional[Union[int, str]] = Field(None, alias="maxSurge")
max_unavailable: Optional[Union[int, str]] = Field(None, alias="maxUnavailable")
def get_k8s_object(self) -> V1RollingUpdateDeployment:
# Return a V1RollingUpdateDeployment object
# https://github.com/kubernetes-client/python/blob/master/kubernetes/client/models/v1_rolling_update_deployment.py
_v1_rolling_update_deployment = V1RollingUpdateDeployment(
max_surge=self.max_surge,
max_unavailable=self.max_unavailable,
)
return _v1_rolling_update_deployment
class DeploymentStrategy(K8sObject):
"""
Reference:
- https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#deploymentstrategy-v1-apps
"""
resource_type: str = "DeploymentStrategy"
rolling_update: RollingUpdateDeployment = Field(RollingUpdateDeployment(), alias="rollingUpdate")
type: Literal["Recreate", "RollingUpdate"] = "RollingUpdate"
def get_k8s_object(self) -> V1DeploymentStrategy:
# Return a V1DeploymentStrategy object
# https://github.com/kubernetes-client/python/blob/master/kubernetes/client/models/v1_deployment_strategy.py
_v1_deployment_strategy = V1DeploymentStrategy(
rolling_update=self.rolling_update.get_k8s_object(),
type=self.type,
)
return _v1_deployment_strategy
|