added docker and kubenetes yaml file
[ealt-edge.git] / example-apps / ROBO / backup_BE / src / main / java / org / edgegallery / example_app / service / pvcService.java
1 package org.edgegallery.example_app.service;
2
3 import io.kubernetes.client.ApiException;
4 import io.kubernetes.client.apis.CoreV1Api;
5 import io.kubernetes.client.models.V1PersistentVolumeClaim;
6 import io.kubernetes.client.models.V1PersistentVolumeClaimList;
7
8 import java.util.ArrayList;
9 import java.util.List;
10 import org.edgegallery.example_app.model.Pvcs;
11 import org.springframework.stereotype.Service;
12
13 @Service
14 public class pvcService {
15     private Pvcs pvcsDetail;
16
17     public List<Pvcs> getPvcsList() {
18         String namespace = "default";
19         CoreV1Api api = new CoreV1Api();
20         V1PersistentVolumeClaimList list = null;
21         try {
22            /* list = api.listNamespacedPersistentVolumeClaim(namespace, null, null, null,
23                     null, null, null, null, null,
24                     null);*/
25             list = api.listPersistentVolumeClaimForAllNamespaces(null, null, null,
26                     null,null,null,null,null,null);
27         } catch (ApiException apie) {
28             System.err.println("Exception when calling CoreV1Api#listNamespacedPersistentVolumeClaim");
29             apie.printStackTrace();
30             System.exit(1);
31         }
32
33         if (list == null) {
34             System.out.println("Inside- pvcs obj is null");
35         }
36         List<Pvcs> pvcslistElement = new ArrayList<Pvcs>();
37
38         for (V1PersistentVolumeClaim item : list.getItems()) {
39             pvcsDetail = new Pvcs();
40             pvcsDetail.setNamespace(item.getMetadata().getNamespace());
41             pvcsDetail.setName(item.getMetadata().getName());
42             pvcsDetail.setStatus(item.getStatus().getPhase());
43
44             pvcsDetail.setVolume(item.getSpec().getVolumeName());
45             pvcsDetail.setVolumemode(item.getSpec().getVolumeMode());
46            //TODO: getAccessModes return list of string, need to check
47             // pvcsDetail.setAccessmodes(item.getSpec().getAccessModes());
48             pvcsDetail.setStorageclass(item.getSpec().getStorageClassName());
49
50           //  pvcsDetail.setAge(item.getStatus().getConditions().getLastTransitionTime());
51             //TODO: getCapacity is a map. need to get quantity from map and fill
52             //pvcsDetail.setCapacity(item.getStatus().getCapacity());
53             pvcsDetail.setAge("null");
54             pvcslistElement.add(pvcsDetail);
55         }
56
57         return pvcslistElement;
58     }
59
60 }