blob: 99defa638154bf751d4f70e48da6321de4216a15 (
plain) (
blame)
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
53
54
55
|
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.athenz.client.zms;
import com.yahoo.vespa.athenz.client.zms.bindings.StatisticsEntity;
/**
* @author olaa
*/
public class QuotaUsage {
private double subdomainUsage;
private double roleUsage;
private double policyUsage;
private double serviceUsage;
private double groupUsage;
public QuotaUsage(double subdomainUsage, double roleUsage, double policyUsage, double serviceUsage, double groupUsage) {
this.subdomainUsage = subdomainUsage;
this.roleUsage = roleUsage;
this.policyUsage = policyUsage;
this.serviceUsage = serviceUsage;
this.groupUsage = groupUsage;
}
public static QuotaUsage calculateUsage(StatisticsEntity used, StatisticsEntity quota) {
return new QuotaUsage(
(double) used.getSubdomains() / quota.getSubdomains(),
(double) used.getRoles() / quota.getRoles(),
(double) used.getPolicies() / quota.getPolicies(),
(double) used.getServices() / quota.getServices(),
(double) used.getGroups() / quota.getGroups()
);
}
public double getSubdomainUsage() {
return subdomainUsage;
}
public double getRoleUsage() {
return roleUsage;
}
public double getPolicyUsage() {
return policyUsage;
}
public double getServiceUsage() {
return serviceUsage;
}
public double getGroupUsage() {
return groupUsage;
}
}
|