Bug bash fixes to Azure Arc PostgreSQL (#20568)

* Added username field to PG and removed defaultvalue for port

* Disabled system username for miaa. Added username to pg create notebook.

* Block system for pg username

* Remove sql username from pg create

* Add service type

* bump version for preview

* Add dev use label

* Changed postgres icon

* Fixed PG create page not displaying. Wrong type

* Fixed service type

* changed naming for admin usernames sql and pg

* sql and pg dev use fix

* Move port under service type and make storage class not required

* Fixed regex to include things like sa1 system1

* Made storage class params optional

* Added placeholder text and changed PG admin username label

* Remove backups

* Removed postgres hardcoded username in connectionstring

* Remove more postgres username hardcoded

Co-authored-by: Candice Ye <canye@microsoft.com>
This commit is contained in:
Candice Ye
2022-09-09 11:49:27 -07:00
committed by GitHub
parent a6920ca601
commit b9cb3de85b
7 changed files with 89 additions and 57 deletions

View File

@@ -1,21 +1,19 @@
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
<svg id="fc890127-728b-4ac0-b5da-86cdfc191e86" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
<defs>
<linearGradient id="b1fb58c5-adbd-490c-9397-f63a4aec6742" x1="2.94" y1="8.438" x2="14.1" y2="8.438" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#005ba1"/>
<stop offset="1" stop-color="#005ba1"/>
<linearGradient id="a28dee20-4c71-46b5-b957-804c67da725a" x1="2.44" y1="10.67" x2="15.27" y2="10.67" gradientTransform="translate(0.14 -0.5) rotate(-0.01)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#005ba1" />
<stop offset="0.07" stop-color="#0060a9" />
<stop offset="0.36" stop-color="#0071c8" />
<stop offset="0.52" stop-color="#0078d4" />
<stop offset="0.64" stop-color="#0074cd" />
<stop offset="0.82" stop-color="#006abb" />
<stop offset="1" stop-color="#005ba1" />
</linearGradient>
</defs>
<g id="b51be867-49c1-4050-afa7-3520ffba5e24">
<path d="M17.549,15.146c-.16.7-1.035,1.391-2.617,1.929a21.585,21.585,0,0,1-12.125.017C1.35,16.578.564,15.922.441,15.25c-.022-.118,0-1.966,0-1.966l17.136-.16S17.569,15.061,17.549,15.146Z" fill="#5ea0ef"/>
<ellipse cx="9.001" cy="13.246" rx="8.576" ry="2.965" transform="translate(-0.133 0.091) rotate(-0.575)" fill="#50e6ff"/>
<path d="M8.52,4.067c-3.082,0-5.58-.87-5.58-2.019v10.76c0,1.106,2.455,2,5.5,2.02H8.52c3.082,0,5.58-.871,5.58-2.02V2.048C14.1,3.171,11.6,4.067,8.52,4.067Z" fill="url(#b1fb58c5-adbd-490c-9397-f63a4aec6742)"/>
<path d="M14.1,2.048c0,1.123-2.5,2.019-5.58,2.019S2.94,3.2,2.94,2.048,5.438.028,8.52.028,14.1.9,14.1,2.048" fill="#e8e8e8"/>
<path d="M12.8,1.882c0,.714-1.924,1.289-4.283,1.289S4.237,2.594,4.237,1.882,6.161.6,8.52.6,12.8,1.177,12.8,1.886" fill="#50e6ff"/>
<path d="M8.52,2.2a10.054,10.054,0,0,0-3.386.5,9.941,9.941,0,0,0,3.386.472,9.684,9.684,0,0,0,3.386-.5A10.328,10.328,0,0,0,8.52,2.2Z" fill="#198ab3"/>
<path d="M11.308,7.494v.365a4.627,4.627,0,0,0-.069.549,1.383,1.383,0,0,0,.043.4.735.735,0,0,1,0,.313,1.453,1.453,0,0,1-.217.748.311.311,0,0,0,0,.061l.087.105a9.189,9.189,0,0,0,.922-2.071h0c.244-.827.27-1.418.078-1.671A2.244,2.244,0,0,0,9.82,5.545a2.839,2.839,0,0,1,.792.583A1.981,1.981,0,0,1,11.308,7.494Zm-.269.07a1,1,0,0,0-.688.078c-.252.157-.174.478,0,.87a6.893,6.893,0,0,0,.3.74l.078.139h0c.044.069.07.13.1.174l.069.113a1.114,1.114,0,0,0,.157-.566,2.29,2.29,0,0,0,0-.287,1.325,1.325,0,0,0-.043-.426,5.247,5.247,0,0,1,.069-.6.694.694,0,0,1-.009-.262Zm-.261.356a.335.335,0,0,1-.157.087h0a.279.279,0,0,1-.122,0,.2.2,0,0,1-.061-.165h0c0-.061.1-.113.209-.13h.165s.079,0,.079.069a.174.174,0,0,1-.079.113ZM6.7,8.7V8.547a.914.914,0,0,0,0-.148,4.682,4.682,0,0,1,0-.87,4.461,4.461,0,0,1,.261-.957,2.093,2.093,0,0,1,.5-.818A4.13,4.13,0,0,0,6.288,5.58a1.62,1.62,0,0,0-.957.261,1.739,1.739,0,0,0-.549,1.583,10.727,10.727,0,0,0,.435,1.949c.3.992.636,1.6.931,1.7h0c.131.044.27,0,.409-.182.244-.3.47-.549.6-.7a1.633,1.633,0,0,1-.427-1.522Zm.226.348a1.9,1.9,0,0,0,.052.487,1.321,1.321,0,0,0,.226.383.865.865,0,0,0,.644.287,1.809,1.809,0,0,1,.2-.522,3.6,3.6,0,0,0,.183-.513,5.77,5.77,0,0,0,0-.966.5.5,0,0,0-.052-.261A.39.39,0,0,0,8.071,7.7h0a.565.565,0,0,0-.243-.139H7.654a1.356,1.356,0,0,0-.418.121,1.731,1.731,0,0,0-.278.166v.626h0a.955.955,0,0,1,0,.131v.339h0ZM7.5,7.877h0a.406.406,0,0,1,.244,0,.538.538,0,0,1,.165.052c.078,0,.087.1.078.122h0a.331.331,0,0,1-.1.113.226.226,0,0,1-.052-.035h0a.3.3,0,0,1-.244-.243Zm.644,2.61a.2.2,0,0,0-.113.052l-.122.148c-.148.183-.209.244-.635.331a.452.452,0,0,0-.226.087.5.5,0,0,0,.209.1,1.029,1.029,0,0,0,.626,0,1.518,1.518,0,0,0,.339-.226.523.523,0,0,0,.174-.27.311.311,0,0,0-.087-.244.13.13,0,0,0-.13-.017Zm4.011,0a1.409,1.409,0,0,1-.983,0,.2.2,0,0,0-.122,0,.263.263,0,0,0-.148.122,1.017,1.017,0,0,0,0,.27,1.573,1.573,0,0,0,.958-.087,1.182,1.182,0,0,0,.417-.3ZM10.064,8.625c-.122-.357-.3-.87.157-1.183A1.178,1.178,0,0,1,11,7.311a2.763,2.763,0,0,0-.557-1l-.087-.087L10.3,6.171h0a.32.32,0,0,0-.052-.052h0a2.044,2.044,0,0,0-.583-.365A2.291,2.291,0,0,0,8.7,5.562a1.335,1.335,0,0,0-.609.1,1.512,1.512,0,0,0-.261.1,1.821,1.821,0,0,0-.644.87A5.156,5.156,0,0,0,7,7.494a1.443,1.443,0,0,1,.87-.2.731.731,0,0,1,.671.787v.005a6.179,6.179,0,0,1,0,1.105,3.269,3.269,0,0,1-.2.548c-.052.148-.122.3-.156.426a.435.435,0,0,1,.33.122.577.577,0,0,1,.166.461H8.7v.209a5.682,5.682,0,0,0,.209,2.123.459.459,0,0,0,.209.183.527.527,0,0,0,.269.087,1.135,1.135,0,0,0,.871-.3.914.914,0,0,0,.252-.574c.061-.392.191-1.479.209-1.74h0a.624.624,0,0,1,.078-.383.547.547,0,0,1,.235-.209A4.663,4.663,0,0,1,10.1,8.573Z" fill="#f2f2f2"/>
<g>
<ellipse cx="13.771" cy="12.537" rx="2.677" ry="1.942" transform="translate(-4.839 11.835) rotate(-40.155)" fill="#76bc2d"/>
<path d="M13.111,13.376a.939.939,0,0,1,.039-1.589c1-.719,1.065.317.262.451,0,.372,1.047.328,1.5-.5.506-.937-.98-1.53-2.269-.109-.824.909-.844,2.153-.117,2.424a2.2,2.2,0,0,0,2.822-2.3C14.65,13.373,13.661,13.609,13.111,13.376Z" fill="#fff"/>
</g>
</g>
</svg>
<title>Icon-databases-131</title>
<path d="M9,5.14c-3.54,0-6.41-1-6.41-2.32V15.18c0,1.27,2.82,2.3,6.32,2.32H9c3.54,0,6.41-1,6.41-2.32V2.82C15.41,4.1,12.54,5.14,9,5.14Z" fill="url(#a28dee20-4c71-46b5-b957-804c67da725a)" />
<path d="M15.41,2.82c0,1.28-2.87,2.32-6.41,2.32s-6.41-1-6.41-2.32S5.46.5,9,.5s6.41,1,6.41,2.32" fill="#e8e8e8" />
<path d="M13.91,2.63c0,.82-2.2,1.48-4.91,1.48S4.08,3.45,4.08,2.64,6.28,1.16,9,1.16s4.91.66,4.91,1.47" fill="#50e6ff" />
<path d="M9,3a11.65,11.65,0,0,0-3.9.57A11.53,11.53,0,0,0,9,4.11a11.47,11.47,0,0,0,3.89-.58A11.93,11.93,0,0,0,9,3Z" fill="#198ab3" />
<path d="M12,9c0,.08,0,.24,0,.42a5.12,5.12,0,0,0-.08.63c0,.12,0,.3.05.46s0,.27,0,.36a1.68,1.68,0,0,1-.25.86.43.43,0,0,0,0,.07l.1.12a10.55,10.55,0,0,0,1.06-2.38h0c.28-.95.31-1.63.09-1.92a2.58,2.58,0,0,0-2.68-.86,3.29,3.29,0,0,1,.91.67A2.28,2.28,0,0,1,12,9Zm-.31.08a1.15,1.15,0,0,0-.79.09c-.29.18-.2.55,0,1a7.77,7.77,0,0,0,.35.85l.09.16h0c.05.08.08.15.11.2l.08.13a1.28,1.28,0,0,0,.18-.65,2.86,2.86,0,0,0,0-.33c0-.17,0-.36-.05-.49a6.1,6.1,0,0,1,.08-.69C11.71,9.24,11.72,9.13,11.73,9.05Zm-.3.41a.4.4,0,0,1-.18.1h0a.33.33,0,0,1-.14,0A.23.23,0,0,1,11,9.4h0c0-.07.11-.13.24-.15h.19s.09,0,.09.08A.2.2,0,0,1,11.43,9.46Zm-4.69.89c0-.07,0-.13,0-.17a1,1,0,0,0,0-.17,5.55,5.55,0,0,1,0-1A5.22,5.22,0,0,1,7,7.94,2.41,2.41,0,0,1,7.58,7,4.78,4.78,0,0,0,6.23,6.8a1.87,1.87,0,0,0-1.1.3A2,2,0,0,0,4.5,8.92,12.27,12.27,0,0,0,5,11.16c.34,1.14.73,1.84,1.07,1.95h0c.15.05.31,0,.47-.21.28-.34.54-.63.69-.8A1.88,1.88,0,0,1,6.74,10.35Zm.26.4a2.18,2.18,0,0,0,.06.56,1.5,1.5,0,0,0,.26.44,1.07,1.07,0,0,0,.35.25,1.09,1.09,0,0,0,.39.08c0-.17.14-.38.23-.6a4.35,4.35,0,0,0,.21-.59,6.61,6.61,0,0,0,0-1.11c0-.09,0-.19-.06-.3a.45.45,0,0,0-.12-.27l0,0A.66.66,0,0,0,8,9.08H7.8a1.56,1.56,0,0,0-.48.14A2,2,0,0,0,7,9.41v.11c0,.2,0,.41,0,.61v0a.86.86,0,0,1,0,.15l0,.39H7Zm.66-1.34,0,0a.46.46,0,0,1,.28,0,.6.6,0,0,1,.19.06c.09,0,.1.11.09.14h0a.37.37,0,0,1-.12.13A.3.3,0,0,1,8,9.73h0a.34.34,0,0,1-.28-.28Zm.74,3a.23.23,0,0,0-.13.06l-.14.17c-.17.21-.24.28-.73.38a.52.52,0,0,0-.26.1.58.58,0,0,0,.24.11,1.18,1.18,0,0,0,.72,0A1.7,1.7,0,0,0,8.45,13a.61.61,0,0,0,.2-.31.36.36,0,0,0-.1-.28A.15.15,0,0,0,8.4,12.39Zm4.61,0a1.63,1.63,0,0,1-1.13,0,.22.22,0,0,0-.14,0,.3.3,0,0,0-.17.14,1.09,1.09,0,0,0,0,.31,1.8,1.8,0,0,0,1.1-.1,1.36,1.36,0,0,0,.48-.34Zm-2.4-2.14c-.14-.41-.34-1,.18-1.36a1.35,1.35,0,0,1,.89-.15A3.18,3.18,0,0,0,11,7.64l-.1-.1-.06-.06h0a.34.34,0,0,0-.06-.06l0,0,0,0A2.34,2.34,0,0,0,10.11,7,2.63,2.63,0,0,0,9,6.78a1.52,1.52,0,0,0-.7.11A1.77,1.77,0,0,0,8,7a2.1,2.1,0,0,0-.74,1,5.84,5.84,0,0,0-.21,1,1.66,1.66,0,0,1,1-.23.84.84,0,0,1,.77.91,7.26,7.26,0,0,1,0,1.27,3.87,3.87,0,0,1-.23.63c-.06.17-.14.35-.18.49a.5.5,0,0,1,.38.14.66.66,0,0,1,.19.53H9c0,.08,0,.16,0,.24a6.55,6.55,0,0,0,.24,2.44.54.54,0,0,0,.24.21.6.6,0,0,0,.31.1,1.3,1.3,0,0,0,1-.34,1.05,1.05,0,0,0,.29-.66c.07-.45.22-1.7.24-2h0a.72.72,0,0,1,.09-.44.63.63,0,0,1,.27-.24A5.36,5.36,0,0,1,10.61,10.24Z" fill="#f2f2f2" />
</svg>

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@@ -99,16 +99,22 @@
"print (f'Creating the PostgreSQL server - Azure Arc instance')\n",
"\n",
"port = f' --port \"{postgres_server_port}\"' if postgres_server_port else \"\"\n",
"service_type = f' --service-type \"{postgres_server_service_type}\"' if postgres_server_service_type else \"\"\n",
"volume_size_data = f' --volume-size-data {postgres_server_volume_size_data}Gi' if postgres_server_volume_size_data else \"\"\n",
"volume_size_logs = f' --volume-size-logs {postgres_server_volume_size_logs}Gi' if postgres_server_volume_size_logs else \"\"\n",
"\n",
"storage_class_data = f' --storage-class-data {postgres_storage_class_data}' if postgres_storage_class_data else \"\"\n",
"storage_class_logs = f' --storage-class-logs {postgres_storage_class_logs}' if postgres_storage_class_logs else \"\"\n",
"\n",
"cores_request = f' --cores-request {postgres_server_cores_request}' if postgres_server_cores_request else \"\"\n",
"cores_limit = f' --cores-limit {postgres_server_cores_limit}' if postgres_server_cores_limit else \"\"\n",
"memory_request = f' --memory-request {postgres_server_memory_request}Gi' if postgres_server_memory_request else \"\"\n",
"memory_limit = f' --memory-limit {postgres_server_memory_limit}Gi' if postgres_server_memory_limit else \"\"\n",
"dev_use = ' --dev' if postgres_server_dev_use == 'true' else ''\n",
"\n",
"os.environ[\"AZDATA_USERNAME\"] = postgres_server_username\n",
"os.environ[\"AZDATA_PASSWORD\"] = os.environ[\"AZDATA_NB_VAR_POSTGRES_SERVER_PASSWORD\"]\n",
"cmd = f'az postgres server-arc create --name {postgres_server_name} --k8s-namespace {arc_data_controller_namespace} --use-k8s --storage-class-data {postgres_storage_class_data} --storage-class-logs {postgres_storage_class_logs}{port}{volume_size_data}{volume_size_logs}{cores_request}{cores_limit}{memory_request}{memory_limit}'\n",
"cmd = f'az postgres server-arc create --name {postgres_server_name} --k8s-namespace {arc_data_controller_namespace} --use-k8s {storage_class_data}{storage_class_logs}{port}{service_type}{volume_size_data}{volume_size_logs}{cores_request}{cores_limit}{memory_request}{memory_limit}{dev_use}'\n",
"out=run_command()"
]
}

