summaryrefslogtreecommitdiffstats
path: root/components/model-catalog/blueprint-model/test-blueprint/golden/Definitions/
{
  "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
            }
          }
        }
      }
    }
  }
}