Skip to content
Merged
Show file tree
Hide file tree
Changes from 30 commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
c087de4
Merge branch '4.19'
DaanHoogland Oct 2, 2024
d6181d5
Fix `updateTemplatePermission` when the UI is set to a language other…
lucas-a-martins Oct 4, 2024
4075613
B&R Framework: Support account / domain backup limits
Pearl1594 Oct 3, 2024
c0a7ab1
Schema, service layer for backup and backup_storage limits
abh1sar Oct 15, 2024
40e92d7
Merge remote-tracking branch 'upstream/main' into bnr-object-limits
abh1sar Oct 15, 2024
7d8557e
UI changes for maxbackups and displaying backup_storage limit
abh1sar Oct 22, 2024
7151a04
Fix backup_storage limits response in account, domain and project
abh1sar Oct 22, 2024
85d5977
Fix backup_storage limit response
abh1sar Oct 22, 2024
b33f12c
Show Backup and Backup Storage usage in the User dashboard
abh1sar Oct 23, 2024
41f512a
Check and modify backup_storage resource count on taking and deleting…
abh1sar Oct 23, 2024
00a4265
Buckets and Object Storage Limits
abh1sar Oct 25, 2024
7e6c9f0
Merge remote-tracking branch 'upstream/main' into bnr-object-limits
abh1sar Nov 4, 2024
7b9eb8f
Generate event when a resource limit is updated.
abh1sar Nov 4, 2024
4837710
Fix event gen for projects.
abh1sar Nov 4, 2024
d6ad13a
Networker plugin Size and Protected size should be reverse. i.e, prot…
abh1sar Nov 6, 2024
1622a49
Moved syncBackups to the framework. Update resource limits in syncBac…
abh1sar Nov 6, 2024
175e34a
Delete older backups on scheduled backups
abh1sar Nov 19, 2024
a9e0690
Merge remote-tracking branch 'upstream/main' into bnr-object-limits
abh1sar Nov 26, 2024
4f7f3ee
Revert adding scheduleId to DeleteBackupScheduleCmd
abh1sar Nov 26, 2024
900d939
UT for BackupManagerImpl and ResourceLimitManagerImpl
abh1sar Nov 27, 2024
caf70f3
Keep maxbackups as null for Veeam where retention is enforced by Veeam.
abh1sar Dec 1, 2024
b0be7da
Merge remote-tracking branch 'upstream/main' into bnr-object-limits
abh1sar Dec 1, 2024
a5c11bc
Pass scheduleid when creating schedules backups
abh1sar Dec 2, 2024
633cc6d
DB upgrade path for 42000to42100
abh1sar Dec 2, 2024
5783cd2
Remove BucketApiServiceImplTest.java.
abh1sar Dec 2, 2024
2a1be7c
Added UT for BucketApiServiceImpl
abh1sar Dec 2, 2024
a60dc0c
Fix checkstyle.
abh1sar Dec 2, 2024
a3a21b2
Fixed UT failures
abh1sar Dec 2, 2024
41dbce9
Merge remote-tracking branch 'upstream/main' into bnr-object-limits
abh1sar Dec 5, 2024
c1769db
Set default values for domain limits
abh1sar Dec 6, 2024
bfd1e8b
Revert new subgroup for Backup
abh1sar Dec 6, 2024
28518e7
Move new configs to the respective service classes.
abh1sar Dec 7, 2024
cfc8121
Added more UT for BackupManagerImpl
abh1sar Dec 8, 2024
fcbc5a5
Added more UT to ResourceLimitManagerImplTest
abh1sar Dec 9, 2024
3e754a1
Fix for bucket quota not being set in Ceph
abh1sar Dec 9, 2024
73ec60e
Merge remote-tracking branch 'upstream/main' into bnr-object-limits
abh1sar Dec 11, 2024
da88b0a
minor fix in ui and nas backup provider
abh1sar Dec 15, 2024
41e38b8
Merge branch 'bnr-object-limits' of https://github.com/shapeblue/clou…
abh1sar Dec 15, 2024
938295e
show maxbackups in list backup schedule api
abh1sar Dec 15, 2024
8b73474
Fix for scheduleId not being set for scheduled backups
abh1sar Dec 17, 2024
c0cfb77
Use physical size to enforce backup storage resource limits
abh1sar Dec 17, 2024
aaee31a
Get volume physical size from StatsCollector for checking backup reso…
abh1sar Dec 17, 2024
eadf401
Fix UT failure after changing virtual to physical size
abh1sar Dec 17, 2024
2676ab0
Fix checkstyle failure
abh1sar Dec 17, 2024
e07dcd6
Merge remote-tracking branch 'upstream/main' into limits
abh1sar Dec 18, 2024
baced22
rename getVolumePhysicalUsed to getVolumePhysicalSize
abh1sar Dec 18, 2024
ceeefbb
UpdateResourceCount Api should also be using physical size of the bac…
abh1sar Dec 24, 2024
c1ff9ad
resource usage in red if not available
abh1sar Jan 6, 2025
8ade4d4
fix for setting maxbackups on backup schedule
abh1sar Jan 6, 2025
13dd12c
Merge remote-tracking branch 'upstream/main' into bnr-object-limits
abh1sar Jan 6, 2025
9043cf9
Merge remote-tracking branch 'upstream/main' into limits
abh1sar Jan 9, 2025
be031e2
Restored logging lost during last merge
abh1sar Jan 9, 2025
3f087ec
Merge remote-tracking branch 'upstream/main' into bnr-object-limits
abh1sar Jan 16, 2025
023942b
Merge remote-tracking branch 'upstream/main' into bnr-object-limits
abh1sar Jan 28, 2025
2d02254
Merge branch 'main' into bnr-object-limits
abh1sar Jan 28, 2025
5e86d9b
Merge branch 'bnr-object-limits' of https://github.com/shapeblue/clou…
abh1sar Jan 31, 2025
0cedbc9
Merge branch 'main' into bnr-object-limits
rohityadavcloud Jan 31, 2025
252355a
Merge branch 'bnr-object-limits' of https://github.com/shapeblue/clou…
abh1sar Feb 1, 2025
0aa16f5
fix pre-commit failure
abh1sar Feb 1, 2025
e9b9cfc
Merge branch 'main' into bnr-object-limits
abh1sar Feb 2, 2025
c79f61c
remove VolumeDao.SumCount include
abh1sar Feb 2, 2025
fbcbe3b
fix typo in ApiConstants.BUCKET_AVAILABLE
abh1sar Feb 5, 2025
140f63d
Merge branch 'bnr-object-limits' of https://github.com/shapeblue/clou…
abh1sar Feb 5, 2025
6783759
Merge remote-tracking branch 'upstream/main' into bnr-object-limits
abh1sar Feb 5, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions api/src/main/java/com/cloud/configuration/Resource.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
short RESOURCE_UNLIMITED = -1;
String UNLIMITED = "Unlimited";

