{ "tosca_definitions_version": "controller_blueprint_1_0_0", "metadata": { "template_author": "Samuli Silvius ", "author-email": "lukasz.rajewski@orange.com", "user-groups": "ADMIN, OPERATION", "template_name": "vFW_CNF_CDS", "template_version": "8.0.0", "template_tags": "Samuli Silvius, Lukasz Rajewski, vFW_CNF_CDS", "template_type": "DEFAULT" }, "imports": [ { "file": "Definitions/data_types.json" }, { "file": "Definitions/relationship_types.json" }, { "file": "Definitions/artifact_types.json" }, { "file": "Definitions/node_types.json" }, { "file": "Definitions/policy_types.json" } ], "dsl_definitions": { "vpkg-rest-api": { "type": "basic-auth", "url": "http://", "username": "admin", "password": "admin" }, "config-deploy-properties": { "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": { "workflows": { "resource-assignment": { "steps": { "resource-assignment": { "description": "Resource Assign Workflow", "target": "resource-assignment", "activities": [ { "call_operation": "ResourceResolutionComponent.process" } ], "on_success": [ "profile-upload" ] }, "profile-upload": { "description": "Generate and upload K8s Profile", "target": "k8s-profile-upload", "activities": [ { "call_operation": "ComponentScriptExecutor.process" } ] } }, "inputs": { "template-prefix": { "required": true, "type": "list", "entry_schema": { "type": "string" } }, "resolution-key": { "required": false, "type": "string", "entry_schema": { "type": "" } }, "resource-assignment-properties": { "description": "Dynamic PropertyDefinition for workflow(resource-assignment).", "required": true, "type": "dt-resource-assignment-properties" } }, "outputs": { "meshed-template": { "type": "json", "value": { "get_attribute": [ "resource-assignment", "assignment-params" ] } } } }, "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-setup": { "description": "Gather necessary input for config init and status verification", "target": "config-setup-process", "activities": [ { "call_operation": "ResourceResolutionComponent.process" } ], "on_success": [ "config-apply" ], "on_failure": [ "handle_error" ] }, "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" } ], "on_success": [ "collect-results" ], "on_failure": [ "handle_error" ] }, "handle_error": { "description": "Simple error verification script", "target": "simple-error-check", "activities": [ { "call_operation": "ComponentScriptExecutor.process" } ], "on_success": [ "collect-results" ] }, "collect-results": { "description": "Final collection of results", "target": "collect-results" } }, "inputs": { "resolution-key": { "required": true, "type": "string" }, "config-deploy-properties": { "description": "Dynamic PropertyDefinition for workflow(config-deploy).", "required": true, "type": "dt-config-deploy-properties" } } }, "health-check": { "steps": { "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" ], "on_failure": [ "handle_error" ] }, "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" } ], "on_success": [ "health-check-process" ], "on_failure": [ "handle_error" ] }, "health-check-process": { "description": "Start health check script", "target": "health-check-script", "activities": [ { "call_operation": "ComponentScriptExecutor.process" } ], "on_success": [ "collect-results" ], "on_failure": [ "handle_error" ] }, "handle_error": { "description": "Simple error verification script", "target": "simple-error-check", "activities": [ { "call_operation": "ComponentScriptExecutor.process" } ], "on_success": [ "collect-results" ] }, "collect-results": { "description": "Final collection of results", "target": "collect-results" } }, "inputs": { "resolution-key": { "required": true, "type": "string" }, "config-deploy-properties": { "description": "Dynamic PropertyDefinition for workflow(config-deploy).", "required": true, "type": "dt-config-deploy-properties" } } } }, "node_templates": { "resource-assignment": { "type": "component-resource-resolution", "interfaces": { "ResourceResolutionComponent": { "operations": { "process": { "inputs": { "artifact-prefix-names": { "get_input": "template-prefix" } } } } } }, "artifacts": { "helm_base_template-template": { "type": "artifact-template-velocity", "file": "Templates/base_template-template.vtl" }, "helm_base_template-mapping": { "type": "artifact-mapping-resource", "file": "Templates/base_template-mapping.json" }, "helm_vpkg-template": { "type": "artifact-template-velocity", "file": "Templates/vpkg-template.vtl" }, "helm_vpkg-mapping": { "type": "artifact-mapping-resource", "file": "Templates/vpkg-mapping.json" }, "helm_vfw-template": { "type": "artifact-template-velocity", "file": "Templates/vfw-template.vtl" }, "helm_vfw-mapping": { "type": "artifact-mapping-resource", "file": "Templates/vfw-mapping.json" }, "vnf-template": { "type": "artifact-template-velocity", "file": "Templates/vnf-template.vtl" }, "vnf-mapping": { "type": "artifact-mapping-resource", "file": "Templates/vnf-mapping.json" }, "helm_vsn-template": { "type": "artifact-template-velocity", "file": "Templates/vsn-template.vtl" }, "helm_vsn-mapping": { "type": "artifact-mapping-resource", "file": "Templates/vsn-mapping.json" } } }, "k8s-profile-upload": { "type": "component-k8s-profile-upload", "interfaces": { "K8sProfileUploadComponent": { "operations": { "process": { "inputs": { "artifact-prefix-names": { "get_input": "template-prefix" }, "resource-assignment-map": { "get_attribute": [ "resource-assignment", "assignment-map" ] } } } } } }, "artifacts": { "vfw-cnf-cds-base-profile": { "type": "artifact-k8sprofile-content", "file": "Templates/k8s-profiles/vfw-cnf-cds-base-profile.tar.gz" }, "vfw-cnf-cds-vpkg-profile": { "type": "artifact-k8sprofile-content", "file": "Templates/k8s-profiles/vfw-cnf-cds-vpkg-profile" }, "vfw-cnf-cds-vpkg-profile-mapping": { "type": "artifact-mapping-resource", "file": "Templates/k8s-profiles/vfw-cnf-cds-vpkg-profile/ssh-service-mapping.json" } } }, "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-k8sconfig-content", "file": "Templates/k8s-configs/ssh-service.tar.gz" }, "ssh-service-config-customizable": { "type": "artifact-k8sconfig-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" ], "k8s-config-operation-type": "create", "resource-assignment-map": { "get_attribute": [ "config-setup-process", "", "assignment-map", "config-deploy", "config-deploy-setup" ] } } } } } }, "artifacts": { "ssh-service-default": { "type": "artifact-k8sconfig-content", "file": "Templates/k8s-configs/ssh-service-config/values.yaml" }, "ssh-service-config": { "type": "artifact-k8sconfig-content", "file": "Templates/k8s-configs/ssh-service-values/values.yaml.vtl" }, "ssh-service-config-mapping": { "type": "artifact-mapping-resource", "file": "Templates/k8s-configs/ssh-service-values/ssh-service-mapping.json" } } }, "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" } } } } } }, "simple-error-check": { "type": "component-script-executor", "interfaces": { "ComponentScriptExecutor": { "operations": { "process": { "inputs": { "script-type": "kotlin", "script-class-reference": "org.onap.ccsdk.cds.blueprintsprocessor.services.execution.scripts.SimpleErrorCheck", "instance-dependencies": [ "blueprintPropertiesService" ], "dynamic-properties": "*simple-status-properties" } } } } } }, "health-check-script": { "type": "component-script-executor", "interfaces": { "ComponentScriptExecutor": { "operations": { "process": { "inputs": { "script-type": "kotlin", "script-class-reference": "org.onap.ccsdk.cds.blueprintsprocessor.services.execution.scripts.K8sHealthCheck", "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": [ "config-deploy" ] }, "outputs": { "resource-assignment-params": { "get_attribute": [ "SELF", "assignment-params" ] }, "status": "success" } } } } }, "artifacts": { "config-deploy-template": { "type": "artifact-template-velocity", "file": "Templates/config-setup-template.vtl" }, "config-deploy-mapping": { "type": "artifact-mapping-resource", "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" } } } } } }, "collect-results": { "type": "component-script-executor", "interfaces": { "ComponentScriptExecutor": { "operations": { "process": { "implementation": { "primary": "component-script", "timeout": 180, "operation_host": "SELF" }, "inputs": { "script-type": "kotlin", "script-class-reference": "org.onap.ccsdk.cds.blueprintsprocessor.services.execution.scripts.CollectorScript" }, "outputs": {} } } } } } } } }