import com.fasterxml.jackson.annotation.JsonFormat
import com.fasterxml.jackson.annotation.JsonProperty
import com.fasterxml.jackson.databind.JsonNode
+import io.swagger.annotations.ApiModel
+import io.swagger.annotations.ApiModelProperty
import org.onap.ccsdk.cds.controllerblueprints.core.data.NodeTemplate
import org.onap.ccsdk.cds.controllerblueprints.core.data.PropertyDefinition
import java.io.Serializable
import java.util.Date
+@ApiModel
open class ResourceDefinition {
@JsonProperty(value = "name", required = true)
+ @ApiModelProperty(value = "Name", required = true, example = "\"default-source\"")
lateinit var name: String
@JsonProperty(value = "property", required = true)
+ @ApiModelProperty(value = "Property", required = true)
lateinit var property: PropertyDefinition
var tags: String? = null
/** The default group for Resource Definition is "default" */
@JsonProperty(value = "group", required = true)
+ @ApiModelProperty(value = "Group", required = true, example = "\"default\"")
var group: String = "default"
@JsonProperty(value = "updated-by")
+ @ApiModelProperty(value = "Updated by", required = true, example = "\"example@onap.com\"")
lateinit var updatedBy: String
@JsonProperty(value = "sources", required = true)
+ @ApiModelProperty(value = "Sources", required = true, example = "\"sources\"")
lateinit var sources: MutableMap<String, NodeTemplate>
}
@JsonProperty(value = "property")
var property: PropertyDefinition? = null
+ @JsonProperty(value = "max-occurrence")
+ var maxOccurrence: Int? = null
+
@JsonProperty("input-param")
var inputParameter: Boolean = false
@JsonProperty("dependencies")
var dependencies: MutableList<String>? = null
+ @JsonProperty("templating-constants")
+ var templatingConstants: MutableMap<String, String>? = null
+
@JsonProperty("version")
var version: Int = 0
dictionaryName = $dictionaryName
dictionarySource = $dictionarySource
]
- """.trimIndent()
+ """.trimIndent()
}
}
data class KeyIdentifier(val name: String, val value: JsonNode)
data class DictionaryMetadataEntry(val name: String, val value: String)
+
/**
* Data class for exposing summary of resource resolution
*/
@JsonProperty("message")
val message: String
)
+
/**
* Interface for Source Definitions (ex Input Source,
* Default Source, Database Source, Rest Sources, etc)
interface ResourceSource : Serializable
open class ResourceSourceMapping {
+
lateinit var resourceSourceMappings: MutableMap<String, String>
}