View File

@@ -129,7 +129,7 @@
"\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",
"dev_use = ' --dev' if sql_dev_use == 'true' else ''\n",
"license_type = ' --license-type BasePrice' if sql_license_type else ' --license-type LicenseIncluded'\n",
"\n",
"os.environ[\"AZDATA_USERNAME\"] = sql_username\n",

View File

@@ -2,7 +2,7 @@
"name": "arc",
"displayName": "%arc.displayName%",
"description": "%arc.description%",
"version": "1.5.2",
"version": "1.5.3",
"publisher": "Microsoft",
"license": "https://raw.githubusercontent.com/Microsoft/azuredatastudio/main/LICENSE.txt",
"icon": "images/extension.png",
@@ -758,7 +758,8 @@
"regex": "^[a-z]([-a-z0-9]{0,11}[a-z0-9])?$",
"description": "%arc.sql.invalid.instance.name%"
}
]
],
"placeHolder": "%arc.sql.instance.name.placeholder%"
},
{
"label": "%arc.sql.username%",
@@ -768,10 +769,11 @@
"validations": [
{
"type": "regex_match",
"regex": "^(?!sa$)",
"regex": "^(?!system$|sa$).*$",
"description": "%arc.sql.invalid.username%"
}
]
],
"placeHolder": "%arc.sql.username.placeholder%"
},
{
"label": "%arc.password%",
@@ -1378,7 +1380,24 @@
"description": "%arc.postgres.server.name.validation.description%"
}
],
"required": true
"required": true,
"placeHolder": "%arc.postgres.server.name.placeholder%"
},
{
"label": "%arc.postgres.server.username%",
"variableName": "AZDATA_NB_VAR_POSTGRES_SERVER_USERNAME",
"type": "text",
"required": true,
"validations": [
{
"type": "regex_match",
"regex": "^(?!system$).*$",
"description": "%arc.postgres.server.invalid.username%"
}
],
"defaultValue": "",
"enabled": true,
"placeHolder": "%arc.postgres.server.username.placeholder%"
},
{
"label": "%arc.password%",
@@ -1389,6 +1408,17 @@
"defaultValue": "",
"required": true
},
{
"label": "%arc.postgres.server.service.type%",
"variableName": "AZDATA_NB_VAR_POSTGRES_SERVER_SERVICE_TYPE",
"type": "options",
"required": true,
"options": {
"values": ["NodePort", "LoadBalancer"],
"defaultValue": "NodePort",
"optionsType": "radio"
}
},
{
"label": "%arc.postgres.server.port%",
"variableName": "AZDATA_NB_VAR_POSTGRES_SERVER_PORT",
@@ -1399,9 +1429,15 @@
"description": "%should.be.integer%"
}
],
"defaultValue": "5432",
"min": 1,
"max": 65535
},
{
"type": "checkbox",
"label": "%arc.postgres.server.dev.use.label%",
"variableName": "AZDATA_NB_VAR_POSTGRES_SERVER_DEV_USE",
"description": "%arc.postgres.server.dev.use.description%",
"defaultValue": false
}
]
},
@@ -1473,8 +1509,7 @@
"label": "%arc.storage-class.data.label%",
"description": "%arc.postgres.storage-class.data.description%",
"variableName": "AZDATA_NB_VAR_POSTGRES_STORAGE_CLASS_DATA",
"type": "kube_storage_class",
"required": true
"type": "kube_storage_class"
},
{
"label": "%arc.postgres.server.volume.size.data.label%",
@@ -1488,8 +1523,7 @@
"label": "%arc.storage-class.logs.label%",
"description": "%arc.postgres.storage-class.logs.description%",
"variableName": "AZDATA_NB_VAR_POSTGRES_STORAGE_CLASS_LOGS",
"type": "kube_storage_class",
"required": true
"type": "kube_storage_class"
},
{
"label": "%arc.postgres.server.volume.size.logs.label%",
@@ -1498,21 +1532,6 @@
"type": "number",
"defaultValue": "5",
"min": 1
},
{
"label": "%arc.storage-class.backups.label%",
"description": "%arc.postgres.storage-class.backups.description%",
"variableName": "AZDATA_NB_VAR_POSTGRES_STORAGE_CLASS_BACKUPS",
"type": "kube_storage_class",
"required": true
},
{
"label": "%arc.postgres.server.volume.size.backups.label%",
"description": "%arc.postgres.server.volume.size.backups.description%",
"variableName": "AZDATA_NB_VAR_POSTGRES_SERVER_VOLUME_SIZE_BACKUPS",
"type": "number",
"defaultValue": "5",
"min": 1
}
]
}

