blob: 90100518d7790271d499d123dc1d72d400603f89 [file] [log] [blame]
"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6426],{3905:function(e,n,t){t.d(n,{Zo:function(){return u},kt:function(){return s}});var a=t(7294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function l(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function p(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?l(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function i(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},l=Object.keys(e);for(a=0;a<l.length;a++)t=l[a],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)t=l[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var o=a.createContext({}),m=function(e){var n=a.useContext(o),t=n;return e&&(t="function"==typeof e?e(n):p(p({},n),e)),t},u=function(e){var n=m(e.components);return a.createElement(o.Provider,{value:n},e.children)},d={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},c=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,l=e.originalType,o=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),c=m(t),s=r,k=c["".concat(o,".").concat(s)]||c[s]||d[s]||l;return t?a.createElement(k,p(p({ref:n},u),{},{components:t})):a.createElement(k,p({ref:n},u))}));function s(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var l=t.length,p=new Array(l);p[0]=c;var i={};for(var o in n)hasOwnProperty.call(n,o)&&(i[o]=n[o]);i.originalType=e,i.mdxType="string"==typeof e?e:r,p[1]=i;for(var m=2;m<l;m++)p[m]=t[m];return a.createElement.apply(null,p)}return a.createElement.apply(null,t)}c.displayName="MDXCreateElement"},709:function(e,n,t){t.r(n),t.d(n,{assets:function(){return u},contentTitle:function(){return o},default:function(){return s},frontMatter:function(){return i},metadata:function(){return m},toc:function(){return d}});var a=t(7462),r=t(3366),l=(t(7294),t(3905)),p=["components"],i={title:"Environment REST API"},o=void 0,m={unversionedId:"userDocs/api/environment",id:"version-0.6.0/userDocs/api/environment",title:"Environment REST API",description:"\x3c!--",source:"@site/versioned_docs/version-0.6.0/userDocs/api/environment.md",sourceDirName:"userDocs/api",slug:"/userDocs/api/environment",permalink:"/docs/0.6.0/userDocs/api/environment",editUrl:"https://github.com/apache/submarine/edit/master/website/versioned_docs/version-0.6.0/userDocs/api/environment.md",tags:[],version:"0.6.0",frontMatter:{title:"Environment REST API"},sidebar:"docs",previous:{title:"Experiment REST API",permalink:"/docs/0.6.0/userDocs/api/experiment"},next:{title:"Experiment Template REST API",permalink:"/docs/0.6.0/userDocs/api/experiment-template"}},u={},d=[{value:"Create Environment",id:"create-environment",level:2},{value:"Parameters",id:"parameters",level:3},{value:"<strong>EnvironmentSpec</strong>",id:"environmentspec",level:4},{value:"<strong>KernelSpec</strong>",id:"kernelspec",level:4},{value:"Code Example",id:"code-example",level:3},{value:"List Environment",id:"list-environment",level:2},{value:"Code Example",id:"code-example-1",level:3},{value:"Get Environment",id:"get-environment",level:2},{value:"Parameters",id:"parameters-1",level:3},{value:"Code Example",id:"code-example-2",level:3},{value:"Patch Environment",id:"patch-environment",level:2},{value:"Parameters",id:"parameters-2",level:3},{value:"Code Example",id:"code-example-3",level:3},{value:"Delete Environment",id:"delete-environment",level:3},{value:"Parameters",id:"parameters-3",level:3},{value:"Code Example",id:"code-example-4",level:3}],c={toc:d};function s(e){var n=e.components,t=(0,r.Z)(e,p);return(0,l.kt)("wrapper",(0,a.Z)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,l.kt)("h2",{id:"create-environment"},"Create Environment"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},"POST /api/v1/environment\n")),(0,l.kt)("h3",{id:"parameters"},"Parameters"),(0,l.kt)("p",null,"Put EnvironmentSpec in request body."),(0,l.kt)("h4",{id:"environmentspec"},(0,l.kt)("strong",{parentName:"h4"},"EnvironmentSpec")),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Field Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"name"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"Environment name.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"dockerImage"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"Docker image name.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"kernelSpec"),(0,l.kt)("td",{parentName:"tr",align:null},"KernelSpec"),(0,l.kt)("td",{parentName:"tr",align:null},"Environment spec.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"description"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"Description of environment.")))),(0,l.kt)("h4",{id:"kernelspec"},(0,l.kt)("strong",{parentName:"h4"},"KernelSpec")),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Field Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"name"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"Kernel name.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"channels"),(0,l.kt)("td",{parentName:"tr",align:null},"List<String",">"),(0,l.kt)("td",{parentName:"tr",align:null},"Names of the channels.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"condaDependencies"),(0,l.kt)("td",{parentName:"tr",align:null},"List<String",">"),(0,l.kt)("td",{parentName:"tr",align:null},"List of kernel conda dependencies.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"pipDependencies"),(0,l.kt)("td",{parentName:"tr",align:null},"List<String",">"),(0,l.kt)("td",{parentName:"tr",align:null},"List of kernel pip dependencies.")))),(0,l.kt)("h3",{id:"code-example"},"Code Example"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"shell")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-sh"},'curl -X POST -H "Content-Type: application/json" -d \'\n{\n "name": "my-submarine-env",\n "dockerImage" : "continuumio/anaconda3",\n "kernelSpec" : {\n "name" : "team_default_python_3.7",\n "channels" : ["defaults"],\n "condaDependencies" :\n ["_ipyw_jlab_nb_ext_conf=0.1.0=py37_0",\n "alabaster=0.7.12=py37_0",\n "anaconda=2020.02=py37_0",\n "anaconda-client=1.7.2=py37_0",\n "anaconda-navigator=1.9.12=py37_0"],\n "pipDependencies" :\n ["apache-submarine==0.6.0",\n "pyarrow==0.17.0"]\n }\n}\n\' http://127.0.0.1:32080/api/v1/environment\n')),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"response")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-json"},'{\n "status":"OK",\n "code":200,\n "success":true,\n "message":null,\n "result":{\n "environmentId":"environment_1646619331994_0001",\n "environmentSpec":{\n "name":"my-submarine-env",\n "dockerImage":"continuumio/anaconda3",\n "kernelSpec":{\n "name":"team_default_python_3.7",\n "channels":[\n "defaults"\n ],\n "condaDependencies":[\n "_ipyw_jlab_nb_ext_conf\\u003d0.1.0\\u003dpy37_0",\n "alabaster\\u003d0.7.12\\u003dpy37_0",\n "anaconda\\u003d2020.02\\u003dpy37_0",\n "anaconda-client\\u003d1.7.2\\u003dpy37_0",\n "anaconda-navigator\\u003d1.9.12\\u003dpy37_0"\n ],\n "pipDependencies":[\n "apache-submarine\\u003d\\u003d0.6.0",\n "pyarrow\\u003d\\u003d0.17.0"\n ]\n },\n "description":null,\n "image":null\n }\n },\n "attributes":{}\n}\n')),(0,l.kt)("h2",{id:"list-environment"},"List Environment"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},"GET /api/v1/environment\n")),(0,l.kt)("h3",{id:"code-example-1"},"Code Example"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"shell")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-sh"},"curl -X GET http://127.0.0.1:32080/api/v1/environment\n")),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"response")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-json"},'{\n "status":"OK",\n "code":200,\n "success":true,\n "message":null,\n "result":[\n {\n "environmentId":"environment_1600862964725_0002",\n "environmentSpec":{\n "name":"notebook-gpu-env",\n "dockerImage":"apache/submarine:jupyter-notebook-gpu-0.6.0",\n "kernelSpec":{\n "name":"submarine_jupyter_py3",\n "channels":["defaults"],\n "condaDependencies":[],\n "pipDependencies":[]\n },\n "description":null,\n "image":null\n }\n },\n {\n "environmentId":"environment_1626160071451_0001",\n "environmentSpec":{\n "name":"my-submarine-env",\n "dockerImage":"continuumio/anaconda3",\n "kernelSpec":{\n "name":"team_default_python_3.7",\n "channels":["defaults"],\n "condaDependencies":\n ["_ipyw_jlab_nb_ext_conf\\u003d0.1.0\\u003dpy37_0",\n "alabaster\\u003d0.7.12\\u003dpy37_0",\n "anaconda\\u003d2020.02\\u003dpy37_0",\n "anaconda-client\\u003d1.7.2\\u003dpy37_0",\n "anaconda-navigator\\u003d1.9.12\\u003dpy37_0"],\n "pipDependencies":\n ["apache-submarine\\u003d\\u003d0.5.0",\n "pyarrow\\u003d\\u003d0.17.0"]\n },\n "description":null,\n "image":null\n }\n },\n {\n "environmentId":"environment_1600862964725_0001",\n "environmentSpec":{\n "name":"notebook-env",\n "dockerImage":"apache/submarine:jupyter-notebook-0.6.0",\n "kernelSpec":{\n "name":"submarine_jupyter_py3",\n "channels":["defaults"],\n "condaDependencies":[],\n "pipDependencies":[]\n },\n "description":null,\n "image":null\n }\n }\n ],\n "attributes":{}\n}\n')),(0,l.kt)("h2",{id:"get-environment"},"Get Environment"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},"GET /api/v1/environment/{name}\n")),(0,l.kt)("h3",{id:"parameters-1"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Field Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"In"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"name"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"path"),(0,l.kt)("td",{parentName:"tr",align:null},"Environment name.")))),(0,l.kt)("h3",{id:"code-example-2"},"Code Example"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"shell")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-sh"},"curl -X GET http://127.0.0.1:32080/api/v1/environment/my-submarine-env\n")),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"response")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-json"},'{\n "status":"OK",\n "code":200,\n "success":true,\n "message":null,\n "result":{\n "environmentId":"environment_1626160071451_0001",\n "environmentSpec":{\n "name":"my-submarine-env",\n "dockerImage":"continuumio/anaconda3",\n "kernelSpec":{\n "name":"team_default_python_3.7",\n "channels":["defaults"],\n "condaDependencies":\n ["_ipyw_jlab_nb_ext_conf\\u003d0.1.0\\u003dpy37_0",\n "alabaster\\u003d0.7.12\\u003dpy37_0",\n "anaconda\\u003d2020.02\\u003dpy37_0",\n "anaconda-client\\u003d1.7.2\\u003dpy37_0",\n "anaconda-navigator\\u003d1.9.12\\u003dpy37_0"],\n "pipDependencies":\n ["apache-submarine\\u003d\\u003d0.5.0",\n "pyarrow\\u003d\\u003d0.17.0"]\n },\n "description":null,\n "image":null\n }\n },\n "attributes":{}\n}\n')),(0,l.kt)("h2",{id:"patch-environment"},"Patch Environment"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},"PATCH /api/v1/environment/{name}\n")),(0,l.kt)("h3",{id:"parameters-2"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Field Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"In"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"name"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"path and body"),(0,l.kt)("td",{parentName:"tr",align:null},"Environment name.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"dockerImage"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"body"),(0,l.kt)("td",{parentName:"tr",align:null},"Docker image name.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"kernelSpec"),(0,l.kt)("td",{parentName:"tr",align:null},"KernelSpec"),(0,l.kt)("td",{parentName:"tr",align:null},"body"),(0,l.kt)("td",{parentName:"tr",align:null},"Environment spec.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"description"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"body"),(0,l.kt)("td",{parentName:"tr",align:null},"Description of environment. This field is optional.")))),(0,l.kt)("h3",{id:"code-example-3"},"Code Example"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"shell")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-sh"},'curl -X PATCH -H "Content-Type: application/json" -d \'\n{\n "name": "my-submarine-env",\n "dockerImage" : "continuumio/anaconda3",\n "kernelSpec" : {\n "name" : "team_default_python_3.7_updated",\n "channels" : ["defaults"],\n "condaDependencies" :\n ["_ipyw_jlab_nb_ext_conf=0.1.0=py37_0",\n "alabaster=0.7.12=py37_0"],\n "pipDependencies" :\n []\n }\n}\n\' http://127.0.0.1:32080/api/v1/environment/my-submarine-env\n')),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"response")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-json"},'{\n "status":"OK",\n "code":200,\n "success":true,\n "message":null,\n "result":{\n "environmentId":"environment_1626160071451_0003",\n "environmentSpec":{\n "name":"my-submarine-env",\n "dockerImage":"continuumio/anaconda3",\n "kernelSpec":{\n "name":"team_default_python_3.7_updated",\n "channels":["defaults"],\n "condaDependencies":\n ["_ipyw_jlab_nb_ext_conf\\u003d0.1.0\\u003dpy37_0",\n "alabaster\\u003d0.7.12\\u003dpy37_0"],\n "pipDependencies":[]\n },\n "description":null,\n "image":null\n }\n },\n "attributes":{}\n}\n')),(0,l.kt)("h3",{id:"delete-environment"},"Delete Environment"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},"DELETE /api/v1/environment/{name}\n")),(0,l.kt)("h3",{id:"parameters-3"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Field Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"In"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"name"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"path"),(0,l.kt)("td",{parentName:"tr",align:null},"Environment name.")))),(0,l.kt)("h3",{id:"code-example-4"},"Code Example"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"shell")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-sh"},"curl -X DELETE http://127.0.0.1:32080/api/v1/environment/my-submarine-env\n")),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"response")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-json"},'{\n "status":"OK",\n "code":200,\n "success":true,\n "message":null,\n "result":{\n "environmentId":"environment_1626160071451_0001",\n "environmentSpec":{\n "name":"my-submarine-env",\n "dockerImage":"continuumio/anaconda3",\n "kernelSpec":{\n "name":"team_default_python_3.7",\n "channels":["defaults"],\n "condaDependencies":\n ["_ipyw_jlab_nb_ext_conf\\u003d0.1.0\\u003dpy37_0",\n "alabaster\\u003d0.7.12\\u003dpy37_0",\n "anaconda\\u003d2020.02\\u003dpy37_0",\n "anaconda-client\\u003d1.7.2\\u003dpy37_0",\n "anaconda-navigator\\u003d1.9.12\\u003dpy37_0"],\n "pipDependencies":\n ["apache-submarine\\u003d\\u003d0.5.0",\n "pyarrow\\u003d\\u003d0.17.0"]\n },\n "description":null,\n "image":null\n }\n },"attributes":{}\n}\n')))}s.isMDXComponent=!0}}]);