diff --git a/samples/sample-resource-deployment/images/book.svg b/samples/sample-resource-deployment/images/book.svg
new file mode 100644
index 0000000000..bae52cfcc8
--- /dev/null
+++ b/samples/sample-resource-deployment/images/book.svg
@@ -0,0 +1,7 @@
+
diff --git a/samples/sample-resource-deployment/images/book_inverse.svg b/samples/sample-resource-deployment/images/book_inverse.svg
new file mode 100644
index 0000000000..464b3d228b
--- /dev/null
+++ b/samples/sample-resource-deployment/images/book_inverse.svg
@@ -0,0 +1,11 @@
+
diff --git a/samples/sample-resource-deployment/images/sqlserver.png b/samples/sample-resource-deployment/images/sqlserver.png
new file mode 100644
index 0000000000..d884faa14a
Binary files /dev/null and b/samples/sample-resource-deployment/images/sqlserver.png differ
diff --git a/samples/sample-resource-deployment/notebooks/deploy-x-data-service-1.ipynb b/samples/sample-resource-deployment/notebooks/deploy-x-data-service-1.ipynb
new file mode 100644
index 0000000000..1fd6a3753b
--- /dev/null
+++ b/samples/sample-resource-deployment/notebooks/deploy-x-data-service-1.ipynb
@@ -0,0 +1,48 @@
+{
+ "metadata": {
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ },
+ "language_info": {
+ "name": "python",
+ "version": "3.7.3",
+ "mimetype": "text/x-python",
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "pygments_lexer": "ipython3",
+ "nbconvert_exporter": "python",
+ "file_extension": ".py"
+ }
+ },
+ "nbformat_minor": 2,
+ "nbformat": 4,
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Deploy x data service"
+ ],
+ "metadata": {
+ "azdata_cell_guid": "23954d96-3932-4a8e-ab73-da605f99b1a4"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "import os;\n",
+ "print('Welcome')\n",
+ "print(os.environ[\"AZDATA_NB_VAR_TEXT\"])\n",
+ "print(os.environ[\"AZDATA_NB_VAR_PASSWORD\"])\n",
+ "print(os.environ[\"AZDATA_NB_VAR_NUMBER\"])"
+ ],
+ "metadata": {
+ "azdata_cell_guid": "26fa8bc4-4b8e-4c31-ae11-50484821cea8"
+ },
+ "outputs": [],
+ "execution_count": 2
+ }
+ ]
+}
\ No newline at end of file
diff --git a/samples/sample-resource-deployment/notebooks/deploy-x-data-service-2.ipynb b/samples/sample-resource-deployment/notebooks/deploy-x-data-service-2.ipynb
new file mode 100644
index 0000000000..1fd6a3753b
--- /dev/null
+++ b/samples/sample-resource-deployment/notebooks/deploy-x-data-service-2.ipynb
@@ -0,0 +1,48 @@
+{
+ "metadata": {
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ },
+ "language_info": {
+ "name": "python",
+ "version": "3.7.3",
+ "mimetype": "text/x-python",
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "pygments_lexer": "ipython3",
+ "nbconvert_exporter": "python",
+ "file_extension": ".py"
+ }
+ },
+ "nbformat_minor": 2,
+ "nbformat": 4,
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Deploy x data service"
+ ],
+ "metadata": {
+ "azdata_cell_guid": "23954d96-3932-4a8e-ab73-da605f99b1a4"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "import os;\n",
+ "print('Welcome')\n",
+ "print(os.environ[\"AZDATA_NB_VAR_TEXT\"])\n",
+ "print(os.environ[\"AZDATA_NB_VAR_PASSWORD\"])\n",
+ "print(os.environ[\"AZDATA_NB_VAR_NUMBER\"])"
+ ],
+ "metadata": {
+ "azdata_cell_guid": "26fa8bc4-4b8e-4c31-ae11-50484821cea8"
+ },
+ "outputs": [],
+ "execution_count": 2
+ }
+ ]
+}
\ No newline at end of file
diff --git a/samples/sample-resource-deployment/package.json b/samples/sample-resource-deployment/package.json
new file mode 100644
index 0000000000..aaa443feb7
--- /dev/null
+++ b/samples/sample-resource-deployment/package.json
@@ -0,0 +1,173 @@
+{
+ "name": "sample-resource-deployment",
+ "displayName": "%extension-displayName%",
+ "description": "%extension-description%",
+ "version": "0.0.1",
+ "publisher": "Contoso",
+ "preview": true,
+ "license": "https://raw.githubusercontent.com/Microsoft/azuredatastudio/master/LICENSE.txt",
+ "icon": "images/sqlserver.png",
+ "aiKey": "AIF-444c3af9-8e69-4462-ab49-4191e6ad1916",
+ "engines": {
+ "vscode": "*",
+ "azdata": ">1.10.0"
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/Microsoft/azuredatastudio.git"
+ },
+ "extensionDependencies": [
+ "microsoft.mssql",
+ "microsoft.notebook",
+ "microsoft.resource-deployment"
+ ],
+ "contributes": {
+ "resourceDeploymentTypes": [
+ {
+ "name": "x-data-service",
+ "displayName": "%resource-type-display-name%",
+ "description": "%resource-type-description%",
+ "platforms": [
+ "darwin",
+ "win32",
+ "linux"
+ ],
+ "icon": {
+ "light": "./images/book.svg",
+ "dark": "./images/book_inverse.svg"
+ },
+ "options": [
+ {
+ "name": "edition",
+ "displayName": "%option-display-name%",
+ "values": [
+ {
+ "name": "evaluation",
+ "displayName": "%option-value-name-1%"
+ },
+ {
+ "name": "standard",
+ "displayName": "%option-value-name-2%"
+ }
+ ]
+ }
+ ],
+ "providers": [
+ {
+ "dialog": {
+ "notebook": "%deployment-notebook-1%",
+ "title": "%dialog-title-1%",
+ "name": "dialog1",
+ "tabs": [
+ {
+ "title": "",
+ "sections": [
+ {
+ "title": "",
+ "fields": [
+ {
+ "label": "%text-field%",
+ "variableName": "AZDATA_NB_VAR_TEXT",
+ "type": "text",
+ "defaultValue": "abc",
+ "required": true
+ },
+ {
+ "label": "%password-field%",
+ "variableName": "AZDATA_NB_VAR_PASSWORD",
+ "type": "password",
+ "confirmationRequired": true,
+ "confirmationLabel": "%confirm-password%",
+ "defaultValue": "",
+ "required": true
+ },
+ {
+ "label": "%number-field%",
+ "variableName": "AZDATA_NB_VAR_NUMBER",
+ "type": "number",
+ "defaultValue": "100",
+ "required": true,
+ "min": 1,
+ "max": 65535
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "requiredTools": [
+ {
+ "name": "kubectl"
+ }
+ ],
+ "when": "edition=evaluation"
+ },
+ {
+ "dialog": {
+ "notebook": "%deployment-notebook-2%",
+ "title": "%dialog-title-2%",
+ "name": "dialog2",
+ "tabs": [
+ {
+ "title": "",
+ "sections": [
+ {
+ "title": "",
+ "fields": [
+ {
+ "label": "%text-field%",
+ "variableName": "AZDATA_NB_VAR_TEXT",
+ "type": "text",
+ "defaultValue": "abc",
+ "required": true
+ },
+ {
+ "label": "%password-field%",
+ "variableName": "AZDATA_NB_VAR_PASSWORD",
+ "type": "password",
+ "confirmationRequired": true,
+ "confirmationLabel": "%confirm-password%",
+ "defaultValue": "",
+ "required": true
+ },
+ {
+ "label": "%number-field%",
+ "variableName": "AZDATA_NB_VAR_NUMBER",
+ "type": "number",
+ "defaultValue": "100",
+ "required": true,
+ "min": 1,
+ "max": 65535
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "requiredTools": [
+ {
+ "name": "docker"
+ }
+ ],
+ "when": "edition=standard"
+ }
+ ],
+ "agreement": {
+ "template": "%agreement%",
+ "links": [
+ {
+ "text": "%agreement-1-name%",
+ "url": "https://www.microsoft.com"
+ },
+ {
+ "text": "%agreement-2-name%",
+ "url": "https://portal.azure.com"
+ }
+ ]
+ }
+ }
+ ]
+ }
+}
diff --git a/samples/sample-resource-deployment/package.nls.json b/samples/sample-resource-deployment/package.nls.json
new file mode 100644
index 0000000000..fce5465b73
--- /dev/null
+++ b/samples/sample-resource-deployment/package.nls.json
@@ -0,0 +1,20 @@
+{
+ "extension-displayName": "Sample resource deployment extension for Azure Data Studio",
+ "extension-description": "You can contribute a resource deployment type without any coding",
+ "resource-type-display-name": "X Data Service",
+ "resource-type-description": "X Data Service provides a full set of features...",
+ "option-display-name": "Edition",
+ "option-value-name-1": "Evaluation",
+ "option-value-name-2": "Standard",
+ "dialog-title-1": "Start Evaluation of X Data Service",
+ "dialog-title-2": "Deploy X Data Service",
+ "deployment-notebook-1": "./notebooks/deploy-x-data-service-1.ipynb",
+ "deployment-notebook-2": "./notebooks/deploy-x-data-service-2.ipynb",
+ "text-field": "text field",
+ "password-field": "password field",
+ "number-field": "numeric field",
+ "confirm-password": "confirm password",
+ "agreement": "I accept {0} and {1}.",
+ "agreement-1-name": "Agreement 1",
+ "agreement-2-name": "Agreement 2"
+}