def patch_container( container: k8s_schemas.V1Container, name: str = None, command: List[str] = None, args: List[str] = None, image: str = None, image_pull_policy: str = None, env: List[k8s_schemas.V1EnvVar] = None, env_from: List[k8s_schemas.V1EnvFromSource] = None, volume_mounts: List[k8s_schemas.V1VolumeMount] = None, ports: List[k8s_schemas.V1ContainerPort] = None, resources: k8s_schemas.V1ResourceRequirements = None, ) -> k8s_schemas.V1Container: container.name = name or container.name container.env = to_list(container.env, check_none=True) + to_list( env, check_none=True) container.env_from = to_list(container.env_from, check_none=True) + to_list(env_from, check_none=True) container.volume_mounts = to_list( container.volume_mounts, check_none=True) + to_list(volume_mounts, check_none=True) container.ports = to_list(container.ports, check_none=True) + to_list( ports, check_none=True) container.resources = container.resources or resources container.resources = sanitize_resources(container.resources) container.image_pull_policy = container.image_pull_policy or image_pull_policy container.image = container.image or image if not any([container.command, container.args]): container.command = command container.args = args return sanitize_container_command_args(container)
def sanitize_container( container: k8s_schemas.V1Container, ) -> k8s_schemas.V1Container: container = sanitize_container_command_args(container) container.resources = sanitize_resources(container.resources) return sanitize_container_env(container)