enum ResourceType { // Primary and Secondary storage are allocated_storage and not the physical storage.
enum ResourceType { // All storage type resources are allocated_storage and not the physical storage.
user_vm("user_vm", 0),
public_ip("public_ip", 1),
volume("volume", 2),
Expand All @@ -33,7 +33,11 @@
cpu("cpu", 8),
memory("memory", 9),
primary_storage("primary_storage", 10),
secondary_storage("secondary_storage", 11);
secondary_storage("secondary_storage", 11),
backup("backup", 12),
backup_storage("backup_storage", 13),
bucket("bucket", 14),
object_storage("object_storage", 15);

private String name;
private int ordinal;
Expand Down Expand Up @@ -62,6 +66,10 @@
}
return null;
}

public static Boolean isStorageType(ResourceType type) {

Check warning on line 70 in api/src/main/java/com/cloud/configuration/Resource.java

View check run for this annotation

Codecov / codecov/patch

api/src/main/java/com/cloud/configuration/Resource.java#L70

Added line #L70 was not covered by tests
return (type == primary_storage || type == secondary_storage || type == backup_storage || type == object_storage);
}

Check warning on line 72 in api/src/main/java/com/cloud/configuration/Resource.java

View check run for this annotation

Codecov / codecov/patch

api/src/main/java/com/cloud/configuration/Resource.java#L72

