-
Notifications
You must be signed in to change notification settings - Fork 1k
/
rpc_image_status.go
52 lines (46 loc) · 1.08 KB
/
rpc_image_status.go
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
package v1
import (
"context"
"github.com/cri-o/cri-o/server/cri/types"
pb "k8s.io/cri-api/pkg/apis/runtime/v1"
)
func (s *service) ImageStatus(
ctx context.Context, req *pb.ImageStatusRequest,
) (*pb.ImageStatusResponse, error) {
r := &types.ImageStatusRequest{
Image: &types.ImageSpec{},
Verbose: req.Verbose,
}
if req.Image != nil {
r.Image = &types.ImageSpec{
Image: req.Image.Image,
Annotations: req.Image.Annotations,
}
}
res, err := s.server.ImageStatus(ctx, r)
if err != nil {
return nil, err
}
resp := &pb.ImageStatusResponse{Info: res.Info}
if res.Image != nil {
resp.Image = &pb.Image{
Id: res.Image.ID,
RepoTags: res.Image.RepoTags,
RepoDigests: res.Image.RepoDigests,
Size_: res.Image.Size,
Username: res.Image.Username,
}
if res.Image.UID != nil {
resp.Image.Uid = &pb.Int64Value{
Value: res.Image.UID.Value,
}
}
if res.Image.Spec != nil {
resp.Image.Spec = &pb.ImageSpec{
Image: res.Image.Spec.Image,
Annotations: res.Image.Spec.Annotations,
}
}
}
return resp, nil
}