Add example values for request/response examples in swagger (#1441)

* Swagger support initial concept

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>

* Add descriptions for Target tags

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>

* Add target filter queries descriptions

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>

* Add target api descriptions

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>

* Add software modules API descriptions

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>

* Add descriptions for DS, DSTags and SMTypes

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>

* Add DistributionSetType API descriptions

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>

* Add Rollout API descriptions

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>

* Bring back test scope to mariaDb

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>

* Add tags and descriptions to System config API

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>

* Move away OpenAPI config from Start.java

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>

* provide license header and project version for openapi

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>

* Fix error responses with example error body

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>

* Add DDI API to swagger and make proper API grouping

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>

* Revert changes from not merging before commit

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>

* Remove more changes

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>

* fix circle ci build

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>

* Add missing descriptions for downloadArtifact methods in DDI

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>

* Make configuration for openApi conditional for flexibility in transitive dependencies

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>

* Make beans conditional not config

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>

* Remove oAuth and switch to more general description

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>

* remove comment

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>

* Add example schema values for request responses examples

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>

---------

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>
This commit is contained in:
Stanislav Trailov
2023-09-29 15:14:53 +03:00
committed by GitHub
parent 5eb84cba4e
commit 60f14691fc
68 changed files with 279 additions and 3 deletions

View File

@@ -15,6 +15,7 @@ import javax.validation.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* <p> * <p>
@@ -39,6 +40,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public class DdiActionFeedback { public class DdiActionFeedback {
@Schema(example = "2023-08-03T12:31:41.890992967Z")
private final String time; private final String time;
@NotNull @NotNull

View File

@@ -11,6 +11,7 @@ package org.eclipse.hawkbit.ddi.json.model;
import java.util.List; import java.util.List;
import io.swagger.v3.oas.annotations.media.Schema;
import org.eclipse.hawkbit.ddi.rest.api.DdiRootControllerRestApi; import org.eclipse.hawkbit.ddi.rest.api.DdiRootControllerRestApi;
import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonCreator;
@@ -32,6 +33,7 @@ import com.fasterxml.jackson.annotation.JsonPropertyOrder;
public class DdiActionHistory { public class DdiActionHistory {
@JsonProperty("status") @JsonProperty("status")
@Schema(example = "RUNNING")
private final String actionStatus; private final String actionStatus;
@JsonProperty("messages") @JsonProperty("messages")

View File

@@ -12,14 +12,17 @@ package org.eclipse.hawkbit.ddi.json.model;
import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public class DdiActivateAutoConfirmation { public class DdiActivateAutoConfirmation {
@JsonProperty(required = false) @JsonProperty(required = false)
@Schema(example = "exampleUser")
private final String initiator; private final String initiator;
@JsonProperty(required = false) @JsonProperty(required = false)
@Schema(example = "exampleRemark")
private final String remark; private final String remark;
/** /**

View File

@@ -11,6 +11,7 @@ package org.eclipse.hawkbit.ddi.json.model;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import io.swagger.v3.oas.annotations.media.Schema;
import org.springframework.hateoas.RepresentationModel; import org.springframework.hateoas.RepresentationModel;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@@ -25,12 +26,14 @@ public class DdiArtifact extends RepresentationModel<DdiArtifact> {
@NotNull @NotNull
@JsonProperty @JsonProperty
@Schema(example = "binary.tgz")
private String filename; private String filename;
@JsonProperty @JsonProperty
private DdiArtifactHash hashes; private DdiArtifactHash hashes;
@JsonProperty @JsonProperty
@Schema(example = "3")
private Long size; private Long size;
public DdiArtifactHash getHashes() { public DdiArtifactHash getHashes() {

View File

@@ -13,6 +13,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* Hashes for given Artifact. * Hashes for given Artifact.
@@ -21,13 +22,16 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class DdiArtifactHash { public class DdiArtifactHash {
@JsonProperty @JsonProperty
@Schema(example = "2d86c2a659e364e9abba49ea6ffcd53dd5559f05")
private String sha1; private String sha1;
@JsonProperty @JsonProperty
@Schema(example = "0d1b08c34858921bc7c662b228acb7ba")
private String md5; private String md5;
@JsonProperty @JsonProperty
@JsonInclude(Include.NON_NULL) @JsonInclude(Include.NON_NULL)
@Schema(example = "a03b221c6c6eae7122ca51695d456d5222e524889136394944b2f9763b483615")
private String sha256; private String sha256;
/** /**

View File

@@ -14,6 +14,7 @@ import javax.validation.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import io.swagger.v3.oas.annotations.media.Schema;
import org.springframework.hateoas.RepresentationModel; import org.springframework.hateoas.RepresentationModel;
@JsonInclude(JsonInclude.Include.NON_NULL) @JsonInclude(JsonInclude.Include.NON_NULL)
@@ -22,10 +23,14 @@ import org.springframework.hateoas.RepresentationModel;
public class DdiAutoConfirmationState extends RepresentationModel<DdiAutoConfirmationState> { public class DdiAutoConfirmationState extends RepresentationModel<DdiAutoConfirmationState> {
@NotNull @NotNull
@Schema(example = "true")
private boolean active; private boolean active;
@Schema(example = "exampleUserId")
private String initiator; private String initiator;
@Schema(example = "exampleRemark")
private String remark; private String remark;
@Schema(example = "1691065895439")
private Long activatedAt; private Long activatedAt;
/** /**

View File

@@ -14,6 +14,7 @@ import javax.validation.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* Cancel action to be provided to the target. * Cancel action to be provided to the target.
@@ -21,6 +22,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public class DdiCancel { public class DdiCancel {
@Schema(example = "11")
private final String id; private final String id;
@NotNull @NotNull

View File

@@ -14,6 +14,7 @@ import javax.validation.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* The action that has to be stopped by the target. * The action that has to be stopped by the target.
@@ -22,6 +23,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class DdiCancelActionToStop { public class DdiCancelActionToStop {
@NotNull @NotNull
@Schema(example = "11")
private final String stopId; private final String stopId;
/** /**

View File

@@ -17,6 +17,7 @@ import javax.validation.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* Deployment chunks. * Deployment chunks.
@@ -26,14 +27,17 @@ public class DdiChunk {
@JsonProperty("part") @JsonProperty("part")
@NotNull @NotNull
@Schema(example = "bApp")
private String part; private String part;
@JsonProperty("version") @JsonProperty("version")
@NotNull @NotNull
@Schema(example = "1.2.0")
private String version; private String version;
@JsonProperty("name") @JsonProperty("name")
@NotNull @NotNull
@Schema(example = "oneApp")
private String name; private String name;
@JsonProperty("encrypted") @JsonProperty("encrypted")

View File

@@ -7,8 +7,9 @@
* *
* SPDX-License-Identifier: EPL-2.0 * SPDX-License-Identifier: EPL-2.0
*/ */
package org.eclipse.hawkbit.ddi.json.model; package org.eclipse.hawkbit.ddi.json.model;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
@@ -16,6 +17,7 @@ import javax.validation.constraints.NotEmpty;
import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* Feedback channel for ConfigData action. * Feedback channel for ConfigData action.
@@ -26,6 +28,7 @@ public class DdiConfigData {
@NotEmpty @NotEmpty
private final Map<String, String> data; private final Map<String, String> data;
@Schema(example = "merge")
private final DdiUpdateMode mode; private final DdiUpdateMode mode;
/** /**

View File

@@ -13,6 +13,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import io.swagger.v3.oas.annotations.media.Schema;
import org.springframework.hateoas.RepresentationModel; import org.springframework.hateoas.RepresentationModel;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
@@ -27,6 +28,7 @@ public class DdiConfirmationBaseAction extends RepresentationModel<DdiConfirmati
@JsonProperty("id") @JsonProperty("id")
@NotNull @NotNull
@Schema(example = "6")
private String id; private String id;
@JsonProperty("confirmation") @JsonProperty("confirmation")

View File

@@ -13,6 +13,7 @@ import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonValue; import com.fasterxml.jackson.annotation.JsonValue;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.Valid; import javax.validation.Valid;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
@@ -32,6 +33,7 @@ public class DdiConfirmationFeedback {
@Valid @Valid
private final Confirmation confirmation; private final Confirmation confirmation;
@Schema(example = "200")
private final Integer code; private final Integer code;
private final List<String> details; private final List<String> details;

View File

@@ -11,6 +11,7 @@ package org.eclipse.hawkbit.ddi.json.model;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import io.swagger.v3.oas.annotations.media.Schema;
import org.springframework.hateoas.RepresentationModel; import org.springframework.hateoas.RepresentationModel;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@@ -27,6 +28,7 @@ public class DdiDeploymentBase extends RepresentationModel<DdiDeploymentBase> {
@JsonProperty("id") @JsonProperty("id")
@NotNull @NotNull
@Schema(example = "8")
private String id; private String id;
@JsonProperty("deployment") @JsonProperty("deployment")

View File

@@ -14,6 +14,7 @@ import javax.validation.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* Additional metadata to be provided for the target/device. * Additional metadata to be provided for the target/device.
@@ -23,10 +24,12 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class DdiMetadata { public class DdiMetadata {
@JsonProperty @JsonProperty
@NotNull @NotNull
@Schema(example = "aMetadataKey")
private final String key; private final String key;
@JsonProperty @JsonProperty
@NotNull @NotNull
@Schema(example = "Metadata value as defined in software module")
private final String value; private final String value;
@JsonCreator @JsonCreator

View File

@@ -13,6 +13,10 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import com.fasterxml.jackson.annotation.JsonValue;
import io.swagger.v3.oas.annotations.media.ExampleObject;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* Polling interval for the SP target. * Polling interval for the SP target.
@@ -22,6 +26,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class DdiPolling { public class DdiPolling {
@JsonProperty @JsonProperty
@Schema(example = "12:00:00")
private String sleep; private String sleep;
/** /**

View File

@@ -14,6 +14,7 @@ import javax.validation.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* Action fulfillment progress by means of gives the achieved amount of maximal * Action fulfillment progress by means of gives the achieved amount of maximal
@@ -23,8 +24,10 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class DdiProgress { public class DdiProgress {
@NotNull @NotNull
@Schema(example = "2")
private final Integer cnt; private final Integer cnt;
@Schema(example = "5")
private final Integer of; private final Integer of;
/** /**

View File

@@ -16,6 +16,7 @@ import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonValue; import com.fasterxml.jackson.annotation.JsonValue;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* Result information of the action progress which can by an intermediate or * Result information of the action progress which can by an intermediate or

View File

@@ -19,6 +19,7 @@ import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonValue; import com.fasterxml.jackson.annotation.JsonValue;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* Details status information concerning the action processing. * Details status information concerning the action processing.
@@ -34,6 +35,7 @@ public class DdiStatus {
@Valid @Valid
private final DdiResult result; private final DdiResult result;
@Schema(example = "200")
private final Integer code; private final Integer code;
private final List<String> details; private final List<String> details;

View File

@@ -449,8 +449,9 @@ public interface DdiRootControllerRestApi {
""") """)
@ApiResponses(value = { @ApiResponses(value = {
@ApiResponse(responseCode = "200", description = """ @ApiResponse(responseCode = "200", description = """
The response body in case auto-confirmation is active is richer - it contains additional information
""", content = @Content(schema = @Schema(oneOf = {}))), //TODO: 2 RESPONSES WHEN AUTO CONFIRMATION IS ACTIVE OR NOT such as initiator, remark and when the auto-confirmation had been activated.
"""),
@ApiResponse(responseCode = "400", description = "Bad Request - e.g. invalid parameters", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ExceptionInfo.class))), @ApiResponse(responseCode = "400", description = "Bad Request - e.g. invalid parameters", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ExceptionInfo.class))),
@ApiResponse(responseCode = "401", description = "The request requires user authentication.", content = @Content(mediaType = "application/json", schema = @Schema(hidden = true))), @ApiResponse(responseCode = "401", description = "The request requires user authentication.", content = @Content(mediaType = "application/json", schema = @Schema(hidden = true))),
@ApiResponse(responseCode = "403", description = "Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies.", content = @Content(mediaType = "application/json", schema = @Schema(hidden = true))), @ApiResponse(responseCode = "403", description = "Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies.", content = @Content(mediaType = "application/json", schema = @Schema(hidden = true))),

View File

@@ -9,6 +9,7 @@
*/ */
package org.eclipse.hawkbit.mgmt.json.model; package org.eclipse.hawkbit.mgmt.json.model;
import io.swagger.v3.oas.annotations.media.Schema;
import org.springframework.hateoas.Link; import org.springframework.hateoas.Link;
import org.springframework.hateoas.RepresentationModel; import org.springframework.hateoas.RepresentationModel;
@@ -22,15 +23,19 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public abstract class MgmtBaseEntity extends RepresentationModel<MgmtBaseEntity> { public abstract class MgmtBaseEntity extends RepresentationModel<MgmtBaseEntity> {
@JsonProperty @JsonProperty
@Schema(example = "bumlux")
private String createdBy; private String createdBy;
@JsonProperty @JsonProperty
@Schema(example = "1691065905897")
private Long createdAt; private Long createdAt;
@JsonProperty @JsonProperty
@Schema(example = "bumlux")
private String lastModifiedBy; private String lastModifiedBy;
@JsonProperty @JsonProperty
@Schema(example = "1691065906407")
private Long lastModifiedAt; private Long lastModifiedAt;
/** /**

View File

@@ -11,6 +11,7 @@ package org.eclipse.hawkbit.mgmt.json.model;
import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* A generic abstract rest model which contains only a ID for use-case e.g. * A generic abstract rest model which contains only a ID for use-case e.g.
@@ -20,6 +21,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
*/ */
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public class MgmtId { public class MgmtId {
@Schema(example = "108")
private Long id; private Long id;
/** /**

View File

@@ -13,6 +13,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* Request body for maintenance window PUT/POST commands, based on a schedule * Request body for maintenance window PUT/POST commands, based on a schedule
@@ -24,12 +25,15 @@ import com.fasterxml.jackson.annotation.JsonProperty;
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public class MgmtMaintenanceWindowRequestBody { public class MgmtMaintenanceWindowRequestBody {
@JsonProperty @JsonProperty
@Schema(example = "10 12 14 3 8 ? 2023")
private String schedule; private String schedule;
@JsonProperty @JsonProperty
@Schema(example = "00:10:00")
private String duration; private String duration;
@JsonProperty @JsonProperty
@Schema(example = "+00:00")
private String timezone; private String timezone;
public String getSchedule() { public String getSchedule() {

View File

@@ -13,6 +13,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* The representation of an meta data in the REST API for POST/Create. * The representation of an meta data in the REST API for POST/Create.
@@ -23,8 +24,10 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class MgmtMetadata { public class MgmtMetadata {
@JsonProperty(required = true) @JsonProperty(required = true)
@Schema(example = "someKnownKey")
private String key; private String key;
@JsonProperty @JsonProperty
@Schema(example = "someKnownKeyValue")
private String value; private String value;
public String getKey() { public String getKey() {

View File

@@ -13,6 +13,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* The representation of an meta data in the REST API for PUT/Update. * The representation of an meta data in the REST API for PUT/Update.
@@ -23,6 +24,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class MgmtMetadataBodyPut { public class MgmtMetadataBodyPut {
@JsonProperty @JsonProperty
@Schema(example = "someValue")
private String value; private String value;
public String getValue() { public String getValue() {

View File

@@ -10,6 +10,7 @@
package org.eclipse.hawkbit.mgmt.json.model; package org.eclipse.hawkbit.mgmt.json.model;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* A json annotated rest model for NamedEntity to RESTful API representation. * A json annotated rest model for NamedEntity to RESTful API representation.
@@ -18,9 +19,11 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public abstract class MgmtNamedEntity extends MgmtBaseEntity { public abstract class MgmtNamedEntity extends MgmtBaseEntity {
@JsonProperty(required = true) @JsonProperty(required = true)
@Schema(example = "Name of entity")
private String name; private String name;
@JsonProperty @JsonProperty
@Schema(example = "Description of entity")
private String description; private String description;
/** /**

View File

@@ -13,6 +13,9 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import static org.checkerframework.checker.units.qual.Prefix.exa;
/** /**
* A json annotated rest model for PollStatus to RESTful API representation. * A json annotated rest model for PollStatus to RESTful API representation.
@@ -26,12 +29,15 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class MgmtPollStatus { public class MgmtPollStatus {
@JsonProperty @JsonProperty
@Schema(example = "1691065941102")
private Long lastRequestAt; private Long lastRequestAt;
@JsonProperty @JsonProperty
@Schema(example = "1691109141102")
private Long nextExpectedRequestAt; private Long nextExpectedRequestAt;
@JsonProperty @JsonProperty
@Schema(example = "false")
private boolean overdue; private boolean overdue;
/** /**

View File

@@ -9,6 +9,7 @@
*/ */
package org.eclipse.hawkbit.mgmt.json.model.action; package org.eclipse.hawkbit.mgmt.json.model.action;
import io.swagger.v3.oas.annotations.media.Schema;
import org.eclipse.hawkbit.mgmt.json.model.MgmtBaseEntity; import org.eclipse.hawkbit.mgmt.json.model.MgmtBaseEntity;
import org.eclipse.hawkbit.mgmt.json.model.MgmtMaintenanceWindow; import org.eclipse.hawkbit.mgmt.json.model.MgmtMaintenanceWindow;
import org.eclipse.hawkbit.mgmt.json.model.distributionset.MgmtActionType; import org.eclipse.hawkbit.mgmt.json.model.distributionset.MgmtActionType;
@@ -47,36 +48,46 @@ public class MgmtAction extends MgmtBaseEntity {
public static final String ACTION_PENDING = "pending"; public static final String ACTION_PENDING = "pending";
@JsonProperty("id") @JsonProperty("id")
@Schema(example = "7")
private Long actionId; private Long actionId;
@JsonProperty @JsonProperty
@Schema(example = "update")
private String type; private String type;
@JsonProperty @JsonProperty
@Schema(example = "finished")
private String status; private String status;
@JsonProperty @JsonProperty
@Schema(example = "finished")
private String detailStatus; private String detailStatus;
@JsonProperty @JsonProperty
@Schema(example = "1691065903238")
private Long forceTime; private Long forceTime;
@JsonProperty(value = "forceType") @JsonProperty(value = "forceType")
private MgmtActionType actionType; private MgmtActionType actionType;
@JsonProperty @JsonProperty
@Schema(example = "600")
private Integer weight; private Integer weight;
@JsonProperty @JsonProperty
@Schema(hidden = true)
private MgmtMaintenanceWindow maintenanceWindow; private MgmtMaintenanceWindow maintenanceWindow;
@JsonProperty @JsonProperty
@Schema(example = "1")
private Long rollout; private Long rollout;
@JsonProperty @JsonProperty
@Schema(example = "rollout")
private String rolloutName; private String rolloutName;
@JsonProperty @JsonProperty
@Schema(example = "200")
private Integer lastStatusCode; private Integer lastStatusCode;
public MgmtMaintenanceWindow getMaintenanceWindow() { public MgmtMaintenanceWindow getMaintenanceWindow() {

View File

@@ -15,6 +15,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* A json annotated rest model for ActionStatus to RESTful API representation. * A json annotated rest model for ActionStatus to RESTful API representation.
@@ -25,18 +26,22 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class MgmtActionStatus { public class MgmtActionStatus {
@JsonProperty("id") @JsonProperty("id")
@Schema(example = "21")
private Long statusId; private Long statusId;
@JsonProperty @JsonProperty
@Schema(example = "running")
private String type; private String type;
@JsonProperty @JsonProperty
private List<String> messages; private List<String> messages;
@JsonProperty @JsonProperty
@Schema(example = "1691065929524")
private Long reportedAt; private Long reportedAt;
@JsonProperty @JsonProperty
@Schema(example = "200")
private Integer code; private Integer code;
/** /**

View File

@@ -9,6 +9,7 @@
*/ */
package org.eclipse.hawkbit.mgmt.json.model.artifact; package org.eclipse.hawkbit.mgmt.json.model.artifact;
import io.swagger.v3.oas.annotations.media.Schema;
import org.eclipse.hawkbit.mgmt.json.model.MgmtBaseEntity; import org.eclipse.hawkbit.mgmt.json.model.MgmtBaseEntity;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
@@ -25,15 +26,18 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class MgmtArtifact extends MgmtBaseEntity { public class MgmtArtifact extends MgmtBaseEntity {
@JsonProperty("id") @JsonProperty("id")
@Schema(example = "3")
private Long artifactId; private Long artifactId;
@JsonProperty @JsonProperty
private MgmtArtifactHash hashes; private MgmtArtifactHash hashes;
@JsonProperty @JsonProperty
@Schema(example = "file1")
private String providedFilename; private String providedFilename;
@JsonProperty @JsonProperty
@Schema(example = "3")
private Long size; private Long size;
public MgmtArtifact() { public MgmtArtifact() {

View File

@@ -10,6 +10,7 @@
package org.eclipse.hawkbit.mgmt.json.model.artifact; package org.eclipse.hawkbit.mgmt.json.model.artifact;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* Hashes for given Artifact. * Hashes for given Artifact.
@@ -19,12 +20,15 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class MgmtArtifactHash { public class MgmtArtifactHash {
@JsonProperty @JsonProperty
@Schema(example = "2d86c2a659e364e9abba49ea6ffcd53dd5559f05")
private String sha1; private String sha1;
@JsonProperty @JsonProperty
@Schema(example = "0d1b08c34858921bc7c662b228acb7ba")
private String md5; private String md5;
@JsonProperty @JsonProperty
@Schema(example = "a03b221c6c6eae7122ca51695d456d5222e524889136394944b2f9763b483615")
private String sha256; private String sha256;
/** /**

View File

@@ -12,6 +12,7 @@ package org.eclipse.hawkbit.mgmt.json.model.distributionset;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import io.swagger.v3.oas.annotations.media.Schema;
import org.eclipse.hawkbit.mgmt.json.model.MgmtNamedEntity; import org.eclipse.hawkbit.mgmt.json.model.MgmtNamedEntity;
import org.eclipse.hawkbit.mgmt.json.model.softwaremodule.MgmtSoftwareModule; import org.eclipse.hawkbit.mgmt.json.model.softwaremodule.MgmtSoftwareModule;
@@ -30,30 +31,38 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class MgmtDistributionSet extends MgmtNamedEntity { public class MgmtDistributionSet extends MgmtNamedEntity {
@JsonProperty(value = "id", required = true) @JsonProperty(value = "id", required = true)
@Schema(example = "51")
private Long dsId; private Long dsId;
@JsonProperty @JsonProperty
@Schema(example = "1.4.2")
private String version; private String version;
@JsonProperty @JsonProperty
private List<MgmtSoftwareModule> modules = new ArrayList<>(); private List<MgmtSoftwareModule> modules = new ArrayList<>();
@JsonProperty @JsonProperty
@Schema(example = "false")
private boolean requiredMigrationStep; private boolean requiredMigrationStep;
@JsonProperty @JsonProperty
@Schema(example = "test_default_ds_type")
private String type; private String type;
@JsonProperty @JsonProperty
@Schema(example = "OS (FW) mandatory, runtime (FW) and app (SW) optional")
private String typeName; private String typeName;
@JsonProperty @JsonProperty
@Schema(example = "true")
private Boolean complete; private Boolean complete;
@JsonProperty @JsonProperty
@Schema(example = "false")
private boolean deleted; private boolean deleted;
@JsonProperty @JsonProperty
@Schema(example = "true")
private boolean valid; private boolean valid;
public boolean isValid() { public boolean isValid() {

View File

@@ -11,6 +11,7 @@ package org.eclipse.hawkbit.mgmt.json.model.distributionset;
import java.util.List; import java.util.List;
import io.swagger.v3.oas.annotations.media.Schema;
import org.eclipse.hawkbit.mgmt.json.model.softwaremodule.MgmtSoftwareModuleAssigment; import org.eclipse.hawkbit.mgmt.json.model.softwaremodule.MgmtSoftwareModuleAssigment;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@@ -29,12 +30,15 @@ public class MgmtDistributionSetRequestBodyPost extends MgmtDistributionSetReque
// deprecated format from the time where os, application and runtime where // deprecated format from the time where os, application and runtime where
// statically defined // statically defined
@JsonProperty @JsonProperty
@Schema(hidden = true)
private MgmtSoftwareModuleAssigment os; private MgmtSoftwareModuleAssigment os;
@JsonProperty @JsonProperty
@Schema(hidden = true)
private MgmtSoftwareModuleAssigment runtime; private MgmtSoftwareModuleAssigment runtime;
@JsonProperty @JsonProperty
@Schema(hidden = true)
private MgmtSoftwareModuleAssigment application; private MgmtSoftwareModuleAssigment application;
// deprecated format - END // deprecated format - END
@@ -42,6 +46,7 @@ public class MgmtDistributionSetRequestBodyPost extends MgmtDistributionSetReque
private List<MgmtSoftwareModuleAssigment> modules; private List<MgmtSoftwareModuleAssigment> modules;
@JsonProperty @JsonProperty
@Schema(example = "test_default_ds_type")
private String type; private String type;
/** /**

View File

@@ -13,6 +13,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* A json annotated rest model for DistributionSet for PUT/POST. * A json annotated rest model for DistributionSet for PUT/POST.
@@ -23,15 +24,19 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class MgmtDistributionSetRequestBodyPut { public class MgmtDistributionSetRequestBodyPut {
@JsonProperty @JsonProperty
@Schema(example = "dsOne")
private String name; private String name;
@JsonProperty @JsonProperty
@Schema(example = "Description of the distribution set.")
private String description; private String description;
@JsonProperty @JsonProperty
@Schema(example = "1.0.0")
private String version; private String version;
@JsonProperty @JsonProperty
@Schema(example = "false")
private Boolean requiredMigrationStep; private Boolean requiredMigrationStep;
/** /**

View File

@@ -13,6 +13,7 @@ package org.eclipse.hawkbit.mgmt.json.model.distributionset;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;

View File

@@ -12,6 +12,7 @@ package org.eclipse.hawkbit.mgmt.json.model.distributionset;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* A json annotated rest model for invalidate DistributionSet requests. * A json annotated rest model for invalidate DistributionSet requests.
@@ -23,6 +24,7 @@ public class MgmtInvalidateDistributionSetRequestBody {
@JsonProperty @JsonProperty
private MgmtCancelationType actionCancelationType; private MgmtCancelationType actionCancelationType;
@JsonProperty @JsonProperty
@Schema(example = "true")
private boolean cancelRollouts; private boolean cancelRollouts;
public MgmtCancelationType getActionCancelationType() { public MgmtCancelationType getActionCancelationType() {

View File

@@ -12,6 +12,7 @@ package org.eclipse.hawkbit.mgmt.json.model.distributionset;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import io.swagger.v3.oas.annotations.media.Schema;
import org.springframework.hateoas.RepresentationModel; import org.springframework.hateoas.RepresentationModel;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

View File

@@ -9,6 +9,7 @@
*/ */
package org.eclipse.hawkbit.mgmt.json.model.distributionsettype; package org.eclipse.hawkbit.mgmt.json.model.distributionsettype;
import io.swagger.v3.oas.annotations.media.Schema;
import org.eclipse.hawkbit.mgmt.json.model.MgmtNamedEntity; import org.eclipse.hawkbit.mgmt.json.model.MgmtNamedEntity;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@@ -29,15 +30,19 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class MgmtDistributionSetType extends MgmtNamedEntity { public class MgmtDistributionSetType extends MgmtNamedEntity {
@JsonProperty(value = "id", required = true) @JsonProperty(value = "id", required = true)
@Schema(example = "99")
private Long moduleId; private Long moduleId;
@JsonProperty(required = true) @JsonProperty(required = true)
@Schema(example = "os_app")
private String key; private String key;
@JsonProperty @JsonProperty
@Schema(example = "false")
private boolean deleted; private boolean deleted;
@JsonProperty @JsonProperty
@Schema(example = "black")
private String colour; private String colour;
public boolean isDeleted() { public boolean isDeleted() {

View File

@@ -11,6 +11,7 @@ package org.eclipse.hawkbit.mgmt.json.model.distributionsettype;
import java.util.List; import java.util.List;
import io.swagger.v3.oas.annotations.media.Schema;
import org.eclipse.hawkbit.mgmt.json.model.softwaremoduletype.MgmtSoftwareModuleTypeAssigment; import org.eclipse.hawkbit.mgmt.json.model.softwaremoduletype.MgmtSoftwareModuleTypeAssigment;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
@@ -22,9 +23,11 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class MgmtDistributionSetTypeRequestBodyPost extends MgmtDistributionSetTypeRequestBodyPut { public class MgmtDistributionSetTypeRequestBodyPost extends MgmtDistributionSetTypeRequestBodyPut {
@JsonProperty(required = true) @JsonProperty(required = true)
@Schema(example = "Example type name")
private String name; private String name;
@JsonProperty(required = true) @JsonProperty(required = true)
@Schema(example = "Example key")
private String key; private String key;
@JsonProperty @JsonProperty

View File

@@ -10,6 +10,7 @@
package org.eclipse.hawkbit.mgmt.json.model.distributionsettype; package org.eclipse.hawkbit.mgmt.json.model.distributionsettype;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* Request Body for DistributionSetType PUT, i.e. update. * Request Body for DistributionSetType PUT, i.e. update.
@@ -18,9 +19,11 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class MgmtDistributionSetTypeRequestBodyPut { public class MgmtDistributionSetTypeRequestBodyPut {
@JsonProperty @JsonProperty
@Schema(example = "Example description")
private String description; private String description;
@JsonProperty @JsonProperty
@Schema(example = "rgb(86,37,99)")
private String colour; private String colour;
public String getDescription() { public String getDescription() {

View File

@@ -12,6 +12,7 @@ package org.eclipse.hawkbit.mgmt.json.model.rollout;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonInclude.Include;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* *
@@ -21,6 +22,7 @@ import com.fasterxml.jackson.annotation.JsonInclude.Include;
public class MgmtRolloutCondition { public class MgmtRolloutCondition {
private Condition condition = Condition.THRESHOLD; private Condition condition = Condition.THRESHOLD;
@Schema(example = "50")
private String expression = "100"; private String expression = "100";
/** /**

View File

@@ -12,6 +12,7 @@ package org.eclipse.hawkbit.mgmt.json.model.rollout;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonInclude.Include;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* An action that runs when the error condition is met * An action that runs when the error condition is met
@@ -21,6 +22,7 @@ import com.fasterxml.jackson.annotation.JsonInclude.Include;
public class MgmtRolloutErrorAction { public class MgmtRolloutErrorAction {
private ErrorAction action = ErrorAction.PAUSE; private ErrorAction action = ErrorAction.PAUSE;
@Schema(example = "80")
private String expression; private String expression;
/** /**

View File

@@ -12,6 +12,7 @@ package org.eclipse.hawkbit.mgmt.json.model.rollout;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import io.swagger.v3.oas.annotations.media.Schema;
import org.eclipse.hawkbit.mgmt.json.model.MgmtNamedEntity; import org.eclipse.hawkbit.mgmt.json.model.MgmtNamedEntity;
import org.eclipse.hawkbit.mgmt.json.model.distributionset.MgmtActionType; import org.eclipse.hawkbit.mgmt.json.model.distributionset.MgmtActionType;
@@ -27,43 +28,55 @@ import com.fasterxml.jackson.annotation.JsonProperty;
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public class MgmtRolloutResponseBody extends MgmtNamedEntity { public class MgmtRolloutResponseBody extends MgmtNamedEntity {
@Schema(example = "controllerId==exampleTarget*")
private String targetFilterQuery; private String targetFilterQuery;
@Schema(example = "2")
private Long distributionSetId; private Long distributionSetId;
@JsonProperty(value = "id", required = true) @JsonProperty(value = "id", required = true)
@Schema(example = "2")
private Long rolloutId; private Long rolloutId;
@JsonProperty(required = true) @JsonProperty(required = true)
@Schema(example = "ready")
private String status; private String status;
@JsonProperty(required = true) @JsonProperty(required = true)
@Schema(example = "20")
private Long totalTargets; private Long totalTargets;
@JsonProperty @JsonProperty
private Map<String, Long> totalTargetsPerStatus; private Map<String, Long> totalTargetsPerStatus;
@JsonProperty @JsonProperty
@Schema(example = "5")
private Integer totalGroups; private Integer totalGroups;
@JsonProperty @JsonProperty
@Schema(example = "1691065753136")
private Long startAt; private Long startAt;
@JsonProperty @JsonProperty
@Schema(example = "1691065762496")
private Long forcetime; private Long forcetime;
@JsonProperty @JsonProperty
@Schema(example = "false")
private boolean deleted; private boolean deleted;
@JsonProperty @JsonProperty
private MgmtActionType type; private MgmtActionType type;
@JsonProperty @JsonProperty
@Schema(example = "400")
private Integer weight; private Integer weight;
@JsonProperty @JsonProperty
@Schema(example = "Approved remark.")
private String approvalRemark; private String approvalRemark;
@JsonProperty @JsonProperty
@Schema(example = "exampleUsername")
private String approveDecidedBy; private String approveDecidedBy;
public boolean isDeleted() { public boolean isDeleted() {

View File

@@ -12,6 +12,7 @@ package org.eclipse.hawkbit.mgmt.json.model.rollout;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import io.swagger.v3.oas.annotations.media.Schema;
import org.eclipse.hawkbit.mgmt.json.model.distributionset.MgmtActionType; import org.eclipse.hawkbit.mgmt.json.model.distributionset.MgmtActionType;
import org.eclipse.hawkbit.mgmt.json.model.rolloutgroup.MgmtRolloutGroup; import org.eclipse.hawkbit.mgmt.json.model.rolloutgroup.MgmtRolloutGroup;
@@ -28,19 +29,26 @@ import com.fasterxml.jackson.annotation.JsonProperty;
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public class MgmtRolloutRestRequestBody extends AbstractMgmtRolloutConditionsEntity { public class MgmtRolloutRestRequestBody extends AbstractMgmtRolloutConditionsEntity {
@Schema(example = "id==targets-*")
private String targetFilterQuery; private String targetFilterQuery;
@Schema(example = "6")
private long distributionSetId; private long distributionSetId;
@Schema(example = "5")
private Integer amountGroups; private Integer amountGroups;
@Schema(example = "1691065781929")
private Long forcetime; private Long forcetime;
@Schema(example = "1691065780929")
private Long startAt; private Long startAt;
@JsonProperty(required = false) @JsonProperty(required = false)
@Schema(example = "400")
private Integer weight; private Integer weight;
@JsonProperty(required = false) @JsonProperty(required = false)
@Schema(example = "false")
private Boolean confirmationRequired; private Boolean confirmationRequired;
private MgmtActionType type; private MgmtActionType type;

View File

@@ -9,6 +9,7 @@
*/ */
package org.eclipse.hawkbit.mgmt.json.model.rolloutgroup; package org.eclipse.hawkbit.mgmt.json.model.rolloutgroup;
import io.swagger.v3.oas.annotations.media.Schema;
import org.eclipse.hawkbit.mgmt.json.model.rollout.AbstractMgmtRolloutConditionsEntity; import org.eclipse.hawkbit.mgmt.json.model.rollout.AbstractMgmtRolloutConditionsEntity;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@@ -21,8 +22,11 @@ import com.fasterxml.jackson.annotation.JsonInclude;
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public class MgmtRolloutGroup extends AbstractMgmtRolloutConditionsEntity { public class MgmtRolloutGroup extends AbstractMgmtRolloutConditionsEntity {
@Schema(example = "controllerId==exampleTarget*")
private String targetFilterQuery; private String targetFilterQuery;
@Schema(example = "20.0")
private Float targetPercentage; private Float targetPercentage;
@Schema(example = "false")
private Boolean confirmationRequired; private Boolean confirmationRequired;
public String getTargetFilterQuery() { public String getTargetFilterQuery() {

View File

@@ -16,6 +16,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* Model for the rollout group annotated with json-annotations for easier * Model for the rollout group annotated with json-annotations for easier
@@ -26,11 +27,14 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class MgmtRolloutGroupResponseBody extends MgmtRolloutGroup { public class MgmtRolloutGroupResponseBody extends MgmtRolloutGroup {
@JsonProperty(value = "id", required = true) @JsonProperty(value = "id", required = true)
@Schema(example = "63")
private Long rolloutGroupId; private Long rolloutGroupId;
@JsonProperty(required = true) @JsonProperty(required = true)
@Schema(example = "ready")
private String status; private String status;
@Schema(example = "4")
private int totalTargets; private int totalTargets;
private Map<String, Long> totalTargetsPerStatus; private Map<String, Long> totalTargetsPerStatus;

View File

@@ -9,6 +9,7 @@
*/ */
package org.eclipse.hawkbit.mgmt.json.model.softwaremodule; package org.eclipse.hawkbit.mgmt.json.model.softwaremodule;
import io.swagger.v3.oas.annotations.media.Schema;
import org.eclipse.hawkbit.mgmt.json.model.MgmtNamedEntity; import org.eclipse.hawkbit.mgmt.json.model.MgmtNamedEntity;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
@@ -25,23 +26,30 @@ import com.fasterxml.jackson.annotation.JsonProperty;
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public class MgmtSoftwareModule extends MgmtNamedEntity { public class MgmtSoftwareModule extends MgmtNamedEntity {
@JsonProperty(value = "id", required = true) @JsonProperty(value = "id", required = true)
@Schema(example = "6")
private Long moduleId; private Long moduleId;
@JsonProperty(required = true) @JsonProperty(required = true)
@Schema(example = "1.0.0")
private String version; private String version;
@JsonProperty(required = true) @JsonProperty(required = true)
@Schema(example = "os")
private String type; private String type;
@Schema(example = "OS")
private String typeName; private String typeName;
@JsonProperty @JsonProperty
@Schema(example = "Vendor Limited, California")
private String vendor; private String vendor;
@JsonProperty @JsonProperty
@Schema(example = "false")
private boolean deleted; private boolean deleted;
@JsonProperty @JsonProperty
@Schema(example = "false")
private boolean encrypted; private boolean encrypted;
public void setDeleted(final boolean deleted) { public void setDeleted(final boolean deleted) {

View File

@@ -13,6 +13,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* The representation of SoftwareModuleMetadata in the REST API for POST/Create. * The representation of SoftwareModuleMetadata in the REST API for POST/Create.
@@ -23,10 +24,13 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class MgmtSoftwareModuleMetadata { public class MgmtSoftwareModuleMetadata {
@JsonProperty(required = true) @JsonProperty(required = true)
@Schema(example = "someKnownKey")
private String key; private String key;
@JsonProperty @JsonProperty
@Schema(example = "someKnownValue")
private String value; private String value;
@JsonProperty @JsonProperty
@Schema(example = "false")
private boolean targetVisible; private boolean targetVisible;
public String getKey() { public String getKey() {

View File

@@ -13,6 +13,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* The representation of an meta data in the REST API for PUT/Update. * The representation of an meta data in the REST API for PUT/Update.
@@ -23,8 +24,10 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class MgmtSoftwareModuleMetadataBodyPut { public class MgmtSoftwareModuleMetadataBodyPut {
@JsonProperty @JsonProperty
@Schema(example = "newValue")
private String value; private String value;
@JsonProperty @JsonProperty
@Schema(example = "true")
private Boolean targetVisible; private Boolean targetVisible;
public String getValue() { public String getValue() {

View File

@@ -10,6 +10,7 @@
package org.eclipse.hawkbit.mgmt.json.model.softwaremodule; package org.eclipse.hawkbit.mgmt.json.model.softwaremodule;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* Request Body for SoftwareModule POST. * Request Body for SoftwareModule POST.
@@ -18,21 +19,27 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class MgmtSoftwareModuleRequestBodyPost { public class MgmtSoftwareModuleRequestBodyPost {
@JsonProperty(required = true) @JsonProperty(required = true)
@Schema(example = "SM Name")
private String name; private String name;
@JsonProperty(required = true) @JsonProperty(required = true)
@Schema(example = "1.0.0")
private String version; private String version;
@JsonProperty(required = true) @JsonProperty(required = true)
@Schema(example = "os")
private String type; private String type;
@JsonProperty @JsonProperty
@Schema(example = "SM Description")
private String description; private String description;
@JsonProperty @JsonProperty
@Schema(example = "Vendor Limited, California")
private String vendor; private String vendor;
@JsonProperty @JsonProperty
@Schema(example = "false")
private boolean encrypted; private boolean encrypted;
/** /**

View File

@@ -10,6 +10,7 @@
package org.eclipse.hawkbit.mgmt.json.model.softwaremodule; package org.eclipse.hawkbit.mgmt.json.model.softwaremodule;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* Request Body for SoftwareModule PUT. * Request Body for SoftwareModule PUT.
@@ -18,9 +19,11 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class MgmtSoftwareModuleRequestBodyPut { public class MgmtSoftwareModuleRequestBodyPut {
@JsonProperty @JsonProperty
@Schema(example = "SM Description")
private String description; private String description;
@JsonProperty @JsonProperty
@Schema(example = "SM Vendor Name")
private String vendor; private String vendor;
/** /**

View File

@@ -9,6 +9,7 @@
*/ */
package org.eclipse.hawkbit.mgmt.json.model.softwaremoduletype; package org.eclipse.hawkbit.mgmt.json.model.softwaremoduletype;
import io.swagger.v3.oas.annotations.media.Schema;
import org.eclipse.hawkbit.mgmt.json.model.MgmtNamedEntity; import org.eclipse.hawkbit.mgmt.json.model.MgmtNamedEntity;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@@ -26,18 +27,23 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class MgmtSoftwareModuleType extends MgmtNamedEntity { public class MgmtSoftwareModuleType extends MgmtNamedEntity {
@JsonProperty(value = "id", required = true) @JsonProperty(value = "id", required = true)
@Schema(example = "83")
private Long moduleId; private Long moduleId;
@JsonProperty(required = true) @JsonProperty(required = true)
@Schema(example = "OS")
private String key; private String key;
@JsonProperty @JsonProperty
@Schema(example = "1")
private int maxAssignments; private int maxAssignments;
@JsonProperty @JsonProperty
@Schema(example = "false")
private boolean deleted; private boolean deleted;
@JsonProperty @JsonProperty
@Schema(example = "brown")
private String colour; private String colour;
public boolean isDeleted() { public boolean isDeleted() {

View File

@@ -10,6 +10,7 @@
package org.eclipse.hawkbit.mgmt.json.model.softwaremoduletype; package org.eclipse.hawkbit.mgmt.json.model.softwaremoduletype;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* Request Body for SoftwareModuleType POST. * Request Body for SoftwareModuleType POST.
@@ -18,12 +19,15 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class MgmtSoftwareModuleTypeRequestBodyPost extends MgmtSoftwareModuleTypeRequestBodyPut { public class MgmtSoftwareModuleTypeRequestBodyPost extends MgmtSoftwareModuleTypeRequestBodyPut {
@JsonProperty(required = true) @JsonProperty(required = true)
@Schema(example = "Example name")
private String name; private String name;
@JsonProperty(required = true) @JsonProperty(required = true)
@Schema(example = "Example key")
private String key; private String key;
@JsonProperty @JsonProperty
@Schema(example = "1")
private int maxAssignments; private int maxAssignments;
@Override @Override

View File

@@ -10,6 +10,7 @@
package org.eclipse.hawkbit.mgmt.json.model.softwaremoduletype; package org.eclipse.hawkbit.mgmt.json.model.softwaremoduletype;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* Request Body for SoftwareModuleType PUT. * Request Body for SoftwareModuleType PUT.
@@ -18,9 +19,11 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class MgmtSoftwareModuleTypeRequestBodyPut { public class MgmtSoftwareModuleTypeRequestBodyPut {
@JsonProperty @JsonProperty
@Schema(example = "Example description")
private String description; private String description;
@JsonProperty @JsonProperty
@Schema(example = "rgb(0,0,255")
private String colour; private String colour;
public String getDescription() { public String getDescription() {

View File

@@ -10,6 +10,7 @@
package org.eclipse.hawkbit.mgmt.json.model.system; package org.eclipse.hawkbit.mgmt.json.model.system;
import io.swagger.v3.oas.annotations.media.Schema;
import org.springframework.hateoas.RepresentationModel; import org.springframework.hateoas.RepresentationModel;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@@ -26,14 +27,22 @@ import com.fasterxml.jackson.annotation.JsonInclude.Include;
public class MgmtSystemTenantConfigurationValue extends RepresentationModel<MgmtSystemTenantConfigurationValue> { public class MgmtSystemTenantConfigurationValue extends RepresentationModel<MgmtSystemTenantConfigurationValue> {
@JsonInclude(Include.ALWAYS) @JsonInclude(Include.ALWAYS)
@Schema(example = "true")
private Object value; private Object value;
@JsonInclude(Include.ALWAYS) @JsonInclude(Include.ALWAYS)
@Schema(example = "true")
private boolean isGlobal = true; private boolean isGlobal = true;
@Schema(example = "1623085150")
private Long lastModifiedAt; private Long lastModifiedAt;
@Schema(example = "example user")
private String lastModifiedBy; private String lastModifiedBy;
@Schema(example = "1523085150")
private Long createdAt; private Long createdAt;
@Schema(example = "example user")
private String createdBy; private String createdBy;
public Object getValue() { public Object getValue() {

View File

@@ -15,6 +15,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* A json annotated rest model for System Configuration for PUT. * A json annotated rest model for System Configuration for PUT.
@@ -24,6 +25,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class MgmtSystemTenantConfigurationValueRequest { public class MgmtSystemTenantConfigurationValueRequest {
@JsonProperty(required = true) @JsonProperty(required = true)
@Schema(example = "exampleToken")
private Serializable value; private Serializable value;
/** /**

View File

@@ -13,6 +13,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* Request Body for PUT. * Request Body for PUT.
@@ -23,6 +24,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class MgmtAssignedDistributionSetRequestBody { public class MgmtAssignedDistributionSetRequestBody {
@JsonProperty(value = "id", required = true) @JsonProperty(value = "id", required = true)
@Schema(example = "24")
private Long distributionSetId; private Long distributionSetId;
public Long getDistributionSetId() { public Long getDistributionSetId() {

View File

@@ -13,6 +13,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* Request Body for PUT. * Request Body for PUT.
@@ -23,6 +24,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class MgmtAssignedTargetRequestBody { public class MgmtAssignedTargetRequestBody {
@JsonProperty(required = true) @JsonProperty(required = true)
@Schema(example = "Target1")
private String controllerId; private String controllerId;
public String getControllerId() { public String getControllerId() {

View File

@@ -9,6 +9,7 @@
*/ */
package org.eclipse.hawkbit.mgmt.json.model.tag; package org.eclipse.hawkbit.mgmt.json.model.tag;
import io.swagger.v3.oas.annotations.media.Schema;
import org.eclipse.hawkbit.mgmt.json.model.MgmtNamedEntity; import org.eclipse.hawkbit.mgmt.json.model.MgmtNamedEntity;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
@@ -26,9 +27,11 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class MgmtTag extends MgmtNamedEntity { public class MgmtTag extends MgmtNamedEntity {
@JsonProperty(value = "id", required = true) @JsonProperty(value = "id", required = true)
@Schema(example = "2")
private Long tagId; private Long tagId;
@JsonProperty @JsonProperty
@Schema(example = "rgb(255,0,0)")
private String colour; private String colour;
@JsonIgnore @JsonIgnore

View File

@@ -13,6 +13,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* Request Body for PUT/POST. * Request Body for PUT/POST.
@@ -23,12 +24,15 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class MgmtTagRequestBodyPut { public class MgmtTagRequestBodyPut {
@JsonProperty @JsonProperty
@Schema(example = "rgb(0,255,0)")
private String colour; private String colour;
@JsonProperty @JsonProperty
@Schema(example = "Example name")
private String name; private String name;
@JsonProperty @JsonProperty
@Schema(example = "Example description")
private String description; private String description;
public String getName() { public String getName() {

View File

@@ -3,6 +3,7 @@
*/ */
package org.eclipse.hawkbit.mgmt.json.model.target; package org.eclipse.hawkbit.mgmt.json.model.target;
import io.swagger.v3.oas.annotations.media.Schema;
import org.eclipse.hawkbit.mgmt.json.model.MgmtId; import org.eclipse.hawkbit.mgmt.json.model.MgmtId;
import org.eclipse.hawkbit.mgmt.json.model.MgmtMaintenanceWindowRequestBody; import org.eclipse.hawkbit.mgmt.json.model.MgmtMaintenanceWindowRequestBody;
import org.eclipse.hawkbit.mgmt.json.model.distributionset.MgmtActionType; import org.eclipse.hawkbit.mgmt.json.model.distributionset.MgmtActionType;
@@ -16,10 +17,13 @@ import com.fasterxml.jackson.annotation.JsonProperty;
*/ */
public class MgmtDistributionSetAssignment extends MgmtId { public class MgmtDistributionSetAssignment extends MgmtId {
@Schema(example = "1691065930359")
private long forcetime; private long forcetime;
@JsonProperty(required = false) @JsonProperty(required = false)
@Schema(example = "23")
private Integer weight; private Integer weight;
@JsonProperty(required = false) @JsonProperty(required = false)
@Schema(example = "false")
private Boolean confirmationRequired; private Boolean confirmationRequired;
private MgmtActionType type; private MgmtActionType type;
private MgmtMaintenanceWindowRequestBody maintenanceWindow; private MgmtMaintenanceWindowRequestBody maintenanceWindow;

View File

@@ -5,6 +5,7 @@ package org.eclipse.hawkbit.mgmt.json.model.target;
import java.net.URI; import java.net.URI;
import io.swagger.v3.oas.annotations.media.Schema;
import org.eclipse.hawkbit.mgmt.json.model.MgmtNamedEntity; import org.eclipse.hawkbit.mgmt.json.model.MgmtNamedEntity;
import org.eclipse.hawkbit.mgmt.json.model.MgmtPollStatus; import org.eclipse.hawkbit.mgmt.json.model.MgmtPollStatus;
@@ -23,39 +24,50 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class MgmtTarget extends MgmtNamedEntity { public class MgmtTarget extends MgmtNamedEntity {
@JsonProperty(required = true) @JsonProperty(required = true)
@Schema(example = "123")
private String controllerId; private String controllerId;
@JsonProperty @JsonProperty
@Schema(example = "in_sync")
private String updateStatus; private String updateStatus;
@JsonProperty @JsonProperty
@Schema(example = "1691065941102")
private Long lastControllerRequestAt; private Long lastControllerRequestAt;
@JsonProperty @JsonProperty
@Schema(example = "1691065941155")
private Long installedAt; private Long installedAt;
@JsonProperty @JsonProperty
@Schema(example = "192.168.0.1")
private String ipAddress; private String ipAddress;
@JsonProperty @JsonProperty
@Schema(example = "http://192.168.0.1")
private String address; private String address;
@JsonProperty @JsonProperty
private MgmtPollStatus pollStatus; private MgmtPollStatus pollStatus;
@JsonProperty @JsonProperty
@Schema(example = "38e6a19932b014040ba061795186514e")
private String securityToken; private String securityToken;
@JsonProperty @JsonProperty
@Schema(example = "true")
private boolean requestAttributes; private boolean requestAttributes;
@JsonProperty @JsonProperty
@Schema(example = "19")
private Long targetType; private Long targetType;
@JsonProperty @JsonProperty
@Schema(example = "defaultType")
private String targetTypeName; private String targetTypeName;
@JsonProperty @JsonProperty
@Schema(example = "false")
private Boolean autoConfirmActive; private Boolean autoConfirmActive;
/** /**

View File

@@ -12,6 +12,7 @@ package org.eclipse.hawkbit.mgmt.json.model.target;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import io.swagger.v3.oas.annotations.media.Schema;
import org.springframework.hateoas.RepresentationModel; import org.springframework.hateoas.RepresentationModel;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
@@ -24,9 +25,13 @@ import javax.validation.constraints.NotNull;
@JsonPropertyOrder({ "active", "initiator", "remark", "activatedAt" }) @JsonPropertyOrder({ "active", "initiator", "remark", "activatedAt" })
public class MgmtTargetAutoConfirm extends RepresentationModel<MgmtTargetAutoConfirm> { public class MgmtTargetAutoConfirm extends RepresentationModel<MgmtTargetAutoConfirm> {
@NotNull @NotNull
@Schema(example = "true")
private boolean active; private boolean active;
@Schema(example = "custom_initiator_value")
private String initiator; private String initiator;
@Schema(example = "custom_remark")
private String remark; private String remark;
@Schema(example = "1691065938576")
private Long activatedAt; private Long activatedAt;
/** /**

View File

@@ -11,15 +11,18 @@ package org.eclipse.hawkbit.mgmt.json.model.target;
import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* Payload to activate the auto-confirmation by given initiator and remark. * Payload to activate the auto-confirmation by given initiator and remark.
*/ */
public class MgmtTargetAutoConfirmUpdate { public class MgmtTargetAutoConfirmUpdate {
@JsonProperty(required = false) @JsonProperty(required = false)
@Schema(example = "custom_initiator_value")
private final String initiator; private final String initiator;
@JsonProperty(required = false) @JsonProperty(required = false)
@Schema(example = "custom_remark")
private final String remark; private final String remark;
/** /**

View File

@@ -4,6 +4,7 @@
package org.eclipse.hawkbit.mgmt.json.model.target; package org.eclipse.hawkbit.mgmt.json.model.target;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* Request body for target PUT/POST commands. * Request body for target PUT/POST commands.
@@ -11,23 +12,30 @@ import com.fasterxml.jackson.annotation.JsonProperty;
*/ */
public class MgmtTargetRequestBody { public class MgmtTargetRequestBody {
@JsonProperty(required = true) @JsonProperty(required = true)
@Schema(example = "controllerName")
private String name; private String name;
@Schema(example = "Example description of a target")
private String description; private String description;
@JsonProperty(required = true) @JsonProperty(required = true)
@Schema(example = "12345")
private String controllerId; private String controllerId;
@JsonProperty @JsonProperty
@Schema(example = "https://192.168.0.1")
private String address; private String address;
@JsonProperty @JsonProperty
@Schema(example = "2345678DGGDGFTDzztgf")
private String securityToken; private String securityToken;
@JsonProperty @JsonProperty
@Schema(example = "false")
private Boolean requestAttributes; private Boolean requestAttributes;
@JsonProperty @JsonProperty
@Schema(example = "10")
private Long targetType; private Long targetType;
/** /**

View File

@@ -9,6 +9,7 @@
*/ */
package org.eclipse.hawkbit.mgmt.json.model.targetfilter; package org.eclipse.hawkbit.mgmt.json.model.targetfilter;
import io.swagger.v3.oas.annotations.media.Schema;
import org.eclipse.hawkbit.mgmt.json.model.MgmtBaseEntity; import org.eclipse.hawkbit.mgmt.json.model.MgmtBaseEntity;
import org.eclipse.hawkbit.mgmt.json.model.distributionset.MgmtActionType; import org.eclipse.hawkbit.mgmt.json.model.distributionset.MgmtActionType;
@@ -27,24 +28,30 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class MgmtTargetFilterQuery extends MgmtBaseEntity { public class MgmtTargetFilterQuery extends MgmtBaseEntity {
@JsonProperty(value = "id", required = true) @JsonProperty(value = "id", required = true)
@Schema(example = "2")
private Long filterId; private Long filterId;
@JsonProperty @JsonProperty
@Schema(example = "filterName")
private String name; private String name;
@JsonProperty @JsonProperty
@Schema(example = "name==*")
private String query; private String query;
@JsonProperty @JsonProperty
@Schema(example = "15")
private Long autoAssignDistributionSet; private Long autoAssignDistributionSet;
@JsonProperty @JsonProperty
private MgmtActionType autoAssignActionType; private MgmtActionType autoAssignActionType;
@JsonProperty @JsonProperty
@Schema(example = "")
private Integer autoAssignWeight; private Integer autoAssignWeight;
@JsonProperty @JsonProperty
@Schema(example = "false")
private Boolean confirmationRequired; private Boolean confirmationRequired;
public Long getFilterId() { public Long getFilterId() {

View File

@@ -10,6 +10,7 @@
package org.eclipse.hawkbit.mgmt.json.model.targetfilter; package org.eclipse.hawkbit.mgmt.json.model.targetfilter;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* Request body for target PUT/POST commands. * Request body for target PUT/POST commands.
@@ -17,9 +18,11 @@ import com.fasterxml.jackson.annotation.JsonProperty;
*/ */
public class MgmtTargetFilterQueryRequestBody { public class MgmtTargetFilterQueryRequestBody {
@JsonProperty(required = true) @JsonProperty(required = true)
@Schema(example = "filterName")
private String name; private String name;
@JsonProperty(required = true) @JsonProperty(required = true)
@Schema(example = "controllerId==example-target-*")
private String query; private String query;
public String getName() { public String getName() {

View File

@@ -12,6 +12,7 @@ package org.eclipse.hawkbit.mgmt.json.model.targettype;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import org.eclipse.hawkbit.mgmt.json.model.MgmtNamedEntity; import org.eclipse.hawkbit.mgmt.json.model.MgmtNamedEntity;
/** /**
@@ -24,9 +25,11 @@ import org.eclipse.hawkbit.mgmt.json.model.MgmtNamedEntity;
public class MgmtTargetType extends MgmtNamedEntity { public class MgmtTargetType extends MgmtNamedEntity {
@JsonProperty(value = "id", required = true) @JsonProperty(value = "id", required = true)
@Schema(example = "26")
private Long typeId; private Long typeId;
@JsonProperty @JsonProperty
@Schema(example = "rgb(255,255,255")
private String colour; private String colour;
/** /**

View File

@@ -10,6 +10,7 @@
package org.eclipse.hawkbit.mgmt.json.model.targettype; package org.eclipse.hawkbit.mgmt.json.model.targettype;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* Request Body for TargetType PUT. * Request Body for TargetType PUT.
@@ -18,12 +19,15 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class MgmtTargetTypeRequestBodyPut { public class MgmtTargetTypeRequestBodyPut {
@JsonProperty(required = true) @JsonProperty(required = true)
@Schema(example = "updatedTypeName")
private String name; private String name;
@JsonProperty @JsonProperty
@Schema(example = "an updated description")
private String description; private String description;
@JsonProperty @JsonProperty
@Schema(example = "#aaafff")
private String colour; private String colour;
/** /**