Implementation of config-assign and config-deploy actions
[demo.git] / heat / vFW_CNF_CDS / templates / cba / Definitions / vFW_CNF_CDS.json
index 60846f6..6c71ca2 100644 (file)
             "resolution-key": {
                 "get_input": "resolution-key"
             }
+        },
+        "simple-status-properties": {
+            "resolution-key": {
+                "get_input": "resolution-key"
+            },
+            "config-deploy-setup": {
+                "get_attribute": [
+                    "config-setup-process",
+                    "",
+                    "assignment-map",
+                    "config-deploy",
+                    "config-deploy-setup"
+                ]
+            }
         }
     },
     "topology_template": {
                     }
                 }
             },
+            "config-assign": {
+                "steps": {
+                    "config-setup": {
+                        "description": "Gather necessary input for config template upload",
+                        "target": "config-setup-process",
+                        "activities": [
+                            {
+                                "call_operation": "ResourceResolutionComponent.process"
+                            }
+                        ],
+                        "on_success": [
+                            "config-template"
+                        ]
+                    },
+                    "config-template": {
+                        "description": "Generate and upload K8s config template",
+                        "target": "k8s-config-template",
+                        "activities": [
+                            {
+                                "call_operation": "K8sConfigTemplateComponent.process"
+                            }
+                        ]
+                    }
+                },
+                "inputs": {
+                    "resolution-key": {
+                        "required": true,
+                        "type": "string"
+                    },
+                    "store-result": {
+                        "required": true,
+                        "type": "boolean"
+                    },
+                    "config-assign-properties": {
+                        "description": "Dynamic PropertyDefinition for workflow(config-assign).",
+                        "required": true,
+                        "type": "dt-config-assign-properties"
+                    }
+                }
+            },
             "config-deploy": {
                 "steps": {
-                    "config-deploy": {
-                        "description": "Config Deploy Workflow",
-                        "target": "config-deploy-process"
+                    "config-setup": {
+                        "description": "Gather necessary input for config init and status verification",
+                        "target": "config-setup-process",
+                        "activities": [
+                            {
+                                "call_operation": "ResourceResolutionComponent.process"
+                            }
+                        ],
+                        "on_success": [
+                            "config-apply"
+                        ]
+                    },
+                    "config-apply": {
+                        "description": "Activate K8s config template",
+                        "target": "k8s-config-apply",
+                        "activities": [
+                            {
+                                "call_operation": "K8sConfigTemplateComponent.process"
+                            }
+                        ],
+                        "on_success": [
+                            "status-verification-script"
+                        ]
+                    },
+                    "status-verification-script": {
+                        "description": "Simple status verification script",
+                        "target": "simple-status-check",
+                        "activities": [
+                            {
+                                "call_operation": "ComponentScriptExecutor.process"
+                            }
+                        ]
                     }
                 },
                 "inputs": {
+                    "resolution-key": {
+                        "required": true,
+                        "type": "string"
+                    },
                     "config-deploy-properties": {
                         "description": "Dynamic PropertyDefinition for workflow(config-deploy).",
                         "required": true,
                         "type": "dt-config-deploy-properties"
                     }
-                },
-                "outputs": {
-                    "dry-run": {
-                        "type": "json",
-                        "value": {
-                            "get_attribute": [
-                                "config-deploy-process",
-                                "assignment-params"
-                            ]
-                        }
-                    }
                 }
             }
         },
                     }
                 }
             },
-            "config-deploy-process": {
+            "k8s-config-template": {
+                "type": "component-k8s-config-template",
+                "interfaces": {
+                    "K8sConfigTemplateComponent": {
+                        "operations": {
+                            "process": {
+                                "inputs": {
+                                    "artifact-prefix-names": [
+                                        "helm_vpkg"
+                                    ],
+                                    "resource-assignment-map": {
+                                        "get_attribute": [
+                                            "config-setup-process",
+                                            "",
+                                            "assignment-map",
+                                            "config-deploy",
+                                            "config-deploy-setup"
+                                        ]
+                                    }
+                                }
+                            }
+                        }
+                    }
+                },
+                "artifacts": {
+                    "ssh-service-config": {
+                        "type": "artifact-k8sprofile-content",
+                        "file": "Templates/k8s-configs/ssh-service.tar.gz"
+                    },
+                    "ssh-service-config-customizable": {
+                        "type": "artifact-k8sprofile-content",
+                        "file": "Templates/k8s-configs/ssh-service-config"
+                    },
+                    "ssh-service-config-customizable-mapping": {
+                        "type": "artifact-mapping-resource",
+                        "file": "Templates/k8s-configs/ssh-service-config/ssh-service-mapping.json"
+                    }
+                }
+            },
+            "k8s-config-apply": {
+                "type": "component-k8s-config-value",
+                "interfaces": {
+                    "K8sConfigValueComponent": {
+                        "operations": {
+                            "process": {
+                                "inputs": {
+                                    "artifact-prefix-names": [
+                                        "helm_vpkg"
+                                    ],
+                                    "resource-assignment-map": {
+                                        "get_attribute": [
+                                            "config-setup-process",
+                                            "",
+                                            "assignment-map",
+                                            "config-deploy",
+                                            "config-deploy-setup"
+                                        ]
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            },
+            "simple-status-check": {
+                "type": "component-script-executor",
+                "interfaces": {
+                    "ComponentScriptExecutor": {
+                        "operations": {
+                            "process": {
+                                "inputs": {
+                                    "script-type": "kotlin",
+                                    "script-class-reference": "org.onap.ccsdk.cds.blueprintsprocessor.services.execution.scripts.SimpleStatusCheck",
+                                    "instance-dependencies": [
+                                        "blueprintPropertiesService"
+                                    ],
+                                    "dynamic-properties": "*simple-status-properties"
+                                }
+                            }
+                        }
+                    }
+                }
+            },
+            "config-setup-process": {
                 "type": "component-resource-resolution",
                 "interfaces": {
                     "ResourceResolutionComponent": {
                         "operations": {
                             "process": {
                                 "inputs": {
+                                    "resolution-key": {
+                                        "get_input": "resolution-key"
+                                    },
+                                    "store-result": false,
                                     "artifact-prefix-names": [
-                                        "nf-params"
+                                        "config-deploy"
                                     ]
+                                },
+                                "outputs": {
+                                    "resource-assignment-params": {
+                                        "get_attribute": [
+                                            "SELF",
+                                            "assignment-params"
+                                        ]
+                                    },
+                                    "status": "success"
                                 }
                             }
                         }
                     }
                 },
                 "artifacts": {
-                    "nf-params-template": {
+                    "config-deploy-template": {
                         "type": "artifact-template-velocity",
-                        "file": "Templates/nf-params-template.vtl"
+                        "file": "Templates/config-setup-template.vtl"
                     },
-                    "nf-params-mapping": {
+                    "config-deploy-mapping": {
                         "type": "artifact-mapping-resource",
-                        "file": "Templates/nf-params-mapping.json"
+                        "file": "Templates/config-setup-mapping.json"
+                    }
+                }
+            },
+            "config-deploy-process": {
+                "type": "component-script-executor",
+                "interfaces": {
+                    "ComponentScriptExecutor": {
+                        "operations": {
+                            "process": {
+                                "inputs": {
+                                    "script-type": "kotlin",
+                                    "script-class-reference": "org.onap.ccsdk.cds.blueprintsprocessor.services.execution.scripts.ConfigDeploy",
+                                    "dynamic-properties": "*config-deploy-properties"
+                                }
+                            }
+                        }
                     }
                 }
             }