diff --git a/extensions/arc/notebooks/arcDeployment/deploy.sql.existing.arc.ipynb b/extensions/arc/notebooks/arcDeployment/deploy.sql.existing.arc.ipynb index b19b8af493..47dab8a0c8 100644 --- a/extensions/arc/notebooks/arcDeployment/deploy.sql.existing.arc.ipynb +++ b/extensions/arc/notebooks/arcDeployment/deploy.sql.existing.arc.ipynb @@ -135,6 +135,30 @@ "outputs": [], "execution_count": null }, + { + "cell_type": "markdown", + "source": [ + "#### **Get optional parameters for the SQL instance**" + ], + "metadata": { + "azdata_cell_guid": "1baae5a3-1f7d-4993-ae56-6d191c394952" + } + }, + { + "cell_type": "code", + "source": [ + "sql_instance_port = os.environ.get(\"AZDATA_NB_VAR_SQL_INSTANCE_PORT\")\n", + "sql_instance_cores_request = os.environ.get(\"AZDATA_NB_VAR_SQL_CORES_REQUEST\")\n", + "sql_instance_cores_limit = os.environ.get(\"AZDATA_NB_VAR_SQL_CORES_LIMIT\")\n", + "sql_instance_memory_request = os.environ.get(\"AZDATA_NB_VAR_SQL_MEMORY_REQUEST\")\n", + "sql_instance_memory_limit = os.environ.get(\"AZDATA_NB_VAR_SQL_MEMORY_LIMIT\")" + ], + "metadata": { + "azdata_cell_guid": "39b0465a-7567-40d6-a5a1-3aef519c1cb9" + }, + "outputs": [], + "execution_count": null + }, { "cell_type": "markdown", "source": [ @@ -164,8 +188,14 @@ "source": [ "print (f'Creating Managed SQL Server instance on Azure Arc')\n", "\n", + "port_option = f' --port \"{sql_instance_port}\"' if sql_instance_port else \"\"\n", + "cores_request_option = f' -cr \"{sql_instance_cores_request}\"' if sql_instance_cores_request else \"\"\n", + "cores_limit_option = f' -cl \"{sql_instance_cores_limit}\"' if sql_instance_cores_limit else \"\"\n", + "memory_request_option = f' -mr \"{sql_instance_memory_request}Mi\"' if sql_instance_memory_request else \"\"\n", + "memory_limit_option = f' -ml \"{sql_instance_memory_limit}Mi\"' if sql_instance_memory_limit else \"\"\n", + "\n", "os.environ[\"AZDATA_PASSWORD\"] = mssql_password\n", - "cmd = f'azdata arc sql mi create -n {mssql_instance_name} -scd {mssql_storage_class_data} -scl {mssql_storage_class_logs}'\n", + "cmd = f'azdata arc sql mi create -n {mssql_instance_name} -scd {mssql_storage_class_data} -scl {mssql_storage_class_logs}{port_option}{cores_request_option}{cores_limit_option}{memory_request_option}{memory_limit_option}'\n", "out=run_command()" ], "metadata": { diff --git a/extensions/arc/package.json b/extensions/arc/package.json index 602426df8f..5827681f42 100644 --- a/extensions/arc/package.json +++ b/extensions/arc/package.json @@ -626,6 +626,13 @@ "required": true, "labelWidth": "100%" }, + { + "label": "%arc.sql.instance.port%", + "variableName": "AZDATA_NB_VAR_SQL_INSTANCE_PORT", + "type": "number", + "required": false, + "labelWidth": "100%" + }, { "label": "%arc.sql.username%", "variableName": "AZDATA_NB_VAR_SQL_USERNAME", @@ -656,6 +663,34 @@ "variableName": "AZDATA_NB_VAR_SQL_STORAGE_CLASS_LOGS", "type": "kube_storage_class", "required": true + }, + { + "label": "%arc.cores-limit.label%", + "description": "%arc.sql.cores-limit.description%", + "variableName": "AZDATA_NB_VAR_SQL_CORES_LIMIT", + "type": "number", + "required": false + }, + { + "label": "%arc.cores-request.label%", + "description": "%arc.sql.cores-request.description%", + "variableName": "AZDATA_NB_VAR_SQL_CORES_REQUEST", + "type": "number", + "required": false + }, + { + "label": "%arc.memory-limit.label%", + "description": "%arc.sql.memory-limit.description%", + "variableName": "AZDATA_NB_VAR_SQL_MEMORY_LIMIT", + "type": "number", + "required": false + }, + { + "label": "%arc.memory-request.label%", + "description": "%arc.sql.memory-request.description%", + "variableName": "AZDATA_NB_VAR_SQL_MEMORY_REQUEST", + "type": "number", + "required": false } ] } diff --git a/extensions/arc/package.nls.json b/extensions/arc/package.nls.json index 9534873acd..8eee06b69e 100644 --- a/extensions/arc/package.nls.json +++ b/extensions/arc/package.nls.json @@ -83,6 +83,7 @@ "arc.sql.settings.section.title": "SQL Connection information", "arc.azure.section.title": "Azure information", "arc.sql.instance.name": "Instance name (lower case letters and digits only)", + "arc.sql.instance.port": "Port", "arc.sql.username": "Username", "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.", @@ -93,6 +94,14 @@ "arc.sql.storage-class.logs.description": "The storage class to be used for logs (/var/log)", "arc.postgres.storage-class.logs.description": "The storage class to be used for logs persistent volumes", "arc.storage-class.backups.label": "Storage Class (Backups)", + "arc.cores-limit.label": "Cores Limit", + "arc.sql.cores-limit.description": "The cores limit of the managed instance as an integer.", + "arc.cores-request.label": "Cores Request", + "arc.sql.cores-request.description": "The request for cores of the managed instance as an integer.", + "arc.memory-limit.label": "Memory Limit", + "arc.sql.memory-limit.description": "The limit of the capacity of the managed instance as an integer.", + "arc.memory-request.label": "Memory Request", + "arc.sql.memory-request.description": "The request for the capcity of the managed instance as an integer amount of memory in GBs.", "arc.postgres.storage-class.backups.description": "The storage class to be used for backup persistent volumes", "arc.password": "Password", "arc.confirm.password": "Confirm password",