File Coverage

blib/lib/API/Docker/Container.pm
Criterion Covered Total %
statement 12 34 35.2
branch 6 8 75.0
condition n/a
subroutine 3 14 21.4
pod 12 12 100.0
total 33 68 48.5


line stmt bran cond sub pod time code
1             package API::Docker::Container;
2             # ABSTRACT: Docker container entity
3             our $VERSION = '0.001';
4 7     7   40 use Moo;
  7         12  
  7         34  
5 7     7   2122 use namespace::clean;
  7         11  
  7         51  
6              
7              
8             has client => (
9             is => 'ro',
10             weak_ref => 1,
11             );
12              
13              
14             has Id => (is => 'ro');
15              
16              
17             has Names => (is => 'ro');
18              
19              
20             has Image => (is => 'ro');
21              
22              
23             has ImageID => (is => 'ro');
24             has Command => (is => 'ro');
25             has Created => (is => 'ro');
26              
27              
28             has State => (is => 'ro');
29              
30              
31             has Status => (is => 'ro');
32              
33              
34             has Ports => (is => 'ro');
35             has Labels => (is => 'ro');
36             has SizeRw => (is => 'ro');
37             has SizeRootFs => (is => 'ro');
38             has HostConfig => (is => 'ro');
39             has NetworkSettings => (is => 'ro');
40             has Mounts => (is => 'ro');
41              
42             has Name => (is => 'ro');
43              
44              
45             has RestartCount => (is => 'ro');
46             has Driver => (is => 'ro');
47             has Platform => (is => 'ro');
48             has Path => (is => 'ro');
49             has Args => (is => 'ro');
50             has Config => (is => 'ro');
51              
52             sub start {
53 0     0 1 0 my ($self) = @_;
54 0         0 return $self->client->containers->start($self->Id);
55             }
56              
57              
58             sub stop {
59 0     0 1 0 my ($self, %opts) = @_;
60 0         0 return $self->client->containers->stop($self->Id, %opts);
61             }
62              
63              
64             sub restart {
65 0     0 1 0 my ($self, %opts) = @_;
66 0         0 return $self->client->containers->restart($self->Id, %opts);
67             }
68              
69              
70             sub kill {
71 0     0 1 0 my ($self, %opts) = @_;
72 0         0 return $self->client->containers->kill($self->Id, %opts);
73             }
74              
75              
76             sub remove {
77 0     0 1 0 my ($self, %opts) = @_;
78 0         0 return $self->client->containers->remove($self->Id, %opts);
79             }
80              
81              
82             sub logs {
83 0     0 1 0 my ($self, %opts) = @_;
84 0         0 return $self->client->containers->logs($self->Id, %opts);
85             }
86              
87              
88             sub inspect {
89 0     0 1 0 my ($self) = @_;
90 0         0 return $self->client->containers->inspect($self->Id);
91             }
92              
93              
94             sub pause {
95 0     0 1 0 my ($self) = @_;
96 0         0 return $self->client->containers->pause($self->Id);
97             }
98              
99              
100             sub unpause {
101 0     0 1 0 my ($self) = @_;
102 0         0 return $self->client->containers->unpause($self->Id);
103             }
104              
105              
106             sub top {
107 0     0 1 0 my ($self, %opts) = @_;
108 0         0 return $self->client->containers->top($self->Id, %opts);
109             }
110              
111              
112             sub stats {
113 0     0 1 0 my ($self, %opts) = @_;
114 0         0 return $self->client->containers->stats($self->Id, %opts);
115             }
116              
117              
118             sub is_running {
119 3     3 1 8718 my ($self) = @_;
120 3         14 my $state = $self->State;
121 3 50       14 return 0 unless defined $state;
122 3 100       13 if (ref $state eq 'HASH') {
123 1 50       39 return $state->{Running} ? 1 : 0;
124             }
125 2 100       19 return lc($state) eq 'running' ? 1 : 0;
126             }
127              
128              
129              
130             1;
131              
132             __END__