|
|
@ -19,10 +19,22 @@ import com.fasterxml.jackson.annotation.JsonIgnore; |
|
|
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; |
|
|
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; |
|
|
import com.fasterxml.jackson.annotation.JsonSubTypes; |
|
|
import com.fasterxml.jackson.annotation.JsonSubTypes; |
|
|
import com.fasterxml.jackson.annotation.JsonTypeInfo; |
|
|
import com.fasterxml.jackson.annotation.JsonTypeInfo; |
|
|
|
|
|
import io.swagger.v3.oas.annotations.media.DiscriminatorMapping; |
|
|
|
|
|
import io.swagger.v3.oas.annotations.media.Schema; |
|
|
import org.thingsboard.server.common.data.DeviceProfileProvisionType; |
|
|
import org.thingsboard.server.common.data.DeviceProfileProvisionType; |
|
|
|
|
|
|
|
|
import java.io.Serializable; |
|
|
import java.io.Serializable; |
|
|
|
|
|
|
|
|
|
|
|
@Schema( |
|
|
|
|
|
description = "Device profile provision configuration", |
|
|
|
|
|
discriminatorProperty = "type", |
|
|
|
|
|
discriminatorMapping = { |
|
|
|
|
|
@DiscriminatorMapping(value = "DISABLED", schema = DisabledDeviceProfileProvisionConfiguration.class), |
|
|
|
|
|
@DiscriminatorMapping(value = "ALLOW_CREATE_NEW_DEVICES", schema = AllowCreateNewDevicesDeviceProfileProvisionConfiguration.class), |
|
|
|
|
|
@DiscriminatorMapping(value = "CHECK_PRE_PROVISIONED_DEVICES", schema = CheckPreProvisionedDevicesDeviceProfileProvisionConfiguration.class), |
|
|
|
|
|
@DiscriminatorMapping(value = "X509_CERTIFICATE_CHAIN", schema = X509CertificateChainProvisionConfiguration.class) |
|
|
|
|
|
} |
|
|
|
|
|
) |
|
|
@JsonIgnoreProperties(ignoreUnknown = true) |
|
|
@JsonIgnoreProperties(ignoreUnknown = true) |
|
|
@JsonTypeInfo( |
|
|
@JsonTypeInfo( |
|
|
use = JsonTypeInfo.Id.NAME, |
|
|
use = JsonTypeInfo.Id.NAME, |
|
|
@ -35,8 +47,10 @@ import java.io.Serializable; |
|
|
@JsonSubTypes.Type(value = X509CertificateChainProvisionConfiguration.class, name = "X509_CERTIFICATE_CHAIN")}) |
|
|
@JsonSubTypes.Type(value = X509CertificateChainProvisionConfiguration.class, name = "X509_CERTIFICATE_CHAIN")}) |
|
|
public interface DeviceProfileProvisionConfiguration extends Serializable { |
|
|
public interface DeviceProfileProvisionConfiguration extends Serializable { |
|
|
|
|
|
|
|
|
|
|
|
@Schema(description = "Provision device secret", example = "secret123") |
|
|
String getProvisionDeviceSecret(); |
|
|
String getProvisionDeviceSecret(); |
|
|
|
|
|
|
|
|
|
|
|
@Schema(requiredMode = Schema.RequiredMode.REQUIRED, description = "Device profile provision type") |
|
|
@JsonIgnore |
|
|
@JsonIgnore |
|
|
DeviceProfileProvisionType getType(); |
|
|
DeviceProfileProvisionType getType(); |
|
|
|
|
|
|
|
|
|