Added line #L72 was not covered by tests
}

public static class ResourceOwnerType {
Expand Down
3 changes: 3 additions & 0 deletions api/src/main/java/com/cloud/event/EventTypes.java
Original file line number Diff line number Diff line change
Expand Up @@ -785,6 +785,9 @@ public class EventTypes {
public static final String EVENT_SHAREDFS_EXPUNGE = "SHAREDFS.EXPUNGE";
public static final String EVENT_SHAREDFS_RECOVER = "SHAREDFS.RECOVER";

// Resource Limit
public static final String EVENT_RESOURCE_LIMIT_UPDATE = "RESOURCE.LIMIT.UPDATE";

static {

// TODO: need a way to force author adding event types to declare the entity details as well, with out braking
Expand Down
20 changes: 18 additions & 2 deletions api/src/main/java/org/apache/cloudstack/api/ApiConstants.java
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,15 @@ public class ApiConstants {
public static final String AVAILABLE = "available";
public static final String AVAILABLE_SUBNETS = "availablesubnets";
public static final String AVAILABLE_VIRTUAL_MACHINE_COUNT = "availablevirtualmachinecount";
public static final String BACKUP_AVAILABLE = "backupavailable";
public static final String BACKUP_ID = "backupid";
public static final String BACKUP_LIMIT = "backuplimit";
public static final String BACKUP_OFFERING_NAME = "backupofferingname";
public static final String BACKUP_OFFERING_ID = "backupofferingid";
public static final String BACKUP_STORAGE_AVAILABLE = "backupstorageavailable";
public static final String BACKUP_STORAGE_LIMIT = "backupstoragelimit";
public static final String BACKUP_STORAGE_TOTAL = "backupstoragetotal";
public static final String BACKUP_TOTAL = "backuptotal";
public static final String BASE64_IMAGE = "base64image";
public static final String BGP_PEERS = "bgppeers";
public static final String BGP_PEER_IDS = "bgppeerids";
Expand Down Expand Up @@ -322,6 +328,7 @@ public class ApiConstants {
public static final String MAC_ADDRESS = "macaddress";
public static final String MAX = "max";
public static final String MAX_SNAPS = "maxsnaps";
public static final String MAX_BACKUPS = "maxbackups";
public static final String MAX_CPU_NUMBER = "maxcpunumber";
public static final String MAX_MEMORY = "maxmemory";
public static final String MIN_CPU_NUMBER = "mincpunumber";
Expand Down Expand Up @@ -436,6 +443,7 @@ public class ApiConstants {
public static final String QUALIFIERS = "qualifiers";
public static final String QUERY_FILTER = "queryfilter";
public static final String SCHEDULE = "schedule";
public static final String SCHEDULE_ID = "scheduleid";
public static final String SCOPE = "scope";
public static final String SEARCH_BASE = "searchbase";
public static final String SECONDARY_IP = "secondaryip";
Expand Down Expand Up @@ -1144,7 +1152,6 @@ public class ApiConstants {
public static final String MTU = "mtu";
public static final String AUTO_ENABLE_KVM_HOST = "autoenablekvmhost";
public static final String LIST_APIS = "listApis";
public static final String OBJECT_STORAGE_ID = "objectstorageid";
public static final String VERSIONING = "versioning";
public static final String OBJECT_LOCKING = "objectlocking";
public static final String ENCRYPTION = "encryption";
Expand All @@ -1158,7 +1165,6 @@ public class ApiConstants {
public static final String DISK_PATH = "diskpath";
public static final String IMPORT_SOURCE = "importsource";
public static final String TEMP_PATH = "temppath";
public static final String OBJECT_STORAGE = "objectstore";
public static final String HEURISTIC_RULE = "heuristicrule";
public static final String HEURISTIC_TYPE_VALID_OPTIONS = "Valid options are: ISO, SNAPSHOT, TEMPLATE and VOLUME.";
public static final String MANAGEMENT = "management";
Expand Down Expand Up @@ -1191,6 +1197,16 @@ public class ApiConstants {
"numeric value will be applied; if the result is neither a boolean nor a numeric value, the tariff will not be applied. If the rule is not informed, the tariff " +
"value will be applied.";

// Object Storage related
public static final String BUCKET_AVAILABLE = "bucketavaialable";
public static final String BUCKET_LIMIT = "bucketlimit";
public static final String BUCKET_TOTAL = "buckettotal";
public static final String OBJECT_STORAGE_ID = "objectstorageid";
public static final String OBJECT_STORAGE = "objectstore";
public static final String OBJECT_STORAGE_AVAILABLE = "objectstorageavailable";
public static final String OBJECT_STORAGE_LIMIT = "objectstoragelimit";
public static final String OBJECT_STORAGE_TOTAL = "objectstoragetotal";

/**
* This enum specifies IO Drivers, each option controls specific policies on I/O.
* Qemu guests support "threads" and "native" options Since 0.8.8 ; "io_uring" is supported Since 6.3.0 (QEMU 5.0).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@

import javax.inject.Inject;

import com.cloud.storage.Snapshot;
import org.apache.cloudstack.acl.RoleType;
import org.apache.cloudstack.api.APICommand;
import org.apache.cloudstack.api.ApiCommandResourceType;
Expand All @@ -27,6 +28,7 @@
import org.apache.cloudstack.api.BaseAsyncCreateCmd;
import org.apache.cloudstack.api.Parameter;
import org.apache.cloudstack.api.ServerApiException;
import org.apache.cloudstack.api.response.BackupScheduleResponse;
import org.apache.cloudstack.api.response.SuccessResponse;
import org.apache.cloudstack.api.response.UserVmResponse;
import org.apache.cloudstack.backup.BackupManager;
Expand Down Expand Up @@ -60,6 +62,13 @@
description = "ID of the VM")
private Long vmId;

@Parameter(name = ApiConstants.SCHEDULE_ID,
type = CommandType.UUID,
entityType = BackupScheduleResponse.class,
description = "backup schedule ID of the VM, if this is null, it indicates that it is a manual backup.",
since = "4.21.0")
private Long scheduleId;

/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
/////////////////////////////////////////////////////
Expand All @@ -68,14 +77,22 @@
return vmId;
}

public Long getScheduleId() {

Check warning on line 80 in api/src/main/java/org/apache/cloudstack/api/command/user/backup/CreateBackupCmd.java

View check run for this annotation

Codecov / codecov/patch

api/src/main/java/org/apache/cloudstack/api/command/user/backup/CreateBackupCmd.java#L80

Added line #L80 was not covered by tests
if (scheduleId != null) {
return scheduleId;

Check warning on line 82 in api/src/main/java/org/apache/cloudstack/api/command/user/backup/CreateBackupCmd.java

View check run for this annotation

Codecov / codecov/patch

api/src/main/java/org/apache/cloudstack/api/command/user/backup/CreateBackupCmd.java#L82

Added line #L82 was not covered by tests
} else {
return Snapshot.MANUAL_POLICY_ID;

Check warning on line 84 in api/src/main/java/org/apache/cloudstack/api/command/user/backup/CreateBackupCmd.java

View check run for this annotation

Codecov / codecov/patch

api/src/main/java/org/apache/cloudstack/api/command/user/backup/CreateBackupCmd.java#L84

Added line #L84 was not covered by tests
}
}

Check warning on line 86 in api/src/main/java/org/apache/cloudstack/api/command/user/backup/CreateBackupCmd.java

View check run for this annotation

Codecov / codecov/patch

api/src/main/java/org/apache/cloudstack/api/command/user/backup/CreateBackupCmd.java#L86

Added line #L86 was not covered by tests

/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////

@Override
public void execute() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException, ResourceAllocationException, NetworkRuleConflictException {
try {
boolean result = backupManager.createBackup(getVmId());
boolean result = backupManager.createBackup(getVmId(), getScheduleId());

Check warning on line 95 in api/src/main/java/org/apache/cloudstack/api/command/user/backup/CreateBackupCmd.java

View check run for this annotation

Codecov / codecov/patch

api/src/main/java/org/apache/cloudstack/api/command/user/backup/CreateBackupCmd.java#L95

Added line #L95 was not covered by tests
if (result) {
SuccessResponse response = new SuccessResponse(getCommandName());
response.setResponseName(getCommandName());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,12 @@
description = "Specifies a timezone for this command. For more information on the timezone parameter, see TimeZone Format.")
private String timezone;

@Parameter(name = ApiConstants.MAX_BACKUPS,
type = CommandType.INTEGER,
description = "maximum number of backups to retain",
since = "4.21.0")
private Integer maxBackups;

/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
/////////////////////////////////////////////////////
Expand All @@ -95,6 +101,10 @@
return timezone;
}

public Integer getMaxBackups() {
return maxBackups;
}

Check warning on line 106 in api/src/main/java/org/apache/cloudstack/api/command/user/backup/CreateBackupScheduleCmd.java

View check run for this annotation

Codecov / codecov/patch

api/src/main/java/org/apache/cloudstack/api/command/user/backup/CreateBackupScheduleCmd.java#L104-L106

Added lines #L104 - L106 were not covered by tests

/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ public class CreateBucketCmd extends BaseAsyncCreateCmd implements UserCmd {
description = "Id of the Object Storage Pool where bucket is created")
private long objectStoragePoolId;

@Parameter(name = ApiConstants.QUOTA, type = CommandType.INTEGER,description = "Bucket Quota in GB")
@Parameter(name = ApiConstants.QUOTA, type = CommandType.INTEGER, required = true, description = "Bucket Quota in GiB")
private Integer quota;

@Parameter(name = ApiConstants.ENCRYPTION, type = CommandType.BOOLEAN, description = "Enable bucket encryption")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public class UpdateBucketCmd extends BaseCmd {
@Parameter(name = ApiConstants.POLICY, type = CommandType.STRING, description = "Bucket Access Policy")
private String policy;

@Parameter(name = ApiConstants.QUOTA, type = CommandType.INTEGER,description = "Bucket Quota in GB")
@Parameter(name = ApiConstants.QUOTA, type = CommandType.INTEGER, description = "Bucket Quota in GiB")
private Integer quota;

/////////////////////////////////////////////////////
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,30 @@
@Param(description = "the total number of snapshots available for this account")
private String snapshotAvailable;

@SerializedName(ApiConstants.BACKUP_LIMIT)
@Param(description = "the total number of backups which can be stored by this account", since = "4.21.0")
private String backupLimit;

@SerializedName(ApiConstants.BACKUP_TOTAL)
@Param(description = "the total number of backups stored by this account", since = "4.21.0")
private Long backupTotal;

@SerializedName(ApiConstants.BACKUP_AVAILABLE)
@Param(description = "the total number of backups available to this account", since = "4.21.0")
private String backupAvailable;

@SerializedName(ApiConstants.BACKUP_STORAGE_LIMIT)
@Param(description = "the total backup storage space (in GiB) the account can own", since = "4.21.0")
private String backupStorageLimit;

@SerializedName(ApiConstants.BACKUP_STORAGE_TOTAL)
@Param(description = "the total backup storage space (in GiB) owned by the account", since = "4.21.0")
private Long backupStorageTotal;

@SerializedName(ApiConstants.BACKUP_STORAGE_AVAILABLE)
@Param(description = "the total backup storage space (in GiB) available to the account", since = "4.21.0")
private String backupStorageAvailable;

@SerializedName("templatelimit")
@Param(description = "the total number of templates which can be created by this account")
private String templateLimit;
Expand Down Expand Up @@ -231,6 +255,30 @@
@Param(description = "the total secondary storage space (in GiB) available to be used for this account", since = "4.2.0")
private String secondaryStorageAvailable;

@SerializedName(ApiConstants.BUCKET_LIMIT)
@Param(description = "the total number of buckets which can be stored by this account", since = "4.21.0")
private String bucketLimit;

@SerializedName(ApiConstants.BUCKET_TOTAL)
@Param(description = "the total number of buckets stored by this account", since = "4.21.0")
private Long bucketTotal;

@SerializedName(ApiConstants.BUCKET_AVAILABLE)
@Param(description = "the total number of buckets available to this account", since = "4.21.0")
private String bucketAvailable;

@SerializedName(ApiConstants.OBJECT_STORAGE_LIMIT)
@Param(description = "the total object storage space (in GiB) the account can own", since = "4.21.0")
private String objectStorageLimit;

@SerializedName(ApiConstants.OBJECT_STORAGE_TOTAL)
@Param(description = "the total object storage space (in GiB) owned by the account", since = "4.21.0")
private Long objectStorageTotal;

@SerializedName(ApiConstants.OBJECT_STORAGE_AVAILABLE)
@Param(description = "the total object storage space (in GiB) available to the account", since = "4.21.0")
private String objectStorageAvailable;

@SerializedName(ApiConstants.STATE)
@Param(description = "the state of the account")
private String state;
Expand Down Expand Up @@ -386,6 +434,36 @@
this.snapshotAvailable = snapshotAvailable;
}

@Override
public void setBackupLimit(String backupLimit) {
this.backupLimit = backupLimit;
}

Check warning on line 440 in api/src/main/java/org/apache/cloudstack/api/response/AccountResponse.java

View check run for this annotation

Codecov / codecov/patch

api/src/main/java/org/apache/cloudstack/api/response/AccountResponse.java#L438-L440

Added lines #L438 - L440 were not covered by tests

@Override
public void setBackupTotal(Long backupTotal) {
this.backupTotal = backupTotal;
}

Check warning on line 445 in api/src/main/java/org/apache/cloudstack/api/response/AccountResponse.java

View check run for this annotation

Codecov / codecov/patch

api/src/main/java/org/apache/cloudstack/api/response/AccountResponse.java#L443-L445

Added lines #L443 - L445 were not covered by tests

@Override
public void setBackupAvailable(String backupAvailable) {
this.backupAvailable = backupAvailable;
}

Check warning on line 450 in api/src/main/java/org/apache/cloudstack/api/response/AccountResponse.java

View check run for this annotation

Codecov / codecov/patch

api/src/main/java/org/apache/cloudstack/api/response/AccountResponse.java#L448-L450

Added lines #L448 - L450 were not covered by tests

@Override
public void setBackupStorageLimit(String backupStorageLimit) {
this.backupStorageLimit = backupStorageLimit;
}

Check warning on line 455 in api/src/main/java/org/apache/cloudstack/api/response/AccountResponse.java

View check run for this annotation

Codecov / codecov/patch

api/src/main/java/org/apache/cloudstack/api/response/AccountResponse.java#L453-L455

Added lines #L453 - L455 were not covered by tests

@Override
public void setBackupStorageTotal(Long backupStorageTotal) {
this.backupStorageTotal = backupStorageTotal;
}

Check warning on line 460 in api/src/main/java/org/apache/cloudstack/api/response/AccountResponse.java

View check run for this annotation

Codecov / codecov/patch

api/src/main/java/org/apache/cloudstack/api/response/AccountResponse.java#L458-L460

Added lines #L458 - L460 were not covered by tests

@Override
public void setBackupStorageAvailable(String backupStorageAvailable) {
this.backupStorageAvailable = backupStorageAvailable;
}

Check warning on line 465 in api/src/main/java/org/apache/cloudstack/api/response/AccountResponse.java

View check run for this annotation

Codecov / codecov/patch

api/src/main/java/org/apache/cloudstack/api/response/AccountResponse.java#L463-L465

Added lines #L463 - L465 were not covered by tests

@Override
public void setTemplateLimit(String templateLimit) {
this.templateLimit = templateLimit;
Expand Down Expand Up @@ -537,6 +615,36 @@
this.secondaryStorageAvailable = secondaryStorageAvailable;
}

@Override
public void setBucketLimit(String bucketLimit) {
this.bucketLimit = bucketLimit;
}

Check warning on line 621 in api/src/main/java/org/apache/cloudstack/api/response/AccountResponse.java

View check run for this annotation

Codecov / codecov/patch

api/src/main/java/org/apache/cloudstack/api/response/AccountResponse.java#L619-L621

Added lines #L619 - L621 were not covered by tests

@Override
public void setBucketTotal(Long bucketTotal) {
this.bucketTotal = bucketTotal;
}

Check warning on line 626 in api/src/main/java/org/apache/cloudstack/api/response/AccountResponse.java

View check run for this annotation

Codecov / codecov/patch

api/src/main/java/org/apache/cloudstack/api/response/AccountResponse.java#L624-L626

Added lines #L624 - L626 were not covered by tests

@Override
public void setBucketAvailable(String bucketAvailable) {
this.bucketAvailable = bucketAvailable;
}

Check warning on line 631 in api/src/main/java/org/apache/cloudstack/api/response/AccountResponse.java

View check run for this annotation

Codecov / codecov/patch

api/src/main/java/org/apache/cloudstack/api/response/AccountResponse.java#L629-L631

Added lines #L629 - L631 were not covered by tests

@Override
public void setObjectStorageLimit(String objectStorageLimit) {
this.objectStorageLimit = objectStorageLimit;
}

Check warning on line 636 in api/src/main/java/org/apache/cloudstack/api/response/AccountResponse.java

View check run for this annotation

Codecov / codecov/patch

api/src/main/java/org/apache/cloudstack/api/response/AccountResponse.java#L634-L636

Added lines #L634 - L636 were not covered by tests

@Override
public void setObjectStorageTotal(Long objectStorageTotal) {
this.objectStorageTotal = objectStorageTotal;
}

Check warning on line 641 in api/src/main/java/org/apache/cloudstack/api/response/AccountResponse.java

View check run for this annotation

Codecov / codecov/patch

api/src/main/java/org/apache/cloudstack/api/response/AccountResponse.java#L639-L641

Added lines #L639 - L641 were not covered by tests

@Override
public void setObjectStorageAvailable(String objectStorageAvailable) {
this.objectStorageAvailable = objectStorageAvailable;
}

Check warning on line 646 in api/src/main/java/org/apache/cloudstack/api/response/AccountResponse.java

View check run for this annotation

Codecov / codecov/patch

api/src/main/java/org/apache/cloudstack/api/response/AccountResponse.java#L644-L646

Added lines #L644 - L646 were not covered by tests

public void setDefaultZone(String defaultZoneId) {
this.defaultZoneId = defaultZoneId;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ public class BucketResponse extends BaseResponseWithTagInformation implements Co
private String state;

@SerializedName(ApiConstants.QUOTA)
@Param(description = "Bucket Quota in GB")
@Param(description = "Bucket Quota in GiB")
private Integer quota;

@SerializedName(ApiConstants.ENCRYPTION)
Expand Down
Loading
Loading