View File

@@ -104,8 +104,10 @@
"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",
"arc.sql.invalid.username": "sa username is disabled, please choose another username",
"arc.sql.instance.name.placeholder": "Enter instance name",
"arc.sql.username": "Managed Instance admin login",
"arc.sql.username.placeholder": "Enter admin name",
"arc.sql.invalid.username": "That username is disabled; please choose another username.",
"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.",
@@ -176,12 +178,12 @@
"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.",
"arc.sql.dev.use.label": "For development use only",
"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.sql.license.type.label": "I already have a SQL Server License",
"arc.sql.license.type.description": "Apply the Azure Hybrid Benefit if you already own a SQL Server License",
"arc.sql.pitr.description": "Point in time restore",
"arc.sql.retention.days.label": "Point in time 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",
"arc.confirm.password": "Confirm password",
@@ -195,6 +197,7 @@
"arc.postgres.settings.resource.compute.config.title": "Compute Configuration",
"arc.postgres.settings.storage.title": "Storage settings",
"arc.postgres.server.name": "Server name",
"arc.postgres.server.name.placeholder": "Enter server name",
"arc.postgres.server.name.validation.description": "Server name must consist of lower case alphanumeric characters or '-', start with a letter, end with an alphanumeric character, and be 11 characters or fewer in length.",
"arc.postgres.server.port": "Port",
"arc.postgres.server.engine.version": "Engine Version",
@@ -214,6 +217,12 @@
"arc.postgres.server.memory.request.description": "The memory request of the Postgres instance on the coordinator node in GB.",
"arc.postgres.server.memory.limit.label": "Memory limit (GB)",
"arc.postgres.server.memory.limit.description": "The memory limit of the Postgres instance on the coordinator node in GB.",
"arc.postgres.server.username": "Admin username",
"arc.postgres.server.username.placeholder": "Enter server admin login name",
"arc.postgres.server.invalid.username": "That username is disabled; please choose another username.",
"arc.postgres.server.service.type": "Service type",
"arc.postgres.server.dev.use.label": "For development use only",
"arc.postgres.server.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.agreement": "I accept {0} and {1}.",
"arc.agreement.sql.terms.conditions": "Azure SQL managed instance - Azure Arc terms and conditions",
"arc.agreement.postgres.terms.conditions": "PostgreSQL Server - Azure Arc terms and conditions",

