{
"tosca_definitions_version" : "controller_blueprint_1_0_0",
"metadata" : {
"template_author" : "Alexis de Talhouët",
"author-email" : "adetalhouet89@gmail.com",
"user-groups" : "ADMIN, OPERATION",
"template_name" : "golden",
"template_version" : "1.0.0",
"template_tags" : "test"
},
"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" : {
"ipam-1" : {
"type" : "token-auth",
"url" : "http://netbox-nginx:8080",
"token" : "Token 0123456789abcdef0123456789abcdef01234567"
},
"config-deploy-properties" : {
"resolution-key" : {
"get_input" : "resolution-key"
}
}
},
"topology_template" : {
"workflows" : {
"resource-assignment" : {
"steps" : {
"resource-assignment" : {
"description" : "Resource Assign Workflow",
"target" : "resource-assignment",
"activities" : [ {
"call_operation" : ""
} ]
}
},
"inputs" : {
"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-assign" : {
"description" : "Config Assign Workflow",
"target" : "config-assign",
"activities" : [ {
"call_operation" : ""
} ]
}
},
"inputs" : {
"resolution-key" : {
"required" : true,
"type" : "string"
},
"config-assign-properties" : {
"description" : "Dynamic PropertyDefinition for workflow(config-assign).",
"required" : true,
"type" : "dt-config-assign-properties"
}
},
"outputs" : {
"dry-run" : {
"type" : "json",
"value" : {
"get_attribute" : [ "config-assign", "assignment-params" ]
}
}
}
},
"config-deploy" : {
"steps" : {
"config-deploy" : {
"description" : "Resource Assign and Python Netconf Activation Workflow",
"target" : "config-deploy",
"activities" : [ {
"call_operation" : ""
} ]
}
},
"inputs" : {
"resolution-key" : {
"required" : false,
"type" : "string"
},
"password" : {
"required" : true,
"type" : "string"
},
"username" : {
"required" : true,
"type" : "string"
},
"ip" : {
"required" : true,
"type" : "string"
}
}
},
"rollback" : {
"steps" : {
"rollback" : {
"description" : "Rollback Workflow",
"target" : "rollback",
"activities" : [ {
"call_operation" : ""
} ]
}
},
"inputs" : {
"resolution-key" : {
"required" : false,
"type" : "string"
},
"password" : {
"required" : true,
"type" : "string"
},
"username" : {
"required" : true,
"type" : "string"
},
"ip" : {
"required" : true,
"type" : "string"
},
"rollback-properties" : {
"description" : "Dynamic PropertyDefinition for workflow(rollback).",
"required" : true,
"type" : "dt-rollback-properties"
}
}
}
},
"node_templates" : {
"resource-assignment" : {
"type" : "component-resource-resolution",
"interfaces" : {
"ResourceResolutionComponent" : {
"operations" : {
"process" : {
"inputs" : {
"artifact-prefix-names" : [ "vf-module-1" ]
}
}
}
}
},
"artifacts" : {
"vf-module-1-template" : {
"type" : "artifact-template-velocity",
"file" : "Templates/vf-module-1-template.vtl"
},
"vf-module-1-mapping" : {
"type" : "artifact-mapping-resource",
"file" : "Templates/vf-module-1-mapping.json"
}
}
},
"config-assign" : {
"type" : "component-resource-resolution",
"interfaces" : {
"ResourceResolutionComponent" : {
"operations" : {
"process" : {
"inputs" : {
"resolution-key" : {
"get_input" : "resolution-key"
},
"store-result" : true,
"artifact-prefix-names" : [ "hostname", "vfw-interface" ]
}
}
}
}
},
"artifacts" : {
"hostname-template" : {
"type" : "artifact-template-velocity",
"file" : "Templates/hostname-template.vtl"
},
"hostname-mapping" : {
"type" : "artifact-mapping-resource",
"file" : "Templates/hostname-mapping.json"
},
"vfw-interface-template" : {
"type" : "artifact-template-velocity",
"file" : "Templates/vfw-interface-template.vtl"
},
"vfw-interface-mapping" : {
"type" : "artifact-mapping-resource",
"file" : "Templates/vfw-interface-mapping.json"
}
}
},
"config-deploy" : {
"type" : "component-netconf-executor",
"requirements" : {
"netconf-connection" : {
"capability" : "netconf",
"node" : "netconf-device",
"relationship" : "tosca.relationships.ConnectsTo"
}
},
"interfaces" : {
"ComponentNetconfExecutor" : {
"operations" : {
"process" : {
"inputs" : {
"script-type" : "jython",
"script-class-reference" : "Scripts/python/ConfigDeploy.py",
"instance-dependencies" : [ ],
"dynamic-properties" : "*config-deploy-properties"
}
}
}
}
}
},
"rollback" : {
"type" : "component-netconf-executor",
"requirements" : {
"netconf-connection" : {
"capability" : "netconf",
"node" : "netconf-device",
"relationship" : "tosca.relationships.ConnectsTo"
}
},
"interfaces" : {
"ComponentNetconfExecutor" : {
"operations" : {
"process" : {
"inputs" : {
"script-type" : "jython",
"script-class-reference" : "Scripts/python/Rollback.py",
"instance-dependencies" : [ ]
}
}
}
}
},
"artifacts" : {
"junos-rollback-RPC-template" : {
"type" : "artifact-template-velocity",
"file" : "Templates/junos-rollback-RPC-template.vtl"
},
"junos-rollback-RPC-mapping" : {
"type" : "artifact-mapping-resource",
"file" : "Templates/junos-rollback-RPC-mapping.json"
}
}
},
"netconf-device" : {
"type" : "vnf-netconf-device",
"capabilities" : {
"netconf" : {
"properties" : {
"login-key" : {
"get_input" : "password"
},
"login-account" : {
"get_input" : "username"
},
"target-ip-address" : {
"get_input" : "ip"
},
"port-number" : 830,
"connection-time-out" : 5
}
}
}
}
}
}
}