export interface IResourcesState {
resources: IResources,
- isLoadSuccess: boolean;
- isUpdateSuccess: boolean;
- isSaveSuccess: boolean;
+ isLoadSuccess?: boolean;
+ isUpdateSuccess?: boolean;
+ isSaveSuccess?: boolean;
}
\ No newline at end of file
return {...state,
resources: action.payload
}
+ case ResourcesActions.SET_RESOURCES_STATE:
+ return {...state,
+ resources: action.payload.resources
+ }
default:
return state;
}
onChange($event) {
this.data=JSON.parse($event.srcElement.value);
+ this.updateResourcesState();
};
updateResourcesState(){
======
Expects the value to be provided as input to the request.
-source-input:
-.. code: json
-print("
- "description": "This is Input Resource Source Node Type",
- "version": "1.0.0",
- "properties": {},
- "derived_from": "tosca.nodes.ResourceSource"
-")
+
+.. code-block:: json
+ :linenos:
+
+ source-input
+ {
+ "description": "This is Input Resource Source Node Type",
+ "version": "1.0.0",
+ "properties": {},
+ "derived_from": "tosca.nodes.ResourceSource"
+ }
Default:
========
Expects the value to be defaulted in the model itself.
-source-default:
-
- "description": "This is Default Resource Source Node Type",
- "version": "1.0.0",
- "properties": {},
- "derived_from": "tosca.nodes.ResourceSource"
+.. code-block:: json
+ :linenos:
+ source-default
+ {
+ "description": "This is Default Resource Source Node Type",
+ "version": "1.0.0",
+ "properties": {},
+ "derived_from": "tosca.nodes.ResourceSource"
+ }
sql:
Modeling Concept
-================
+----------------
In Dublin release, the CDS community has contributed a framework to automate
the resolution of resources for instantiation and any config provisioning
|image0|
Modeling Concept Links:
------------------------
+~~~~~~~~~~~~~~~~~~~~~~~
.. toctree::
:maxdepth: 1
Design tools
-============
+------------
.. toctree::
:maxdepth: 1
:glob:
Scripts
-=======
+-------
Library
--------
+~~~~~~~
+
+* NetconfClient
+~~~~~~~~~~~~~~
-*NetconfClient
---------------
In order to facilitate NETCONF interaction within scripts, a python NetconfClient binded to our Kotlin implementation is made available. This NetconfClient can be used when using the component-netconf-executor.
The client can be find here: https://github.com/onap/ccsdk-cds/blob/master/components/scripts/python/ccsdk_netconf/netconfclient.py
-*ResolutionHelper
------------------
+* ResolutionHelper
+~~~~~~~~~~~~~~~~~
+
When executing a component executor script, designer might want to perform
resource resolution along with template meshing directly from the script
itself.
@get:ApiModelProperty(value = "If resolution occurred multiple time, this field provides the index.",
required = true)
@Column(name = "occurrence", nullable = false)
- var occurrence: Int = 0
+ var occurrence: Int = 1
@Id
@Column(name = "template_resolution_id")
companion object {
private const val serialVersionUID = 1L
}
-}
\ No newline at end of file
+}
blueprintVersion: String,
artifactPrefix: String,
resolutionKey: String,
- occurrence: Int = 0): String =
+ occurrence: Int = 1): String =
withContext(Dispatchers.IO) {
templateResolutionRepository.findByResolutionKeyAndBlueprintNameAndBlueprintVersionAndArtifactNameAndOccurrence(
artifactPrefix: String,
resourceId: String,
resourceType: String,
- occurrence: Int = 0): String =
+ occurrence: Int = 1): String =
withContext(Dispatchers.IO) {
templateResolutionRepository.findByResourceIdAndResourceTypeAndBlueprintNameAndBlueprintVersionAndArtifactNameAndOccurrence(
val resourceId = properties[ResourceResolutionConstants.RESOURCE_RESOLUTION_INPUT_RESOURCE_ID] as String
val resourceType = properties[ResourceResolutionConstants.RESOURCE_RESOLUTION_INPUT_RESOURCE_TYPE] as String
val occurrence = properties[ResourceResolutionConstants.RESOURCE_RESOLUTION_INPUT_OCCURRENCE] as Int
-
write(blueprintName,
blueprintVersion,
artifactPrefix,
}
suspend fun write(blueprintName: String, blueprintVersion: String, artifactPrefix: String,
- template: String, occurrence: Int = 0, resolutionKey: String = "", resourceId: String = "",
+ template: String, occurrence: Int = 1, resolutionKey: String = "", resourceId: String = "",
resourceType: String = ""): TemplateResolution =
withContext(Dispatchers.IO) {
}
}
try {
+ log.info("Writing out template_resolution result: bpName: $blueprintName bpVer $blueprintVersion resKey:$resolutionKey" +
+ " (resourceId: $resourceId resourceType: $resourceType) occurrence:$occurrence")
templateResolutionRepository.saveAndFlush(resourceResolutionResult)
} catch (ex: DataIntegrityViolationException) {
+ log.error("Error writing out template_resolution result: bpName: $blueprintName bpVer $blueprintVersion resKey:$resolutionKey" +
+ " (resourceId: $resourceId resourceType: $resourceType) occurrence:$occurrence error: {}", ex.message)
throw BluePrintException("Failed to store resource api result.", ex)
}
}
-}
\ No newline at end of file
+}