diff --git a/extensions/arc/notebooks/arcDeployment/deploy.sql.existing.arc.ipynb b/extensions/arc/notebooks/arcDeployment/deploy.sql.existing.arc.ipynb index 9a7a73ef41..0534e1c91f 100644 --- a/extensions/arc/notebooks/arcDeployment/deploy.sql.existing.arc.ipynb +++ b/extensions/arc/notebooks/arcDeployment/deploy.sql.existing.arc.ipynb @@ -1,28 +1,10 @@ { - "metadata": { - "kernelspec": { - "name": "python3", - "display_name": "Python 3", - "language": "python" - }, - "language_info": { - "name": "python", - "version": "3.6.6", - "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", + "metadata": { + "azdata_cell_guid": "e4ed0892-7b5a-4d95-bd0d-a6c3eb0b2c99" + }, "source": [ "![Microsoft](https://raw.githubusercontent.com/microsoft/azuredatastudio/main/extensions/arc/images/microsoft-small-logo.png)\n", " \n", @@ -34,13 +16,13 @@ "* Make sure you have the target Azure Arc Data Controller already created.\n", "\n", "Please press the \"Run All\" button to run the notebook" - ], - "metadata": { - "azdata_cell_guid": "e4ed0892-7b5a-4d95-bd0d-a6c3eb0b2c99" - } + ] }, { "cell_type": "markdown", + "metadata": { + "azdata_cell_guid": "d1c8258e-9efd-4380-a48c-cd675423ed2f" + }, "source": [ "### **Prerequisites** \n", "Ensure the following tools are installed and added to PATH before proceeding.\n", @@ -49,23 +31,25 @@ "|---|---|---|\n", "|Azure CLI (az) | Command-line tool for installing and managing resources in an Azure Arc cluster |[Installation](https://docs.microsoft.com/cli/azure/install-azure-cli-windows?tabs=azure-cli) |\n", "|Azure CLI arcdata extension | Commands for using Azure Arc for Azure data services. | [Installation](https://docs.microsoft.com/azure/azure-arc/data/install-arcdata-extension)" - ], - "metadata": { - "azdata_cell_guid": "d1c8258e-9efd-4380-a48c-cd675423ed2f" - } + ] }, { "cell_type": "markdown", - "source": [ - "### **Setup and Check Prerequisites**" - ], "metadata": { "azdata_cell_guid": "68531b91-ddce-47d7-a1d8-2ddc3d17f3e7" - } + }, + "source": [ + "### **Setup and Check Prerequisites**" + ] }, { "cell_type": "code", "execution_count": null, + "metadata": { + "azdata_cell_guid": "749d8dba-3da8-46e9-ae48-2b38056ab7a2", + "tags": [] + }, + "outputs": [], "source": [ "import sys,os,json,subprocess\n", "def run_command():\n", @@ -80,38 +64,37 @@ " return output.stdout.decode(\"utf-8\")\n", "cmd = 'az --version'\n", "out = run_command()\n" - ], - "outputs": [], - "metadata": { - "azdata_cell_guid": "749d8dba-3da8-46e9-ae48-2b38056ab7a2", - "tags": [] - } + ] }, { "cell_type": "markdown", + "metadata": { + "azdata_cell_guid": "68ec0760-27d1-4ded-9a9f-89077c40b8bb" + }, "source": [ "### **Set variables**\n", "\n", "#### \n", "\n", "Generated by Azure Data Studio using the values collected in the 'Deploy Azure SQL managed instance - Azure Arc' wizard" - ], - "metadata": { - "azdata_cell_guid": "68ec0760-27d1-4ded-9a9f-89077c40b8bb" - } + ] }, { "cell_type": "markdown", - "source": [ - "### **Creating the SQL managed instance - Azure Arc instance**" - ], "metadata": { "azdata_cell_guid": "90b0e162-2987-463f-9ce6-12dda1267189" - } + }, + "source": [ + "### **Creating the SQL managed instance - Azure Arc instance**" + ] }, { "cell_type": "code", "execution_count": null, + "metadata": { + "azdata_cell_guid": "4fbaf071-55a1-40bc-be7e-7b9b5547b886" + }, + "outputs": [], "source": [ "print (f'Creating the SQL managed instance - Azure Arc instance')\n", "\n", @@ -124,24 +107,44 @@ "storage_class_datalogs_option = f' --storage-class-datalogs \"{sql_storage_class_datalogs}\"'if sql_storage_class_datalogs else \"\"\n", "storage_class_logs_option = f' --storage-class-logs \"{sql_storage_class_logs}\"'if sql_storage_class_logs else \"\"\n", "storage_class_backup_option = f' --storage-class-backups \"{sql_storage_class_backups}\"'if sql_storage_class_backups else \"\"\n", - "retention_days = f' --retention-days \"{sql_retention_days}\"' if sql_retention_days else \"\"\n", + "retention_days = f' --retention-days \"{sql_retention_days}\"' if sql_retention_days else \"\"\n", "\n", "volume_size_data = f' --volume-size-data {sql_volume_size_data}Gi'\n", "volume_size_datalogs = f' --volume-size-datalogs {sql_volume_size_datalogs}Gi'\n", "volume_size_logs = f' --volume-size-logs {sql_volume_size_logs}Gi'\n", "volume_size_backups = f' --volume-size-backups {sql_volume_size_backups}Gi'\n", "\n", - + "service_tier = f' --tier {sql_service_tier}'\n", + "cores_limit = f' --cores-limit {sql_cores_limit}'\n", + "dev_use = ' --dev' if sql_dev_use else ''\n", + "license_type = ' --license-type BasePrice' if sql_license_type else ' --license-type LicenseIncluded'\n", + "\n", "os.environ[\"AZDATA_USERNAME\"] = sql_username\n", "os.environ[\"AZDATA_PASSWORD\"] = os.environ[\"AZDATA_NB_VAR_SQL_PASSWORD\"]\n", - "cmd = f'az sql mi-arc create --name {sql_instance_name} --k8s-namespace {arc_data_controller_namespace} --replicas {sql_replicas}{cores_request_option}{cores_limit_option}{memory_request_option}{memory_limit_option}{storage_class_data_option}{storage_class_datalogs_option}{storage_class_logs_option}{storage_class_backup_option}{volume_size_data}{volume_size_datalogs}{volume_size_logs}{volume_size_backups}{retention_days} --use-k8s'\n", - + "cmd = f'az sql mi-arc create --name {sql_instance_name} --k8s-namespace {arc_data_controller_namespace} --replicas {sql_replicas}{cores_request_option}{cores_limit_option}{memory_request_option}{memory_limit_option}{storage_class_data_option}{storage_class_datalogs_option}{storage_class_logs_option}{storage_class_backup_option}{volume_size_data}{volume_size_datalogs}{volume_size_logs}{volume_size_backups}{retention_days}{service_tier}{dev_use}{license_type}{cores_limit} --use-k8s'\n", "out=run_command()" - ], - "outputs": [], - "metadata": { - "azdata_cell_guid": "4fbaf071-55a1-40bc-be7e-7b9b5547b886" - } + ] } - ] + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.6" + } + }, + "nbformat": 4, + "nbformat_minor": 2 } diff --git a/extensions/arc/package.json b/extensions/arc/package.json index 2189b92f9e..2a9ba17e4f 100644 --- a/extensions/arc/package.json +++ b/extensions/arc/package.json @@ -983,7 +983,7 @@ "fields": [ { "type": "options", - "label": "%arc.sql.high.availability.label%", + "label": "%arc.sql.replicas%", "description": "%arc.sql.high.availability.description%", "required": true, "variableName": "AZDATA_NB_VAR_SQL_REPLICAS", @@ -1253,7 +1253,6 @@ { "label": "%arc.sql.cost.summary.estimated.cost.per.month%", "type": "readonly_text", - "variableName": "AZDATA_NB_VAR_SQL_ESTIMATED_COST", "defaultValue": "0.00 USD", "valueProvider": { "providerId": "params-to-estimated-cost", diff --git a/extensions/arc/package.nls.json b/extensions/arc/package.nls.json index d75e22e66f..292e4c17fa 100644 --- a/extensions/arc/package.nls.json +++ b/extensions/arc/package.nls.json @@ -88,13 +88,13 @@ "arc.sql.invalid.instance.name": "Instance name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, and be 13 characters or fewer in length.", "arc.storage-class.dc.label": "Storage Class", "arc.sql.storage-class.dc.description": "The storage class to be used for all data and logs persistent volumes for all data controller pods that require them.", - "arc.sql.high.availability.label": "High Availability", - "arc.sql.high.availability.description": "Enable additional replicas for high availabilty. The compute and storage configuration selected below will be applied to all replicas.", - "arc.sql.service.tier.general.purpose": "General Purpose (Up to 24 vCores and 128 Gi of RAM, standard high availability)", - "arc.sql.service.tier.business.critical": "[PREVIEW] Business Critical (Unlimited vCores and RAM, advanced high availability)", - "arc.sql.one.replica": "1 replica", - "arc.sql.two.replicas": "2 replicas", - "arc.sql.three.replicas": "3 replicas", + "arc.sql.replicas": "Replicas", + "arc.sql.high.availability.description": "Enable additional replicas for high availabilty. The compute and storage configuration selected below will be applied to all replicas. Choose from: General Purpose (Up to 24 vCores and 128 Gi of RAM, standard high availability) or [PREVIEW] Business Critical (Unlimited vCores and RAM, advanced high availability).", + "arc.sql.service.tier.general.purpose": "GeneralPurpose", + "arc.sql.service.tier.business.critical": "BusinessCritical", + "arc.sql.one.replica": "1", + "arc.sql.two.replicas": "2", + "arc.sql.three.replicas": "3", "arc.storage-class.data.label": "Storage Class (Data)", "arc.sql.storage-class.data.description": "The storage class to be used for data (.mdf). If no value is specified, the default storage class will be used.", "arc.sql.cost.summary.sql.miaa.cost.summary": "SQL Managed Instance - Azure Arc Cost Summary", diff --git a/extensions/arc/src/localizedConstants.ts b/extensions/arc/src/localizedConstants.ts index f30f918d41..b0836cfd69 100644 --- a/extensions/arc/src/localizedConstants.ts +++ b/extensions/arc/src/localizedConstants.ts @@ -275,11 +275,11 @@ export function copyConnectionStringToClipboard(type: string): string { return l export function copyValueToClipboard(valueName: string): string { return localize({ key: 'arc.copyValueToClipboard', comment: ['{0} is the name of the type of value being copied (e.g. Coordinator endpoint)'] }, "Copy {0} to clipboard", valueName); } // Pricing Constants -export const replicaOne = localize('arc.replicaOne', "1 replica"); -export const replicaTwo = localize('arc.replicaTwo', "2 replicas"); -export const replicaThree = localize('arc.replicaThree', "3 replicas"); -export const generalPurposeLabel = localize('arc.generalPurposeLabel', "General Purpose (Up to 24 vCores and 128 Gi of RAM, standard high availability)"); -export const businessCriticalLabel = localize('arc.businessCriticalLabel', "[PREVIEW] Business Critical (Unlimited vCores and RAM, advanced high availability)"); +export const replicaOne = localize('arc.replicaOne', "1"); +export const replicaTwo = localize('arc.replicaTwo', "2"); +export const replicaThree = localize('arc.replicaThree', "3"); +export const generalPurposeLabel = localize('arc.generalPurposeLabel', "GeneralPurpose"); +export const businessCriticalLabel = localize('arc.businessCriticalLabel', "BusinessCritical"); export const USD = localize('arc.USD', "USD"); // Errors diff --git a/extensions/resource-deployment/src/typings/resource-deployment.d.ts b/extensions/resource-deployment/src/typings/resource-deployment.d.ts index cf9f454618..246df8da1b 100644 --- a/extensions/resource-deployment/src/typings/resource-deployment.d.ts +++ b/extensions/resource-deployment/src/typings/resource-deployment.d.ts @@ -26,12 +26,12 @@ declare module 'resource-deployment' { export type InputValueType = string | number | boolean | undefined; - /** - * Gets a calculated value based on the given input values. - * @param triggerValues A map of the trigger field names and their current values specified in the valueProvider field info - */ export interface IValueProvider { readonly id: string, + /** + * Gets a calculated value based on the given input values. + * @param triggerValues A map of the trigger field names and their current values specified in the valueProvider field info + */ getValue(triggerValues: string | {[key: string]: InputValueType}): Promise; }