{ "name": "arc", "displayName": "%arc.displayName%", "description": "%arc.description%", "version": "0.3.0", "publisher": "Microsoft", "preview": true, "license": "https://raw.githubusercontent.com/Microsoft/azuredatastudio/main/LICENSE.txt", "icon": "images/extension.png", "engines": { "vscode": "*", "azdata": ">=1.21.0" }, "activationEvents": [ "onCommand:arc.connectToController", "onCommand:arc.createController", "onView:azureArc" ], "extensionDependencies": [ "Microsoft.azdata" ], "repository": { "type": "git", "url": "https://github.com/Microsoft/azuredatastudio.git" }, "forceReload": true, "main": "./out/extension", "contributes": { "dataExplorer": { "azureArc": [ { "id": "azureArc", "name": "%arc.view.title%" } ] }, "commands": [ { "command": "arc.openDashboard", "title": "%arc.openDashboard%" }, { "command": "arc.createController", "title": "%command.createController.title%", "icon": "$(add)" }, { "command": "arc.connectToController", "title": "%command.connectToController.title%", "icon": "$(disconnect)" }, { "command": "arc.removeController", "title": "%command.removeController.title%" }, { "command": "arc.refresh", "title": "%command.refresh.title%" }, { "command": "arc.editConnection", "title": "%command.editConnection.title%" } ], "menus": { "commandPalette": [ { "command": "arc.openDashboard", "when": "false" }, { "command": "arc.removeController", "when": "false" }, { "command": "arc.refresh", "when": "false" }, { "command": "arc.editConnection", "when": "false" } ], "view/title": [ { "command": "arc.createController", "when": "view == azureArc", "group": "navigation@1" }, { "command": "arc.connectToController", "when": "view == azureArc", "group": "navigation@2" } ], "view/item/context": [ { "command": "arc.openDashboard", "when": "view == azureArc && viewItem != postgresInstances", "group": "navigation@1" }, { "command": "arc.editConnection", "when": "view == azureArc && viewItem == dataControllers", "group": "navigation@2" }, { "command": "arc.refresh", "when": "view == azureArc && viewItem == dataControllers", "group": "navigation@3" }, { "command": "arc.removeController", "when": "view == azureArc && viewItem == dataControllers", "group": "navigation@4" } ] }, "viewsWelcome": [ { "view": "azureArc", "contents": "%arc.view.welcome.connect%", "when": "arc.loaded" }, { "view": "azureArc", "contents": "%arc.view.welcome.loading%", "when": "!arc.loaded" } ], "resourceDeploymentTypes": [ { "name": "arc.control.create", "displayName": "%resource.type.azure.arc.display.name%", "description": "%resource.type.azure.arc.description%", "platforms": "*", "icon": { "light": "./images/data_controller.svg", "dark": "./images/data_controller.svg" }, "providers": [ { "notebookWizard": { "notebook": "./notebooks/arcDeployment/deploy.arc.control.plane.ipynb", "type": "new-arc-control-plane", "runNotebook": false, "codeCellInsertionPosition": 5, "actionText": "%deploy.arc.control.plane.action%", "title": "%arc.control.plane.new.wizard.title%", "name": "arc.control.plane.new.wizard", "labelPosition": "left", "generateSummaryPage": false, "pages": [ { "title": "%arc.control.plane.select.cluster.title%", "sections": [ { "fields": [ { "type": "kube_cluster_context_picker", "label": "%arc.control.plane.kube.cluster.context%", "required": true, "inputWidth": "350px", "variableName": "AZDATA_NB_VAR_ARC_CLUSTER_CONTEXT", "configFileVariableName": "AZDATA_NB_VAR_ARC_CONFIG_FILE" } ] }, { "title": "%arc.control.plane.container.registry.title%", "fields": [ { "label": "%arc.control.plane.container.registry.name%", "variableName": "AZDATA_NB_VAR_ARC_DOCKER_USERNAME", "type": "text", "required": true, "defaultValue": "22cda7bb-2eb1-419e-a742-8710c313fe79", "enabled": true }, { "label": "%arc.control.plane.container.registry.password%", "variableName": "AZDATA_NB_VAR_ARC_DOCKER_PASSWORD", "type": "password", "userName": "docker", "confirmationRequired": false, "defaultValue": "", "required": true } ] } ] }, { "title": "%arc.control.plane.cluster.config.profile.title%", "sections": [ { "fields": [ { "type": "options", "label": "%arc.control.plane.cluster.config.profile%", "required": true, "variableName": "AZDATA_NB_VAR_ARC_PROFILE", "editable": false, "options": { "values": [ "azure-arc-ake", "azure-arc-aks-default-storage", "azure-arc-aks-premium-storage", "azure-arc-azure-openshift", "azure-arc-eks", "azure-arc-kubeadm", "azure-arc-openshift" ], "defaultValue": "azure-arc-aks-default-storage", "optionsType": "radio" } } ] } ] }, { "title": "%arc.control.plane.data.controller.create.title%", "sections": [ { "title": "%arc.control.plane.project.details.title%", "fields": [ { "type": "readonly_text", "label": "%arc.control.plane.project.details.description%", "labelWidth": "600px" }, { "type": "azure_account", "required": true, "subscriptionVariableName": "AZDATA_NB_VAR_ARC_SUBSCRIPTION", "displaySubscriptionVariableName": "AZDATA_NB_VAR_ARC_DISPLAY_SUBSCRIPTION", "resourceGroupVariableName": "AZDATA_NB_VAR_ARC_RESOURCE_GROUP" } ] }, { "title": "%arc.control.plane.data.controller.details.title%", "fields": [ { "type": "readonly_text", "label": "%arc.control.plane.data.controller.details.description%", "labelWidth": "600px" }, { "type": "text", "label": "%arc.control.plane.arc.data.controller.namespace%", "textValidationRequired": true, "textValidationRegex": "^[a-z0-9]([-a-z0-9]{0,11}[a-z0-9])?$", "textValidationDescription": "%arc.control.plane.arc.data.controller.namespace.validation.description%", "defaultValue": "arc", "required": true, "variableName": "AZDATA_NB_VAR_ARC_DATA_CONTROLLER_NAMESPACE" }, { "type": "text", "label": "%arc.control.plane.arc.data.controller.name%", "textValidationRequired": true, "textValidationRegex": "^[a-z0-9]([-a-z0-9]{0,11}[a-z0-9])?$", "textValidationDescription": "%arc.control.plane.arc.data.controller.name.validation.description%", "defaultValue": "arc-cp1", "required": true, "variableName": "AZDATA_NB_VAR_ARC_DATA_CONTROLLER_NAME" }, { "type": "azure_locations", "label": "%arc.control.plane.arc.data.controller.location%", "defaultValue": "eastus", "required": true, "locationVariableName": "AZDATA_NB_VAR_ARC_DATA_CONTROLLER_LOCATION", "displayLocationVariableName": "AZDATA_NB_VAR_ARC_DATA_CONTROLLER_DISPLAY_LOCATION", "locations": [ "eastus", "eastus2", "centralus", "westus2", "southeastasia", "westeurope" ] }, { "type": "options", "label": "%arc.control.plane.arc.data.controller.connectivity.mode%", "options": { "values": [ "Indirect", "Direct" ], "defaultValue": "Indirect", "optionsType": "radio" }, "enabled": false, "required": true, "variableName": "AZDATA_NB_VAR_ARC_DATA_CONTROLLER_CONNECTIVITY_MODE" } ] }, { "title": "%arc.control.plane.admin.account.title%", "fields": [ { "label": "%arc.control.plane.admin.account.name%", "variableName": "AZDATA_NB_VAR_ARC_ADMIN_USERNAME", "type": "text", "required": true, "defaultValue": "arcadmin", "enabled": true }, { "label": "%arc.control.plane.admin.account.password%", "variableName": "AZDATA_NB_VAR_ARC_ADMIN_PASSWORD", "type": "sql_password", "userName": "arcadmin", "confirmationRequired": true, "confirmationLabel": "%arc.control.plane.admin.account.confirm.password%", "defaultValue": "", "required": true } ] } ] }, { "title": "%arc.control.plane.data.controller.create.summary.title%", "isSummaryPage": true, "fieldHeight": "16px", "sections": [ { "title": "", "collapsible": false, "fieldWidth": "200px", "fieldHeight": "14px", "spaceBetweenFields": 0, "rows": [ { "items": [ { "items": [ { "label": "%arc.control.plane.summary.arc.data.controller%", "type": "readonly_text", "enabled": true, "labelWidth": "185px" } ] }, { "items": [ { "label": "%arc.control.plane.summary.estimated.cost.per.month%", "type": "readonly_text", "enabled": true, "labelWidth": "190px", "labelCSSStyles": { "fontWeight": "Bold" } } ] } ] }, { "items": [ { "items": [ { "label": "%arc.control.plane.summary.arc.by.microsoft%", "type": "readonly_text", "labelWidth": "185px" } ] }, { "items": [ { "label": "%arc.control.plane.summary.free%", "type": "readonly_text", "enabled": true, "defaultValue": "", "labelWidth": "100px" } ] } ] }, { "items": [ { "items": [ { "label": "{0}", "type": "readonly_text", "enabled": true, "labelWidth": "67px", "links": [ { "text": "%arc.control.plane.summary.arc.terms.of.use%", "url": "https://go.microsoft.com/fwlink/?linkid=2045708" } ] }, { "label": "|", "type": "readonly_text", "enabled": true, "defaultValue": "", "labelWidth": "4px", "fieldWidth": "6px" }, { "label": "{0}", "type": "readonly_text", "enabled": true, "labelWidth": "102px", "links": [ { "text": "%arc.control.plane.summary.arc.terms.privacy.policy%", "url": "https://go.microsoft.com/fwlink/?linkid=512132" } ] } ] } ] } ] }, { "title": "%arc.control.plane.summary.terms%", "fieldHeight": "88px", "fields": [ { "label": "%arc.control.plane.summary.terms.description%", "type": "readonly_text", "enabled": true, "labelWidth": "750px", "links": [ { "text": "%arc.control.plane.summary.terms.link.text%", "url": "https://go.microsoft.com/fwlink/?linkid=2045624" } ] } ] }, { "title": "%arc.control.plane.summary.kubernetes%", "fields": [ { "label": "%arc.control.plane.summary.kube.config.file.path%", "type": "readonly_text", "isEvaluated": true, "defaultValue": "$(AZDATA_NB_VAR_ARC_CONFIG_FILE)" }, { "label": "%arc.control.plane.summary.cluster.context%", "type": "readonly_text", "isEvaluated": true, "defaultValue": "$(AZDATA_NB_VAR_ARC_CLUSTER_CONTEXT)" }, { "label": "%arc.control.plane.summary.profile%", "type": "readonly_text", "isEvaluated": true, "defaultValue": "$(AZDATA_NB_VAR_ARC_PROFILE)" }, { "label": "%arc.control.plane.summary.username%", "type": "readonly_text", "isEvaluated": true, "defaultValue": "$(AZDATA_NB_VAR_ARC_ADMIN_USERNAME)" }, { "label": "%arc.control.plane.summary.docker.username%", "type": "readonly_text", "isEvaluated": true, "defaultValue": "$(AZDATA_NB_VAR_ARC_DOCKER_USERNAME)" } ] }, { "title": "%arc.control.plane.summary.azure%", "fields": [ { "label": "%arc.control.plane.summary.data.controller.namespace%", "type": "readonly_text", "isEvaluated": true, "defaultValue": "$(AZDATA_NB_VAR_ARC_DATA_CONTROLLER_NAMESPACE)" }, { "label": "%arc.control.plane.summary.data.controller.name%", "type": "readonly_text", "isEvaluated": true, "defaultValue": "$(AZDATA_NB_VAR_ARC_DATA_CONTROLLER_NAME)" }, { "label": "%arc.control.plane.summary.data.controller.connectivity.mode%", "type": "readonly_text", "isEvaluated": true, "defaultValue": "$(AZDATA_NB_VAR_ARC_DATA_CONTROLLER_CONNECTIVITY_MODE)" }, { "label": "%arc.control.plane.summary.subscription%", "type": "readonly_text", "isEvaluated": true, "defaultValue": "$(AZDATA_NB_VAR_ARC_DISPLAY_SUBSCRIPTION)", "inputWidth": "600" }, { "label": "%arc.control.plane.summary.resource.group%", "type": "readonly_text", "isEvaluated": true, "defaultValue": "$(AZDATA_NB_VAR_ARC_RESOURCE_GROUP)" }, { "label": "%arc.control.plane.summary.location%", "type": "readonly_text", "isEvaluated": true, "defaultValue": "$(AZDATA_NB_VAR_ARC_DATA_CONTROLLER_DISPLAY_LOCATION)" } ] } ] } ] }, "requiredTools": [ { "name": "kubectl" }, { "name": "azdata", "version": "20.1.0" } ], "when": true } ], "agreement": { "template": "%arc.control.plane.arc.data.controller.agreement%", "links": [ { "text": "%microsoft.agreement.privacy.statement%", "url": "https://go.microsoft.com/fwlink/?LinkId=853010" }, { "text": "%arc.agreement.azdata.eula%", "url": "https://aka.ms/eula-azdata-en" } ] } }, { "name": "arc.sql", "displayName": "%resource.type.arc.sql.display.name%", "description": "%resource.type.arc.sql.description%", "platforms": "*", "icon": { "light": "./images/miaa.svg", "dark": "./images/miaa.svg" }, "options": [ { "name": "resourceType", "displayName": "%resource.type.picker.display.name%", "values": [ { "name": "sql.managed.instance", "displayName": "%sql.managed.instance.display.name%" } ] } ], "providers": [ { "dialog": { "notebook": "./notebooks/arcDeployment/deploy.sql.existing.arc.ipynb", "runNotebook": true, "taskName": "%arc.sql.new.dialog.title%", "actionText": "%arc.deploy.action%", "title": "%arc.sql.new.dialog.title%", "name": "arc.sql.new.dialog", "tabs": [ { "title": "", "sections": [ { "title": "%arc.sql.settings.section.title%", "fields": [ { "label": "%arc.sql.instance.name%", "variableName": "AZDATA_NB_VAR_SQL_INSTANCE_NAME", "type": "text", "defaultValue": "sqlinstance1", "required": true, "labelWidth": "100%" }, { "label": "%arc.sql.username%", "variableName": "AZDATA_NB_VAR_SQL_USERNAME", "type": "text", "defaultValue": "sa", "enabled": false }, { "label": "%arc.password%", "variableName": "AZDATA_NB_VAR_SQL_PASSWORD", "type": "sql_password", "userName": "sa", "confirmationRequired": true, "confirmationLabel": "%arc.confirm.password%", "defaultValue": "", "required": true }, { "label": "%arc.sql.storage-class.data.label%", "description": "%arc.sql.storage-class.data.description%", "variableName": "AZDATA_NB_VAR_SQL_STORAGE_CLASS_DATA", "type": "kube_storage_class", "required": true }, { "label": "%arc.sql.storage-class.logs.label%", "description": "%arc.sql.storage-class.logs.description%", "variableName": "AZDATA_NB_VAR_SQL_STORAGE_CLASS_LOGS", "type": "kube_storage_class", "required": true } ] } ] } ] }, "requiredTools": [ { "name": "kubectl" }, { "name": "azdata", "version": "20.1.0" } ], "when": "resourceType=sql.managed.instance" } ], "agreement": { "template": "%arc.agreement%", "links": [ { "text": "%microsoft.agreement.privacy.statement%", "url": "https://go.microsoft.com/fwlink/?LinkId=853010" }, { "text": "%arc.agreement.sql.terms.conditions%", "url": "https://go.microsoft.com/fwlink/?linkid=2045708" }, { "text": "%arc.agreement.azdata.eula%", "url": "https://aka.ms/eula-azdata-en" } ] } }, { "name": "arc.postgres", "displayName": "%resource.type.arc.postgres.display.name%", "description": "%resource.type.arc.postgres.description%", "platforms": "*", "icon": { "light": "./images/postgres.svg", "dark": "./images/postgres.svg" }, "options": [ { "name": "resourceType", "displayName": "%resource.type.picker.display.name%", "values": [ { "name": "postgres", "displayName": "%postgres.server.group.display.name%" } ] } ], "providers": [ { "dialog": { "notebook": "./notebooks/arcDeployment/deploy.postgres.existing.arc.ipynb", "runNotebook": true, "taskName": "%arc.postgres.new.dialog.title%", "actionText": "%arc.deploy.action%", "title": "%arc.postgres.new.dialog.title%", "name": "arc.postgres.new.dialog", "tabs": [ { "title": "", "sections": [ { "title": "%arc.postgres.settings.section.title%", "fields": [ { "label": "%arc.postgres.server.group.name%", "variableName": "AZDATA_NB_VAR_POSTGRES_SERVER_GROUP_NAME", "type": "text", "textValidationRequired": true, "textValidationRegex": "^[a-z]([-a-z0-9]{0,8}[a-z0-9])?$", "textValidationDescription": "%arc.postgres.server.group.name.validation.description%", "defaultValue": "postgres1", "required": true }, { "label": "%arc.password%", "variableName": "AZDATA_NB_VAR_POSTGRES_SERVER_GROUP_PASSWORD", "type": "password", "confirmationRequired": true, "confirmationLabel": "%arc.confirm.password%", "defaultValue": "", "required": true }, { "label": "%arc.postgres.server.group.workers%", "variableName": "AZDATA_NB_VAR_POSTGRES_SERVER_GROUP_WORKERS", "type": "number", "defaultValue": "1", "min": 1 }, { "label": "%arc.postgres.server.group.port%", "variableName": "AZDATA_NB_VAR_POSTGRES_SERVER_GROUP_PORT", "type": "number", "defaultValue": "5432", "min": 1, "max": 65535 } ] }, { "title": "%arc.postgres.settings.scheduling.title%", "fields": [ { "label": "%arc.postgres.server.group.cores.request%", "variableName": "AZDATA_NB_VAR_POSTGRES_SERVER_GROUP_CORES_REQUEST", "type": "number", "min": 0 }, { "label": "%arc.postgres.server.group.cores.limit%", "variableName": "AZDATA_NB_VAR_POSTGRES_SERVER_GROUP_CORES_LIMIT", "type": "number", "min": 0 }, { "label": "%arc.postgres.server.group.memory.request%", "variableName": "AZDATA_NB_VAR_POSTGRES_SERVER_GROUP_MEMORY_REQUEST", "type": "number", "min": 0 }, { "label": "%arc.postgres.server.group.memory.limit%", "variableName": "AZDATA_NB_VAR_POSTGRES_SERVER_GROUP_MEMORY_LIMIT", "type": "number", "min": 0 } ] } ] } ] }, "requiredTools": [ { "name": "azure-cli" }, { "name": "azdata", "version": "20.1.0" } ], "when": "resourceType=postgres" } ], "agreement": { "template": "%arc.agreement%", "links": [ { "text": "%microsoft.agreement.privacy.statement%", "url": "https://go.microsoft.com/fwlink/?LinkId=853010" }, { "text": "%arc.agreement.postgres.terms.conditions%", "url": "https://go.microsoft.com/fwlink/?linkid=2045708" }, { "text": "%arc.agreement.azdata.eula%", "url": "https://aka.ms/eula-azdata-en" } ] } } ] }, "dependencies": { "request": "^2.88.0", "uuid": "^8.3.0", "vscode-nls": "^4.1.2" }, "devDependencies": { "@types/mocha": "^5.2.5", "@types/node": "^12.11.7", "@types/request": "^2.48.3", "@types/sinon": "^9.0.4", "@types/uuid": "^8.3.0", "mocha": "^5.2.0", "mocha-junit-reporter": "^1.17.0", "mocha-multi-reporters": "^1.1.7", "should": "^13.2.3", "sinon": "^9.0.2", "typemoq": "2.1.0", "vscodetestcover": "^1.1.0" } }