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.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(container)
def sanitize_container_command_args( container: k8s_schemas.V1Container, ) -> k8s_schemas.V1Container: # Sanitize container command/args if container.command: container.command = [ str(c) for c in to_list(container.command, check_none=True) if c ] if container.args: container.args = [str(c) for c in to_list(container.args, check_none=True) if c] return container