Advertisement
Guest User

XO-COMMANDS

a guest
Dec 20th, 2020
430
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JSON 75.32 KB | None | 0 0
  1. {
  2.   "acl.get": {
  3.     "description": "get existing ACLs",
  4.     "params": {},
  5.     "permission": "admin"
  6.   },
  7.   "acl.getCurrentPermissions": {
  8.     "description": "get (explicit) permissions by object for the current user",
  9.     "params": {},
  10.     "permission": ""
  11.   },
  12.   "acl.add": {
  13.     "description": "add a new ACL entry",
  14.     "params": {
  15.       "subject": {
  16.         "type": "string"
  17.       },
  18.       "object": {
  19.         "type": "string"
  20.       },
  21.       "action": {
  22.         "type": "string"
  23.       }
  24.     },
  25.     "permission": "admin"
  26.   },
  27.   "acl.remove": {
  28.     "description": "remove an existing ACL entry",
  29.     "params": {
  30.       "subject": {
  31.         "type": "string"
  32.       },
  33.       "object": {
  34.         "type": "string"
  35.       },
  36.       "action": {
  37.         "type": "string"
  38.       }
  39.     },
  40.     "permission": "admin"
  41.   },
  42.   "backupNg.createJob": {
  43.     "params": {
  44.       "compression": {
  45.         "enum": [
  46.           "",
  47.           "native",
  48.           "zstd"
  49.         ],
  50.         "optional": true
  51.       },
  52.       "mode": {
  53.         "enum": [
  54.           "full",
  55.           "delta"
  56.         ]
  57.       },
  58.       "name": {
  59.         "type": "string",
  60.         "optional": true
  61.       },
  62.       "proxy": {
  63.         "type": "string",
  64.         "optional": true
  65.       },
  66.       "remotes": {
  67.         "type": "object",
  68.         "optional": true
  69.       },
  70.       "schedules": {
  71.         "type": "object",
  72.         "optional": true
  73.       },
  74.       "settings": {
  75.         "type": "object"
  76.       },
  77.       "srs": {
  78.         "type": "object",
  79.         "optional": true
  80.       },
  81.       "vms": {
  82.         "type": "object"
  83.       }
  84.     },
  85.     "permission": "admin"
  86.   },
  87.   "backupNg.migrateLegacyJob": {
  88.     "params": {
  89.       "id": {
  90.         "type": "string"
  91.       }
  92.     },
  93.     "permission": "admin"
  94.   },
  95.   "backupNg.deleteJob": {
  96.     "params": {
  97.       "id": {
  98.         "type": "string"
  99.       }
  100.     },
  101.     "permission": "admin"
  102.   },
  103.   "backupNg.editJob": {
  104.     "params": {
  105.       "compression": {
  106.         "enum": [
  107.           "",
  108.           "native",
  109.           "zstd"
  110.         ],
  111.         "optional": true
  112.       },
  113.       "id": {
  114.         "type": "string"
  115.       },
  116.       "mode": {
  117.         "enum": [
  118.           "full",
  119.           "delta"
  120.         ],
  121.         "optional": true
  122.       },
  123.       "name": {
  124.         "type": "string",
  125.         "optional": true
  126.       },
  127.       "proxy": {
  128.         "type": [
  129.           "string",
  130.           "null"
  131.         ],
  132.         "optional": true
  133.       },
  134.       "remotes": {
  135.         "type": "object",
  136.         "optional": true
  137.       },
  138.       "settings": {
  139.         "type": "object",
  140.         "optional": true
  141.       },
  142.       "srs": {
  143.         "type": "object",
  144.         "optional": true
  145.       },
  146.       "vms": {
  147.         "type": "object",
  148.         "optional": true
  149.       }
  150.     },
  151.     "permission": "admin"
  152.   },
  153.   "backupNg.getAllJobs": {
  154.     "params": {},
  155.     "permission": "admin"
  156.   },
  157.   "backupNg.getJob": {
  158.     "params": {
  159.       "id": {
  160.         "type": "string"
  161.       }
  162.     },
  163.     "permission": "admin"
  164.   },
  165.   "backupNg.runJob": {
  166.     "params": {
  167.       "id": {
  168.         "type": "string"
  169.       },
  170.       "schedule": {
  171.         "type": "string"
  172.       },
  173.       "settings": {
  174.         "type": "object",
  175.         "properties": {
  176.           "*": {
  177.             "type": "object"
  178.           }
  179.         },
  180.         "optional": true
  181.       },
  182.       "vm": {
  183.         "type": "string",
  184.         "optional": true
  185.       },
  186.       "vms": {
  187.         "type": "array",
  188.         "items": {
  189.           "type": "string"
  190.         },
  191.         "optional": true
  192.       }
  193.     },
  194.     "permission": "admin"
  195.   },
  196.   "backupNg.getAllLogs": {
  197.     "params": {
  198.       "ndjson": {
  199.         "type": "boolean",
  200.         "optional": true
  201.       }
  202.     },
  203.     "permission": "admin"
  204.   },
  205.   "backupNg.getLogs": {
  206.     "params": {
  207.       "after": {
  208.         "type": [
  209.           "number",
  210.           "string"
  211.         ],
  212.         "optional": true
  213.       },
  214.       "before": {
  215.         "type": [
  216.           "number",
  217.           "string"
  218.         ],
  219.         "optional": true
  220.       },
  221.       "limit": {
  222.         "type": "number",
  223.         "optional": true
  224.       },
  225.       "*": {
  226.         "type": "any"
  227.       }
  228.     },
  229.     "permission": "admin"
  230.   },
  231.   "backupNg.deleteVmBackup": {
  232.     "params": {
  233.       "id": {
  234.         "type": "string"
  235.       }
  236.     },
  237.     "permission": "admin"
  238.   },
  239.   "backupNg.listVmBackups": {
  240.     "params": {
  241.       "_forceRefresh": {
  242.         "type": "boolean",
  243.         "optional": true
  244.       },
  245.       "remotes": {
  246.         "type": "array",
  247.         "items": {
  248.           "type": "string"
  249.         }
  250.       }
  251.     },
  252.     "permission": "admin"
  253.   },
  254.   "backupNg.importVmBackup": {
  255.     "params": {
  256.       "id": {
  257.         "type": "string"
  258.       },
  259.       "sr": {
  260.         "type": "string"
  261.       }
  262.     },
  263.     "permission": "admin"
  264.   },
  265.   "backupNg.listPartitions": {
  266.     "params": {
  267.       "disk": {
  268.         "type": "string"
  269.       },
  270.       "remote": {
  271.         "type": "string"
  272.       }
  273.     },
  274.     "permission": "admin"
  275.   },
  276.   "backupNg.listFiles": {
  277.     "params": {
  278.       "disk": {
  279.         "type": "string"
  280.       },
  281.       "partition": {
  282.         "type": "string",
  283.         "optional": true
  284.       },
  285.       "path": {
  286.         "type": "string"
  287.       },
  288.       "remote": {
  289.         "type": "string"
  290.       }
  291.     },
  292.     "permission": "admin"
  293.   },
  294.   "backupNg.fetchFiles": {
  295.     "params": {
  296.       "disk": {
  297.         "type": "string"
  298.       },
  299.       "partition": {
  300.         "optional": true,
  301.         "type": "string"
  302.       },
  303.       "paths": {
  304.         "items": {
  305.           "type": "string"
  306.         },
  307.         "minLength": 1,
  308.         "type": "array"
  309.       },
  310.       "remote": {
  311.         "type": "string"
  312.       }
  313.     },
  314.     "permission": "admin"
  315.   },
  316.   "backup.list": {
  317.     "params": {
  318.       "remote": {
  319.         "type": "string"
  320.       }
  321.     },
  322.     "permission": "admin"
  323.   },
  324.   "backup.scanDisk": {
  325.     "params": {
  326.       "remote": {
  327.         "type": "string"
  328.       },
  329.       "disk": {
  330.         "type": "string"
  331.       }
  332.     },
  333.     "permission": "admin"
  334.   },
  335.   "backup.scanFiles": {
  336.     "params": {
  337.       "remote": {
  338.         "type": "string"
  339.       },
  340.       "disk": {
  341.         "type": "string"
  342.       },
  343.       "partition": {
  344.         "type": "string",
  345.         "optional": true
  346.       },
  347.       "path": {
  348.         "type": "string"
  349.       }
  350.     },
  351.     "permission": "admin"
  352.   },
  353.   "backup.fetchFiles": {
  354.     "params": {
  355.       "remote": {
  356.         "type": "string"
  357.       },
  358.       "disk": {
  359.         "type": "string"
  360.       },
  361.       "format": {
  362.         "type": "string",
  363.         "optional": true
  364.       },
  365.       "partition": {
  366.         "type": "string",
  367.         "optional": true
  368.       },
  369.       "paths": {
  370.         "type": "array",
  371.         "items": {
  372.           "type": "string"
  373.         },
  374.         "minLength": 1
  375.       }
  376.     },
  377.     "permission": "admin"
  378.   },
  379.   "group.create": {
  380.     "description": "creates a new group",
  381.     "params": {
  382.       "name": {
  383.         "type": "string"
  384.       }
  385.     },
  386.     "permission": "admin"
  387.   },
  388.   "group.delete": {
  389.     "description": "deletes an existing group",
  390.     "params": {
  391.       "id": {
  392.         "type": "string"
  393.       }
  394.     },
  395.     "permission": "admin"
  396.   },
  397.   "group.getAll": {
  398.     "description": "returns all the existing group",
  399.     "params": {},
  400.     "permission": "admin"
  401.   },
  402.   "group.setUsers": {
  403.     "description": "sets the users belonging to a group",
  404.     "params": {
  405.       "id": {
  406.         "type": "string"
  407.       },
  408.       "userIds": {}
  409.     },
  410.     "permission": "admin"
  411.   },
  412.   "group.addUser": {
  413.     "description": "adds a user to a group",
  414.     "params": {
  415.       "id": {
  416.         "type": "string"
  417.       },
  418.       "userId": {
  419.         "type": "string"
  420.       }
  421.     },
  422.     "permission": "admin"
  423.   },
  424.   "group.removeUser": {
  425.     "description": "removes a user from a group",
  426.     "params": {
  427.       "id": {
  428.         "type": "string"
  429.       },
  430.       "userId": {
  431.         "type": "string"
  432.       }
  433.     },
  434.     "permission": "admin"
  435.   },
  436.   "group.set": {
  437.     "description": "changes the properties of an existing group",
  438.     "params": {
  439.       "id": {
  440.         "type": "string"
  441.       },
  442.       "name": {
  443.         "type": "string",
  444.         "optional": true
  445.       }
  446.     },
  447.     "permission": "admin"
  448.   },
  449.   "host.set": {
  450.     "description": "changes the properties of an host",
  451.     "params": {
  452.       "id": {
  453.         "type": "string"
  454.       },
  455.       "iscsiIqn": {
  456.         "type": "string",
  457.         "optional": true
  458.       },
  459.       "name_label": {
  460.         "type": "string",
  461.         "optional": true
  462.       },
  463.       "name_description": {
  464.         "type": "string",
  465.         "optional": true
  466.       },
  467.       "multipathing": {
  468.         "type": "boolean",
  469.         "optional": true
  470.       }
  471.     }
  472.   },
  473.   "host.restart": {
  474.     "description": "restart the host",
  475.     "params": {
  476.       "id": {
  477.         "type": "string"
  478.       },
  479.       "force": {
  480.         "type": "boolean",
  481.         "optional": true
  482.       }
  483.     }
  484.   },
  485.   "host.restartAgent": {
  486.     "description": "restart the Xen agent on the host",
  487.     "params": {
  488.       "id": {
  489.         "type": "string"
  490.       }
  491.     }
  492.   },
  493.   "host.restart_agent": {
  494.     "description": "restart the Xen agent on the host",
  495.     "params": {
  496.       "id": {
  497.         "type": "string"
  498.       }
  499.     }
  500.   },
  501.   "host.setRemoteSyslogHost": {
  502.     "params": {
  503.       "id": {
  504.         "type": "string"
  505.       },
  506.       "syslogDestination": {
  507.         "type": "string"
  508.       }
  509.     }
  510.   },
  511.   "host.start": {
  512.     "description": "start the host",
  513.     "params": {
  514.       "id": {
  515.         "type": "string"
  516.       }
  517.     }
  518.   },
  519.   "host.stop": {
  520.     "description": "stop the host",
  521.     "params": {
  522.       "id": {
  523.         "type": "string"
  524.       }
  525.     }
  526.   },
  527.   "host.detach": {
  528.     "description": "eject the host of a pool",
  529.     "params": {
  530.       "id": {
  531.         "type": "string"
  532.       }
  533.     }
  534.   },
  535.   "host.enable": {
  536.     "description": "enable to create VM on the host",
  537.     "params": {
  538.       "id": {
  539.         "type": "string"
  540.       }
  541.     }
  542.   },
  543.   "host.disable": {
  544.     "description": "disable to create VM on the hsot",
  545.     "params": {
  546.       "id": {
  547.         "type": "string"
  548.       }
  549.     }
  550.   },
  551.   "host.forget": {
  552.     "description": "remove the host record from XAPI database",
  553.     "params": {
  554.       "id": {
  555.         "type": "string"
  556.       }
  557.     }
  558.   },
  559.   "host.emergencyShutdownHost": {
  560.     "description": "suspend all VMs and shutdown host",
  561.     "params": {
  562.       "host": {
  563.         "type": "string"
  564.       }
  565.     }
  566.   },
  567.   "host.isHostServerTimeConsistent": {
  568.     "params": {
  569.       "host": {
  570.         "type": "string"
  571.       }
  572.     }
  573.   },
  574.   "host.stats": {
  575.     "description": "returns statistic of the host",
  576.     "params": {
  577.       "host": {
  578.         "type": "string"
  579.       },
  580.       "granularity": {
  581.         "type": "string",
  582.         "optional": true
  583.       }
  584.     }
  585.   },
  586.   "host.installSupplementalPack": {
  587.     "description": "installs supplemental pack from ISO file",
  588.     "params": {
  589.       "host": {
  590.         "type": "string"
  591.       }
  592.     }
  593.   },
  594.   "host.isHyperThreadingEnabled": {
  595.     "description": "get hyper-threading information",
  596.     "params": {
  597.       "id": {
  598.         "type": "string"
  599.       }
  600.     }
  601.   },
  602.   "ipPool.create": {
  603.     "description": "Creates a new ipPool",
  604.     "params": {},
  605.     "permission": "admin"
  606.   },
  607.   "ipPool.delete": {
  608.     "description": "Delete an ipPool",
  609.     "params": {},
  610.     "permission": "admin"
  611.   },
  612.   "ipPool.getAll": {
  613.     "description": "List all ipPools",
  614.     "params": {},
  615.     "permission": ""
  616.   },
  617.   "ipPool.set": {
  618.     "description": "Allow to modify an existing ipPool",
  619.     "params": {},
  620.     "permission": "admin"
  621.   },
  622.   "job.cancel": {
  623.     "description": "Cancel a current run",
  624.     "params": {},
  625.     "permission": "admin"
  626.   },
  627.   "job.getAll": {
  628.     "description": "Gets all available jobs",
  629.     "params": {},
  630.     "permission": "admin"
  631.   },
  632.   "job.get": {
  633.     "description": "Gets an existing job",
  634.     "params": {
  635.       "id": {
  636.         "type": "string"
  637.       }
  638.     },
  639.     "permission": "admin"
  640.   },
  641.   "job.create": {
  642.     "description": "Creates a new job from description object",
  643.     "params": {
  644.       "job": {
  645.         "type": "object",
  646.         "properties": {
  647.           "userId": {
  648.             "type": "string",
  649.             "optional": true
  650.           },
  651.           "name": {
  652.             "type": "string",
  653.             "optional": true
  654.           },
  655.           "timeout": {
  656.             "type": "number",
  657.             "optional": true
  658.           },
  659.           "type": {
  660.             "type": "string"
  661.           },
  662.           "key": {
  663.             "type": "string"
  664.           },
  665.           "method": {
  666.             "type": "string"
  667.           },
  668.           "paramsVector": {
  669.             "type": "object",
  670.             "properties": {
  671.               "type": {
  672.                 "type": "string"
  673.               },
  674.               "items": {
  675.                 "type": "array",
  676.                 "items": {
  677.                   "type": "object"
  678.                 }
  679.               }
  680.             },
  681.             "optional": true
  682.           }
  683.         }
  684.       }
  685.     },
  686.     "permission": "admin"
  687.   },
  688.   "job.set": {
  689.     "description": "Modifies an existing job from a description object",
  690.     "params": {
  691.       "job": {
  692.         "type": "object",
  693.         "properties": {
  694.           "id": {
  695.             "type": "string"
  696.           },
  697.           "name": {
  698.             "type": "string",
  699.             "optional": true
  700.           },
  701.           "timeout": {
  702.             "type": [
  703.               "number",
  704.               "null"
  705.             ],
  706.             "optional": true
  707.           },
  708.           "type": {
  709.             "type": "string",
  710.             "optional": true
  711.           },
  712.           "key": {
  713.             "type": "string",
  714.             "optional": true
  715.           },
  716.           "method": {
  717.             "type": "string",
  718.             "optional": true
  719.           },
  720.           "paramsVector": {
  721.             "type": "object",
  722.             "properties": {
  723.               "type": {
  724.                 "type": "string"
  725.               },
  726.               "items": {
  727.                 "type": "array",
  728.                 "items": {
  729.                   "type": "object"
  730.                 }
  731.               }
  732.             },
  733.             "optional": true
  734.           }
  735.         }
  736.       }
  737.     },
  738.     "permission": "admin"
  739.   },
  740.   "job.delete": {
  741.     "description": "Deletes an existing job",
  742.     "params": {
  743.       "id": {
  744.         "type": "string"
  745.       }
  746.     },
  747.     "permission": "admin"
  748.   },
  749.   "job.runSequence": {
  750.     "description": "Runs jobs sequentially, in the provided order",
  751.     "params": {
  752.       "idSequence": {
  753.         "type": "array",
  754.         "items": {
  755.           "type": "string"
  756.         }
  757.       }
  758.     },
  759.     "permission": "admin"
  760.   },
  761.   "log.get": {
  762.     "description": "returns logs list for one namespace",
  763.     "params": {
  764.       "namespace": {
  765.         "type": "string"
  766.       }
  767.     },
  768.     "permission": "admin"
  769.   },
  770.   "log.delete": {
  771.     "description": "deletes one or several logs from a namespace",
  772.     "params": {
  773.       "id": {
  774.         "type": [
  775.           "array",
  776.           "string"
  777.         ]
  778.       },
  779.       "namespace": {
  780.         "type": "string"
  781.       }
  782.     },
  783.     "permission": "admin"
  784.   },
  785.   "message.delete": {
  786.     "params": {
  787.       "id": {
  788.         "type": "string"
  789.       }
  790.     }
  791.   },
  792.   "metadataBackup.createJob": {
  793.     "params": {
  794.       "name": {
  795.         "type": "string",
  796.         "optional": true
  797.       },
  798.       "pools": {
  799.         "type": "object",
  800.         "optional": true
  801.       },
  802.       "remotes": {
  803.         "type": "object"
  804.       },
  805.       "schedules": {
  806.         "type": "object"
  807.       },
  808.       "settings": {
  809.         "type": "object"
  810.       },
  811.       "xoMetadata": {
  812.         "type": "boolean",
  813.         "optional": true
  814.       }
  815.     },
  816.     "permission": "admin"
  817.   },
  818.   "metadataBackup.getAllJobs": {
  819.     "params": {},
  820.     "permission": "admin"
  821.   },
  822.   "metadataBackup.getJob": {
  823.     "params": {
  824.       "id": {
  825.         "type": "string"
  826.       }
  827.     },
  828.     "permission": "admin"
  829.   },
  830.   "metadataBackup.deleteJob": {
  831.     "params": {
  832.       "id": {
  833.         "type": "string"
  834.       }
  835.     },
  836.     "permission": "admin"
  837.   },
  838.   "metadataBackup.editJob": {
  839.     "params": {
  840.       "id": {
  841.         "type": "string"
  842.       },
  843.       "name": {
  844.         "type": "string",
  845.         "optional": true
  846.       },
  847.       "pools": {
  848.         "type": [
  849.           "object",
  850.           "null"
  851.         ],
  852.         "optional": true
  853.       },
  854.       "settings": {
  855.         "type": "object",
  856.         "optional": true
  857.       },
  858.       "remotes": {
  859.         "type": "object",
  860.         "optional": true
  861.       },
  862.       "xoMetadata": {
  863.         "type": "boolean",
  864.         "optional": true
  865.       }
  866.     },
  867.     "permission": "admin"
  868.   },
  869.   "metadataBackup.runJob": {
  870.     "params": {
  871.       "id": {
  872.         "type": "string"
  873.       },
  874.       "schedule": {
  875.         "type": "string"
  876.       }
  877.     },
  878.     "permission": "admin"
  879.   },
  880.   "metadataBackup.list": {
  881.     "params": {
  882.       "remotes": {
  883.         "type": "array",
  884.         "items": {
  885.           "type": "string"
  886.         }
  887.       }
  888.     },
  889.     "permission": "admin"
  890.   },
  891.   "metadataBackup.restore": {
  892.     "params": {
  893.       "id": {
  894.         "type": "string"
  895.       }
  896.     },
  897.     "permission": "admin"
  898.   },
  899.   "metadataBackup.delete": {
  900.     "params": {
  901.       "id": {
  902.         "type": "string"
  903.       }
  904.     },
  905.     "permission": "admin"
  906.   },
  907.   "network.getBondModes": {
  908.     "params": {}
  909.   },
  910.   "network.create": {
  911.     "params": {
  912.       "pool": {
  913.         "type": "string"
  914.       },
  915.       "name": {
  916.         "type": "string"
  917.       },
  918.       "description": {
  919.         "type": "string",
  920.         "optional": true
  921.       },
  922.       "pif": {
  923.         "type": "string",
  924.         "optional": true
  925.       },
  926.       "mtu": {
  927.         "type": [
  928.           "integer",
  929.           "string"
  930.         ],
  931.         "optional": true
  932.       },
  933.       "vlan": {
  934.         "type": [
  935.           "integer",
  936.           "string"
  937.         ],
  938.         "optional": true
  939.       }
  940.     },
  941.     "permission": "admin"
  942.   },
  943.   "network.createBonded": {
  944.     "description": "Create a bonded network. bondMode can be balance-slb, active-backup or lacp",
  945.     "params": {
  946.       "pool": {
  947.         "type": "string"
  948.       },
  949.       "name": {
  950.         "type": "string"
  951.       },
  952.       "description": {
  953.         "type": "string",
  954.         "optional": true
  955.       },
  956.       "pifs": {
  957.         "type": "array",
  958.         "items": {
  959.           "type": "string"
  960.         }
  961.       },
  962.       "mtu": {
  963.         "type": [
  964.           "integer",
  965.           "string"
  966.         ],
  967.         "optional": true
  968.       },
  969.       "bondMode": {
  970.         "type": "string",
  971.         "pattern": {}
  972.       }
  973.     },
  974.     "permission": "admin"
  975.   },
  976.   "network.set": {
  977.     "params": {
  978.       "automatic": {
  979.         "type": "boolean",
  980.         "optional": true
  981.       },
  982.       "defaultIsLocked": {
  983.         "type": "boolean",
  984.         "optional": true
  985.       },
  986.       "id": {
  987.         "type": "string"
  988.       },
  989.       "name_description": {
  990.         "type": "string",
  991.         "optional": true
  992.       },
  993.       "name_label": {
  994.         "type": "string",
  995.         "optional": true
  996.       }
  997.     }
  998.   },
  999.   "network.delete_": {
  1000.     "params": {
  1001.       "id": {
  1002.         "type": "string"
  1003.       }
  1004.     }
  1005.   },
  1006.   "network.delete": {
  1007.     "params": {
  1008.       "id": {
  1009.         "type": "string"
  1010.       }
  1011.     }
  1012.   },
  1013.   "pbd.delete": {
  1014.     "params": {
  1015.       "id": {
  1016.         "type": "string"
  1017.       }
  1018.     }
  1019.   },
  1020.   "pbd.disconnect": {
  1021.     "params": {
  1022.       "id": {
  1023.         "type": "string"
  1024.       }
  1025.     }
  1026.   },
  1027.   "pbd.connect": {
  1028.     "params": {
  1029.       "id": {
  1030.         "type": "string"
  1031.       }
  1032.     }
  1033.   },
  1034.   "pif.getIpv4ConfigurationModes": {
  1035.     "params": {}
  1036.   },
  1037.   "pif.getIpv6ConfigurationModes": {
  1038.     "params": {}
  1039.   },
  1040.   "pif.delete": {
  1041.     "params": {
  1042.       "id": {
  1043.         "type": "string"
  1044.       }
  1045.     }
  1046.   },
  1047.   "pif.disconnect": {
  1048.     "params": {
  1049.       "id": {
  1050.         "type": "string"
  1051.       }
  1052.     }
  1053.   },
  1054.   "pif.connect": {
  1055.     "params": {
  1056.       "id": {
  1057.         "type": "string"
  1058.       }
  1059.     }
  1060.   },
  1061.   "pif.reconfigureIp": {
  1062.     "params": {
  1063.       "id": {
  1064.         "type": "string",
  1065.         "optional": true
  1066.       },
  1067.       "mode": {
  1068.         "type": "string",
  1069.         "optional": true
  1070.       },
  1071.       "ip": {
  1072.         "type": "string",
  1073.         "optional": true
  1074.       },
  1075.       "netmask": {
  1076.         "type": "string",
  1077.         "optional": true
  1078.       },
  1079.       "gateway": {
  1080.         "type": "string",
  1081.         "optional": true
  1082.       },
  1083.       "dns": {
  1084.         "type": "string",
  1085.         "optional": true
  1086.       }
  1087.     }
  1088.   },
  1089.   "pif.editPif": {
  1090.     "params": {
  1091.       "id": {
  1092.         "type": "string"
  1093.       },
  1094.       "vlan": {
  1095.         "type": [
  1096.           "integer",
  1097.           "string"
  1098.         ]
  1099.       }
  1100.     }
  1101.   },
  1102.   "plugin.get": {
  1103.     "description": "returns a list of all installed plugins",
  1104.     "params": {},
  1105.     "permission": "admin"
  1106.   },
  1107.   "plugin.configure": {
  1108.     "description": "sets the configuration of a plugin",
  1109.     "params": {
  1110.       "id": {
  1111.         "type": "string"
  1112.       },
  1113.       "configuration": {}
  1114.     },
  1115.     "permission": "admin"
  1116.   },
  1117.   "plugin.disableAutoload": {
  1118.     "description": "",
  1119.     "params": {
  1120.       "id": {
  1121.         "type": "string"
  1122.       }
  1123.     },
  1124.     "permission": "admin"
  1125.   },
  1126.   "plugin.enableAutoload": {
  1127.     "description": "enables a plugin, allowing it to be loaded",
  1128.     "params": {
  1129.       "id": {
  1130.         "type": "string"
  1131.       }
  1132.     },
  1133.     "permission": "admin"
  1134.   },
  1135.   "plugin.load": {
  1136.     "description": "loads a plugin",
  1137.     "params": {
  1138.       "id": {
  1139.         "type": "string"
  1140.       }
  1141.     },
  1142.     "permission": "admin"
  1143.   },
  1144.   "plugin.unload": {
  1145.     "description": "unloads a plugin",
  1146.     "params": {
  1147.       "id": {
  1148.         "type": "string"
  1149.       }
  1150.     },
  1151.     "permission": "admin"
  1152.   },
  1153.   "plugin.purgeConfiguration": {
  1154.     "description": "removes a plugin configuration",
  1155.     "params": {
  1156.       "id": {
  1157.         "type": "string"
  1158.       }
  1159.     },
  1160.     "permission": "admin"
  1161.   },
  1162.   "plugin.test": {
  1163.     "description": "Test a plugin with its current configuration",
  1164.     "params": {
  1165.       "id": {
  1166.         "type": "string"
  1167.       },
  1168.       "data": {
  1169.         "optional": true
  1170.       }
  1171.     },
  1172.     "permission": "admin"
  1173.   },
  1174.   "pool.set": {
  1175.     "params": {
  1176.       "id": {
  1177.         "type": "string"
  1178.       },
  1179.       "name_label": {
  1180.         "type": "string",
  1181.         "optional": true
  1182.       },
  1183.       "name_description": {
  1184.         "type": "string",
  1185.         "optional": true
  1186.       }
  1187.     }
  1188.   },
  1189.   "pool.setDefaultSr": {
  1190.     "params": {
  1191.       "sr": {
  1192.         "type": "string"
  1193.       }
  1194.     },
  1195.     "permission": ""
  1196.   },
  1197.   "pool.setPoolMaster": {
  1198.     "params": {
  1199.       "host": {
  1200.         "type": "string"
  1201.       }
  1202.     }
  1203.   },
  1204.   "pool.listMissingPatches": {
  1205.     "description": "return an array of missing new patches in the host",
  1206.     "params": {
  1207.       "host": {
  1208.         "type": "string"
  1209.       }
  1210.     }
  1211.   },
  1212.   "pool.installPatches": {
  1213.     "description": "Install patches on hosts",
  1214.     "params": {
  1215.       "pool": {
  1216.         "type": "string",
  1217.         "optional": true
  1218.       },
  1219.       "patches": {
  1220.         "type": "array",
  1221.         "optional": true
  1222.       },
  1223.       "hosts": {
  1224.         "type": "array",
  1225.         "optional": true
  1226.       }
  1227.     }
  1228.   },
  1229.   "pool.uploadPatch": {
  1230.     "params": {
  1231.       "pool": {
  1232.         "type": "string"
  1233.       }
  1234.     }
  1235.   },
  1236.   "pool.patch": {
  1237.     "params": {
  1238.       "pool": {
  1239.         "type": "string"
  1240.       }
  1241.     }
  1242.   },
  1243.   "pool.getPatchesDifference": {
  1244.     "params": {
  1245.       "source": {
  1246.         "type": "string"
  1247.       },
  1248.       "target": {
  1249.         "type": "string"
  1250.       }
  1251.     }
  1252.   },
  1253.   "pool.mergeInto": {
  1254.     "params": {
  1255.       "force": {
  1256.         "type": "boolean",
  1257.         "optional": true
  1258.       },
  1259.       "source": {
  1260.         "type": "string",
  1261.         "optional": true
  1262.       },
  1263.       "sources": {
  1264.         "type": "array",
  1265.         "items": {
  1266.           "type": "string"
  1267.         },
  1268.         "optional": true
  1269.       },
  1270.       "target": {
  1271.         "type": "string"
  1272.       }
  1273.     }
  1274.   },
  1275.   "pool.getLicenseState": {
  1276.     "params": {
  1277.       "pool": {
  1278.         "type": "string"
  1279.       }
  1280.     }
  1281.   },
  1282.   "pool.installSupplementalPack": {
  1283.     "description": "installs supplemental pack from ISO file on all hosts",
  1284.     "params": {
  1285.       "pool": {
  1286.         "type": "string"
  1287.       }
  1288.     }
  1289.   },
  1290.   "proxy.register": {
  1291.     "params": {
  1292.       "address": {
  1293.         "type": "string",
  1294.         "optional": true
  1295.       },
  1296.       "vm": {
  1297.         "type": "string",
  1298.         "optional": true
  1299.       },
  1300.       "name": {
  1301.         "type": "string",
  1302.         "optional": true
  1303.       },
  1304.       "authenticationToken": {
  1305.         "type": "string"
  1306.       }
  1307.     },
  1308.     "permission": "admin"
  1309.   },
  1310.   "proxy.unregister": {
  1311.     "params": {
  1312.       "id": {
  1313.         "type": "string"
  1314.       }
  1315.     },
  1316.     "permission": "admin"
  1317.   },
  1318.   "proxy.destroy": {
  1319.     "params": {
  1320.       "id": {
  1321.         "type": "string"
  1322.       }
  1323.     },
  1324.     "permission": "admin"
  1325.   },
  1326.   "proxy.get": {
  1327.     "params": {
  1328.       "id": {
  1329.         "type": "string"
  1330.       }
  1331.     },
  1332.     "permission": "admin"
  1333.   },
  1334.   "proxy.getAll": {
  1335.     "params": {},
  1336.     "permission": "admin"
  1337.   },
  1338.   "proxy.update": {
  1339.     "params": {
  1340.       "id": {
  1341.         "type": "string"
  1342.       },
  1343.       "address": {
  1344.         "type": [
  1345.           "string",
  1346.           "null"
  1347.         ],
  1348.         "optional": true
  1349.       },
  1350.       "vm": {
  1351.         "type": [
  1352.           "string",
  1353.           "null"
  1354.         ],
  1355.         "optional": true
  1356.       },
  1357.       "name": {
  1358.         "type": "string",
  1359.         "optional": true
  1360.       },
  1361.       "authenticationToken": {
  1362.         "type": "string",
  1363.         "optional": true
  1364.       }
  1365.     },
  1366.     "permission": "admin"
  1367.   },
  1368.   "proxy.deploy": {
  1369.     "params": {
  1370.       "license": {
  1371.         "type": "string"
  1372.       },
  1373.       "sr": {
  1374.         "type": "string"
  1375.       },
  1376.       "network": {
  1377.         "type": "string",
  1378.         "optional": true
  1379.       },
  1380.       "networkConfiguration": {
  1381.         "type": "object",
  1382.         "optional": true,
  1383.         "properties": {
  1384.           "ip": {
  1385.             "type": "string"
  1386.           },
  1387.           "netmask": {
  1388.             "type": "string"
  1389.           },
  1390.           "gateway": {
  1391.             "type": "string"
  1392.           },
  1393.           "dns": {
  1394.             "type": "string"
  1395.           }
  1396.         }
  1397.       },
  1398.       "proxy": {
  1399.         "type": "string",
  1400.         "optional": true
  1401.       }
  1402.     },
  1403.     "permission": "admin"
  1404.   },
  1405.   "proxy.upgradeAppliance": {
  1406.     "params": {
  1407.       "id": {
  1408.         "type": "string"
  1409.       }
  1410.     },
  1411.     "permission": "admin"
  1412.   },
  1413.   "proxy.checkHealth": {
  1414.     "params": {
  1415.       "id": {
  1416.         "type": "string"
  1417.       }
  1418.     },
  1419.     "permission": "admin"
  1420.   },
  1421.   "remote.getAll": {
  1422.     "description": "Gets all existing fs remote points",
  1423.     "params": {},
  1424.     "permission": "admin"
  1425.   },
  1426.   "remote.get": {
  1427.     "description": "Gets an existing fs remote point",
  1428.     "params": {
  1429.       "id": {
  1430.         "type": "string"
  1431.       }
  1432.     },
  1433.     "permission": "admin"
  1434.   },
  1435.   "remote.getAllInfo": {
  1436.     "description": "Gets all info of remote",
  1437.     "params": {},
  1438.     "permission": "admin"
  1439.   },
  1440.   "remote.test": {
  1441.     "description": "Performs a read/write matching test on a remote point",
  1442.     "params": {
  1443.       "id": {
  1444.         "type": "string"
  1445.       }
  1446.     },
  1447.     "permission": "admin"
  1448.   },
  1449.   "remote.list": {
  1450.     "description": "Lists the files found in a remote point",
  1451.     "params": {
  1452.       "id": {
  1453.         "type": "string"
  1454.       }
  1455.     },
  1456.     "permission": "admin"
  1457.   },
  1458.   "remote.create": {
  1459.     "description": "Creates a new fs remote point",
  1460.     "params": {
  1461.       "name": {
  1462.         "type": "string"
  1463.       },
  1464.       "options": {
  1465.         "type": "string",
  1466.         "optional": true
  1467.       },
  1468.       "proxy": {
  1469.         "type": "string",
  1470.         "optional": true
  1471.       },
  1472.       "url": {
  1473.         "type": "string"
  1474.       }
  1475.     },
  1476.     "permission": "admin"
  1477.   },
  1478.   "remote.set": {
  1479.     "description": "Modifies an existing fs remote point",
  1480.     "params": {
  1481.       "enabled": {
  1482.         "type": "boolean",
  1483.         "optional": true
  1484.       },
  1485.       "id": {
  1486.         "type": "string"
  1487.       },
  1488.       "name": {
  1489.         "type": "string",
  1490.         "optional": true
  1491.       },
  1492.       "options": {
  1493.         "type": [
  1494.           "string",
  1495.           "null"
  1496.         ],
  1497.         "optional": true
  1498.       },
  1499.       "proxy": {
  1500.         "type": [
  1501.           "string",
  1502.           "null"
  1503.         ],
  1504.         "optional": true
  1505.       },
  1506.       "url": {
  1507.         "type": "string",
  1508.         "optional": true
  1509.       }
  1510.     },
  1511.     "permission": "admin"
  1512.   },
  1513.   "remote.delete": {
  1514.     "description": "Deletes an existing fs remote point",
  1515.     "params": {
  1516.       "id": {
  1517.         "type": "string"
  1518.       }
  1519.     },
  1520.     "permission": "admin"
  1521.   },
  1522.   "resourceSet.create": {
  1523.     "params": {
  1524.       "name": {
  1525.         "type": "string"
  1526.       },
  1527.       "subjects": {
  1528.         "type": "array",
  1529.         "items": {
  1530.           "type": "string"
  1531.         },
  1532.         "optional": true
  1533.       },
  1534.       "objects": {
  1535.         "type": "array",
  1536.         "items": {
  1537.           "type": "string"
  1538.         },
  1539.         "optional": true
  1540.       },
  1541.       "limits": {
  1542.         "type": "object",
  1543.         "optional": true
  1544.       }
  1545.     },
  1546.     "permission": "admin"
  1547.   },
  1548.   "resourceSet.delete": {
  1549.     "params": {
  1550.       "id": {
  1551.         "type": "string"
  1552.       }
  1553.     },
  1554.     "permission": "admin"
  1555.   },
  1556.   "resourceSet.set": {
  1557.     "params": {
  1558.       "id": {
  1559.         "type": "string"
  1560.       },
  1561.       "name": {
  1562.         "type": "string",
  1563.         "optional": true
  1564.       },
  1565.       "subjects": {
  1566.         "type": "array",
  1567.         "items": {
  1568.           "type": "string"
  1569.         },
  1570.         "optional": true
  1571.       },
  1572.       "objects": {
  1573.         "type": "array",
  1574.         "items": {
  1575.           "type": "string"
  1576.         },
  1577.         "optional": true
  1578.       },
  1579.       "ipPools": {
  1580.         "type": "array",
  1581.         "items": {
  1582.           "type": "string"
  1583.         },
  1584.         "optional": true
  1585.       },
  1586.       "limits": {
  1587.         "type": "object",
  1588.         "optional": true
  1589.       }
  1590.     },
  1591.     "permission": "admin"
  1592.   },
  1593.   "resourceSet.get": {
  1594.     "params": {
  1595.       "id": {
  1596.         "type": "string"
  1597.       }
  1598.     },
  1599.     "permission": ""
  1600.   },
  1601.   "resourceSet.getAll": {
  1602.     "description": "Get the list of all existing resource set",
  1603.     "params": {},
  1604.     "permission": ""
  1605.   },
  1606.   "resourceSet.addObject": {
  1607.     "params": {
  1608.       "id": {
  1609.         "type": "string"
  1610.       },
  1611.       "object": {
  1612.         "type": "string"
  1613.       }
  1614.     },
  1615.     "permission": "admin"
  1616.   },
  1617.   "resourceSet.removeObject": {
  1618.     "params": {
  1619.       "id": {
  1620.         "type": "string"
  1621.       },
  1622.       "object": {
  1623.         "type": "string"
  1624.       }
  1625.     },
  1626.     "permission": "admin"
  1627.   },
  1628.   "resourceSet.addSubject": {
  1629.     "params": {
  1630.       "id": {
  1631.         "type": "string"
  1632.       },
  1633.       "subject": {
  1634.         "type": "string"
  1635.       }
  1636.     },
  1637.     "permission": "admin"
  1638.   },
  1639.   "resourceSet.removeSubject": {
  1640.     "params": {
  1641.       "id": {
  1642.         "type": "string"
  1643.       },
  1644.       "subject": {
  1645.         "type": "string"
  1646.       }
  1647.     },
  1648.     "permission": "admin"
  1649.   },
  1650.   "resourceSet.addLimit": {
  1651.     "params": {
  1652.       "id": {
  1653.         "type": "string"
  1654.       },
  1655.       "limitId": {
  1656.         "type": "string"
  1657.       },
  1658.       "quantity": {
  1659.         "type": "integer"
  1660.       }
  1661.     },
  1662.     "permission": "admin"
  1663.   },
  1664.   "resourceSet.removeLimit": {
  1665.     "params": {
  1666.       "id": {
  1667.         "type": "string"
  1668.       },
  1669.       "limitId": {
  1670.         "type": "string"
  1671.       }
  1672.     },
  1673.     "permission": "admin"
  1674.   },
  1675.   "resourceSet.recomputeAllLimits": {
  1676.     "description": "Recompute manually the current resource set usage",
  1677.     "params": {},
  1678.     "permission": "admin"
  1679.   },
  1680.   "role.getAll": {
  1681.     "description": "Returns the list of all existing roles",
  1682.     "params": {}
  1683.   },
  1684.   "schedule.getAll": {
  1685.     "description": "Gets all existing schedules",
  1686.     "params": {},
  1687.     "permission": "admin"
  1688.   },
  1689.   "schedule.get": {
  1690.     "description": "Gets an existing schedule",
  1691.     "params": {
  1692.       "id": {
  1693.         "type": "string"
  1694.       }
  1695.     },
  1696.     "permission": "admin"
  1697.   },
  1698.   "schedule.create": {
  1699.     "description": "Creates a new schedule",
  1700.     "params": {
  1701.       "cron": {
  1702.         "type": "string"
  1703.       },
  1704.       "enabled": {
  1705.         "type": "boolean",
  1706.         "optional": true
  1707.       },
  1708.       "jobId": {
  1709.         "type": "string"
  1710.       },
  1711.       "name": {
  1712.         "type": "string",
  1713.         "optional": true
  1714.       },
  1715.       "timezone": {
  1716.         "type": "string",
  1717.         "optional": true
  1718.       }
  1719.     },
  1720.     "permission": "admin"
  1721.   },
  1722.   "schedule.set": {
  1723.     "description": "Modifies an existing schedule",
  1724.     "params": {
  1725.       "cron": {
  1726.         "type": "string",
  1727.         "optional": true
  1728.       },
  1729.       "enabled": {
  1730.         "type": "boolean",
  1731.         "optional": true
  1732.       },
  1733.       "id": {
  1734.         "type": "string"
  1735.       },
  1736.       "jobId": {
  1737.         "type": "string",
  1738.         "optional": true
  1739.       },
  1740.       "name": {
  1741.         "type": [
  1742.           "string",
  1743.           "null"
  1744.         ],
  1745.         "optional": true
  1746.       },
  1747.       "timezone": {
  1748.         "type": "string",
  1749.         "optional": true
  1750.       }
  1751.     },
  1752.     "permission": "admin"
  1753.   },
  1754.   "schedule.delete": {
  1755.     "description": "Deletes an existing schedule",
  1756.     "params": {
  1757.       "id": {
  1758.         "type": "string"
  1759.       }
  1760.     },
  1761.     "permission": "admin"
  1762.   },
  1763.   "server.add": {
  1764.     "description": "register a new Xen server",
  1765.     "params": {
  1766.       "label": {
  1767.         "optional": true,
  1768.         "type": "string"
  1769.       },
  1770.       "host": {
  1771.         "type": "string"
  1772.       },
  1773.       "username": {
  1774.         "type": "string"
  1775.       },
  1776.       "password": {
  1777.         "type": "string"
  1778.       },
  1779.       "autoConnect": {
  1780.         "optional": true,
  1781.         "type": "boolean"
  1782.       },
  1783.       "allowUnauthorized": {
  1784.         "optional": true,
  1785.         "type": "boolean"
  1786.       }
  1787.     },
  1788.     "permission": "admin"
  1789.   },
  1790.   "server.remove": {
  1791.     "description": "unregister a Xen server",
  1792.     "params": {
  1793.       "id": {
  1794.         "type": "string"
  1795.       }
  1796.     },
  1797.     "permission": "admin"
  1798.   },
  1799.   "server.getAll": {
  1800.     "description": "returns all the registered Xen server",
  1801.     "params": {},
  1802.     "permission": "admin"
  1803.   },
  1804.   "server.set": {
  1805.     "description": "changes the properties of a Xen server",
  1806.     "params": {
  1807.       "id": {
  1808.         "type": "string"
  1809.       },
  1810.       "label": {
  1811.         "type": "string",
  1812.         "optional": true
  1813.       },
  1814.       "host": {
  1815.         "type": "string",
  1816.         "optional": true
  1817.       },
  1818.       "username": {
  1819.         "type": "string",
  1820.         "optional": true
  1821.       },
  1822.       "password": {
  1823.         "type": "string",
  1824.         "optional": true
  1825.       },
  1826.       "allowUnauthorized": {
  1827.         "optional": true,
  1828.         "type": "boolean"
  1829.       },
  1830.       "readOnly": {
  1831.         "optional": true,
  1832.         "type": "boolean"
  1833.       }
  1834.     },
  1835.     "permission": "admin"
  1836.   },
  1837.   "server.enable": {
  1838.     "description": "enable a Xen server",
  1839.     "params": {
  1840.       "id": {
  1841.         "type": "string"
  1842.       }
  1843.     },
  1844.     "permission": "admin"
  1845.   },
  1846.   "server.disable": {
  1847.     "description": "disable a Xen server",
  1848.     "params": {
  1849.       "id": {
  1850.         "type": "string"
  1851.       }
  1852.     },
  1853.     "permission": "admin"
  1854.   },
  1855.   "session.signIn": {
  1856.     "description": "sign in",
  1857.     "params": {}
  1858.   },
  1859.   "session.signOut": {
  1860.     "description": "sign out the user from the current session",
  1861.     "params": {},
  1862.     "permission": ""
  1863.   },
  1864.   "session.getUser": {
  1865.     "description": "return the currently connected user",
  1866.     "params": {}
  1867.   },
  1868.   "session.signInWithPassword": {
  1869.     "description": "sign in",
  1870.     "params": {
  1871.       "email": {
  1872.         "type": "string"
  1873.       },
  1874.       "password": {
  1875.         "type": "string"
  1876.       }
  1877.     }
  1878.   },
  1879.   "session.signInWithToken": {
  1880.     "description": "sign in",
  1881.     "params": {
  1882.       "token": {
  1883.         "type": "string"
  1884.       }
  1885.     }
  1886.   },
  1887.   "sr.set": {
  1888.     "params": {
  1889.       "id": {
  1890.         "type": "string"
  1891.       },
  1892.       "name_label": {
  1893.         "type": "string",
  1894.         "optional": true
  1895.       },
  1896.       "name_description": {
  1897.         "type": "string",
  1898.         "optional": true
  1899.       }
  1900.     }
  1901.   },
  1902.   "sr.scan": {
  1903.     "params": {
  1904.       "id": {
  1905.         "type": "string"
  1906.       }
  1907.     }
  1908.   },
  1909.   "sr.destroy": {
  1910.     "params": {
  1911.       "id": {
  1912.         "type": "string"
  1913.       }
  1914.     }
  1915.   },
  1916.   "sr.forget": {
  1917.     "params": {
  1918.       "id": {
  1919.         "type": "string"
  1920.       }
  1921.     }
  1922.   },
  1923.   "sr.connectAllPbds": {
  1924.     "params": {
  1925.       "id": {
  1926.         "type": "string"
  1927.       }
  1928.     }
  1929.   },
  1930.   "sr.disconnectAllPbds": {
  1931.     "params": {
  1932.       "id": {
  1933.         "type": "string"
  1934.       }
  1935.     }
  1936.   },
  1937.   "sr.createIso": {
  1938.     "params": {
  1939.       "host": {
  1940.         "type": "string"
  1941.       },
  1942.       "nameLabel": {
  1943.         "type": "string"
  1944.       },
  1945.       "nameDescription": {
  1946.         "type": "string"
  1947.       },
  1948.       "path": {
  1949.         "type": "string"
  1950.       },
  1951.       "type": {
  1952.         "type": "string"
  1953.       },
  1954.       "user": {
  1955.         "type": "string",
  1956.         "optional": true
  1957.       },
  1958.       "password": {
  1959.         "type": "string",
  1960.         "optional": true
  1961.       }
  1962.     }
  1963.   },
  1964.   "sr.createFile": {
  1965.     "params": {
  1966.       "host": {
  1967.         "type": "string"
  1968.       },
  1969.       "nameLabel": {
  1970.         "type": "string"
  1971.       },
  1972.       "nameDescription": {
  1973.         "type": "string"
  1974.       },
  1975.       "location": {
  1976.         "type": "string"
  1977.       }
  1978.     }
  1979.   },
  1980.   "sr.createNfs": {
  1981.     "params": {
  1982.       "host": {
  1983.         "type": "string"
  1984.       },
  1985.       "nameLabel": {
  1986.         "type": "string"
  1987.       },
  1988.       "nameDescription": {
  1989.         "type": "string"
  1990.       },
  1991.       "server": {
  1992.         "type": "string"
  1993.       },
  1994.       "serverPath": {
  1995.         "type": "string"
  1996.       },
  1997.       "nfsVersion": {
  1998.         "type": "string",
  1999.         "optional": true
  2000.       },
  2001.       "nfsOptions": {
  2002.         "type": "string",
  2003.         "optional": true
  2004.       }
  2005.     }
  2006.   },
  2007.   "sr.createHba": {
  2008.     "params": {
  2009.       "host": {
  2010.         "type": "string"
  2011.       },
  2012.       "nameLabel": {
  2013.         "type": "string"
  2014.       },
  2015.       "nameDescription": {
  2016.         "type": "string"
  2017.       },
  2018.       "scsiId": {
  2019.         "type": "string"
  2020.       }
  2021.     }
  2022.   },
  2023.   "sr.createLvm": {
  2024.     "params": {
  2025.       "host": {
  2026.         "type": "string"
  2027.       },
  2028.       "nameLabel": {
  2029.         "type": "string"
  2030.       },
  2031.       "nameDescription": {
  2032.         "type": "string"
  2033.       },
  2034.       "device": {
  2035.         "type": "string"
  2036.       }
  2037.     }
  2038.   },
  2039.   "sr.createExt": {
  2040.     "params": {
  2041.       "host": {
  2042.         "type": "string"
  2043.       },
  2044.       "nameLabel": {
  2045.         "type": "string"
  2046.       },
  2047.       "nameDescription": {
  2048.         "type": "string"
  2049.       },
  2050.       "device": {
  2051.         "type": "string"
  2052.       }
  2053.     }
  2054.   },
  2055.   "sr.probeZfs": {
  2056.     "params": {
  2057.       "host": {
  2058.         "type": "string"
  2059.       }
  2060.     }
  2061.   },
  2062.   "sr.probeNfs": {
  2063.     "params": {
  2064.       "host": {
  2065.         "type": "string"
  2066.       },
  2067.       "server": {
  2068.         "type": "string"
  2069.       }
  2070.     }
  2071.   },
  2072.   "sr.probeHba": {
  2073.     "params": {
  2074.       "host": {
  2075.         "type": "string"
  2076.       }
  2077.     }
  2078.   },
  2079.   "sr.createIscsi": {
  2080.     "params": {
  2081.       "host": {
  2082.         "type": "string"
  2083.       },
  2084.       "nameLabel": {
  2085.         "type": "string"
  2086.       },
  2087.       "nameDescription": {
  2088.         "type": "string"
  2089.       },
  2090.       "target": {
  2091.         "type": "string"
  2092.       },
  2093.       "port": {
  2094.         "type": "integer",
  2095.         "optional": true
  2096.       },
  2097.       "targetIqn": {
  2098.         "type": "string"
  2099.       },
  2100.       "scsiId": {
  2101.         "type": "string"
  2102.       },
  2103.       "chapUser": {
  2104.         "type": "string",
  2105.         "optional": true
  2106.       },
  2107.       "chapPassword": {
  2108.         "type": "string",
  2109.         "optional": true
  2110.       }
  2111.     }
  2112.   },
  2113.   "sr.probeIscsiIqns": {
  2114.     "params": {
  2115.       "host": {
  2116.         "type": "string"
  2117.       },
  2118.       "target": {
  2119.         "type": "string"
  2120.       },
  2121.       "port": {
  2122.         "type": "integer",
  2123.         "optional": true
  2124.       },
  2125.       "chapUser": {
  2126.         "type": "string",
  2127.         "optional": true
  2128.       },
  2129.       "chapPassword": {
  2130.         "type": "string",
  2131.         "optional": true
  2132.       }
  2133.     }
  2134.   },
  2135.   "sr.probeIscsiLuns": {
  2136.     "params": {
  2137.       "host": {
  2138.         "type": "string"
  2139.       },
  2140.       "target": {
  2141.         "type": "string"
  2142.       },
  2143.       "port": {
  2144.         "type": "integer",
  2145.         "optional": true
  2146.       },
  2147.       "targetIqn": {
  2148.         "type": "string"
  2149.       },
  2150.       "chapUser": {
  2151.         "type": "string",
  2152.         "optional": true
  2153.       },
  2154.       "chapPassword": {
  2155.         "type": "string",
  2156.         "optional": true
  2157.       }
  2158.     }
  2159.   },
  2160.   "sr.probeIscsiExists": {
  2161.     "params": {
  2162.       "host": {
  2163.         "type": "string"
  2164.       },
  2165.       "target": {
  2166.         "type": "string"
  2167.       },
  2168.       "port": {
  2169.         "type": "integer",
  2170.         "optional": true
  2171.       },
  2172.       "targetIqn": {
  2173.         "type": "string"
  2174.       },
  2175.       "scsiId": {
  2176.         "type": "string"
  2177.       },
  2178.       "chapUser": {
  2179.         "type": "string",
  2180.         "optional": true
  2181.       },
  2182.       "chapPassword": {
  2183.         "type": "string",
  2184.         "optional": true
  2185.       }
  2186.     }
  2187.   },
  2188.   "sr.probeHbaExists": {
  2189.     "params": {
  2190.       "host": {
  2191.         "type": "string"
  2192.       },
  2193.       "scsiId": {
  2194.         "type": "string"
  2195.       }
  2196.     }
  2197.   },
  2198.   "sr.probeNfsExists": {
  2199.     "params": {
  2200.       "host": {
  2201.         "type": "string"
  2202.       },
  2203.       "server": {
  2204.         "type": "string"
  2205.       },
  2206.       "serverPath": {
  2207.         "type": "string"
  2208.       }
  2209.     }
  2210.   },
  2211.   "sr.reattach": {
  2212.     "params": {
  2213.       "host": {
  2214.         "type": "string"
  2215.       },
  2216.       "uuid": {
  2217.         "type": "string"
  2218.       },
  2219.       "nameLabel": {
  2220.         "type": "string"
  2221.       },
  2222.       "nameDescription": {
  2223.         "type": "string"
  2224.       },
  2225.       "type": {
  2226.         "type": "string"
  2227.       }
  2228.     }
  2229.   },
  2230.   "sr.reattachIso": {
  2231.     "params": {
  2232.       "host": {
  2233.         "type": "string"
  2234.       },
  2235.       "uuid": {
  2236.         "type": "string"
  2237.       },
  2238.       "nameLabel": {
  2239.         "type": "string"
  2240.       },
  2241.       "nameDescription": {
  2242.         "type": "string"
  2243.       },
  2244.       "type": {
  2245.         "type": "string"
  2246.       }
  2247.     }
  2248.   },
  2249.   "sr.getUnhealthyVdiChainsLength": {
  2250.     "params": {
  2251.       "id": {
  2252.         "type": "string"
  2253.       }
  2254.     }
  2255.   },
  2256.   "sr.stats": {
  2257.     "description": "returns statistic of the sr",
  2258.     "params": {
  2259.       "id": {
  2260.         "type": "string"
  2261.       },
  2262.       "granularity": {
  2263.         "type": "string",
  2264.         "optional": true
  2265.       }
  2266.     }
  2267.   },
  2268.   "system.getMethodsInfo": {
  2269.     "description": "returns the signatures of all available API methods",
  2270.     "params": {}
  2271.   },
  2272.   "system.listMethods": {
  2273.     "description": "returns the name of all available API methods",
  2274.     "params": {}
  2275.   },
  2276.   "system.methodSignature": {
  2277.     "description": "returns the signature of an API method",
  2278.     "params": {}
  2279.   },
  2280.   "system.getServerTimezone": {
  2281.     "description": "return the timezone server",
  2282.     "params": {}
  2283.   },
  2284.   "system.getServerVersion": {
  2285.     "description": "return the version of xo-server",
  2286.     "params": {}
  2287.   },
  2288.   "system.getVersion": {
  2289.     "description": "API version (unstable)",
  2290.     "params": {}
  2291.   },
  2292.   "tag.add": {
  2293.     "description": "add a new tag to an object",
  2294.     "params": {
  2295.       "tag": {
  2296.         "type": "string"
  2297.       },
  2298.       "id": {
  2299.         "type": "string"
  2300.       }
  2301.     }
  2302.   },
  2303.   "tag.remove": {
  2304.     "description": "remove an existing tag from an object",
  2305.     "params": {
  2306.       "tag": {
  2307.         "type": "string"
  2308.       },
  2309.       "id": {
  2310.         "type": "string"
  2311.       }
  2312.     }
  2313.   },
  2314.   "task.cancel": {
  2315.     "params": {
  2316.       "id": {
  2317.         "type": "string"
  2318.       }
  2319.     }
  2320.   },
  2321.   "task.destroy": {
  2322.     "params": {
  2323.       "id": {
  2324.         "type": "string"
  2325.       }
  2326.     }
  2327.   },
  2328.   "test.getPermissionsForUser": {
  2329.     "params": {
  2330.       "userId": {
  2331.         "type": "string"
  2332.       }
  2333.     },
  2334.     "permission": "admin"
  2335.   },
  2336.   "test.hasPermission": {
  2337.     "params": {
  2338.       "userId": {
  2339.         "type": "string"
  2340.       },
  2341.       "objectId": {
  2342.         "type": "string"
  2343.       },
  2344.       "permission": {
  2345.         "type": "string"
  2346.       }
  2347.     },
  2348.     "permission": "admin"
  2349.   },
  2350.   "test.wait": {
  2351.     "params": {
  2352.       "duration": {
  2353.         "type": "string"
  2354.       }
  2355.     }
  2356.   },
  2357.   "test.copyVm": {
  2358.     "description": "export/import full/delta VM",
  2359.     "params": {
  2360.       "vm": {
  2361.         "type": "string"
  2362.       },
  2363.       "sr": {
  2364.         "type": "string"
  2365.       }
  2366.     },
  2367.     "permission": "admin"
  2368.   },
  2369.   "test.changeConnectedXapiHostname": {
  2370.     "description": "change the connected XAPI hostname and check if the pool and the local cache are updated",
  2371.     "params": {
  2372.       "hostname": {
  2373.         "type": "string"
  2374.       },
  2375.       "newObject": {
  2376.         "type": "string",
  2377.         "description": "new connection's XO object"
  2378.       },
  2379.       "oldObject": {
  2380.         "type": "string",
  2381.         "description": "current connection's XO object"
  2382.       }
  2383.     },
  2384.     "permission": "admin"
  2385.   },
  2386.   "token.create": {
  2387.     "description": "create a new authentication token",
  2388.     "params": {
  2389.       "expiresIn": {
  2390.         "optional": true,
  2391.         "type": [
  2392.           "number",
  2393.           "string"
  2394.         ]
  2395.       }
  2396.     },
  2397.     "permission": ""
  2398.   },
  2399.   "token.delete": {
  2400.     "description": "delete an existing authentication token",
  2401.     "params": {
  2402.       "token": {
  2403.         "type": "string"
  2404.       }
  2405.     },
  2406.     "permission": "admin"
  2407.   },
  2408.   "token.deleteAll": {
  2409.     "description": "delete all tokens of the current user except the current one",
  2410.     "params": {
  2411.       "except": {
  2412.         "type": "string",
  2413.         "optional": true
  2414.       }
  2415.     },
  2416.     "permission": ""
  2417.   },
  2418.   "user.create": {
  2419.     "description": "creates a new user",
  2420.     "params": {
  2421.       "email": {
  2422.         "type": "string"
  2423.       },
  2424.       "password": {
  2425.         "type": "string"
  2426.       },
  2427.       "permission": {
  2428.         "type": "string",
  2429.         "optional": true
  2430.       }
  2431.     },
  2432.     "permission": "admin"
  2433.   },
  2434.   "user.delete": {
  2435.     "description": "deletes an existing user",
  2436.     "params": {
  2437.       "id": {
  2438.         "type": "string"
  2439.       }
  2440.     },
  2441.     "permission": "admin"
  2442.   },
  2443.   "user.getAll": {
  2444.     "description": "returns all the existing users",
  2445.     "params": {},
  2446.     "permission": "admin"
  2447.   },
  2448.   "user.set": {
  2449.     "description": "changes the properties of an existing user",
  2450.     "params": {
  2451.       "id": {
  2452.         "type": "string"
  2453.       },
  2454.       "email": {
  2455.         "type": "string",
  2456.         "optional": true
  2457.       },
  2458.       "password": {
  2459.         "type": "string",
  2460.         "optional": true
  2461.       },
  2462.       "permission": {
  2463.         "type": "string",
  2464.         "optional": true
  2465.       },
  2466.       "preferences": {
  2467.         "type": "object",
  2468.         "optional": true
  2469.       }
  2470.     },
  2471.     "permission": ""
  2472.   },
  2473.   "user.changePassword": {
  2474.     "description": "change password after checking old password (user function)",
  2475.     "params": {
  2476.       "oldPassword": {
  2477.         "type": "string"
  2478.       },
  2479.       "newPassword": {
  2480.         "type": "string"
  2481.       }
  2482.     },
  2483.     "permission": ""
  2484.   },
  2485.   "vbd.delete": {
  2486.     "params": {
  2487.       "id": {
  2488.         "type": "string"
  2489.       }
  2490.     }
  2491.   },
  2492.   "vbd.disconnect": {
  2493.     "params": {
  2494.       "id": {
  2495.         "type": "string"
  2496.       }
  2497.     }
  2498.   },
  2499.   "vbd.connect": {
  2500.     "params": {
  2501.       "id": {
  2502.         "type": "string"
  2503.       }
  2504.     }
  2505.   },
  2506.   "vbd.set": {
  2507.     "params": {
  2508.       "id": {
  2509.         "type": "string"
  2510.       },
  2511.       "position": {
  2512.         "type": [
  2513.           "string",
  2514.           "number"
  2515.         ],
  2516.         "optional": true
  2517.       }
  2518.     }
  2519.   },
  2520.   "vbd.setBootable": {
  2521.     "params": {
  2522.       "vbd": {
  2523.         "type": "string"
  2524.       },
  2525.       "bootable": {
  2526.         "type": "boolean"
  2527.       }
  2528.     }
  2529.   },
  2530.   "vdi.delete_": {
  2531.     "params": {
  2532.       "id": {
  2533.         "type": "string"
  2534.       }
  2535.     }
  2536.   },
  2537.   "vdi.delete": {
  2538.     "params": {
  2539.       "id": {
  2540.         "type": "string"
  2541.       }
  2542.     }
  2543.   },
  2544.   "vdi.migrate": {
  2545.     "params": {
  2546.       "id": {
  2547.         "type": "string"
  2548.       },
  2549.       "sr_id": {
  2550.         "type": "string"
  2551.       }
  2552.     }
  2553.   },
  2554.   "vdi.set": {
  2555.     "params": {
  2556.       "id": {
  2557.         "type": "string"
  2558.       },
  2559.       "name_label": {
  2560.         "type": "string",
  2561.         "optional": true
  2562.       },
  2563.       "name_description": {
  2564.         "type": "string",
  2565.         "optional": true
  2566.       },
  2567.       "size": {
  2568.         "type": [
  2569.           "integer",
  2570.           "string"
  2571.         ],
  2572.         "optional": true
  2573.       }
  2574.     }
  2575.   },
  2576.   "vif.delete": {
  2577.     "params": {
  2578.       "id": {
  2579.         "type": "string"
  2580.       }
  2581.     }
  2582.   },
  2583.   "vif.disconnect": {
  2584.     "params": {
  2585.       "id": {
  2586.         "type": "string"
  2587.       }
  2588.     }
  2589.   },
  2590.   "vif.connect": {
  2591.     "params": {
  2592.       "id": {
  2593.         "type": "string"
  2594.       }
  2595.     }
  2596.   },
  2597.   "vif.set": {
  2598.     "params": {
  2599.       "id": {
  2600.         "type": "string"
  2601.       },
  2602.       "network": {
  2603.         "type": "string",
  2604.         "optional": true
  2605.       },
  2606.       "mac": {
  2607.         "type": "string",
  2608.         "optional": true
  2609.       },
  2610.       "allowedIpv4Addresses": {
  2611.         "type": "array",
  2612.         "items": {
  2613.           "type": "string"
  2614.         },
  2615.         "optional": true
  2616.       },
  2617.       "allowedIpv6Addresses": {
  2618.         "type": "array",
  2619.         "items": {
  2620.           "type": "string"
  2621.         },
  2622.         "optional": true
  2623.       },
  2624.       "attached": {
  2625.         "type": "boolean",
  2626.         "optional": true
  2627.       },
  2628.       "rateLimit": {
  2629.         "description": "in kilobytes per seconds",
  2630.         "optional": true,
  2631.         "type": [
  2632.           "number",
  2633.           "null"
  2634.         ]
  2635.       }
  2636.     }
  2637.   },
  2638.   "vm.getHaValues": {
  2639.     "params": {}
  2640.   },
  2641.   "vm.ejectCd": {
  2642.     "params": {
  2643.       "id": {
  2644.         "type": "string"
  2645.       }
  2646.     }
  2647.   },
  2648.   "vm.insertCd": {
  2649.     "params": {
  2650.       "id": {
  2651.         "type": "string"
  2652.       },
  2653.       "cd_id": {
  2654.         "type": "string"
  2655.       },
  2656.       "force": {
  2657.         "type": "boolean",
  2658.         "optional": true
  2659.       }
  2660.     }
  2661.   },
  2662.   "vm.migrate": {
  2663.     "params": {
  2664.       "vm": {
  2665.         "type": "string"
  2666.       },
  2667.       "force": {
  2668.         "type": "boolean",
  2669.         "optional": true
  2670.       },
  2671.       "targetHost": {
  2672.         "type": "string"
  2673.       },
  2674.       "sr": {
  2675.         "type": "string",
  2676.         "optional": true
  2677.       },
  2678.       "mapVdisSrs": {
  2679.         "type": "object",
  2680.         "optional": true
  2681.       },
  2682.       "mapVifsNetworks": {
  2683.         "type": "object",
  2684.         "optional": true
  2685.       },
  2686.       "migrationNetwork": {
  2687.         "type": "string",
  2688.         "optional": true
  2689.       }
  2690.     }
  2691.   },
  2692.   "vm.restart": {
  2693.     "params": {
  2694.       "id": {
  2695.         "type": "string"
  2696.       },
  2697.       "force": {
  2698.         "type": "boolean",
  2699.         "optional": true
  2700.       }
  2701.     }
  2702.   },
  2703.   "vm.copy": {
  2704.     "params": {
  2705.       "compress": {
  2706.         "type": [
  2707.           "boolean",
  2708.           "string"
  2709.         ],
  2710.         "optional": true
  2711.       },
  2712.       "name": {
  2713.         "type": "string",
  2714.         "optional": true
  2715.       },
  2716.       "vm": {
  2717.         "type": "string"
  2718.       },
  2719.       "sr": {
  2720.         "type": "string"
  2721.       }
  2722.     }
  2723.   },
  2724.   "vm.convertToTemplate": {
  2725.     "params": {
  2726.       "id": {
  2727.         "type": "string"
  2728.       }
  2729.     }
  2730.   },
  2731.   "vm.convert": {
  2732.     "params": {
  2733.       "id": {
  2734.         "type": "string"
  2735.       }
  2736.     }
  2737.   },
  2738.   "vm.rollingDeltaBackup": {
  2739.     "params": {
  2740.       "id": {
  2741.         "type": "string"
  2742.       },
  2743.       "remote": {
  2744.         "type": "string"
  2745.       },
  2746.       "tag": {
  2747.         "type": "string"
  2748.       },
  2749.       "retention": {
  2750.         "type": [
  2751.           "string",
  2752.           "number"
  2753.         ],
  2754.         "optional": true
  2755.       },
  2756.       "depth": {
  2757.         "type": [
  2758.           "string",
  2759.           "number"
  2760.         ],
  2761.         "optional": true
  2762.       }
  2763.     },
  2764.     "permission": "admin"
  2765.   },
  2766.   "vm.importDeltaBackup": {
  2767.     "params": {
  2768.       "sr": {
  2769.         "type": "string"
  2770.       },
  2771.       "remote": {
  2772.         "type": "string"
  2773.       },
  2774.       "filePath": {
  2775.         "type": "string"
  2776.       },
  2777.       "mapVdisSrs": {
  2778.         "type": "object",
  2779.         "optional": true
  2780.       }
  2781.     },
  2782.     "permission": "admin"
  2783.   },
  2784.   "vm.deltaCopy": {
  2785.     "params": {
  2786.       "force": {
  2787.         "type": "boolean",
  2788.         "optional": true
  2789.       },
  2790.       "id": {
  2791.         "type": "string"
  2792.       },
  2793.       "retention": {
  2794.         "type": "number",
  2795.         "optional": true
  2796.       },
  2797.       "sr": {
  2798.         "type": "string"
  2799.       }
  2800.     }
  2801.   },
  2802.   "vm.rollingSnapshot": {
  2803.     "description": "Snapshots a VM with a tagged name, and removes the oldest snapshot with the same tag according to retention",
  2804.     "params": {
  2805.       "id": {
  2806.         "type": "string"
  2807.       },
  2808.       "tag": {
  2809.         "type": "string"
  2810.       },
  2811.       "retention": {
  2812.         "type": "number",
  2813.         "optional": true
  2814.       },
  2815.       "depth": {
  2816.         "type": "number",
  2817.         "optional": true
  2818.       }
  2819.     }
  2820.   },
  2821.   "vm.backup": {
  2822.     "description": "Exports a VM to the file system",
  2823.     "params": {
  2824.       "id": {
  2825.         "type": "string"
  2826.       },
  2827.       "remoteId": {
  2828.         "type": "string"
  2829.       },
  2830.       "file": {
  2831.         "type": "string"
  2832.       },
  2833.       "compress": {
  2834.         "type": "boolean",
  2835.         "optional": true
  2836.       }
  2837.     },
  2838.     "permission": "admin"
  2839.   },
  2840.   "vm.importBackup": {
  2841.     "description": "Imports a VM into host, from a file found in the chosen remote",
  2842.     "params": {
  2843.       "remote": {
  2844.         "type": "string"
  2845.       },
  2846.       "file": {
  2847.         "type": "string"
  2848.       },
  2849.       "sr": {
  2850.         "type": "string"
  2851.       }
  2852.     },
  2853.     "permission": "admin"
  2854.   },
  2855.   "vm.rollingBackup": {
  2856.     "description": "Exports a VM to the file system with a tagged name, and removes the oldest backup with the same tag according to retention",
  2857.     "params": {
  2858.       "id": {
  2859.         "type": "string"
  2860.       },
  2861.       "remoteId": {
  2862.         "type": "string"
  2863.       },
  2864.       "tag": {
  2865.         "type": "string"
  2866.       },
  2867.       "retention": {
  2868.         "type": "number",
  2869.         "optional": true
  2870.       },
  2871.       "depth": {
  2872.         "type": "number",
  2873.         "optional": true
  2874.       },
  2875.       "compress": {
  2876.         "type": "boolean",
  2877.         "optional": true
  2878.       }
  2879.     },
  2880.     "permission": "admin"
  2881.   },
  2882.   "vm.rollingDrCopy": {
  2883.     "description": "Copies a VM to a different pool, with a tagged name, and removes the oldest VM with the same tag from this pool, according to retention",
  2884.     "params": {
  2885.       "retention": {
  2886.         "type": "number",
  2887.         "optional": true
  2888.       },
  2889.       "depth": {
  2890.         "type": "number",
  2891.         "optional": true
  2892.       },
  2893.       "id": {
  2894.         "type": "string"
  2895.       },
  2896.       "pool": {
  2897.         "type": "string",
  2898.         "optional": true
  2899.       },
  2900.       "sr": {
  2901.         "type": "string",
  2902.         "optional": true
  2903.       },
  2904.       "tag": {
  2905.         "type": "string"
  2906.       },
  2907.       "deleteOldBackupsFirst": {
  2908.         "type": "boolean",
  2909.         "optional": true
  2910.       }
  2911.     }
  2912.   },
  2913.   "vm.start": {
  2914.     "params": {
  2915.       "force": {
  2916.         "type": "boolean",
  2917.         "optional": true
  2918.       },
  2919.       "host": {
  2920.         "type": "string",
  2921.         "optional": true
  2922.       },
  2923.       "id": {
  2924.         "type": "string"
  2925.       }
  2926.     }
  2927.   },
  2928.   "vm.stop": {
  2929.     "params": {
  2930.       "id": {
  2931.         "type": "string"
  2932.       },
  2933.       "force": {
  2934.         "type": "boolean",
  2935.         "optional": true
  2936.       }
  2937.     }
  2938.   },
  2939.   "vm.suspend": {
  2940.     "params": {
  2941.       "id": {
  2942.         "type": "string"
  2943.       }
  2944.     }
  2945.   },
  2946.   "vm.pause": {
  2947.     "params": {
  2948.       "id": {
  2949.         "type": "string"
  2950.       }
  2951.     }
  2952.   },
  2953.   "vm.resume": {
  2954.     "params": {
  2955.       "id": {
  2956.         "type": "string"
  2957.       }
  2958.     }
  2959.   },
  2960.   "vm.export": {
  2961.     "params": {
  2962.       "vm": {
  2963.         "type": "string"
  2964.       },
  2965.       "compress": {
  2966.         "type": [
  2967.           "boolean",
  2968.           "string"
  2969.         ],
  2970.         "optional": true
  2971.       }
  2972.     }
  2973.   },
  2974.   "vm.import": {
  2975.     "params": {
  2976.       "data": {
  2977.         "type": "object",
  2978.         "optional": true,
  2979.         "properties": {
  2980.           "descriptionLabel": {
  2981.             "type": "string"
  2982.           },
  2983.           "disks": {
  2984.             "type": "array",
  2985.             "items": {
  2986.               "type": "object",
  2987.               "properties": {
  2988.                 "capacity": {
  2989.                   "type": "integer"
  2990.                 },
  2991.                 "descriptionLabel": {
  2992.                   "type": "string"
  2993.                 },
  2994.                 "nameLabel": {
  2995.                   "type": "string"
  2996.                 },
  2997.                 "path": {
  2998.                   "type": "string"
  2999.                 },
  3000.                 "position": {
  3001.                   "type": "integer"
  3002.                 }
  3003.               }
  3004.             },
  3005.             "optional": true
  3006.           },
  3007.           "memory": {
  3008.             "type": "integer"
  3009.           },
  3010.           "nameLabel": {
  3011.             "type": "string"
  3012.           },
  3013.           "nCpus": {
  3014.             "type": "integer"
  3015.           },
  3016.           "networks": {
  3017.             "type": "array",
  3018.             "items": {
  3019.               "type": "string"
  3020.             },
  3021.             "optional": true
  3022.           }
  3023.         }
  3024.       },
  3025.       "type": {
  3026.         "type": "string",
  3027.         "optional": true
  3028.       },
  3029.       "sr": {
  3030.         "type": "string"
  3031.       }
  3032.     }
  3033.   },
  3034.   "vm.attachDisk": {
  3035.     "params": {
  3036.       "bootable": {
  3037.         "type": "boolean",
  3038.         "optional": true
  3039.       },
  3040.       "mode": {
  3041.         "type": "string",
  3042.         "optional": true
  3043.       },
  3044.       "position": {
  3045.         "type": "string",
  3046.         "optional": true
  3047.       },
  3048.       "vdi": {
  3049.         "type": "string"
  3050.       },
  3051.       "vm": {
  3052.         "type": "string"
  3053.       }
  3054.     }
  3055.   },
  3056.   "vm.createInterface": {
  3057.     "params": {
  3058.       "vm": {
  3059.         "type": "string"
  3060.       },
  3061.       "network": {
  3062.         "type": "string"
  3063.       },
  3064.       "position": {
  3065.         "type": [
  3066.           "integer",
  3067.           "string"
  3068.         ],
  3069.         "optional": true
  3070.       },
  3071.       "mac": {
  3072.         "type": "string",
  3073.         "optional": true
  3074.       },
  3075.       "allowedIpv4Addresses": {
  3076.         "type": "array",
  3077.         "items": {
  3078.           "type": "string"
  3079.         },
  3080.         "optional": true
  3081.       },
  3082.       "allowedIpv6Addresses": {
  3083.         "type": "array",
  3084.         "items": {
  3085.           "type": "string"
  3086.         },
  3087.         "optional": true
  3088.       }
  3089.     }
  3090.   },
  3091.   "vm.attachPci": {
  3092.     "params": {
  3093.       "vm": {
  3094.         "type": "string"
  3095.       },
  3096.       "pciId": {
  3097.         "type": "string"
  3098.       }
  3099.     }
  3100.   },
  3101.   "vm.detachPci": {
  3102.     "params": {
  3103.       "vm": {
  3104.         "type": "string"
  3105.       }
  3106.     }
  3107.   },
  3108.   "vm.stats": {
  3109.     "description": "returns statistics about the VM",
  3110.     "params": {
  3111.       "id": {
  3112.         "type": "string"
  3113.       },
  3114.       "granularity": {
  3115.         "type": "string",
  3116.         "optional": true
  3117.       }
  3118.     }
  3119.   },
  3120.   "vm.setBootOrder": {
  3121.     "params": {
  3122.       "vm": {
  3123.         "type": "string"
  3124.       },
  3125.       "order": {
  3126.         "type": "string"
  3127.       }
  3128.     }
  3129.   },
  3130.   "vm.recoveryStart": {
  3131.     "params": {
  3132.       "id": {
  3133.         "type": "string"
  3134.       }
  3135.     }
  3136.   },
  3137.   "vm.getCloudInitConfig": {
  3138.     "params": {
  3139.       "template": {
  3140.         "type": "string"
  3141.       }
  3142.     }
  3143.   },
  3144.   "vm.createCloudInitConfigDrive": {
  3145.     "params": {
  3146.       "vm": {
  3147.         "type": "string"
  3148.       },
  3149.       "sr": {
  3150.         "type": "string"
  3151.       },
  3152.       "config": {
  3153.         "type": "string"
  3154.       },
  3155.       "networkConfig": {
  3156.         "type": "string",
  3157.         "optional": true
  3158.       }
  3159.     }
  3160.   },
  3161.   "vm.createVgpu": {
  3162.     "params": {
  3163.       "vm": {
  3164.         "type": "string"
  3165.       },
  3166.       "gpuGroup": {
  3167.         "type": "string"
  3168.       },
  3169.       "vgpuType": {
  3170.         "type": "string"
  3171.       }
  3172.     }
  3173.   },
  3174.   "vm.deleteVgpu": {
  3175.     "params": {
  3176.       "vgpu": {
  3177.         "type": "string"
  3178.       }
  3179.     }
  3180.   },
  3181.   "vm.create": {
  3182.     "params": {
  3183.       "affinityHost": {
  3184.         "type": "string",
  3185.         "optional": true
  3186.       },
  3187.       "bootAfterCreate": {
  3188.         "type": "boolean",
  3189.         "optional": true
  3190.       },
  3191.       "cloudConfig": {
  3192.         "type": "string",
  3193.         "optional": true
  3194.       },
  3195.       "networkConfig": {
  3196.         "type": "string",
  3197.         "optional": true
  3198.       },
  3199.       "coreOs": {
  3200.         "type": "boolean",
  3201.         "optional": true
  3202.       },
  3203.       "clone": {
  3204.         "type": "boolean",
  3205.         "optional": true
  3206.       },
  3207.       "coresPerSocket": {
  3208.         "type": [
  3209.           "string",
  3210.           "number"
  3211.         ],
  3212.         "optional": true
  3213.       },
  3214.       "resourceSet": {
  3215.         "type": "string",
  3216.         "optional": true
  3217.       },
  3218.       "installation": {
  3219.         "type": "object",
  3220.         "optional": true,
  3221.         "properties": {
  3222.           "method": {
  3223.             "type": "string"
  3224.           },
  3225.           "repository": {
  3226.             "type": "string"
  3227.           }
  3228.         }
  3229.       },
  3230.       "vgpuType": {
  3231.         "type": "string",
  3232.         "optional": true
  3233.       },
  3234.       "gpuGroup": {
  3235.         "type": "string",
  3236.         "optional": true
  3237.       },
  3238.       "name_label": {
  3239.         "type": "string"
  3240.       },
  3241.       "name_description": {
  3242.         "type": "string",
  3243.         "optional": true
  3244.       },
  3245.       "pv_args": {
  3246.         "type": "string",
  3247.         "optional": true
  3248.       },
  3249.       "share": {
  3250.         "type": "boolean",
  3251.         "optional": true
  3252.       },
  3253.       "template": {
  3254.         "type": "string"
  3255.       },
  3256.       "VIFs": {
  3257.         "optional": true,
  3258.         "type": "array",
  3259.         "items": {
  3260.           "type": "object",
  3261.           "properties": {
  3262.             "network": {
  3263.               "type": "string"
  3264.             },
  3265.             "mac": {
  3266.               "optional": true,
  3267.               "type": "string"
  3268.             },
  3269.             "allowedIpv4Addresses": {
  3270.               "optional": true,
  3271.               "type": "array",
  3272.               "items": {
  3273.                 "type": "string"
  3274.               }
  3275.             },
  3276.             "allowedIpv6Addresses": {
  3277.               "optional": true,
  3278.               "type": "array",
  3279.               "items": {
  3280.                 "type": "string"
  3281.               }
  3282.             }
  3283.           }
  3284.         }
  3285.       },
  3286.       "VDIs": {
  3287.         "optional": true,
  3288.         "type": "array",
  3289.         "items": {
  3290.           "type": "object",
  3291.           "properties": {
  3292.             "size": {
  3293.               "type": [
  3294.                 "integer",
  3295.                 "string"
  3296.               ]
  3297.             },
  3298.             "SR": {
  3299.               "type": "string"
  3300.             },
  3301.             "type": {
  3302.               "type": "string"
  3303.             }
  3304.           }
  3305.         }
  3306.       },
  3307.       "existingDisks": {
  3308.         "optional": true,
  3309.         "type": "object",
  3310.         "items": {
  3311.           "type": "object",
  3312.           "properties": {
  3313.             "size": {
  3314.               "type": [
  3315.                 "integer",
  3316.                 "string"
  3317.               ],
  3318.               "optional": true
  3319.             },
  3320.             "$SR": {
  3321.               "type": "string",
  3322.               "optional": true
  3323.             }
  3324.           }
  3325.         }
  3326.       },
  3327.       "hvmBootFirmware": {
  3328.         "type": "string",
  3329.         "optional": true
  3330.       },
  3331.       "copyHostBiosStrings": {
  3332.         "type": "boolean",
  3333.         "optional": true
  3334.       },
  3335.       "*": {
  3336.         "type": "any"
  3337.       }
  3338.     }
  3339.   },
  3340.   "vm.delete": {
  3341.     "params": {
  3342.       "id": {
  3343.         "type": "string"
  3344.       },
  3345.       "deleteDisks": {
  3346.         "optional": true,
  3347.         "type": "boolean"
  3348.       },
  3349.       "force": {
  3350.         "optional": true,
  3351.         "type": "boolean"
  3352.       },
  3353.       "forceDeleteDefaultTemplate": {
  3354.         "optional": true,
  3355.         "type": "boolean"
  3356.       }
  3357.     }
  3358.   },
  3359.   "vm.set": {
  3360.     "params": {
  3361.       "id": {
  3362.         "type": "string"
  3363.       },
  3364.       "auto_poweron": {
  3365.         "type": "boolean",
  3366.         "optional": true
  3367.       },
  3368.       "name_label": {
  3369.         "type": "string",
  3370.         "optional": true
  3371.       },
  3372.       "name_description": {
  3373.         "type": "string",
  3374.         "optional": true
  3375.       },
  3376.       "high_availability": {
  3377.         "optional": true,
  3378.         "pattern": {},
  3379.         "type": "string"
  3380.       },
  3381.       "CPUs": {
  3382.         "type": "integer",
  3383.         "optional": true
  3384.       },
  3385.       "cpusMax": {
  3386.         "type": [
  3387.           "integer",
  3388.           "string"
  3389.         ],
  3390.         "optional": true
  3391.       },
  3392.       "memory": {
  3393.         "type": [
  3394.           "integer",
  3395.           "string"
  3396.         ],
  3397.         "optional": true
  3398.       },
  3399.       "memoryMin": {
  3400.         "type": [
  3401.           "integer",
  3402.           "string"
  3403.         ],
  3404.         "optional": true
  3405.       },
  3406.       "memoryMax": {
  3407.         "type": [
  3408.           "integer",
  3409.           "string"
  3410.         ],
  3411.         "optional": true
  3412.       },
  3413.       "memoryStaticMax": {
  3414.         "type": [
  3415.           "integer",
  3416.           "string"
  3417.         ],
  3418.         "optional": true
  3419.       },
  3420.       "PV_args": {
  3421.         "type": "string",
  3422.         "optional": true
  3423.       },
  3424.       "cpuMask": {
  3425.         "type": "array",
  3426.         "optional": true
  3427.       },
  3428.       "cpuWeight": {
  3429.         "type": [
  3430.           "integer",
  3431.           "null"
  3432.         ],
  3433.         "optional": true
  3434.       },
  3435.       "cpuCap": {
  3436.         "type": [
  3437.           "integer",
  3438.           "null"
  3439.         ],
  3440.         "optional": true
  3441.       },
  3442.       "affinityHost": {
  3443.         "type": [
  3444.           "string",
  3445.           "null"
  3446.         ],
  3447.         "optional": true
  3448.       },
  3449.       "vga": {
  3450.         "type": "string",
  3451.         "optional": true
  3452.       },
  3453.       "videoram": {
  3454.         "type": "number",
  3455.         "optional": true
  3456.       },
  3457.       "coresPerSocket": {
  3458.         "type": [
  3459.           "string",
  3460.           "number",
  3461.           "null"
  3462.         ],
  3463.         "optional": true
  3464.       },
  3465.       "hasVendorDevice": {
  3466.         "type": "boolean",
  3467.         "optional": true
  3468.       },
  3469.       "expNestedHvm": {
  3470.         "type": "boolean",
  3471.         "optional": true
  3472.       },
  3473.       "resourceSet": {
  3474.         "type": [
  3475.           "string",
  3476.           "null"
  3477.         ],
  3478.         "optional": true
  3479.       },
  3480.       "share": {
  3481.         "type": "boolean",
  3482.         "optional": true
  3483.       },
  3484.       "startDelay": {
  3485.         "type": "integer",
  3486.         "optional": true
  3487.       },
  3488.       "nicType": {
  3489.         "type": [
  3490.           "string",
  3491.           "null"
  3492.         ],
  3493.         "optional": true
  3494.       },
  3495.       "hvmBootFirmware": {
  3496.         "type": [
  3497.           "string",
  3498.           "null"
  3499.         ],
  3500.         "optional": true
  3501.       },
  3502.       "virtualizationMode": {
  3503.         "type": "string",
  3504.         "optional": true
  3505.       }
  3506.     }
  3507.   },
  3508.   "vm.clone": {
  3509.     "params": {
  3510.       "id": {
  3511.         "type": "string"
  3512.       },
  3513.       "name": {
  3514.         "type": "string"
  3515.       },
  3516.       "full_copy": {
  3517.         "type": "boolean"
  3518.       }
  3519.     }
  3520.   },
  3521.   "vm.snapshot": {
  3522.     "params": {
  3523.       "description": {
  3524.         "type": "string",
  3525.         "optional": true
  3526.       },
  3527.       "id": {
  3528.         "type": "string"
  3529.       },
  3530.       "name": {
  3531.         "type": "string",
  3532.         "optional": true
  3533.       },
  3534.       "saveMemory": {
  3535.         "type": "boolean",
  3536.         "optional": true
  3537.       }
  3538.     }
  3539.   },
  3540.   "vm.revert": {
  3541.     "params": {
  3542.       "snapshot": {
  3543.         "type": "string"
  3544.       }
  3545.     }
  3546.   },
  3547.   "xo.clean": {
  3548.     "params": {},
  3549.     "permission": "admin"
  3550.   },
  3551.   "xo.exportConfig": {
  3552.     "params": {},
  3553.     "permission": "admin"
  3554.   },
  3555.   "xo.getAllObjects": {
  3556.     "description": "Returns all XO objects",
  3557.     "params": {
  3558.       "filter": {
  3559.         "type": "object",
  3560.         "optional": true
  3561.       },
  3562.       "limit": {
  3563.         "type": "number",
  3564.         "optional": true
  3565.       },
  3566.       "ndjson": {
  3567.         "type": "boolean",
  3568.         "optional": true
  3569.       }
  3570.     },
  3571.     "permission": ""
  3572.   },
  3573.   "xo.importConfig": {
  3574.     "params": {},
  3575.     "permission": "admin"
  3576.   },
  3577.   "xosan.getVolumeInfo": {
  3578.     "description": "info on gluster volume",
  3579.     "params": {
  3580.       "sr": {
  3581.         "type": "string"
  3582.       },
  3583.       "infoType": {
  3584.         "type": "string",
  3585.         "eq": [
  3586.           "heal",
  3587.           "status",
  3588.           "statusDetail",
  3589.           "statusMem",
  3590.           "info",
  3591.           "profile",
  3592.           "profileTop",
  3593.           "hosts"
  3594.         ]
  3595.       }
  3596.     },
  3597.     "permission": "admin"
  3598.   },
  3599.   "xosan.profileStatus": {
  3600.     "description": "activate, deactivate, or interrogate profile data",
  3601.     "params": {
  3602.       "sr": {
  3603.         "type": "string"
  3604.       },
  3605.       "changeStatus": {
  3606.         "type": "bool",
  3607.         "optional": true
  3608.       }
  3609.     },
  3610.     "permission": "admin"
  3611.   },
  3612.   "xosan.fixHostNotInNetwork": {
  3613.     "description": "put host in xosan network",
  3614.     "params": {
  3615.       "xosanSr": {
  3616.         "type": "string"
  3617.       },
  3618.       "host": {
  3619.         "type": "string"
  3620.       }
  3621.     },
  3622.     "permission": "admin"
  3623.   },
  3624.   "xosan.replaceBrick": {
  3625.     "description": "replaceBrick brick in gluster volume",
  3626.     "params": {
  3627.       "xosansr": {
  3628.         "type": "string"
  3629.       },
  3630.       "previousBrick": {
  3631.         "type": "string"
  3632.       },
  3633.       "newLvmSr": {
  3634.         "type": "string"
  3635.       },
  3636.       "brickSize": {
  3637.         "type": "number"
  3638.       }
  3639.     },
  3640.     "permission": "admin"
  3641.   },
  3642.   "xosan.checkSrCurrentState": {
  3643.     "description": "checks if there is an operation currently running on the SR",
  3644.     "params": {
  3645.       "poolId": {
  3646.         "type": "string"
  3647.       }
  3648.     },
  3649.     "permission": "admin"
  3650.   },
  3651.   "xosan.computeXosanPossibleOptions": {
  3652.     "params": {
  3653.       "lvmSrs": {
  3654.         "type": "array",
  3655.         "items": {
  3656.           "type": "string"
  3657.         }
  3658.       },
  3659.       "brickSize": {
  3660.         "type": "number",
  3661.         "optional": true
  3662.       }
  3663.     }
  3664.   },
  3665.   "xosan.unlock": {
  3666.     "description": "Unlock XOSAN SR functionalities by binding it to a paid license",
  3667.     "params": {
  3668.       "licenseId": {
  3669.         "type": "string"
  3670.       },
  3671.       "sr": {
  3672.         "type": "string"
  3673.       }
  3674.     },
  3675.     "permission": "admin"
  3676.   },
  3677.   "xosan.downloadAndInstallXosanPack": {
  3678.     "description": "Register a resource via cloud plugin",
  3679.     "params": {
  3680.       "id": {
  3681.         "type": "string"
  3682.       },
  3683.       "version": {
  3684.         "type": "string"
  3685.       },
  3686.       "pool": {
  3687.         "type": "string"
  3688.       }
  3689.     },
  3690.     "permission": "admin"
  3691.   },
  3692.   "xosan.createSR": {
  3693.     "description": "create gluster VM",
  3694.     "params": {
  3695.       "brickSize": {
  3696.         "type": "number",
  3697.         "optional": true
  3698.       },
  3699.       "srs": {
  3700.         "type": "array",
  3701.         "items": {
  3702.           "type": "string"
  3703.         }
  3704.       },
  3705.       "template": {
  3706.         "type": "object"
  3707.       },
  3708.       "pif": {
  3709.         "type": "string"
  3710.       },
  3711.       "vlan": {
  3712.         "type": "string"
  3713.       },
  3714.       "glusterType": {
  3715.         "type": "string"
  3716.       },
  3717.       "redundancy": {
  3718.         "type": "number"
  3719.       },
  3720.       "memorySize": {
  3721.         "type": "number",
  3722.         "optional": true
  3723.       },
  3724.       "ipRange": {
  3725.         "type": "string",
  3726.         "optional": true
  3727.       }
  3728.     },
  3729.     "permission": "admin"
  3730.   },
  3731.   "xosan.addBricks": {
  3732.     "description": "add brick to XOSAN SR",
  3733.     "params": {
  3734.       "xosansr": {
  3735.         "type": "string"
  3736.       },
  3737.       "lvmsrs": {
  3738.         "type": "array",
  3739.         "items": {
  3740.           "type": "string"
  3741.         }
  3742.       },
  3743.       "brickSize": {
  3744.         "type": "number"
  3745.       }
  3746.     },
  3747.     "permission": "admin"
  3748.   },
  3749.   "xosan.removeBricks": {
  3750.     "description": "remove brick from XOSAN SR",
  3751.     "params": {
  3752.       "xosansr": {
  3753.         "type": "string"
  3754.       },
  3755.       "bricks": {
  3756.         "type": "array",
  3757.         "items": {
  3758.           "type": "string"
  3759.         }
  3760.       }
  3761.     },
  3762.     "permission": "admin"
  3763.   },
  3764.   "cloudConfig.getAll": {
  3765.     "description": "Gets all existing cloud configs templates",
  3766.     "params": {}
  3767.   },
  3768.   "cloudConfig.create": {
  3769.     "description": "Creates a new cloud config template",
  3770.     "params": {
  3771.       "name": {
  3772.         "type": "string"
  3773.       },
  3774.       "template": {
  3775.         "type": "string"
  3776.       }
  3777.     },
  3778.     "permission": "admin"
  3779.   },
  3780.   "cloudConfig.update": {
  3781.     "description": "Modifies an existing cloud config template",
  3782.     "params": {
  3783.       "id": {
  3784.         "type": "string"
  3785.       },
  3786.       "name": {
  3787.         "type": "string",
  3788.         "optional": true
  3789.       },
  3790.       "template": {
  3791.         "type": "string",
  3792.         "optional": true
  3793.       }
  3794.     },
  3795.     "permission": "admin"
  3796.   },
  3797.   "cloudConfig.delete": {
  3798.     "description": "Deletes an existing cloud config template",
  3799.     "params": {
  3800.       "id": {
  3801.         "type": "string"
  3802.       }
  3803.     },
  3804.     "permission": "admin"
  3805.   },
  3806.   "disk.exportContent": {
  3807.     "description": "export the content of a VDI",
  3808.     "params": {
  3809.       "id": {
  3810.         "type": "string"
  3811.       }
  3812.     }
  3813.   },
  3814.   "disk.importContent": {
  3815.     "description": "import contents into a VDI",
  3816.     "params": {
  3817.       "id": {
  3818.         "type": "string"
  3819.       }
  3820.     }
  3821.   },
  3822.   "disk.import": {
  3823.     "params": {
  3824.       "description": {
  3825.         "type": "string",
  3826.         "optional": true
  3827.       },
  3828.       "name": {
  3829.         "type": "string"
  3830.       },
  3831.       "sr": {
  3832.         "type": "string"
  3833.       },
  3834.       "type": {
  3835.         "type": "string"
  3836.       },
  3837.       "vmdkData": {
  3838.         "type": "object",
  3839.         "optional": true,
  3840.         "properties": {
  3841.           "capacity": {
  3842.             "type": "integer"
  3843.           },
  3844.           "grainLogicalAddressList": {
  3845.             "description": "virtual address of the blocks on the disk (LBA), in order encountered in the VMDK",
  3846.             "type": "array",
  3847.             "items": {
  3848.               "type": "integer"
  3849.             }
  3850.           },
  3851.           "grainFileOffsetList": {
  3852.             "description": "offset of the grains in the VMDK file, in order encountered in the VMDK",
  3853.             "optional": true,
  3854.             "type": "array",
  3855.             "items": {
  3856.               "type": "integer"
  3857.             }
  3858.           }
  3859.         }
  3860.       }
  3861.     }
  3862.   },
  3863.   "disk.create": {
  3864.     "description": "create a new disk on a SR",
  3865.     "params": {
  3866.       "name": {
  3867.         "type": "string"
  3868.       },
  3869.       "size": {
  3870.         "type": [
  3871.           "integer",
  3872.           "string"
  3873.         ]
  3874.       },
  3875.       "sr": {
  3876.         "type": "string"
  3877.       },
  3878.       "vm": {
  3879.         "type": "string",
  3880.         "optional": true
  3881.       },
  3882.       "bootable": {
  3883.         "type": "boolean",
  3884.         "optional": true
  3885.       },
  3886.       "mode": {
  3887.         "type": "string",
  3888.         "optional": true
  3889.       },
  3890.       "position": {
  3891.         "type": "string",
  3892.         "optional": true
  3893.       }
  3894.     }
  3895.   },
  3896.   "docker.register": {
  3897.     "description": "Register the VM for Docker management",
  3898.     "params": {
  3899.       "vm": {
  3900.         "type": "string"
  3901.       }
  3902.     }
  3903.   },
  3904.   "docker.deregister": {
  3905.     "description": "Deregister the VM for Docker management",
  3906.     "params": {
  3907.       "vm": {
  3908.         "type": "string"
  3909.       }
  3910.     }
  3911.   },
  3912.   "docker.start": {
  3913.     "params": {
  3914.       "vm": {
  3915.         "type": "string"
  3916.       },
  3917.       "container": {
  3918.         "type": "string"
  3919.       }
  3920.     }
  3921.   },
  3922.   "docker.stop": {
  3923.     "params": {
  3924.       "vm": {
  3925.         "type": "string"
  3926.       },
  3927.       "container": {
  3928.         "type": "string"
  3929.       }
  3930.     }
  3931.   },
  3932.   "docker.restart": {
  3933.     "params": {
  3934.       "vm": {
  3935.         "type": "string"
  3936.       },
  3937.       "container": {
  3938.         "type": "string"
  3939.       }
  3940.     }
  3941.   },
  3942.   "docker.pause": {
  3943.     "params": {
  3944.       "vm": {
  3945.         "type": "string"
  3946.       },
  3947.       "container": {
  3948.         "type": "string"
  3949.       }
  3950.     }
  3951.   },
  3952.   "docker.unpause": {
  3953.     "params": {
  3954.       "vm": {
  3955.         "type": "string"
  3956.       },
  3957.       "container": {
  3958.         "type": "string"
  3959.       }
  3960.     }
  3961.   }
  3962. }
  3963.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement