From 2cb8c49208cdc0623bc170f2d97be98aa190104b Mon Sep 17 00:00:00 2001 From: Shagun Sharma Tamta <31092713+shagunt@users.noreply.github.com> Date: Fri, 8 Oct 2021 10:31:44 -0700 Subject: [PATCH] Add retention days property in create SQL deployment (#17293) * create deployment sql * correct line feed * var name * pr feedback --- .../deploy.sql.existing.arc.ipynb | 7 +++-- extensions/arc/package.json | 27 +++++++++++++++++++ extensions/arc/package.nls.json | 7 ++++- 3 files changed, 38 insertions(+), 3 deletions(-) diff --git a/extensions/arc/notebooks/arcDeployment/deploy.sql.existing.arc.ipynb b/extensions/arc/notebooks/arcDeployment/deploy.sql.existing.arc.ipynb index 1b0f632be1..9a7a73ef41 100644 --- a/extensions/arc/notebooks/arcDeployment/deploy.sql.existing.arc.ipynb +++ b/extensions/arc/notebooks/arcDeployment/deploy.sql.existing.arc.ipynb @@ -124,15 +124,18 @@ "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", "\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", + "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} --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} --use-k8s'\n", + "out=run_command()" ], "outputs": [], @@ -141,4 +144,4 @@ } } ] -} \ No newline at end of file +} diff --git a/extensions/arc/package.json b/extensions/arc/package.json index bf12a26b5f..f6a79a07c4 100644 --- a/extensions/arc/package.json +++ b/extensions/arc/package.json @@ -1157,6 +1157,33 @@ "required": true } ] + }, + { + "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", + "min": 1, + "max": 35, + "required": false + } + ] } ] } diff --git a/extensions/arc/package.nls.json b/extensions/arc/package.nls.json index 279ac24832..bc75a52b3e 100644 --- a/extensions/arc/package.nls.json +++ b/extensions/arc/package.nls.json @@ -79,6 +79,7 @@ "arc.sql.wizard.page1.title": "Provide Azure SQL managed instance parameters", "arc.sql.connection.settings.section.title": "SQL Connection information", "arc.sql.instance.settings.section.title": "SQL Instance settings", + "arc.sql.instance.retention.policy.title": "SQL Instance Backup Retention Policy", "arc.azure.section.title": "Azure information", "arc.sql.instance.name": "Instance name", "arc.sql.username": "Username", @@ -122,6 +123,9 @@ "arc.sql.service.tier.label": "Service Tier", "arc.sql.service.tier.description": "Select from the latest vCore service tiers available for SQL Managed Instance - Azure Arc including General Purpose and Business Critical. {0}", "arc.sql.dev.use.label": "For development use only", + "arc.sql.pitr.description": "Point in time restore", + "arc.sql.retention.days.label": "PITR retention (days)", + "arc.sql.retention.days.description": "Specify how long you want to keep your point-in-time backups.", "arc.sql.dev.use.description": "Check the box to indicate this instance will be used for development or testing purposes only. This instance will not be billed.", "arc.postgres.storage-class.backups.description": "The storage class to be used for backup persistent volumes", "arc.password": "Password", @@ -177,5 +181,6 @@ "memory.limit.greater.than.or.equal.to.requested.memory": "Memory limit must be greater than or equal to requested memory", "arc.agreement.sql.help.text": "Azure Arc enabled Managed Instance provides SQL Server access and feature compatibility that can be deployed on the infrastructure of your choice. {0}", "arc.agreement.sql.help.text.learn.more": "Learn more", - "arc.agreement.sql.help.text.learn.more.ariaLabel": "Learn more about Azure Arc enabled Managed Instance" + "arc.agreement.sql.help.text.learn.more.ariaLabel": "Learn more about Azure Arc enabled Managed Instance", + "arc.sql.pitr.retention.description":"Configure retention for point-in-time backups. {0}" }