Templating constants added to ResourceAssignment
[ccsdk/cds.git] / ms / blueprintsprocessor / modules / blueprints / resource-dict / src / main / kotlin / org / onap / ccsdk / cds / controllerblueprints / resource / dict / ResourceDefinition.kt
index 70f151b..50330fa 100644 (file)
@@ -20,29 +20,37 @@ package org.onap.ccsdk.cds.controllerblueprints.resource.dict
 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>
 }
 
@@ -54,6 +62,9 @@ open class ResourceAssignment {
     @JsonProperty(value = "property")
     var property: PropertyDefinition? = null
 
+    @JsonProperty(value = "max-occurrence")
+    var maxOccurrence: Int? = null
+
     @JsonProperty("input-param")
     var inputParameter: Boolean = false
 
@@ -72,6 +83,9 @@ open class ResourceAssignment {
     @JsonProperty("dependencies")
     var dependencies: MutableList<String>? = null
 
+    @JsonProperty("templating-constants")
+    var templatingConstants: MutableMap<String, String>? = null
+
     @JsonProperty("version")
     var version: Int = 0
 
@@ -101,12 +115,13 @@ open class ResourceAssignment {
                 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
  */
@@ -132,6 +147,7 @@ data class ResolutionSummary(
     @JsonProperty("message")
     val message: String
 )
+
 /**
  * Interface for Source Definitions (ex Input Source,
  * Default Source, Database Source, Rest Sources, etc)
@@ -139,5 +155,6 @@ data class ResolutionSummary(
 interface ResourceSource : Serializable
 
 open class ResourceSourceMapping {
+
     lateinit var resourceSourceMappings: MutableMap<String, String>
 }