package org.zstack.header.volume; import org.springframework.http.HttpMethod; import org.zstack.header.configuration.DiskOfferingVO; import org.zstack.header.identity.Action; import org.zstack.header.message.APICreateMessage; import org.zstack.header.message.APIParam; import org.zstack.header.rest.RestRequest; import org.zstack.header.storage.primary.PrimaryStorageVO; import org.zstack.header.tag.TagResourceType; /** * @api create a new data volume * @category volume * @cli * @httpMsg { * "org.zstack.header.volume.APICreateDataVolumeMsg": { * "name": "TestData", * "diskOfferingUuid": "9ffa46a4b7214537a582134ef31410f2", * "session": { * "uuid": "9a944b482a9540f39540f298afeffc2c" * } * } * } * @msg { * "org.zstack.header.volume.APICreateDataVolumeMsg": { * "name": "TestData", * "diskOfferingUuid": "9ffa46a4b7214537a582134ef31410f2", * "session": { * "uuid": "9a944b482a9540f39540f298afeffc2c" * }, * "timeout": 1800000, * "id": "87df9707935f459181d15469b590b03f", * "serviceId": "api.portal" * } * } * @result see :ref:`APICreateDataVolumeEvent` * @since 0.1.0 */ @Action(category = VolumeConstant.ACTION_CATEGORY) @TagResourceType(VolumeVO.class) @RestRequest( path = "/volumes/data", method = HttpMethod.POST, parameterName = "params", responseClass = APICreateDataVolumeEvent.class ) public class APICreateDataVolumeMsg extends APICreateMessage { /** * @desc max length of 255 characters */ @APIParam(maxLength = 255) private String name; /** * @desc max length of 2048 characters * @optional */ @APIParam(required = false, maxLength = 2048) private String description; /** * @desc uuid of disk offering the volume is created from */ @APIParam(resourceType = DiskOfferingVO.class, checkAccount = true) private String diskOfferingUuid; @APIParam(required = false, resourceType = PrimaryStorageVO.class) private String primaryStorageUuid; public String getPrimaryStorageUuid() { return primaryStorageUuid; } public void setPrimaryStorageUuid(String primaryStorageUuid) { this.primaryStorageUuid = primaryStorageUuid; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getDiskOfferingUuid() { return diskOfferingUuid; } public void setDiskOfferingUuid(String diskOfferingUuid) { this.diskOfferingUuid = diskOfferingUuid; } public static APICreateDataVolumeMsg __example__() { APICreateDataVolumeMsg msg = new APICreateDataVolumeMsg(); msg.setResourceUuid(uuid()); msg.setDescription("test-data-volume"); msg.setDiskOfferingUuid(uuid()); msg.setPrimaryStorageUuid(uuid()); msg.setName("test-volume"); return msg; } }