static RuntimeData GetRuntimeData(V1ContainerStatus status) { string imageName = "unknown:unknown"; if (status?.Image != null) { imageName = status.Image; } if (status?.State?.Running != null) { if (status.State.Running.StartedAt.HasValue) { return(new RuntimeData(0, Option.Some(status.State.Running.StartedAt.Value), Option.None <DateTime>(), imageName)); } } else if (status?.State?.Terminated != null) { return(GetTerminatedRuntimeData(status.State.Terminated, imageName)); } else if (status?.LastState?.Terminated != null) { return(GetTerminatedRuntimeData(status.LastState.Terminated, imageName)); } return(new RuntimeData(0, Option.None <DateTime>(), Option.None <DateTime>(), imageName)); }
static Option <V1ContainerStatus> GetContainerByName(string name, V1Pod pod) { string containerName = KubeUtils.SanitizeDNSValue(name); V1ContainerStatus status = pod.Status?.ContainerStatuses? .FirstOrDefault(container => string.Equals(container.Name, containerName, StringComparison.OrdinalIgnoreCase)); return(Option.Maybe(status)); }
/// <summary> /// Instantiates an instance of <see cref="ContainerStatus" /> /// </summary> public ContainerStatus(V1ContainerStatus status) { _status = status; }