diff --git a/extensions/arc/package.json b/extensions/arc/package.json index 0051405ff5..b6d6be6875 100644 --- a/extensions/arc/package.json +++ b/extensions/arc/package.json @@ -694,6 +694,630 @@ } ] }, + { + "name": "arc-sql", + "displayName": "%resource.type.arc.sql.display.name%", + "description": "%resource.type.arc.sql.description%", + "platforms": "*", + "icon": "./images/miaa.svg", + "tags": [ + "Hybrid", + "SQL Server" + ], + "providers": [ + { + "name": "arc-sql", + "notebookWizard": { + "notebook": "./notebooks/arcDeployment/deploy.sql.existing.arc.ipynb", + "doneAction": { + "label": "%deploy.done.action%" + }, + "scriptAction": { + "label": "%deploy.script.action%" + }, + "codeCellInsertionPosition": 5, + "title": "%arc.sql.wizard.title%", + "name": "arc.sql.wizard", + "labelPosition": "left", + "generateSummaryPage": false, + "pages": [ + { + "title": "%arc.sql.wizard.page1.title%", + "labelWidth": "205px", + "inputWidth": "280px", + "sections": [ + { + "title": "%arc.sql.connection.settings.section.title%", + "fields": [ + { + "label": "%arc.controller%", + "variableName": "CONTROLLER_NAME", + "type": "options", + "editable": false, + "required": true, + "options": { + "source": { + "providerId": "arc.controllers", + "variableNames": { + "namespace": "AZDATA_NB_VAR_ARC_DATA_CONTROLLER_NAMESPACE", + "kubeConfig": "AZDATA_NB_VAR_CONTROLLER_KUBECONFIG", + "clusterContext": "AZDATA_NB_VAR_CONTROLLER_KUBECTL_CONTEXT", + "resourceGroup": "AZDATA_NB_VAR_ARC_DATA_CONTROLLER_RESOURCE_GROUP", + "connectionMode": "AZDATA_NB_VAR_ARC_DATA_CONTROLLER_CONNECTIVITY_MODE", + "location": "AZDATA_NB_VAR_ARC_DATA_CONTROLLER_LOCATION", + "customLocation": "AZDATA_NB_VAR_ARC_DATA_CONTROLLER_CUSTOM_LOCATION" + } + }, + "optionsType": "dropdown" + } + }, + { + "label": "%arc.sql.instance.name%", + "variableName": "AZDATA_NB_VAR_SQL_INSTANCE_NAME", + "type": "text", + "defaultValue": "sqlinstance1", + "required": true, + "validations": [ + { + "type": "regex_match", + "regex": "^[a-z]([-a-z0-9]{0,11}[a-z0-9])?$", + "description": "%arc.sql.invalid.instance.name%" + } + ] + }, + { + "label": "%arc.sql.username%", + "variableName": "AZDATA_NB_VAR_SQL_USERNAME", + "type": "text", + "required": true, + "validations": [ + { + "type": "regex_match", + "regex": "^(?!sa$)", + "description": "%arc.sql.invalid.username%" + } + ] + }, + { + "label": "%arc.password%", + "variableName": "AZDATA_NB_VAR_SQL_PASSWORD", + "type": "sql_password", + "userName": "sa", + "confirmationRequired": true, + "confirmationLabel": "%arc.confirm.password%", + "defaultValue": "", + "required": true + } + ] + }, + { + "title": "%arc.sql.instance.settings.section.title%", + "fields": [ + { + "type": "options", + "label": "%arc.sql.service.tier.label%", + "variableName": "AZDATA_NB_VAR_SQL_SERVICE_TIER", + "description": "%arc.sql.service.tier.description%", + "required": true, + "options": { + "values": [ + { + "name": "BusinessCritical", + "displayName": "%arc.sql.service.tier.business.critical%" + }, + { + "name": "GeneralPurpose", + "displayName": "%arc.sql.service.tier.general.purpose%" + } + ], + "defaultValue": "%arc.sql.service.tier.business.critical%", + "optionsType": "radio" + } + }, + { + "type": "checkbox", + "label": "%arc.sql.dev.use.label%", + "variableName": "AZDATA_NB_VAR_SQL_DEV_USE", + "description": "%arc.sql.dev.use.description%", + "defaultValue": false + }, + { + "type": "options", + "label": "%arc.sql.high.availability%", + "description": "%arc.sql.high.availability.description%", + "required": true, + "variableName": "AZDATA_NB_VAR_SQL_REPLICAS", + "options": { + "values": [ + { + "name": "1", + "displayName": "%arc.sql.one.replica%" + }, + { + "name": "2", + "displayName": "%arc.sql.two.replicas%" + }, + { + "name": "3", + "displayName": "%arc.sql.three.replicas%" + } + ], + "defaultValue": "%arc.sql.three.replicas%", + "optionsType": "radio" + }, + "dynamicOptions": { + "target": "AZDATA_NB_VAR_SQL_SERVICE_TIER", + "alternates": [ + { + "selection": "GeneralPurpose", + "alternateValues": [ + { + "name": "1", + "displayName": "%arc.sql.one.replica%" + } + ], + "defaultValue": "%arc.sql.one.replica%" + } + ] + }, + "enabled": { + "target": "AZDATA_NB_VAR_SQL_SERVICE_TIER", + "value": "BusinessCritical" + } + }, + { + "label": "%arc.sql.readable.secondaries.label%", + "description": "%arc.sql.readable.secondaries.description%", + "variableName": "AZDATA_NB_VAR_SQL_READABLE_SECONDARIES", + "type": "options", + "editable": false, + "options": { + "values": [ + { + "name": "0", + "displayName": "0" + }, + { + "name": "1", + "displayName": "1" + }, + { + "name": "2", + "displayName": "2" + } + ], + "defaultValue": "2", + "optionsType": "radio" + }, + "dynamicOptions": + { + "target": "AZDATA_NB_VAR_SQL_REPLICAS", + "alternates": [ + { + "selection": "1", + "alternateValues": [ + { + "name": "0", + "displayName": "0" + } + ], + "defaultValue": "0" + }, + { + "selection": "2", + "alternateValues": [ + { + "name": "0", + "displayName": "0" + }, + { + "name": "1", + "displayName": "1" + } + ], + "defaultValue": "1" + } + ] + }, + "enabled": { + "target": "AZDATA_NB_VAR_SQL_SERVICE_TIER", + "value": "BusinessCritical" + } + }, + { + "label": "%arc.sql.sync.secondaries.label%", + "description": "%arc.sql.sync.secondaries.description%", + "variableName": "AZDATA_NB_VAR_SQL_SYNC_SECONDARY_TO_COMMIT", + "type": "options", + "editable": false, + "options": { + "values": [ + { + "name": "-1", + "displayName": "-1" + }, + { + "name": "0", + "displayName": "0" + }, + { + "name": "1", + "displayName": "1" + }, + { + "name": "2", + "displayName": "2" + } + ], + "defaultValue": "-1", + "optionsType": "radio" + }, + "dynamicOptions": + { + "target": "AZDATA_NB_VAR_SQL_REPLICAS", + "alternates": [ + { + "selection": "1", + "alternateValues": [ + { + "name": "-1", + "displayName": "-1" + }, + { + "name": "0", + "displayName": "0" + } + ], + "defaultValue": "-1" + }, + { + "selection": "2", + "alternateValues": [ + { + "name": "-1", + "displayName": "-1" + }, + { + "name": "0", + "displayName": "0" + }, + { + "name": "1", + "displayName": "1" + } + ], + "defaultValue": "-1" + } + ] + }, + "enabled": { + "target": "AZDATA_NB_VAR_SQL_SERVICE_TIER", + "value": "BusinessCritical" + } + }, + { + "type": "checkbox", + "label": "%arc.sql.license.type.label%", + "variableName": "AZDATA_NB_VAR_SQL_LICENSE_TYPE", + "description": "%arc.sql.license.type.description%", + "defaultValue": false + }, + { + "label": "%arc.storage-class.data.label%", + "description": "%arc.sql.storage-class.data.description%", + "variableName": "AZDATA_NB_VAR_SQL_STORAGE_CLASS_DATA", + "type": "kube_storage_class", + "required": false + }, + { + "label": "%arc.sql.volume.size.data.label%", + "description": "%arc.sql.volume.size.data.description%", + "variableName": "AZDATA_NB_VAR_SQL_VOLUME_SIZE_DATA", + "type": "number", + "defaultValue": "5", + "min": 1, + "required": true + }, + { + "label": "%arc.storage-class.datalogs.label%", + "description": "%arc.sql.storage-class.datalogs.description%", + "variableName": "AZDATA_NB_VAR_SQL_STORAGE_CLASS_DATALOGS", + "type": "kube_storage_class", + "required": false + }, + { + "label": "%arc.sql.volume.size.datalogs.label%", + "description": "%arc.sql.volume.size.datalogs.description%", + "variableName": "AZDATA_NB_VAR_SQL_VOLUME_SIZE_DATALOGS", + "type": "number", + "defaultValue": "5", + "min": 1, + "required": true + }, + { + "label": "%arc.storage-class.logs.label%", + "description": "%arc.sql.storage-class.logs.description%", + "variableName": "AZDATA_NB_VAR_SQL_STORAGE_CLASS_LOGS", + "type": "kube_storage_class", + "required": false + }, + { + "label": "%arc.sql.volume.size.logs.label%", + "description": "%arc.sql.volume.size.logs.description%", + "variableName": "AZDATA_NB_VAR_SQL_VOLUME_SIZE_LOGS", + "type": "number", + "defaultValue": "5", + "min": 1, + "required": true + }, + { + "type": "readonly_text", + "label": "", + "labelWidth": "600px", + "enabled": true, + "fieldHeight": "12px" + }, + { + "label": "%arc.storage-class.backups.label%", + "description": "%arc.sql.storage-class.backups.description%", + "variableName": "AZDATA_NB_VAR_SQL_STORAGE_CLASS_BACKUPS", + "type": "text", + "fieldHeight": "5px", + "required": false + }, + { + "type": "readonly_text", + "label": "%arc.storage-class.backups.warning%", + "labelWidth": "600px", + "enabled": true, + "fieldHeight": "1px", + "links": [ + { + "text": "%arc.storage-class.backups.warning.link%", + "url": "https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes" + } + ] + }, + { + "label": "%arc.sql.volume.size.backups.label%", + "description": "%arc.sql.volume.size.backups.description%", + "variableName": "AZDATA_NB_VAR_SQL_VOLUME_SIZE_BACKUPS", + "type": "number", + "defaultValue": "5", + "min": 1, + "required": true, + "fieldHeight": "5px" + }, + { + "type": "readonly_text", + "label": "", + "labelWidth": "600px", + "enabled": true, + "fieldHeight": "12px" + }, + { + "label": "%arc.cores-request.label%", + "description": "%arc.sql.cores-request.description%", + "variableName": "AZDATA_NB_VAR_SQL_CORES_REQUEST", + "type": "number", + "min": 1, + "defaultValue": 2, + "required": false, + "validations": [ + { + "type": "<=", + "target": "AZDATA_NB_VAR_SQL_CORES_LIMIT", + "description": "%requested.cores.less.than.or.equal.to.cores.limit%" + } + ] + }, + { + "label": "%arc.cores-limit.label%", + "description": "%arc.sql.cores-limit.description%", + "variableName": "AZDATA_NB_VAR_SQL_CORES_LIMIT", + "type": "number", + "min": 1, + "required": false, + "defaultValue": 4, + "validations": [ + { + "type": ">=", + "target": "AZDATA_NB_VAR_SQL_CORES_REQUEST", + "description": "%cores.limit.greater.than.or.equal.to.requested.cores%" + } + ] + }, + { + "label": "%arc.memory-request.label%", + "description": "%arc.sql.memory-request.description%", + "variableName": "AZDATA_NB_VAR_SQL_MEMORY_REQUEST", + "type": "number", + "min": 2, + "defaultValue": 4, + "required": false, + "validations": [ + { + "type": "<=", + "target": "AZDATA_NB_VAR_SQL_MEMORY_LIMIT", + "description": "%requested.memory.less.than.or.equal.to.memory.limit%" + } + ] + }, + { + "label": "%arc.memory-limit.label%", + "description": "%arc.sql.memory-limit.description%", + "variableName": "AZDATA_NB_VAR_SQL_MEMORY_LIMIT", + "type": "number", + "min": 2, + "defaultValue": 8, + "required": false, + "validations": [ + { + "type": ">=", + "target": "AZDATA_NB_VAR_SQL_MEMORY_REQUEST", + "description": "%memory.limit.greater.than.or.equal.to.requested.memory%" + } + ] + } + ] + }, + { + "title": "%arc.sql.cost.summary%", + "fields": [ + { + "label": "%arc.sql.cost.summary.additional.charge%", + "type": "readonly_text", + "enabled": true, + "labelWidth": "750px", + "links": [ + { + "text": "%arc.sql.cost.summary.pricing.details%", + "url": "https://aka.ms/ArcSQLBilling" + } + ] + }, + { + "label": "%arc.sql.cost.summary.cost.vcore%", + "type": "readonly_text", + "isEvaluated": true, + "defaultValue": "0.00 USD", + "valueProvider": { + "providerId": "params-to-cost-per-vcore", + "triggerFields": [ + "AZDATA_NB_VAR_SQL_DEV_USE", + "AZDATA_NB_VAR_SQL_SERVICE_TIER" + ] + } + }, + { + "label": "%arc.sql.cost.summary.vcore.limit%", + "type": "readonly_text", + "isEvaluated": true, + "defaultValue": "x 4", + "valueProvider": { + "providerId": "params-to-vcore-limit", + "triggerFields": [ + "AZDATA_NB_VAR_SQL_CORES_LIMIT" + ] + } + }, + { + "label": "%arc.sql.cost.summary.billable.replicas%", + "type": "readonly_text", + "isEvaluated": true, + "defaultValue": "x 1", + "valueProvider": { + "providerId": "params-to-billable-replicas", + "triggerFields": [ + "AZDATA_NB_VAR_SQL_READABLE_SECONDARIES" + ] + } + }, + { + "label": "%arc.sql.cost.summary.azure.hybrid.benefit.discount%", + "type": "readonly_text", + "isEvaluated": true, + "defaultValue": "- 0", + "valueProvider": { + "providerId": "params-to-hybrid-benefit-discount", + "triggerFields": [ + "AZDATA_NB_VAR_SQL_CORES_LIMIT", + "AZDATA_NB_VAR_SQL_DEV_USE", + "AZDATA_NB_VAR_SQL_SERVICE_TIER", + "AZDATA_NB_VAR_SQL_LICENSE_TYPE", + "AZDATA_NB_VAR_SQL_READABLE_SECONDARIES" + ] + } + }, + { + "label": "%arc.sql.cost.summary.estimated.cost.per.month%", + "type": "readonly_text", + "defaultValue": "0.00 USD", + "valueProvider": { + "providerId": "params-to-estimated-cost", + "triggerFields": [ + "AZDATA_NB_VAR_SQL_REPLICAS", + "AZDATA_NB_VAR_SQL_CORES_LIMIT", + "AZDATA_NB_VAR_SQL_DEV_USE", + "AZDATA_NB_VAR_SQL_SERVICE_TIER", + "AZDATA_NB_VAR_SQL_LICENSE_TYPE", + "AZDATA_NB_VAR_SQL_READABLE_SECONDARIES" + ] + } + } + ] + }, + { + "title": "%arc.sql.instance.retention.policy.title%", + "fields": [ + { + "type": "readonly_text", + "label": "%arc.sql.pitr.retention.description%", + "labelWidth": "600px", + "enabled": true, + "fieldHeight": "10px", + "links": [ + { + "text": "%arc.agreement.sql.help.text.learn.more%", + "url": "https://docs.microsoft.com/azure/azure-arc/data/point-in-time-restore" + } + ] + }, + { + "label": "%arc.sql.retention.days.label%", + "description": "%arc.sql.retention.days.description%", + "variableName": "AZDATA_NB_VAR_SQL_RETENTION_DAYS", + "type": "number", + "defaultValue": 7, + "min": 1, + "max": 35, + "required": false + } + ] + } + ] + } + ] + }, + "requiredTools": [ + { + "name": "kubectl" + }, + { + "name": "azure-cli" + } + ], + "when": true + } + ], + "helpTexts": [ + { + "template": "%arc.agreement.sql.help.text%", + "links": [ + { + "text": "%arc.agreement.sql.help.text.learn.more%", + "accessibilityInformation": { + "label": "%arc.agreement.sql.help.text.learn.more.ariaLabel%" + }, + "url": "https://go.microsoft.com/fwlink/?linkid=2141849" + }, + { + "text": "%arc.agreement.sql.help.text.azure.marketplace.terms%", + "url": "https://go.microsoft.com/fwlink/?linkid=2045624" + }, + { + "text": "%arc.agreement.sql.help.text.terms.of.use%", + "url": "https://go.microsoft.com/fwlink/?linkid=2045708" + }, + { + "text": "%arc.agreement.sql.help.text.privacy.policy%", + "url": "https://go.microsoft.com/fwlink/?linkid=512132" + } + ], + "when": true + } + ] + }, { "name": "arc-postgres", "displayName": "%resource.type.arc.postgres.display.name%", @@ -1026,635 +1650,6 @@ ] } ], - "resourceDeploymentSubTypes": [ - { - "resourceName": "azure-sql-mi", - "options": [ - { - "name": "mi-type", - "values": [ - { - "name": "arc-mi", - "displayName": "%resource.type.arc.sql.display.name%" - } - ] - } - ], - "tags": [ - "Hybrid", - "SQL Server" - ], - "provider": { - "name": "azure-sql-mi_arc-mi", - "notebookWizard": { - "notebook": "./notebooks/arcDeployment/deploy.sql.existing.arc.ipynb", - "doneAction": { - "label": "%deploy.done.action%" - }, - "scriptAction": { - "label": "%deploy.script.action%" - }, - "codeCellInsertionPosition": 5, - "title": "%arc.sql.wizard.title%", - "name": "arc.sql.wizard", - "labelPosition": "left", - "generateSummaryPage": false, - "pages": [ - { - "title": "%arc.sql.wizard.page1.title%", - "labelWidth": "250px", - "inputWidth": "280px", - "sections": [ - { - "title": "%arc.sql.connection.settings.section.title%", - "fields": [ - { - "label": "%arc.controller%", - "variableName": "CONTROLLER_NAME", - "type": "options", - "editable": false, - "required": true, - "options": { - "source": { - "providerId": "arc.controllers", - "variableNames": { - "namespace": "AZDATA_NB_VAR_ARC_DATA_CONTROLLER_NAMESPACE", - "kubeConfig": "AZDATA_NB_VAR_CONTROLLER_KUBECONFIG", - "clusterContext": "AZDATA_NB_VAR_CONTROLLER_KUBECTL_CONTEXT", - "resourceGroup": "AZDATA_NB_VAR_ARC_DATA_CONTROLLER_RESOURCE_GROUP", - "connectionMode": "AZDATA_NB_VAR_ARC_DATA_CONTROLLER_CONNECTIVITY_MODE", - "location": "AZDATA_NB_VAR_ARC_DATA_CONTROLLER_LOCATION", - "customLocation": "AZDATA_NB_VAR_ARC_DATA_CONTROLLER_CUSTOM_LOCATION" - } - }, - "optionsType": "dropdown" - } - }, - { - "label": "%arc.sql.instance.name%", - "variableName": "AZDATA_NB_VAR_SQL_INSTANCE_NAME", - "type": "text", - "defaultValue": "sqlinstance1", - "required": true, - "validations": [ - { - "type": "regex_match", - "regex": "^[a-z]([-a-z0-9]{0,11}[a-z0-9])?$", - "description": "%arc.sql.invalid.instance.name%" - } - ] - }, - { - "label": "%arc.sql.username%", - "variableName": "AZDATA_NB_VAR_SQL_USERNAME", - "type": "text", - "required": true, - "validations": [ - { - "type": "regex_match", - "regex": "^(?!sa$)", - "description": "%arc.sql.invalid.username%" - } - ] - }, - { - "label": "%arc.password%", - "variableName": "AZDATA_NB_VAR_SQL_PASSWORD", - "type": "sql_password", - "userName": "sa", - "confirmationRequired": true, - "confirmationLabel": "%arc.confirm.password%", - "defaultValue": "", - "required": true - } - ] - }, - { - "title": "%arc.sql.instance.settings.section.title%", - "fields": [ - { - "type": "options", - "label": "%arc.sql.service.tier.label%", - "variableName": "AZDATA_NB_VAR_SQL_SERVICE_TIER", - "description": "%arc.sql.service.tier.description%", - "required": true, - "options": { - "values": [ - { - "name": "BusinessCritical", - "displayName": "%arc.sql.service.tier.business.critical%" - }, - { - "name": "GeneralPurpose", - "displayName": "%arc.sql.service.tier.general.purpose%" - } - ], - "defaultValue": "%arc.sql.service.tier.business.critical%", - "optionsType": "radio" - } - }, - { - "type": "checkbox", - "label": "%arc.sql.dev.use.label%", - "variableName": "AZDATA_NB_VAR_SQL_DEV_USE", - "description": "%arc.sql.dev.use.description%", - "defaultValue": false - }, - { - "type": "options", - "label": "%arc.sql.high.availability%", - "description": "%arc.sql.high.availability.description%", - "required": true, - "variableName": "AZDATA_NB_VAR_SQL_REPLICAS", - "options": { - "values": [ - { - "name": "1", - "displayName": "%arc.sql.one.replica%" - }, - { - "name": "2", - "displayName": "%arc.sql.two.replicas%" - }, - { - "name": "3", - "displayName": "%arc.sql.three.replicas%" - } - ], - "defaultValue": "%arc.sql.three.replicas%", - "optionsType": "radio" - }, - "dynamicOptions": { - "target": "AZDATA_NB_VAR_SQL_SERVICE_TIER", - "alternates": [ - { - "selection": "GeneralPurpose", - "alternateValues": [ - { - "name": "1", - "displayName": "%arc.sql.one.replica%" - } - ], - "defaultValue": "%arc.sql.one.replica%" - } - ] - }, - "enabled": { - "target": "AZDATA_NB_VAR_SQL_SERVICE_TIER", - "value": "BusinessCritical" - } - }, - { - "label": "%arc.sql.readable.secondaries.label%", - "description": "%arc.sql.readable.secondaries.description%", - "variableName": "AZDATA_NB_VAR_SQL_READABLE_SECONDARIES", - "type": "options", - "editable": false, - "options": { - "values": [ - { - "name": "0", - "displayName": "0" - }, - { - "name": "1", - "displayName": "1" - }, - { - "name": "2", - "displayName": "2" - } - ], - "defaultValue": "2", - "optionsType": "radio" - }, - "dynamicOptions": - { - "target": "AZDATA_NB_VAR_SQL_REPLICAS", - "alternates": [ - { - "selection": "1", - "alternateValues": [ - { - "name": "0", - "displayName": "0" - } - ], - "defaultValue": "0" - }, - { - "selection": "2", - "alternateValues": [ - { - "name": "0", - "displayName": "0" - }, - { - "name": "1", - "displayName": "1" - } - ], - "defaultValue": "1" - } - ] - }, - "enabled": { - "target": "AZDATA_NB_VAR_SQL_SERVICE_TIER", - "value": "BusinessCritical" - } - }, - { - "label": "%arc.sql.sync.secondaries.label%", - "description": "%arc.sql.sync.secondaries.description%", - "variableName": "AZDATA_NB_VAR_SQL_SYNC_SECONDARY_TO_COMMIT", - "type": "options", - "editable": false, - "options": { - "values": [ - { - "name": "-1", - "displayName": "-1" - }, - { - "name": "0", - "displayName": "0" - }, - { - "name": "1", - "displayName": "1" - }, - { - "name": "2", - "displayName": "2" - } - ], - "defaultValue": "-1", - "optionsType": "radio" - }, - "dynamicOptions": - { - "target": "AZDATA_NB_VAR_SQL_REPLICAS", - "alternates": [ - { - "selection": "1", - "alternateValues": [ - { - "name": "-1", - "displayName": "-1" - }, - { - "name": "0", - "displayName": "0" - } - ], - "defaultValue": "-1" - }, - { - "selection": "2", - "alternateValues": [ - { - "name": "-1", - "displayName": "-1" - }, - { - "name": "0", - "displayName": "0" - }, - { - "name": "1", - "displayName": "1" - } - ], - "defaultValue": "-1" - } - ] - }, - "enabled": { - "target": "AZDATA_NB_VAR_SQL_SERVICE_TIER", - "value": "BusinessCritical" - } - }, - { - "type": "checkbox", - "label": "%arc.sql.license.type.label%", - "variableName": "AZDATA_NB_VAR_SQL_LICENSE_TYPE", - "description": "%arc.sql.license.type.description%", - "defaultValue": false - }, - { - "label": "%arc.storage-class.data.label%", - "description": "%arc.sql.storage-class.data.description%", - "variableName": "AZDATA_NB_VAR_SQL_STORAGE_CLASS_DATA", - "type": "kube_storage_class", - "required": false - }, - { - "label": "%arc.sql.volume.size.data.label%", - "description": "%arc.sql.volume.size.data.description%", - "variableName": "AZDATA_NB_VAR_SQL_VOLUME_SIZE_DATA", - "type": "number", - "defaultValue": "5", - "min": 1, - "required": true - }, - { - "label": "%arc.storage-class.datalogs.label%", - "description": "%arc.sql.storage-class.datalogs.description%", - "variableName": "AZDATA_NB_VAR_SQL_STORAGE_CLASS_DATALOGS", - "type": "kube_storage_class", - "required": false - }, - { - "label": "%arc.sql.volume.size.datalogs.label%", - "description": "%arc.sql.volume.size.datalogs.description%", - "variableName": "AZDATA_NB_VAR_SQL_VOLUME_SIZE_DATALOGS", - "type": "number", - "defaultValue": "5", - "min": 1, - "required": true - }, - { - "label": "%arc.storage-class.logs.label%", - "description": "%arc.sql.storage-class.logs.description%", - "variableName": "AZDATA_NB_VAR_SQL_STORAGE_CLASS_LOGS", - "type": "kube_storage_class", - "required": false - }, - { - "label": "%arc.sql.volume.size.logs.label%", - "description": "%arc.sql.volume.size.logs.description%", - "variableName": "AZDATA_NB_VAR_SQL_VOLUME_SIZE_LOGS", - "type": "number", - "defaultValue": "5", - "min": 1, - "required": true - }, - { - "type": "readonly_text", - "label": "", - "labelWidth": "600px", - "enabled": true, - "fieldHeight": "12px" - }, - { - "label": "%arc.storage-class.backups.label%", - "description": "%arc.sql.storage-class.backups.description%", - "variableName": "AZDATA_NB_VAR_SQL_STORAGE_CLASS_BACKUPS", - "type": "text", - "fieldHeight": "5px", - "required": false - }, - { - "type": "readonly_text", - "label": "%arc.storage-class.backups.warning%", - "labelWidth": "600px", - "enabled": true, - "fieldHeight": "1px", - "links": [ - { - "text": "%arc.storage-class.backups.warning.link%", - "url": "https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes" - } - ] - }, - { - "label": "%arc.sql.volume.size.backups.label%", - "description": "%arc.sql.volume.size.backups.description%", - "variableName": "AZDATA_NB_VAR_SQL_VOLUME_SIZE_BACKUPS", - "type": "number", - "defaultValue": "5", - "min": 1, - "required": true, - "fieldHeight": "5px" - }, - { - "type": "readonly_text", - "label": "", - "labelWidth": "600px", - "enabled": true, - "fieldHeight": "12px" - }, - { - "label": "%arc.cores-request.label%", - "description": "%arc.sql.cores-request.description%", - "variableName": "AZDATA_NB_VAR_SQL_CORES_REQUEST", - "type": "number", - "min": 1, - "defaultValue": 2, - "required": false, - "validations": [ - { - "type": "<=", - "target": "AZDATA_NB_VAR_SQL_CORES_LIMIT", - "description": "%requested.cores.less.than.or.equal.to.cores.limit%" - } - ] - }, - { - "label": "%arc.cores-limit.label%", - "description": "%arc.sql.cores-limit.description%", - "variableName": "AZDATA_NB_VAR_SQL_CORES_LIMIT", - "type": "number", - "min": 1, - "required": false, - "defaultValue": 4, - "validations": [ - { - "type": ">=", - "target": "AZDATA_NB_VAR_SQL_CORES_REQUEST", - "description": "%cores.limit.greater.than.or.equal.to.requested.cores%" - } - ] - }, - { - "label": "%arc.memory-request.label%", - "description": "%arc.sql.memory-request.description%", - "variableName": "AZDATA_NB_VAR_SQL_MEMORY_REQUEST", - "type": "number", - "min": 2, - "defaultValue": 4, - "required": false, - "validations": [ - { - "type": "<=", - "target": "AZDATA_NB_VAR_SQL_MEMORY_LIMIT", - "description": "%requested.memory.less.than.or.equal.to.memory.limit%" - } - ] - }, - { - "label": "%arc.memory-limit.label%", - "description": "%arc.sql.memory-limit.description%", - "variableName": "AZDATA_NB_VAR_SQL_MEMORY_LIMIT", - "type": "number", - "min": 2, - "defaultValue": 8, - "required": false, - "validations": [ - { - "type": ">=", - "target": "AZDATA_NB_VAR_SQL_MEMORY_REQUEST", - "description": "%memory.limit.greater.than.or.equal.to.requested.memory%" - } - ] - } - ] - }, - { - "title": "%arc.sql.cost.summary%", - "fields": [ - { - "label": "%arc.sql.cost.summary.additional.charge%", - "type": "readonly_text", - "enabled": true, - "labelWidth": "750px", - "links": [ - { - "text": "%arc.sql.cost.summary.pricing.details%", - "url": "https://aka.ms/ArcSQLBilling" - } - ] - }, - { - "label": "%arc.sql.cost.summary.cost.vcore%", - "type": "readonly_text", - "isEvaluated": true, - "defaultValue": "0.00 USD", - "valueProvider": { - "providerId": "params-to-cost-per-vcore", - "triggerFields": [ - "AZDATA_NB_VAR_SQL_DEV_USE", - "AZDATA_NB_VAR_SQL_SERVICE_TIER" - ] - } - }, - { - "label": "%arc.sql.cost.summary.vcore.limit%", - "type": "readonly_text", - "isEvaluated": true, - "defaultValue": "x 4", - "valueProvider": { - "providerId": "params-to-vcore-limit", - "triggerFields": [ - "AZDATA_NB_VAR_SQL_CORES_LIMIT" - ] - } - }, - { - "label": "%arc.sql.cost.summary.billable.replicas%", - "type": "readonly_text", - "isEvaluated": true, - "defaultValue": "x 1", - "valueProvider": { - "providerId": "params-to-billable-replicas", - "triggerFields": [ - "AZDATA_NB_VAR_SQL_READABLE_SECONDARIES" - ] - } - }, - { - "label": "%arc.sql.cost.summary.azure.hybrid.benefit.discount%", - "type": "readonly_text", - "isEvaluated": true, - "defaultValue": "- 0", - "valueProvider": { - "providerId": "params-to-hybrid-benefit-discount", - "triggerFields": [ - "AZDATA_NB_VAR_SQL_CORES_LIMIT", - "AZDATA_NB_VAR_SQL_DEV_USE", - "AZDATA_NB_VAR_SQL_SERVICE_TIER", - "AZDATA_NB_VAR_SQL_LICENSE_TYPE", - "AZDATA_NB_VAR_SQL_READABLE_SECONDARIES" - ] - } - }, - { - "label": "%arc.sql.cost.summary.estimated.cost.per.month%", - "type": "readonly_text", - "defaultValue": "0.00 USD", - "valueProvider": { - "providerId": "params-to-estimated-cost", - "triggerFields": [ - "AZDATA_NB_VAR_SQL_REPLICAS", - "AZDATA_NB_VAR_SQL_CORES_LIMIT", - "AZDATA_NB_VAR_SQL_DEV_USE", - "AZDATA_NB_VAR_SQL_SERVICE_TIER", - "AZDATA_NB_VAR_SQL_LICENSE_TYPE", - "AZDATA_NB_VAR_SQL_READABLE_SECONDARIES" - ] - } - } - ] - }, - { - "title": "%arc.sql.instance.retention.policy.title%", - "fields": [ - { - "type": "readonly_text", - "label": "%arc.sql.pitr.retention.description%", - "labelWidth": "600px", - "enabled": true, - "fieldHeight": "10px", - "links": [ - { - "text": "%arc.agreement.sql.help.text.learn.more%", - "url": "https://docs.microsoft.com/azure/azure-arc/data/point-in-time-restore" - } - ] - }, - { - "label": "%arc.sql.retention.days.label%", - "description": "%arc.sql.retention.days.description%", - "variableName": "AZDATA_NB_VAR_SQL_RETENTION_DAYS", - "type": "number", - "defaultValue": 7, - "min": 1, - "max": 35, - "required": false - } - ] - } - ] - } - ] - }, - "requiredTools": [ - { - "name": "kubectl" - }, - { - "name": "azure-cli" - } - ], - "when": "mi-type=arc-mi" - }, - "helpText": { - "template": "%arc.agreement.sql.help.text%", - "links": [ - { - "text": "%arc.agreement.sql.help.text.learn.more%", - "accessibilityInformation": { - "label": "%arc.agreement.sql.help.text.learn.more.ariaLabel%" - }, - "url": "https://go.microsoft.com/fwlink/?linkid=2141849" - }, - { - "text": "%arc.agreement.sql.help.text.azure.marketplace.terms%", - "url": "https://go.microsoft.com/fwlink/?linkid=2045624" - }, - { - "text": "%arc.agreement.sql.help.text.terms.of.use%", - "url": "https://go.microsoft.com/fwlink/?linkid=2045708" - }, - { - "text": "%arc.agreement.sql.help.text.privacy.policy%", - "url": "https://go.microsoft.com/fwlink/?linkid=512132" - } - ], - "when": "mi-type=arc-mi" - } - } - ], "resourceDeploymentOptionsSources": [ { "id": "arc.controllers" diff --git a/extensions/arc/src/ui/dashboards/controller/controllerDashboardOverviewPage.ts b/extensions/arc/src/ui/dashboards/controller/controllerDashboardOverviewPage.ts index b2ab576ad9..96d0fba680 100644 --- a/extensions/arc/src/ui/dashboards/controller/controllerDashboardOverviewPage.ts +++ b/extensions/arc/src/ui/dashboards/controller/controllerDashboardOverviewPage.ts @@ -147,9 +147,8 @@ export class ControllerDashboardOverviewPage extends DashboardPage { newInstance.onDidClick(async () => { const node = this._controllerModel.treeDataProvider.getControllerNode(this._controllerModel); await vscode.commands.executeCommand('azdata.resource.deploy', - 'azure-sql-mi', // Default option - ['azure-sql-mi', 'arc-postgres'], // Type filter - { 'azure-sql-mi': { 'mi-type': ['arc-mi'] } }, // Options filter + 'arc-sql', // Default option + ['arc-sql', 'arc-postgres'], // Type filter { 'CONTROLLER_NAME': node?.label }); }));