View File

@@ -83,14 +83,14 @@ export class PostgresConnectionStringsPage extends DashboardPage {
}
return [
new InputKeyValue(this.modelView.modelBuilder, 'ADO.NET', `Server=${endpoint.ip};Database=postgres;Port=${endpoint.port};User Id=postgres;Password={your_password_here};Ssl Mode=Require;`),
new InputKeyValue(this.modelView.modelBuilder, 'C++ (libpq)', `host=${endpoint.ip} port=${endpoint.port} dbname=postgres user=postgres password={your_password_here} sslmode=require`),
new InputKeyValue(this.modelView.modelBuilder, 'JDBC', `jdbc:postgresql://${endpoint.ip}:${endpoint.port}/postgres?user=postgres&password={your_password_here}&sslmode=require`),
new InputKeyValue(this.modelView.modelBuilder, 'Node.js', `host=${endpoint.ip} port=${endpoint.port} dbname=postgres user=postgres password={your_password_here} sslmode=require`),
new InputKeyValue(this.modelView.modelBuilder, 'PHP', `host=${endpoint.ip} port=${endpoint.port} dbname=postgres user=postgres password={your_password_here} sslmode=require`),
new InputKeyValue(this.modelView.modelBuilder, 'psql', `psql "host=${endpoint.ip} port=${endpoint.port} dbname=postgres user=postgres password={your_password_here} sslmode=require"`),
new InputKeyValue(this.modelView.modelBuilder, 'Python', `dbname='postgres' user='postgres' host='${endpoint.ip}' password='{your_password_here}' port='${endpoint.port}' sslmode='true'`),
new InputKeyValue(this.modelView.modelBuilder, 'Ruby', `host=${endpoint.ip}; dbname=postgres user=postgres password={your_password_here} port=${endpoint.port} sslmode=require`)
new InputKeyValue(this.modelView.modelBuilder, 'ADO.NET', `Server=${endpoint.ip};Database=postgres;Port=${endpoint.port};User Id={your_username_here};Password={your_password_here};Ssl Mode=Require;`),
new InputKeyValue(this.modelView.modelBuilder, 'C++ (libpq)', `host=${endpoint.ip} port=${endpoint.port} dbname=postgres user={your_username_here} password={your_password_here} sslmode=require`),
new InputKeyValue(this.modelView.modelBuilder, 'JDBC', `jdbc:postgresql://${endpoint.ip}:${endpoint.port}/postgres?user={your_username_here}&password={your_password_here}&sslmode=require`),
new InputKeyValue(this.modelView.modelBuilder, 'Node.js', `host=${endpoint.ip} port=${endpoint.port} dbname=postgres user={your_username_here} password={your_password_here} sslmode=require`),
new InputKeyValue(this.modelView.modelBuilder, 'PHP', `host=${endpoint.ip} port=${endpoint.port} dbname=postgres user={your_username_here} password={your_password_here} sslmode=require`),
new InputKeyValue(this.modelView.modelBuilder, 'psql', `psql "host=${endpoint.ip} port=${endpoint.port} dbname=postgres user={your_username_here} password={your_password_here} sslmode=require"`),
new InputKeyValue(this.modelView.modelBuilder, 'Python', `dbname='postgres' user='{your_username_here}' host='${endpoint.ip}' password='{your_password_here}' port='${endpoint.port}' sslmode='true'`),
new InputKeyValue(this.modelView.modelBuilder, 'Ruby', `host=${endpoint.ip}; dbname=postgres user={your_username_here} password={your_password_here} port=${endpoint.port} sslmode=require`)
];
}

View File

@@ -2,7 +2,7 @@
"name": "azcli",
"displayName": "%azcli.arc.displayName%",
"description": "%azcli.arc.description%",
"version": "1.5.2",
"version": "1.5.3",
"publisher": "Microsoft",
"license": "https://raw.githubusercontent.com/Microsoft/azuredatastudio/main/LICENSE.txt",
"icon": "images/extension.png",