1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.common.aws.ec2.impl;
17
18 import static org.kuali.common.util.base.Precondition.checkNotBlank;
19 import static org.kuali.common.util.base.Precondition.checkNotNull;
20
21 import org.kuali.common.aws.ec2.api.EC2Service;
22 import org.kuali.common.util.condition.Condition;
23
24 import com.amazonaws.services.ec2.model.Snapshot;
25
26
27
28
29 public final class SnapshotStateCondition implements Condition {
30
31 public SnapshotStateCondition(EC2Service service, String snapshotId, String state) {
32 this.service = checkNotNull(service, "service");
33 this.snapshotId = checkNotBlank(snapshotId, "snapshotId");
34 this.state = checkNotBlank(state, "state");
35 }
36
37 private final EC2Service service;
38 private final String snapshotId;
39 private final String state;
40
41 @Override
42 public boolean isTrue() {
43 Snapshot snapshot = service.getSnapshot(snapshotId);
44 return this.state.equals(snapshot.getState());
45 }
46
47 }